Skip to content
Permalink
Browse files

rustc_mir: create the `let` and "remainder" scopes in source order.

  • Loading branch information...
eddyb committed Jun 1, 2018
1 parent 9260305 commit c3ca9a35be01934df917debca60bbc834f5c0653
@@ -505,14 +505,15 @@ impl<'a, 'gcx, 'tcx> Builder<'a, 'gcx, 'tcx> {
UserTypeProjections::none(),
&mut |this, mutability, name, mode, var, span, ty, user_ty| {
if visibility_scope.is_none() {
visibility_scope =
Some(this.new_source_scope(scope_span, LintLevel::Inherited, None));
// If we have lints, create a new source scope
// that marks the lints for the locals. See the comment
// on the `source_info` field for why this is needed.
if lint_level.is_explicit() {
scope = this.new_source_scope(scope_span, lint_level, None);
}
visibility_scope = Some(this.new_source_scope(scope_span,
LintLevel::Inherited,
None));
}
let source_info = SourceInfo { span, scope };
let visibility_scope = visibility_scope.unwrap();
@@ -26,9 +26,9 @@ impl Drop for S {
// let mut _3: ();
// let mut _4: std::boxed::Box<S>;
// scope 1 {
// let _1: std::boxed::Box<S>;
// }
// scope 2 {
// let _1: std::boxed::Box<S>;
// }
// bb0: {
// StorageLive(_1);
@@ -34,9 +34,9 @@ impl S {
// let mut _4: S;
// let mut _5: bool;
// scope 1 {
// let _1: ();
// }
// scope 2 {
// let _1: ();
// }
// ...
// bb0: {
@@ -48,9 +48,9 @@ impl S {
// let mut _5: S;
// let mut _6: bool;
// ...
// let mut _2: S;
// ...
// let _1: S;
// ...
// let mut _2: S;
// ...
// bb0: {
// END rustc.test.ElaborateDrops.after.mir
@@ -23,9 +23,9 @@ fn main() {
// let mut _5: ();
// let mut _6: &i32;
// scope 1 {
// let _2: i32;
// }
// scope 2 {
// let _2: i32;
// }
// bb0: {
// goto -> bb1;
@@ -27,10 +27,10 @@ fn main() {
// | '_#4r | U0 | {bb2[4..=5], bb3[0..=1]}
// END rustc.main.nll.0.mir
// START rustc.main.nll.0.mir
// let _6: &'_#4r usize;
// ...
// let _2: &'_#3r usize;
// ...
// let _6: &'_#4r usize;
// ...
// _2 = &'_#2r _1[_3];
// ...
// _6 = _2;
@@ -24,9 +24,9 @@ impl Drop for Droppy {
// let mut _5: Droppy;
// let mut _6: Aligned;
// scope 1 {
// let mut _1: Packed;
// }
// scope 2 {
// let mut _1: Packed;
// }
//
// bb0: {

0 comments on commit c3ca9a3

Please sign in to comment.
You can’t perform that action at this time.