rustc: use syntactic (instead of visibility) source info where appropriate.
This commit is contained in:
parent
0895590c53
commit
3da186b67f
16 changed files with 32 additions and 30 deletions
|
|
@ -722,7 +722,7 @@ macro_rules! make_mir_visitor {
|
|||
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@ impl<'a, 'tcx> Visitor<'tcx> for UnsafetyChecker<'a, 'tcx> {
|
|||
// 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);
|
||||
|
|
|
|||
|
|
@ -467,8 +467,8 @@ fn write_scope_tree(
|
|||
// 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;
|
||||
|
|
|
|||
|
|
@ -33,9 +33,10 @@ impl Drop for S {
|
|||
// 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>;
|
||||
|
|
|
|||
|
|
@ -22,10 +22,10 @@ fn main() {
|
|||
// 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;
|
||||
|
|
|
|||
|
|
@ -27,11 +27,11 @@ fn main() {
|
|||
// 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;
|
||||
|
|
|
|||
|
|
@ -28,11 +28,11 @@ fn main() {
|
|||
// 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: ();
|
||||
|
|
|
|||
|
|
@ -32,13 +32,13 @@ fn foo(i: i32) {
|
|||
// 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;
|
||||
|
|
|
|||
|
|
@ -31,10 +31,10 @@ fn foo<F>(f: F) where F: FnOnce() -> 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;
|
||||
|
|
|
|||
|
|
@ -41,11 +41,11 @@ fn main() {
|
|||
// 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: !;
|
||||
|
|
|
|||
|
|
@ -43,9 +43,9 @@ fn query() -> bool { true }
|
|||
// 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>>>;
|
||||
|
|
|
|||
|
|
@ -40,9 +40,10 @@ impl S {
|
|||
// 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;
|
||||
|
|
@ -52,10 +53,10 @@ impl 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;
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ fn main() {
|
|||
// ...
|
||||
// | '_#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
|
||||
|
|
|
|||
|
|
@ -37,10 +37,10 @@ fn main() {
|
|||
// | '_#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;
|
||||
|
|
|
|||
|
|
@ -29,9 +29,9 @@ impl Drop for Droppy {
|
|||
// 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;
|
||||
|
|
|
|||
|
|
@ -32,14 +32,14 @@ fn main() {
|
|||
// 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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue