diff options
| author | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2024-07-08 09:48:12 +0000 |
|---|---|---|
| committer | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2024-07-16 15:44:17 +0000 |
| commit | 9a4c1058fac8cbbf771740928ec9a954b451c653 (patch) | |
| tree | db558635f3da67fca815651471bcc1aa531a8271 | |
| parent | a91f7d72f12efcc00ecf71591f066c534d45ddf7 (diff) | |
| download | rust-9a4c1058fac8cbbf771740928ec9a954b451c653.tar.gz rust-9a4c1058fac8cbbf771740928ec9a954b451c653.zip | |
Just store a span instead of the whole item
| -rw-r--r-- | compiler/rustc_ast_passes/src/ast_validation.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/rustc_ast_passes/src/ast_validation.rs b/compiler/rustc_ast_passes/src/ast_validation.rs index dd0d904c52c..507329cc899 100644 --- a/compiler/rustc_ast_passes/src/ast_validation.rs +++ b/compiler/rustc_ast_passes/src/ast_validation.rs @@ -81,7 +81,7 @@ struct AstValidator<'a> { features: &'a Features, /// The span of the `extern` in an `extern { ... }` block, if any. - extern_mod: Option<&'a Item>, + extern_mod: Option<Span>, outer_trait_or_trait_impl: Option<TraitOrTraitImpl<'a>>, @@ -579,7 +579,7 @@ impl<'a> AstValidator<'a> { } fn current_extern_span(&self) -> Span { - self.session.source_map().guess_head_span(self.extern_mod.unwrap().span) + self.session.source_map().guess_head_span(self.extern_mod.unwrap()) } /// An `fn` in `extern { ... }` cannot have qualifiers, e.g. `async fn`. @@ -1080,7 +1080,7 @@ impl<'a> Visitor<'a> for AstValidator<'a> { } ItemKind::ForeignMod(ForeignMod { abi, safety, .. }) => { self.with_in_extern_mod(*safety, |this| { - let old_item = mem::replace(&mut this.extern_mod, Some(item)); + let old_item = mem::replace(&mut this.extern_mod, Some(item.span)); this.visibility_not_permitted( &item.vis, errors::VisibilityNotPermittedNote::IndividualForeignItems, |
