Skip to content

Commit

Permalink
rustc_mir: create the let and "remainder" scopes in source order.
Browse files Browse the repository at this point in the history
  • Loading branch information
eddyb committed Apr 23, 2019
1 parent 9260305 commit c3ca9a3
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 10 deletions.
5 changes: 3 additions & 2 deletions src/librustc_mir/build/matches/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
2 changes: 1 addition & 1 deletion src/test/mir-opt/box_expr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
6 changes: 3 additions & 3 deletions src/test/mir-opt/issue-41110.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ impl S {
// let mut _4: S;
// let mut _5: bool;
// scope 1 {
// let _1: ();
// }
// scope 2 {
// let _1: ();
// }
// ...
// bb0: {
Expand All @@ -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
2 changes: 1 addition & 1 deletion src/test/mir-opt/issue-49232.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions src/test/mir-opt/nll/region-subtyping-basic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion src/test/mir-opt/packed-struct-drop-aligned.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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: {
Expand Down

0 comments on commit c3ca9a3

Please sign in to comment.