Skip to content

The Advanced Rust Programming Language #27032

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 112 commits into from
Jul 30, 2015
Merged

The Advanced Rust Programming Language #27032

merged 112 commits into from
Jul 30, 2015

Conversation

Gankra
Copy link
Contributor

@Gankra Gankra commented Jul 14, 2015

I've been baking this out of tree for long enough. This is currently about ~2/5ths the size of TRPL. Time to get it in tree so it can be more widely maintained and scrutinized. I've preserved the whole gruesome history including various rewrites. I can definitely squash these a fair amount if desired. Some random people submitted minor fixes though, so they're mixed in.

Edit: forgot to link to rendered http://cglab.ca/~abeinges/blah/turpl/_book/

Edit2:

To streamline the review process, I'm going to break this into sections that need official "domain expert" approval:

Summary

  • references.md -- very important, needs work
  • Meet Safe and Unsafe: reviewed by @aturon
  • Data Layout: reviewed by @arielb1
  • Ownership: reviewed by @aturon ( and sorta @nikomatsakis ) -- significantly updated, may need re-r
  • Coversions: reviewed by @nrc
  • Uninitialized Memory: reviewed by @pnkfelix
  • Ownership-Oriented Resource Management: reviewed by @aturon
  • Unwinding: reviewed by @alexcrichton
  • Concurrency: reviewed by @aturon
  • Implementing Vec: r? @huonw

@pnkfelix
Copy link
Member

@gankro I reviewed nearly everything up through the "Uninitialized Memory" chapter. Not sure if I'll get to the rest any time soon, but I'm sure my comments on those parts can wait.

@arielb1
Copy link
Contributor

arielb1 commented Jul 28, 2015

@gankro

Ownership paths are not a language concept. They are not relevant to safety (except as they help you avoid double-frees), not relevant to Cell, not relevant to anything. I don't think you have to explicitly talk about lvalue paths, just to use that concept instead of ownership paths.

// need to last for the whole scope x is valid for. The return
// of as_str must find a str somewhere *before* this function
// call. Obviously not happening.
println!("{}", as_str::<'d>(&'d temp));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

//~^ ERROR unresolved name temp. Did you mean x?

@Gankra
Copy link
Contributor Author

Gankra commented Jul 28, 2015

References.md is now the only major outstanding issue.

Everything else I believe can be handled after landing this (omg I want to land this)

I'm tempted to just tear out references.md as temporary measure.

@Gankra
Copy link
Contributor Author

Gankra commented Jul 29, 2015

@bors r=aturon,acrichto,arielb,pnkfelix,nrc,nmatsakis,huonw

LETS DO THIS

@bors
Copy link
Collaborator

bors commented Jul 29, 2015

📌 Commit 4c48ffa has been approved by aturon,acrichto,arielb,pnkfelix,nrc,nmatsakis,huonw

@aturon
Copy link
Member

aturon commented Jul 29, 2015

\o/ congrats! this is amazing work.

@alexcrichton
Copy link
Member

🎊

@bors
Copy link
Collaborator

bors commented Jul 29, 2015

⌛ Testing commit 4c48ffa with merge f1ba1fd...

@bors
Copy link
Collaborator

bors commented Jul 30, 2015

💔 Test failed - auto-mac-64-opt

@Gankra
Copy link
Contributor Author

Gankra commented Jul 30, 2015

@bors r=aturon,acrichto,arielb,pnkfelix,nrc,nmatsakis,huonw

@bors
Copy link
Collaborator

bors commented Jul 30, 2015

📌 Commit ddb0290 has been approved by aturon,acrichto,arielb,pnkfelix,nrc,nmatsakis,huonw

bors added a commit that referenced this pull request Jul 30, 2015
…x,nrc,nmatsakis,huonw

I've been baking this out of tree for long enough. This is currently about ~2/5ths the size of TRPL. Time to get it in tree so it can be more widely maintained and scrutinized. I've preserved the whole gruesome history including various rewrites. I can definitely squash these a fair amount if desired. Some random people submitted minor fixes though, so they're mixed in.

Edit: forgot to link to rendered http://cglab.ca/~abeinges/blah/turpl/_book/

Edit2:

To streamline the review process, I'm going to break this into sections that need official "domain expert" approval:

# Summary

* [ ] references.md -- very important, needs work

* [x] Meet Safe and Unsafe: reviewed by @aturon
* [x] Data Layout: reviewed by @arielb1 
* [x] Ownership: reviewed by @aturon ( and sorta @nikomatsakis ) -- significantly updated, may need re-r
* [x] Coversions:  reviewed by @nrc 
* [x] Uninitialized Memory: reviewed by @pnkfelix 
* [x] Ownership-Oriented Resource Management: reviewed by @aturon
* [x] Unwinding: reviewed by @alexcrichton 
* [x] Concurrency: reviewed by @aturon
* [x] Implementing Vec:  r? @huonw
@bors
Copy link
Collaborator

bors commented Jul 30, 2015

⌛ Testing commit ddb0290 with merge 4d52d7c...

@bors bors merged commit ddb0290 into rust-lang:master Jul 30, 2015
@tshepang
Copy link
Member

someone forgot to squash :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.