diff --git a/src/librustc/ich/impls_mir.rs b/src/librustc/ich/impls_mir.rs index 15240570a7ae2..f43ac7ad0dd5a 100644 --- a/src/librustc/ich/impls_mir.rs +++ b/src/librustc/ich/impls_mir.rs @@ -25,7 +25,7 @@ impl_stable_hash_for!(struct mir::LocalDecl<'tcx> { mutability, ty, name, - syntactic_source_info, + source_info, visibility_scope, internal, is_user_variable diff --git a/src/librustc/mir/mod.rs b/src/librustc/mir/mod.rs index 998af9ebcfe7d..b2ff36cb87c78 100644 --- a/src/librustc/mir/mod.rs +++ b/src/librustc/mir/mod.rs @@ -556,7 +556,7 @@ pub struct LocalDecl<'tcx> { /// `drop(x)`, we want it to refer to `x: u32`. /// /// To allow both uses to work, we need to have more than a single scope - /// for a local. We have the `syntactic_source_info.scope` represent the + /// for a local. We have the `source_info.scope` represent the /// "syntactic" lint scope (with a variable being under its let /// block) while the `visibility_scope` represents the "local variable" /// scope (where the "rest" of a block is under all prior let-statements). @@ -570,10 +570,10 @@ pub struct LocalDecl<'tcx> { /// │ │{ #[allow(unused_mut] } // this is actually split into 2 scopes /// │ │ // in practice because I'm lazy. /// │ │ - /// │ │← x.syntactic_source_info.scope + /// │ │← x.source_info.scope /// │ │← `x.parse().unwrap()` /// │ │ - /// │ │ │← y.syntactic_source_info.scope + /// │ │ │← y.source_info.scope /// │ │ /// │ │ │{ let y: u32 } /// │ │ │ @@ -584,10 +584,10 @@ pub struct LocalDecl<'tcx> { /// │ │← x.visibility_scope /// │ │← `drop(x)` // this accesses `x: u32` /// ``` - pub syntactic_source_info: SourceInfo, + pub source_info: SourceInfo, /// Source scope within which the local is visible (for debuginfo) - /// (see `syntactic_source_info` for more details). + /// (see `source_info` for more details). pub visibility_scope: SourceScope, } @@ -599,7 +599,7 @@ impl<'tcx> LocalDecl<'tcx> { mutability: Mutability::Mut, ty, name: None, - syntactic_source_info: SourceInfo { + source_info: SourceInfo { span, scope: OUTERMOST_SOURCE_SCOPE }, @@ -616,7 +616,7 @@ impl<'tcx> LocalDecl<'tcx> { mutability: Mutability::Mut, ty, name: None, - syntactic_source_info: SourceInfo { + source_info: SourceInfo { span, scope: OUTERMOST_SOURCE_SCOPE }, @@ -634,7 +634,7 @@ impl<'tcx> LocalDecl<'tcx> { LocalDecl { mutability: Mutability::Mut, ty: return_ty, - syntactic_source_info: SourceInfo { + source_info: SourceInfo { span, scope: OUTERMOST_SOURCE_SCOPE }, @@ -2191,7 +2191,7 @@ BraceStructTypeFoldableImpl! { internal, ty, name, - syntactic_source_info, + source_info, visibility_scope, } } diff --git a/src/librustc/mir/visit.rs b/src/librustc/mir/visit.rs index 6cd1271cccff0..758d887cd7b3e 100644 --- a/src/librustc/mir/visit.rs +++ b/src/librustc/mir/visit.rs @@ -714,7 +714,7 @@ macro_rules! make_mir_visitor { mutability: _, ref $($mutability)* ty, name: _, - ref $($mutability)* syntactic_source_info, + ref $($mutability)* source_info, ref $($mutability)* visibility_scope, internal: _, is_user_variable: _, @@ -722,9 +722,9 @@ macro_rules! make_mir_visitor { self.visit_ty(ty, TyContext::LocalDecl { local, - source_info: *syntactic_source_info, + source_info: *source_info, }); - self.visit_source_info(syntactic_source_info); + self.visit_source_info(source_info); self.visit_source_scope(visibility_scope); } diff --git a/src/librustc_codegen_llvm/mir/mod.rs b/src/librustc_codegen_llvm/mir/mod.rs index 26680937d41d5..f9be91b4f3f13 100644 --- a/src/librustc_codegen_llvm/mir/mod.rs +++ b/src/librustc_codegen_llvm/mir/mod.rs @@ -277,7 +277,7 @@ pub fn codegen_mir<'a, 'tcx: 'a>( let place = PlaceRef::alloca(&bx, layout, &name.as_str()); if dbg { let (scope, span) = fx.debug_loc(mir::SourceInfo { - span: decl.syntactic_source_info.span, + span: decl.source_info.span, scope: decl.visibility_scope, }); declare_local(&bx, &fx.debug_context, name, layout.ty, scope, diff --git a/src/librustc_mir/borrow_check/error_reporting.rs b/src/librustc_mir/borrow_check/error_reporting.rs index 9b5e266917b57..9061af1b68ca4 100644 --- a/src/librustc_mir/borrow_check/error_reporting.rs +++ b/src/librustc_mir/borrow_check/error_reporting.rs @@ -398,7 +398,7 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> { let borrow_span = self.mir.source_info(borrow.reserve_location).span; let proper_span = match *root_place { - Place::Local(local) => self.mir.local_decls[local].syntactic_source_info.span, + Place::Local(local) => self.mir.local_decls[local].source_info.span, _ => drop_span, }; diff --git a/src/librustc_mir/borrow_check/mod.rs b/src/librustc_mir/borrow_check/mod.rs index 2c5d9156f2e04..5efbdeafd1bbf 100644 --- a/src/librustc_mir/borrow_check/mod.rs +++ b/src/librustc_mir/borrow_check/mod.rs @@ -306,12 +306,12 @@ fn do_mir_borrowck<'a, 'gcx, 'tcx>( None => continue, } - let span = local_decl.syntactic_source_info.span; + let span = local_decl.source_info.span; let mut_span = tcx.sess.codemap().span_until_non_whitespace(span); tcx.struct_span_lint_node( UNUSED_MUT, - vsi[local_decl.syntactic_source_info.scope].lint_root, + vsi[local_decl.source_info.scope].lint_root, span, "variable does not need to be mutable" ) diff --git a/src/librustc_mir/borrow_check/nll/explain_borrow/mod.rs b/src/librustc_mir/borrow_check/nll/explain_borrow/mod.rs index 10a0e4e127d21..2807a4e8857e0 100644 --- a/src/librustc_mir/borrow_check/nll/explain_borrow/mod.rs +++ b/src/librustc_mir/borrow_check/nll/explain_borrow/mod.rs @@ -67,7 +67,7 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> { } None => { err.span_label( - mir.local_decls[local].syntactic_source_info.span, + mir.local_decls[local].source_info.span, "borrow may end up in a temporary, created here", ); diff --git a/src/librustc_mir/borrow_check/nll/type_check/mod.rs b/src/librustc_mir/borrow_check/nll/type_check/mod.rs index bad5b40d340d6..04f5024b76946 100644 --- a/src/librustc_mir/borrow_check/nll/type_check/mod.rs +++ b/src/librustc_mir/borrow_check/nll/type_check/mod.rs @@ -1201,7 +1201,7 @@ impl<'a, 'gcx, 'tcx> TypeChecker<'a, 'gcx, 'tcx> { LocalKind::Var | LocalKind::Temp => {} } - let span = local_decl.syntactic_source_info.span; + let span = local_decl.source_info.span; let ty = local_decl.ty; // Erase the regions from `ty` to get a global type. The diff --git a/src/librustc_mir/build/expr/into.rs b/src/librustc_mir/build/expr/into.rs index 398c619c0b1a4..fbd771fbe500d 100644 --- a/src/librustc_mir/build/expr/into.rs +++ b/src/librustc_mir/build/expr/into.rs @@ -246,7 +246,7 @@ impl<'a, 'gcx, 'tcx> Builder<'a, 'gcx, 'tcx> { mutability: Mutability::Mut, ty: ptr_ty, name: None, - syntactic_source_info: source_info, + source_info, visibility_scope: source_info.scope, internal: true, is_user_variable: false diff --git a/src/librustc_mir/build/matches/mod.rs b/src/librustc_mir/build/matches/mod.rs index 91812da2534ef..062a48a8c434d 100644 --- a/src/librustc_mir/build/matches/mod.rs +++ b/src/librustc_mir/build/matches/mod.rs @@ -306,7 +306,7 @@ impl<'a, 'gcx, 'tcx> Builder<'a, 'gcx, 'tcx> { -> Option { assert!(!(visibility_scope.is_some() && lint_level.is_explicit()), "can't have both a visibility and a lint scope at the same time"); - let mut syntactic_scope = self.source_scope; + let mut scope = self.source_scope; self.visit_bindings(pattern, &mut |this, mutability, name, var, span, ty| { if visibility_scope.is_none() { visibility_scope = Some(this.new_source_scope(scope_span, @@ -314,18 +314,18 @@ impl<'a, 'gcx, 'tcx> Builder<'a, 'gcx, 'tcx> { None)); // If we have lints, create a new source scope // that marks the lints for the locals. See the comment - // on the `syntactic_source_info` field for why this is needed. + // on the `source_info` field for why this is needed. if lint_level.is_explicit() { - syntactic_scope = + scope = this.new_source_scope(scope_span, lint_level, None); } } - let syntactic_source_info = SourceInfo { + let source_info = SourceInfo { span, - scope: syntactic_scope, + scope, }; let visibility_scope = visibility_scope.unwrap(); - this.declare_binding(syntactic_source_info, visibility_scope, mutability, name, var, + this.declare_binding(source_info, visibility_scope, mutability, name, var, ty, has_guard); }); visibility_scope @@ -1114,7 +1114,7 @@ impl<'a, 'gcx, 'tcx> Builder<'a, 'gcx, 'tcx> { /// `&T`. The second local is a binding for occurrences of `var` /// in the arm body, which will have type `T`. fn declare_binding(&mut self, - syntactic_source_info: SourceInfo, + source_info: SourceInfo, visibility_scope: SourceScope, mutability: Mutability, name: Name, @@ -1123,15 +1123,15 @@ impl<'a, 'gcx, 'tcx> Builder<'a, 'gcx, 'tcx> { has_guard: ArmHasGuard) { debug!("declare_binding(var_id={:?}, name={:?}, var_ty={:?}, visibility_scope={:?}, \ - syntactic_source_info={:?})", - var_id, name, var_ty, visibility_scope, syntactic_source_info); + source_info={:?})", + var_id, name, var_ty, visibility_scope, source_info); let tcx = self.hir.tcx(); let local = LocalDecl::<'tcx> { mutability, ty: var_ty.clone(), name: Some(name), - syntactic_source_info, + source_info, visibility_scope, internal: false, is_user_variable: true, @@ -1143,7 +1143,7 @@ impl<'a, 'gcx, 'tcx> Builder<'a, 'gcx, 'tcx> { mutability, ty: tcx.mk_imm_ref(tcx.types.re_empty, var_ty), name: Some(name), - syntactic_source_info, + source_info, visibility_scope, internal: false, is_user_variable: true, diff --git a/src/librustc_mir/build/mod.rs b/src/librustc_mir/build/mod.rs index ea3a6ae68e79a..ca7a2daf39d2e 100644 --- a/src/librustc_mir/build/mod.rs +++ b/src/librustc_mir/build/mod.rs @@ -664,7 +664,7 @@ impl<'a, 'gcx, 'tcx> Builder<'a, 'gcx, 'tcx> { self.local_decls.push(LocalDecl { mutability: Mutability::Mut, ty, - syntactic_source_info: source_info, + source_info, visibility_scope: source_info.scope, name, internal: false, diff --git a/src/librustc_mir/dataflow/move_paths/builder.rs b/src/librustc_mir/dataflow/move_paths/builder.rs index 2c6828d7cf908..2ff22842141d9 100644 --- a/src/librustc_mir/dataflow/move_paths/builder.rs +++ b/src/librustc_mir/dataflow/move_paths/builder.rs @@ -233,7 +233,7 @@ impl<'a, 'gcx, 'tcx> MoveDataBuilder<'a, 'gcx, 'tcx> { fn gather_args(&mut self) { for arg in self.mir.args_iter() { let path = self.data.rev_lookup.locals[arg]; - let span = self.mir.local_decls[arg].syntactic_source_info.span; + let span = self.mir.local_decls[arg].source_info.span; let init = self.data.inits.push(Init { path, span, kind: InitKind::Deep diff --git a/src/librustc_mir/shim.rs b/src/librustc_mir/shim.rs index 19967cc323f9a..d4a9b2cdd1fbf 100644 --- a/src/librustc_mir/shim.rs +++ b/src/librustc_mir/shim.rs @@ -141,7 +141,7 @@ fn temp_decl(mutability: Mutability, ty: Ty, span: Span) -> LocalDecl { let source_info = SourceInfo { scope: OUTERMOST_SOURCE_SCOPE, span }; LocalDecl { mutability, ty, name: None, - syntactic_source_info: source_info, + source_info, visibility_scope: source_info.scope, internal: false, is_user_variable: false diff --git a/src/librustc_mir/transform/check_unsafety.rs b/src/librustc_mir/transform/check_unsafety.rs index 38472418aab98..fedd0774df44c 100644 --- a/src/librustc_mir/transform/check_unsafety.rs +++ b/src/librustc_mir/transform/check_unsafety.rs @@ -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].syntactic_source_info; + self.source_info = self.mir.local_decls[local].source_info; } } let base_ty = base.ty(self.mir, self.tcx).to_ty(self.tcx); diff --git a/src/librustc_mir/transform/generator.rs b/src/librustc_mir/transform/generator.rs index d084d09971d46..7ac3b7beb06d5 100644 --- a/src/librustc_mir/transform/generator.rs +++ b/src/librustc_mir/transform/generator.rs @@ -300,7 +300,7 @@ fn replace_result_variable<'tcx>(ret_ty: Ty<'tcx>, mutability: Mutability::Mut, ty: ret_ty, name: None, - syntactic_source_info: source_info, + source_info, visibility_scope: source_info.scope, internal: false, is_user_variable: false, @@ -641,7 +641,7 @@ fn create_generator_drop_shim<'a, 'tcx>( mutability: Mutability::Mut, ty: tcx.mk_nil(), name: None, - syntactic_source_info: source_info, + source_info, visibility_scope: source_info.scope, internal: false, is_user_variable: false, @@ -657,7 +657,7 @@ fn create_generator_drop_shim<'a, 'tcx>( mutbl: hir::Mutability::MutMutable, }), name: None, - syntactic_source_info: source_info, + source_info, visibility_scope: source_info.scope, internal: false, is_user_variable: false, diff --git a/src/librustc_mir/transform/inline.rs b/src/librustc_mir/transform/inline.rs index cc1da268d68c1..a1845f7ef268c 100644 --- a/src/librustc_mir/transform/inline.rs +++ b/src/librustc_mir/transform/inline.rs @@ -398,9 +398,9 @@ impl<'a, 'tcx> Inliner<'a, 'tcx> { for loc in callee_mir.vars_and_temps_iter() { let mut local = callee_mir.local_decls[loc].clone(); - local.syntactic_source_info.scope = - scope_map[local.syntactic_source_info.scope]; - local.syntactic_source_info.span = callsite.location.span; + local.source_info.scope = + scope_map[local.source_info.scope]; + local.source_info.span = callsite.location.span; local.visibility_scope = scope_map[local.visibility_scope]; let idx = caller_mir.local_decls.push(local); diff --git a/src/librustc_mir/transform/promote_consts.rs b/src/librustc_mir/transform/promote_consts.rs index c61d5e268a990..8dc6539b65d6a 100644 --- a/src/librustc_mir/transform/promote_consts.rs +++ b/src/librustc_mir/transform/promote_consts.rs @@ -210,7 +210,7 @@ impl<'a, 'tcx> Promoter<'a, 'tcx> { let no_stmts = self.source[loc.block].statements.len(); let new_temp = self.promoted.local_decls.push( LocalDecl::new_temp(self.source.local_decls[temp].ty, - self.source.local_decls[temp].syntactic_source_info.span)); + self.source.local_decls[temp].source_info.span)); debug!("promote({:?} @ {:?}/{:?}, {:?})", temp, loc, no_stmts, self.keep_original); @@ -334,7 +334,7 @@ impl<'a, 'tcx> Promoter<'a, 'tcx> { // This is because `*r` requires `r` to be a local, // otherwise we would use the `promoted` directly. let mut promoted_ref = LocalDecl::new_temp(ref_ty, span); - promoted_ref.syntactic_source_info = statement.source_info; + promoted_ref.source_info = statement.source_info; promoted_ref.visibility_scope = statement.source_info.scope; let promoted_ref = local_decls.push(promoted_ref); assert_eq!(self.temps.push(TempState::Unpromotable), promoted_ref); diff --git a/src/librustc_mir/transform/qualify_consts.rs b/src/librustc_mir/transform/qualify_consts.rs index 828d8fa60e8ba..719630129440a 100644 --- a/src/librustc_mir/transform/qualify_consts.rs +++ b/src/librustc_mir/transform/qualify_consts.rs @@ -1046,7 +1046,7 @@ This does not pose a problem by itself because they can't be accessed directly." // conservatively, that drop elaboration will do. let needs_drop = if let Place::Local(local) = *place { if self.local_qualif[local].map_or(true, |q| q.intersects(Qualif::NEEDS_DROP)) { - Some(self.mir.local_decls[local].syntactic_source_info.span) + Some(self.mir.local_decls[local].source_info.span) } else { None } @@ -1102,7 +1102,7 @@ This does not pose a problem by itself because they can't be accessed directly." let mut err = feature_err( &self.tcx.sess.parse_sess, "const_let", - decl.syntactic_source_info.span, + decl.source_info.span, GateIssue::Language, "arguments of constant functions can only be immutable by-value bindings" ); diff --git a/src/librustc_mir/util/pretty.rs b/src/librustc_mir/util/pretty.rs index 520b7dfac4f7e..8176c644dd745 100644 --- a/src/librustc_mir/util/pretty.rs +++ b/src/librustc_mir/util/pretty.rs @@ -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.syntactic_source_info.scope == child { - (var.name.unwrap(), var.syntactic_source_info) + let (name, source_info) = if var.source_info.scope == child { + (var.name.unwrap(), var.source_info) } else { // Not a variable or not declared in this scope. continue;