self.visit_ty(ty, TyContext::LocalDecl {
local,
- source_info: *visibility_source_info,
+ source_info: *syntactic_source_info,
});
self.visit_source_info(syntactic_source_info);
self.visit_source_info(visibility_source_info);
// Internal locals are used in the `move_val_init` desugaring.
// We want to check unsafety against the source info of the
// desugaring, rather than the source info of the RHS.
- self.source_info = self.mir.local_decls[local].visibility_source_info;
+ self.source_info = self.mir.local_decls[local].syntactic_source_info;
}
}
let base_ty = base.ty(self.mir, self.tcx).to_ty(self.tcx);
// User variable types (including the user's name in a comment).
for local in mir.vars_iter() {
let var = &mir.local_decls[local];
- let (name, source_info) = if var.visibility_source_info.scope == child {
- (var.name.unwrap(), var.visibility_source_info)
+ let (name, source_info) = if var.syntactic_source_info.scope == child {
+ (var.name.unwrap(), var.syntactic_source_info)
} else {
// Not a variable or not declared in this scope.
continue;
// START rustc.main.ElaborateDrops.before.mir
// let mut _0: ();
// scope 1 {
+// }
+// scope 2 {
// let _1: std::boxed::Box<S>;
// }
-// ...
// let mut _2: std::boxed::Box<S>;
// let mut _3: ();
// let mut _4: std::boxed::Box<S>;
// START rustc.main.SimplifyCfg-qualify-consts.after.mir
// let mut _0: ();
// ...
-// let _1: i32;
-// ...
// let _2: &'10_1rs i32;
// ...
+// let _1: i32;
+// ...
// bb0: {
// StorageLive(_1);
// _1 = const 3i32;
// START rustc.main.SimplifyCfg-qualify-consts.after.mir
// let mut _0: ();
// ...
-// let _2: bool;
+// let _7: &'23_3rs bool;
// ...
// let _3: &'23_1rs bool;
// ...
-// let _7: &'23_3rs bool;
+// let _2: bool;
// ...
// let mut _4: ();
// let mut _5: bool;
// START rustc.main.SimplifyCfg-qualify-consts.after.mir
// let mut _0: ();
// ...
-// let mut _1: bool;
+// let _7: &'26_3rs bool;
// ...
// let _3: &'26_1rs bool;
// ...
-// let _7: &'26_3rs bool;
+// let mut _1: bool;
// ...
// let mut _2: ();
// let mut _4: ();
// START rustc.main.SimplifyCfg-qualify-consts.after.mir
// let mut _0: ();
// ...
-// let _1: D;
-// ...
-// let _2: i32;
+// let _6: &'26_4rs i32;
// ...
// let _3: &'26_2rs i32;
// ...
-// let _6: &'26_4rs i32;
+// let _2: i32;
+// ...
+// let _1: D;
// ...
// let mut _4: ();
// let mut _5: i32;
// fn main() -> () {
// let mut _0: ();
// ...
-// let _1: D;
-// ...
// let _2: &'21_1rs D;
// ...
+// let _1: D;
+// ...
// let mut _3: ();
// let mut _4: [closure@NodeId(22) r:&'19s D];
// let mut _5: &'21_1rs D;
// fn main() -> () {
// let mut _0: ();
// ...
-// let mut _1: bool;
+// let mut _4: &'33_0rs i32;
// ...
// let _2: i32;
// ...
-// let mut _4: &'33_0rs i32;
+// let mut _1: bool;
// ...
// let mut _3: ();
// let mut _5: !;
// fn main() -> (){
// let mut _0: ();
// scope 1 {
-// let _2: S<'36_0rs>;
// }
// scope 2 {
+// let _2: S<'36_0rs>;
// }
// let mut _1: ();
// let mut _3: std::cell::Cell<std::option::Option<&'36_0rs S<'36_0rs>>>;
// START rustc.main.ElaborateDrops.after.mir
// let mut _0: ();
// scope 1 {
+// }
+// scope 2 {
// let _1: ();
// }
-// ...
// let mut _2: S;
// let mut _3: S;
// let mut _4: S;
// START rustc.test.ElaborateDrops.after.mir
// let mut _0: ();
// ...
-// let _1: S;
-// ...
// let mut _2: S;
// ...
+// let _1: S;
+// ...
// let mut _3: ();
// let mut _4: S;
// let mut _5: S;
// ...
// | '_#9r | {bb0[10], bb0[14..=17]}
// ...
-// let _2: &'_#7r mut i32;
-// ...
// let _4: &'_#9r mut i32;
+// ...
+// let _2: &'_#7r mut i32;
// END rustc.main.nll.0.mir
// | '_#4r | {bb2[5..=6], bb3[0..=1]}
// END rustc.main.nll.0.mir
// START rustc.main.nll.0.mir
-// let _2: &'_#3r usize;
-// ...
// let _6: &'_#4r usize;
// ...
+// let _2: &'_#3r usize;
+// ...
// _2 = &'_#2r _1[_3];
// ...
// _7 = _2;
// fn main() -> () {
// let mut _0: ();
// scope 1 {
-// let mut _1: Packed;
// }
// scope 2 {
+// let mut _1: Packed;
// }
// let mut _2: Aligned;
// let mut _3: Droppy;
// fn main() -> (){
// let mut _0: ();
// scope 1 {
-// let _1: Test;
// scope 3 {
-// let _2: &ReErased Test;
// }
// scope 4 {
+// let _2: &ReErased Test;
// }
// }
// scope 2 {
+// let _1: Test;
// }
// let mut _3: ();
// let mut _4: &ReErased i32;