Skip to content

Commit 36c0a6d

Browse files
committed
Auto merge of #125105 - nnethercote:rustc_resolve-cleanups, r=estebank
`rustc_resolve` cleanups Some improvements I found while looking through this code. r? `@estebank`
2 parents 7b06810 + 5134a04 commit 36c0a6d

18 files changed

+41
-93
lines changed

Diff for: compiler/rustc_resolve/src/build_reduced_graph.rs

+2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ use rustc_span::Span;
3232

3333
use std::cell::Cell;
3434

35+
use tracing::debug;
36+
3537
type Res = def::Res<NodeId>;
3638

3739
impl<'a, Id: Into<DefId>> ToNameBinding<'a>

Diff for: compiler/rustc_resolve/src/def_collector.rs

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use rustc_hir::def_id::LocalDefId;
77
use rustc_span::hygiene::LocalExpnId;
88
use rustc_span::symbol::{kw, sym, Symbol};
99
use rustc_span::Span;
10+
use tracing::debug;
1011

1112
pub(crate) fn collect_definitions(
1213
resolver: &mut Resolver<'_, '_>,

Diff for: compiler/rustc_resolve/src/diagnostics.rs

+1-14
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ use rustc_span::source_map::SourceMap;
2828
use rustc_span::symbol::{kw, sym, Ident, Symbol};
2929
use rustc_span::{BytePos, Span, SyntaxContext};
3030
use thin_vec::{thin_vec, ThinVec};
31+
use tracing::debug;
3132

3233
use crate::errors::{
3334
self, AddedMacroUse, ChangeImportBinding, ChangeImportBindingSuggestion, ConsiderAddingADerive,
@@ -43,9 +44,6 @@ use crate::{LexicalScopeBinding, NameBinding, NameBindingKind, PrivacyError, Vis
4344
use crate::{ParentScope, PathResult, ResolutionError, Resolver, Scope, ScopeSet};
4445
use crate::{Segment, UseError};
4546

46-
#[cfg(test)]
47-
mod tests;
48-
4947
type Res = def::Res<ast::NodeId>;
5048

5149
/// A vector of spans and replacements, a message and applicability.
@@ -3026,14 +3024,3 @@ fn is_span_suitable_for_use_injection(s: Span) -> bool {
30263024
// import or other generated ones
30273025
!s.from_expansion()
30283026
}
3029-
3030-
/// Convert the given number into the corresponding ordinal
3031-
pub(crate) fn ordinalize(v: usize) -> String {
3032-
let suffix = match ((11..=13).contains(&(v % 100)), v % 10) {
3033-
(false, 1) => "st",
3034-
(false, 2) => "nd",
3035-
(false, 3) => "rd",
3036-
_ => "th",
3037-
};
3038-
format!("{v}{suffix}")
3039-
}

Diff for: compiler/rustc_resolve/src/diagnostics/tests.rs

-40
This file was deleted.

Diff for: compiler/rustc_resolve/src/effective_visibilities.rs

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ use rustc_middle::middle::privacy::Level;
1111
use rustc_middle::middle::privacy::{EffectiveVisibilities, EffectiveVisibility};
1212
use rustc_middle::ty::Visibility;
1313
use std::mem;
14+
use tracing::info;
1415

1516
#[derive(Clone, Copy)]
1617
enum ParentId<'a> {

Diff for: compiler/rustc_resolve/src/ident.rs

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ use rustc_span::hygiene::{ExpnId, ExpnKind, LocalExpnId, MacroKind, SyntaxContex
1111
use rustc_span::sym;
1212
use rustc_span::symbol::{kw, Ident};
1313
use rustc_span::Span;
14+
use tracing::{debug, instrument};
1415

1516
use crate::errors::{ParamKindInEnumDiscriminant, ParamKindInNonTrivialAnonConst};
1617
use crate::late::{ConstantHasGenerics, NoConstantGenericsReason, PathSource, Rib, RibKind};

Diff for: compiler/rustc_resolve/src/imports.rs

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ use rustc_span::hygiene::LocalExpnId;
3434
use rustc_span::symbol::{kw, Ident, Symbol};
3535
use rustc_span::Span;
3636
use smallvec::SmallVec;
37+
use tracing::debug;
3738

3839
use std::cell::Cell;
3940
use std::mem;

Diff for: compiler/rustc_resolve/src/late.rs

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ use rustc_span::source_map::{respan, Spanned};
3030
use rustc_span::symbol::{kw, sym, Ident, Symbol};
3131
use rustc_span::{BytePos, Span, SyntaxContext};
3232
use smallvec::{smallvec, SmallVec};
33+
use tracing::{debug, instrument, trace};
3334

3435
use std::assert_matches::debug_assert_matches;
3536
use std::borrow::Cow;

Diff for: compiler/rustc_resolve/src/late/diagnostics.rs

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ use std::iter;
4040
use std::ops::Deref;
4141

4242
use thin_vec::ThinVec;
43+
use tracing::debug;
4344

4445
use super::NoConstantGenericsReason;
4546

Diff for: compiler/rustc_resolve/src/lib.rs

+12-16
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,23 @@
66
//!
77
//! Type-relative name resolution (methods, fields, associated items) happens in `rustc_hir_analysis`.
88
9+
// tidy-alphabetical-start
10+
#![allow(internal_features)]
11+
#![allow(rustc::diagnostic_outside_of_impl)]
12+
#![allow(rustc::potential_query_instability)]
13+
#![allow(rustc::untranslatable_diagnostic)]
914
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
1015
#![doc(rust_logo)]
11-
#![feature(rustdoc_internals)]
1216
#![feature(assert_matches)]
1317
#![feature(box_patterns)]
1418
#![feature(extract_if)]
1519
#![feature(if_let_guard)]
1620
#![feature(iter_intersperse)]
1721
#![feature(let_chains)]
1822
#![feature(rustc_attrs)]
19-
#![allow(rustdoc::private_intra_doc_links)]
20-
#![allow(rustc::diagnostic_outside_of_impl)]
21-
#![allow(rustc::potential_query_instability)]
22-
#![allow(rustc::untranslatable_diagnostic)]
23-
#![allow(internal_features)]
24-
25-
#[macro_use]
26-
extern crate tracing;
23+
#![feature(rustdoc_internals)]
24+
// tidy-alphabetical-end
2725

28-
use errors::{
29-
ParamKindInEnumDiscriminant, ParamKindInNonTrivialAnonConst, ParamKindInTyOfConstParam,
30-
};
3126
use rustc_arena::{DroplessArena, TypedArena};
3227
use rustc_ast::expand::StrippedCfgItem;
3328
use rustc_ast::node_id::NodeMap;
@@ -60,19 +55,21 @@ use rustc_session::lint::LintBuffer;
6055
use rustc_span::hygiene::{ExpnId, LocalExpnId, MacroKind, SyntaxContext, Transparency};
6156
use rustc_span::symbol::{kw, sym, Ident, Symbol};
6257
use rustc_span::{Span, DUMMY_SP};
63-
6458
use smallvec::{smallvec, SmallVec};
6559
use std::cell::{Cell, RefCell};
6660
use std::collections::BTreeSet;
6761
use std::fmt;
62+
use tracing::debug;
6863

6964
use diagnostics::{ImportSuggestion, LabelSuggestion, Suggestion};
65+
use effective_visibilities::EffectiveVisibilitiesVisitor;
66+
use errors::{
67+
ParamKindInEnumDiscriminant, ParamKindInNonTrivialAnonConst, ParamKindInTyOfConstParam,
68+
};
7069
use imports::{Import, ImportData, ImportKind, NameResolution};
7170
use late::{HasGenericParams, PathSource, PatternSource, UnnecessaryQualification};
7271
use macros::{MacroRulesBinding, MacroRulesScope, MacroRulesScopeRef};
7372

74-
use crate::effective_visibilities::EffectiveVisibilitiesVisitor;
75-
7673
type Res = def::Res<NodeId>;
7774

7875
mod build_reduced_graph;
@@ -964,7 +961,6 @@ struct DeriveData {
964961
has_derive_copy: bool,
965962
}
966963

967-
#[derive(Clone)]
968964
struct MacroData {
969965
ext: Lrc<SyntaxExtension>,
970966
rule_spans: Vec<(usize, Span)>,

Diff for: compiler/rustc_resolve/src/macros.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -328,11 +328,7 @@ impl<'a, 'tcx> ResolverExpand for Resolver<'a, 'tcx> {
328328
UNUSED_MACRO_RULES,
329329
node_id,
330330
rule_span,
331-
format!(
332-
"{} rule of macro `{}` is never used",
333-
crate::diagnostics::ordinalize(arm_i + 1),
334-
ident.name
335-
),
331+
format!("rule #{} of macro `{}` is never used", arm_i + 1, ident.name),
336332
);
337333
}
338334
}

Diff for: compiler/rustc_resolve/src/rustdoc.rs

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use rustc_span::symbol::{kw, sym, Symbol};
88
use rustc_span::{InnerSpan, Span, DUMMY_SP};
99
use std::mem;
1010
use std::ops::Range;
11+
use tracing::{debug, trace};
1112

1213
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
1314
pub enum DocFragmentKind {

Diff for: tests/ui/lint/unused/unused-macro-rules-compile-error.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ macro_rules! num {
99
// Some nested use
1010
(two_) => { foo(compile_error!("foo")); };
1111
(three) => { 3 };
12-
(four) => { 4 }; //~ ERROR: rule of macro
12+
(four) => { 4 }; //~ ERROR: rule #5 of macro
1313
}
1414
const _NUM: u8 = num!(one) + num!(three);
1515

1616
// compile_error not used as a macro invocation
1717
macro_rules! num2 {
1818
(one) => { 1 };
1919
// Only identifier present
20-
(two) => { fn compile_error() {} }; //~ ERROR: rule of macro
20+
(two) => { fn compile_error() {} }; //~ ERROR: rule #2 of macro
2121
// Only identifier and bang present
22-
(two_) => { compile_error! }; //~ ERROR: rule of macro
22+
(two_) => { compile_error! }; //~ ERROR: rule #3 of macro
2323
(three) => { 3 };
2424
}
2525
const _NUM2: u8 = num2!(one) + num2!(three);

Diff for: tests/ui/lint/unused/unused-macro-rules-compile-error.stderr

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
error: 5th rule of macro `num` is never used
1+
error: rule #5 of macro `num` is never used
22
--> $DIR/unused-macro-rules-compile-error.rs:12:5
33
|
44
LL | (four) => { 4 };
@@ -10,13 +10,13 @@ note: the lint level is defined here
1010
LL | #![deny(unused_macro_rules)]
1111
| ^^^^^^^^^^^^^^^^^^
1212

13-
error: 3rd rule of macro `num2` is never used
13+
error: rule #3 of macro `num2` is never used
1414
--> $DIR/unused-macro-rules-compile-error.rs:22:5
1515
|
1616
LL | (two_) => { compile_error! };
1717
| ^^^^^^
1818

19-
error: 2nd rule of macro `num2` is never used
19+
error: rule #2 of macro `num2` is never used
2020
--> $DIR/unused-macro-rules-compile-error.rs:20:5
2121
|
2222
LL | (two) => { fn compile_error() {} };

Diff for: tests/ui/lint/unused/unused-macro-rules-decl.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
// Most simple case
77
macro num {
88
(one) => { 1 },
9-
(two) => { 2 }, //~ ERROR: 2nd rule of macro
9+
(two) => { 2 }, //~ ERROR: rule #2 of macro
1010
(three) => { 3 },
11-
(four) => { 4 }, //~ ERROR: 4th rule of macro
11+
(four) => { 4 }, //~ ERROR: rule #4 of macro
1212
}
1313
const _NUM: u8 = num!(one) + num!(three);
1414

@@ -28,7 +28,7 @@ macro num_rec {
2828
(two) => {
2929
num_rec!(one) + num_rec!(one)
3030
},
31-
(three) => { //~ ERROR: 3rd rule of macro
31+
(three) => { //~ ERROR: rule #3 of macro
3232
num_rec!(one) + num_rec!(two)
3333
},
3434
(four) => {

Diff for: tests/ui/lint/unused/unused-macro-rules-decl.stderr

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
error: 4th rule of macro `num` is never used
1+
error: rule #4 of macro `num` is never used
22
--> $DIR/unused-macro-rules-decl.rs:11:5
33
|
44
LL | (four) => { 4 },
@@ -10,13 +10,13 @@ note: the lint level is defined here
1010
LL | #![deny(unused_macro_rules)]
1111
| ^^^^^^^^^^^^^^^^^^
1212

13-
error: 2nd rule of macro `num` is never used
13+
error: rule #2 of macro `num` is never used
1414
--> $DIR/unused-macro-rules-decl.rs:9:5
1515
|
1616
LL | (two) => { 2 },
1717
| ^^^^^
1818

19-
error: 3rd rule of macro `num_rec` is never used
19+
error: rule #3 of macro `num_rec` is never used
2020
--> $DIR/unused-macro-rules-decl.rs:31:5
2121
|
2222
LL | (three) => {

Diff for: tests/ui/lint/unused/unused-macro-rules.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
// Most simple case
66
macro_rules! num {
77
(one) => { 1 };
8-
(two) => { 2 }; //~ ERROR: 2nd rule of macro
8+
(two) => { 2 }; //~ ERROR: rule #2 of macro
99
(three) => { 3 };
10-
(four) => { 4 }; //~ ERROR: 4th rule of macro
10+
(four) => { 4 }; //~ ERROR: rule #4 of macro
1111
}
1212
const _NUM: u8 = num!(one) + num!(three);
1313

@@ -27,7 +27,7 @@ macro_rules! num_rec {
2727
(two) => {
2828
num_rec!(one) + num_rec!(one)
2929
};
30-
(three) => { //~ ERROR: 3rd rule of macro
30+
(three) => { //~ ERROR: rule #3 of macro
3131
num_rec!(one) + num_rec!(two)
3232
};
3333
(four) => { num_rec!(two) + num_rec!(two) };

Diff for: tests/ui/lint/unused/unused-macro-rules.stderr

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
error: 4th rule of macro `num` is never used
1+
error: rule #4 of macro `num` is never used
22
--> $DIR/unused-macro-rules.rs:10:5
33
|
44
LL | (four) => { 4 };
@@ -10,13 +10,13 @@ note: the lint level is defined here
1010
LL | #![deny(unused_macro_rules)]
1111
| ^^^^^^^^^^^^^^^^^^
1212

13-
error: 2nd rule of macro `num` is never used
13+
error: rule #2 of macro `num` is never used
1414
--> $DIR/unused-macro-rules.rs:8:5
1515
|
1616
LL | (two) => { 2 };
1717
| ^^^^^
1818

19-
error: 3rd rule of macro `num_rec` is never used
19+
error: rule #3 of macro `num_rec` is never used
2020
--> $DIR/unused-macro-rules.rs:30:5
2121
|
2222
LL | (three) => {

0 commit comments

Comments
 (0)