auto merge of #11585 : nikomatsakis/rust/issue-3511-rvalue-lifetimes, r=pcwalton
Major changes: - Define temporary scopes in a syntax-based way that basically defaults to the innermost statement or conditional block, except for in a `let` initializer, where we default to the innermost block. Rules are documented in the code, but not in the manual (yet). See new test run-pass/cleanup-value-scopes.rs for examples. - Refactors Datum to better define cleanup roles. - Refactor cleanup scopes to not be tied to basic blocks, permitting us to have a very large number of scopes (one per AST node). - Introduce nascent documentation in trans/doc.rs covering datums and cleanup in a more comprehensive way. r? @pcwalton
This commit is contained in:
commit
4098327b1f
72 changed files with 5064 additions and 3754 deletions
|
|
@ -292,12 +292,6 @@ extern "rust-intrinsic" {
|
|||
/// elements.
|
||||
pub fn size_of<T>() -> uint;
|
||||
|
||||
/// Move a value to a memory location containing a value.
|
||||
///
|
||||
/// Drop glue is run on the destination, which must contain a
|
||||
/// valid Rust value.
|
||||
pub fn move_val<T>(dst: &mut T, src: T);
|
||||
|
||||
/// Move a value to an uninitialized memory location.
|
||||
///
|
||||
/// Drop glue is not run on the destination.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue