]> git.lizzy.rs Git - rust.git/commit
auto merge of #11585 : nikomatsakis/rust/issue-3511-rvalue-lifetimes, r=pcwalton
authorbors <bors@rust-lang.org>
Fri, 17 Jan 2014 15:56:45 +0000 (07:56 -0800)
committerbors <bors@rust-lang.org>
Fri, 17 Jan 2014 15:56:45 +0000 (07:56 -0800)
commit4098327b1fe1112ddf661b587be9eeec1d80adde
tree3d1a8d2613c1101d46657fd5de25d32403e9626b
parent1e1871f35eb83ae6a63952a145e5132deffded2c
parentb520c2f28002db0e4120797d823380914871bac4
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
src/librustc/middle/astencode.rs
src/librustc/middle/resolve.rs
src/libstd/path/windows.rs
src/libstd/unstable/intrinsics.rs
src/libstd/vec.rs
src/libsyntax/ast_util.rs
src/libsyntax/ext/expand.rs
src/libsyntax/ext/format.rs