Skip to content

Commit fb01485

Browse files
committed
Rename span-related names in AstValidator.
A bunch of span-related names in `AstValidator` don't end in `span`, which goes against the usual naming conventions and makes the code surprisingly hard to read. E.g. a name like `body` doesn't sound like it's a span. This commit adds `_span` suffixes.
1 parent ccb2194 commit fb01485

File tree

1 file changed

+43
-36
lines changed

1 file changed

+43
-36
lines changed

compiler/rustc_ast_passes/src/ast_validation.rs

Lines changed: 43 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,14 @@ enum SelfSemantic {
4747
}
4848

4949
enum TraitOrTraitImpl {
50-
Trait { span: Span, constness: Option<Span> },
51-
TraitImpl { constness: Const, polarity: ImplPolarity, trait_ref: Span },
50+
Trait { span: Span, constness_span: Option<Span> },
51+
TraitImpl { constness: Const, polarity: ImplPolarity, trait_ref_span: Span },
5252
}
5353

5454
impl TraitOrTraitImpl {
5555
fn constness(&self) -> Option<Span> {
5656
match self {
57-
Self::Trait { constness: Some(span), .. }
57+
Self::Trait { constness_span: Some(span), .. }
5858
| Self::TraitImpl { constness: Const::Yes(span), .. } => Some(*span),
5959
_ => None,
6060
}
@@ -66,7 +66,7 @@ struct AstValidator<'a> {
6666
features: &'a Features,
6767

6868
/// The span of the `extern` in an `extern { ... }` block, if any.
69-
extern_mod: Option<Span>,
69+
extern_mod_span: Option<Span>,
7070

7171
outer_trait_or_trait_impl: Option<TraitOrTraitImpl>,
7272

@@ -75,7 +75,7 @@ struct AstValidator<'a> {
7575
/// Used to ban nested `impl Trait`, e.g., `impl Into<impl Debug>`.
7676
/// Nested `impl Trait` _is_ allowed in associated type position,
7777
/// e.g., `impl Iterator<Item = impl Debug>`.
78-
outer_impl_trait: Option<Span>,
78+
outer_impl_trait_span: Option<Span>,
7979

8080
disallow_tilde_const: Option<TildeConstReason>,
8181

@@ -96,17 +96,22 @@ impl<'a> AstValidator<'a> {
9696
trait_.map(|(constness, polarity, trait_ref)| TraitOrTraitImpl::TraitImpl {
9797
constness,
9898
polarity,
99-
trait_ref: trait_ref.path.span,
99+
trait_ref_span: trait_ref.path.span,
100100
}),
101101
);
102102
f(self);
103103
self.outer_trait_or_trait_impl = old;
104104
}
105105

106-
fn with_in_trait(&mut self, span: Span, constness: Option<Span>, f: impl FnOnce(&mut Self)) {
106+
fn with_in_trait(
107+
&mut self,
108+
span: Span,
109+
constness_span: Option<Span>,
110+
f: impl FnOnce(&mut Self),
111+
) {
107112
let old = mem::replace(
108113
&mut self.outer_trait_or_trait_impl,
109-
Some(TraitOrTraitImpl::Trait { span, constness }),
114+
Some(TraitOrTraitImpl::Trait { span, constness_span }),
110115
);
111116
f(self);
112117
self.outer_trait_or_trait_impl = old;
@@ -170,10 +175,10 @@ impl<'a> AstValidator<'a> {
170175
Err(errors::WhereClauseBeforeTypeAlias { span, sugg })
171176
}
172177

173-
fn with_impl_trait(&mut self, outer: Option<Span>, f: impl FnOnce(&mut Self)) {
174-
let old = mem::replace(&mut self.outer_impl_trait, outer);
178+
fn with_impl_trait(&mut self, outer_span: Option<Span>, f: impl FnOnce(&mut Self)) {
179+
let old = mem::replace(&mut self.outer_impl_trait_span, outer_span);
175180
f(self);
176-
self.outer_impl_trait = old;
181+
self.outer_impl_trait_span = old;
177182
}
178183

179184
// Mirrors `visit::walk_ty`, but tracks relevant state.
@@ -258,21 +263,22 @@ impl<'a> AstValidator<'a> {
258263
&& let TraitOrTraitImpl::TraitImpl {
259264
constness: Const::No,
260265
polarity: ImplPolarity::Positive,
261-
trait_ref,
266+
trait_ref_span,
262267
..
263268
} = parent
264269
{
265-
Some(trait_ref.shrink_to_lo())
270+
Some(trait_ref_span.shrink_to_lo())
266271
} else {
267272
None
268273
};
269274

270-
let make_trait_const_sugg =
271-
if const_trait_impl && let TraitOrTraitImpl::Trait { span, constness: None } = parent {
272-
Some(span.shrink_to_lo())
273-
} else {
274-
None
275-
};
275+
let make_trait_const_sugg = if const_trait_impl
276+
&& let TraitOrTraitImpl::Trait { span, constness_span: None } = parent
277+
{
278+
Some(span.shrink_to_lo())
279+
} else {
280+
None
281+
};
276282

277283
let parent_constness = parent.constness();
278284
self.dcx().emit_err(errors::TraitFnConst {
@@ -448,13 +454,13 @@ impl<'a> AstValidator<'a> {
448454
check_where_clause(where_clauses.after);
449455
}
450456

451-
fn check_foreign_kind_bodyless(&self, ident: Ident, kind: &str, body: Option<Span>) {
452-
let Some(body) = body else {
457+
fn check_foreign_kind_bodyless(&self, ident: Ident, kind: &str, body_span: Option<Span>) {
458+
let Some(body_span) = body_span else {
453459
return;
454460
};
455461
self.dcx().emit_err(errors::BodyInExtern {
456462
span: ident.span,
457-
body,
463+
body: body_span,
458464
block: self.current_extern_span(),
459465
kind,
460466
});
@@ -473,7 +479,7 @@ impl<'a> AstValidator<'a> {
473479
}
474480

475481
fn current_extern_span(&self) -> Span {
476-
self.sess.source_map().guess_head_span(self.extern_mod.unwrap())
482+
self.sess.source_map().guess_head_span(self.extern_mod_span.unwrap())
477483
}
478484

479485
/// An `fn` in `extern { ... }` cannot have qualifiers, e.g. `async fn`.
@@ -583,9 +589,10 @@ impl<'a> AstValidator<'a> {
583589
self.dcx().emit_err(errors::ModuleNonAscii { span: ident.span, name: ident.name });
584590
}
585591

586-
fn deny_generic_params(&self, generics: &Generics, ident: Span) {
592+
fn deny_generic_params(&self, generics: &Generics, ident_span: Span) {
587593
if !generics.params.is_empty() {
588-
self.dcx().emit_err(errors::AutoTraitGeneric { span: generics.span, ident });
594+
self.dcx()
595+
.emit_err(errors::AutoTraitGeneric { span: generics.span, ident: ident_span });
589596
}
590597
}
591598

@@ -605,11 +612,11 @@ impl<'a> AstValidator<'a> {
605612
}
606613
}
607614

608-
fn deny_items(&self, trait_items: &[P<AssocItem>], ident: Span) {
615+
fn deny_items(&self, trait_items: &[P<AssocItem>], ident_span: Span) {
609616
if !trait_items.is_empty() {
610617
let spans: Vec<_> = trait_items.iter().map(|i| i.kind.ident().unwrap().span).collect();
611618
let total = trait_items.first().unwrap().span.to(trait_items.last().unwrap().span);
612-
self.dcx().emit_err(errors::AutoTraitItems { spans, total, ident });
619+
self.dcx().emit_err(errors::AutoTraitItems { spans, total, ident: ident_span });
613620
}
614621
}
615622

@@ -694,7 +701,7 @@ impl<'a> AstValidator<'a> {
694701
}
695702
}
696703
TyKind::ImplTrait(_, bounds) => {
697-
if let Some(outer_impl_trait_sp) = self.outer_impl_trait {
704+
if let Some(outer_impl_trait_sp) = self.outer_impl_trait_span {
698705
self.dcx().emit_err(errors::NestedImplTrait {
699706
span: ty.span,
700707
outer: outer_impl_trait_sp,
@@ -970,7 +977,7 @@ impl<'a> Visitor<'a> for AstValidator<'a> {
970977
}
971978
ItemKind::ForeignMod(ForeignMod { extern_span, abi, safety, .. }) => {
972979
self.with_in_extern_mod(*safety, |this| {
973-
let old_item = mem::replace(&mut this.extern_mod, Some(item.span));
980+
let old_item = mem::replace(&mut this.extern_mod_span, Some(item.span));
974981
this.visibility_not_permitted(
975982
&item.vis,
976983
errors::VisibilityNotPermittedNote::IndividualForeignItems,
@@ -995,7 +1002,7 @@ impl<'a> Visitor<'a> for AstValidator<'a> {
9951002
this.maybe_lint_missing_abi(*extern_span, item.id);
9961003
}
9971004
visit::walk_item(this, item);
998-
this.extern_mod = old_item;
1005+
this.extern_mod_span = old_item;
9991006
});
10001007
}
10011008
ItemKind::Enum(_, def, _) => {
@@ -1593,7 +1600,7 @@ fn deny_equality_constraints(
15931600
generics.where_clause.span
15941601
} else {
15951602
let mut span = predicate_span;
1596-
let mut prev: Option<Span> = None;
1603+
let mut prev_span: Option<Span> = None;
15971604
let mut preds = generics.where_clause.predicates.iter().peekable();
15981605
// Find the predicate that shouldn't have been in the where bound list.
15991606
while let Some(pred) = preds.next() {
@@ -1603,12 +1610,12 @@ fn deny_equality_constraints(
16031610
if let Some(next) = preds.peek() {
16041611
// This is the first predicate, remove the trailing comma as well.
16051612
span = span.with_hi(next.span.lo());
1606-
} else if let Some(prev) = prev {
1613+
} else if let Some(prev_span) = prev_span {
16071614
// Remove the previous comma as well.
1608-
span = span.with_lo(prev.hi());
1615+
span = span.with_lo(prev_span.hi());
16091616
}
16101617
}
1611-
prev = Some(pred.span);
1618+
prev_span = Some(pred.span);
16121619
}
16131620
span
16141621
};
@@ -1683,10 +1690,10 @@ pub fn check_crate(
16831690
let mut validator = AstValidator {
16841691
sess,
16851692
features,
1686-
extern_mod: None,
1693+
extern_mod_span: None,
16871694
outer_trait_or_trait_impl: None,
16881695
has_proc_macro_decls: false,
1689-
outer_impl_trait: None,
1696+
outer_impl_trait_span: None,
16901697
disallow_tilde_const: Some(TildeConstReason::Item),
16911698
extern_mod_safety: None,
16921699
lint_buffer: lints,

0 commit comments

Comments
 (0)