Remove ordinalize
.
Some minor (English only) heroics are performed to print error messages like "5th rule of macro `m` is never used". The form "rule #5 of macro `m` is never used" is just as good and much simpler to implement.
This commit is contained in:
parent
7cbb736a60
commit
5134a04eaa
9 changed files with 19 additions and 77 deletions
|
@ -44,9 +44,6 @@ use crate::{LexicalScopeBinding, NameBinding, NameBindingKind, PrivacyError, Vis
|
||||||
use crate::{ParentScope, PathResult, ResolutionError, Resolver, Scope, ScopeSet};
|
use crate::{ParentScope, PathResult, ResolutionError, Resolver, Scope, ScopeSet};
|
||||||
use crate::{Segment, UseError};
|
use crate::{Segment, UseError};
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests;
|
|
||||||
|
|
||||||
type Res = def::Res<ast::NodeId>;
|
type Res = def::Res<ast::NodeId>;
|
||||||
|
|
||||||
/// A vector of spans and replacements, a message and applicability.
|
/// A vector of spans and replacements, a message and applicability.
|
||||||
|
@ -3027,14 +3024,3 @@ fn is_span_suitable_for_use_injection(s: Span) -> bool {
|
||||||
// import or other generated ones
|
// import or other generated ones
|
||||||
!s.from_expansion()
|
!s.from_expansion()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Convert the given number into the corresponding ordinal
|
|
||||||
pub(crate) fn ordinalize(v: usize) -> String {
|
|
||||||
let suffix = match ((11..=13).contains(&(v % 100)), v % 10) {
|
|
||||||
(false, 1) => "st",
|
|
||||||
(false, 2) => "nd",
|
|
||||||
(false, 3) => "rd",
|
|
||||||
_ => "th",
|
|
||||||
};
|
|
||||||
format!("{v}{suffix}")
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
use super::ordinalize;
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_ordinalize() {
|
|
||||||
assert_eq!(ordinalize(1), "1st");
|
|
||||||
assert_eq!(ordinalize(2), "2nd");
|
|
||||||
assert_eq!(ordinalize(3), "3rd");
|
|
||||||
assert_eq!(ordinalize(4), "4th");
|
|
||||||
assert_eq!(ordinalize(5), "5th");
|
|
||||||
// ...
|
|
||||||
assert_eq!(ordinalize(10), "10th");
|
|
||||||
assert_eq!(ordinalize(11), "11th");
|
|
||||||
assert_eq!(ordinalize(12), "12th");
|
|
||||||
assert_eq!(ordinalize(13), "13th");
|
|
||||||
assert_eq!(ordinalize(14), "14th");
|
|
||||||
// ...
|
|
||||||
assert_eq!(ordinalize(20), "20th");
|
|
||||||
assert_eq!(ordinalize(21), "21st");
|
|
||||||
assert_eq!(ordinalize(22), "22nd");
|
|
||||||
assert_eq!(ordinalize(23), "23rd");
|
|
||||||
assert_eq!(ordinalize(24), "24th");
|
|
||||||
// ...
|
|
||||||
assert_eq!(ordinalize(30), "30th");
|
|
||||||
assert_eq!(ordinalize(31), "31st");
|
|
||||||
assert_eq!(ordinalize(32), "32nd");
|
|
||||||
assert_eq!(ordinalize(33), "33rd");
|
|
||||||
assert_eq!(ordinalize(34), "34th");
|
|
||||||
// ...
|
|
||||||
assert_eq!(ordinalize(7010), "7010th");
|
|
||||||
assert_eq!(ordinalize(7011), "7011th");
|
|
||||||
assert_eq!(ordinalize(7012), "7012th");
|
|
||||||
assert_eq!(ordinalize(7013), "7013th");
|
|
||||||
assert_eq!(ordinalize(7014), "7014th");
|
|
||||||
// ...
|
|
||||||
assert_eq!(ordinalize(7020), "7020th");
|
|
||||||
assert_eq!(ordinalize(7021), "7021st");
|
|
||||||
assert_eq!(ordinalize(7022), "7022nd");
|
|
||||||
assert_eq!(ordinalize(7023), "7023rd");
|
|
||||||
assert_eq!(ordinalize(7024), "7024th");
|
|
||||||
}
|
|
|
@ -327,11 +327,7 @@ impl<'a, 'tcx> ResolverExpand for Resolver<'a, 'tcx> {
|
||||||
UNUSED_MACRO_RULES,
|
UNUSED_MACRO_RULES,
|
||||||
node_id,
|
node_id,
|
||||||
rule_span,
|
rule_span,
|
||||||
format!(
|
format!("rule #{} of macro `{}` is never used", arm_i + 1, ident.name),
|
||||||
"{} rule of macro `{}` is never used",
|
|
||||||
crate::diagnostics::ordinalize(arm_i + 1),
|
|
||||||
ident.name
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ macro_rules! num {
|
||||||
// Some nested use
|
// Some nested use
|
||||||
(two_) => { foo(compile_error!("foo")); };
|
(two_) => { foo(compile_error!("foo")); };
|
||||||
(three) => { 3 };
|
(three) => { 3 };
|
||||||
(four) => { 4 }; //~ ERROR: rule of macro
|
(four) => { 4 }; //~ ERROR: rule #5 of macro
|
||||||
}
|
}
|
||||||
const _NUM: u8 = num!(one) + num!(three);
|
const _NUM: u8 = num!(one) + num!(three);
|
||||||
|
|
||||||
|
@ -17,9 +17,9 @@ const _NUM: u8 = num!(one) + num!(three);
|
||||||
macro_rules! num2 {
|
macro_rules! num2 {
|
||||||
(one) => { 1 };
|
(one) => { 1 };
|
||||||
// Only identifier present
|
// Only identifier present
|
||||||
(two) => { fn compile_error() {} }; //~ ERROR: rule of macro
|
(two) => { fn compile_error() {} }; //~ ERROR: rule #2 of macro
|
||||||
// Only identifier and bang present
|
// Only identifier and bang present
|
||||||
(two_) => { compile_error! }; //~ ERROR: rule of macro
|
(two_) => { compile_error! }; //~ ERROR: rule #3 of macro
|
||||||
(three) => { 3 };
|
(three) => { 3 };
|
||||||
}
|
}
|
||||||
const _NUM2: u8 = num2!(one) + num2!(three);
|
const _NUM2: u8 = num2!(one) + num2!(three);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
error: 5th rule of macro `num` is never used
|
error: rule #5 of macro `num` is never used
|
||||||
--> $DIR/unused-macro-rules-compile-error.rs:12:5
|
--> $DIR/unused-macro-rules-compile-error.rs:12:5
|
||||||
|
|
|
|
||||||
LL | (four) => { 4 };
|
LL | (four) => { 4 };
|
||||||
|
@ -10,13 +10,13 @@ note: the lint level is defined here
|
||||||
LL | #![deny(unused_macro_rules)]
|
LL | #![deny(unused_macro_rules)]
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: 3rd rule of macro `num2` is never used
|
error: rule #3 of macro `num2` is never used
|
||||||
--> $DIR/unused-macro-rules-compile-error.rs:22:5
|
--> $DIR/unused-macro-rules-compile-error.rs:22:5
|
||||||
|
|
|
|
||||||
LL | (two_) => { compile_error! };
|
LL | (two_) => { compile_error! };
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: 2nd rule of macro `num2` is never used
|
error: rule #2 of macro `num2` is never used
|
||||||
--> $DIR/unused-macro-rules-compile-error.rs:20:5
|
--> $DIR/unused-macro-rules-compile-error.rs:20:5
|
||||||
|
|
|
|
||||||
LL | (two) => { fn compile_error() {} };
|
LL | (two) => { fn compile_error() {} };
|
||||||
|
|
|
@ -6,9 +6,9 @@
|
||||||
// Most simple case
|
// Most simple case
|
||||||
macro num {
|
macro num {
|
||||||
(one) => { 1 },
|
(one) => { 1 },
|
||||||
(two) => { 2 }, //~ ERROR: 2nd rule of macro
|
(two) => { 2 }, //~ ERROR: rule #2 of macro
|
||||||
(three) => { 3 },
|
(three) => { 3 },
|
||||||
(four) => { 4 }, //~ ERROR: 4th rule of macro
|
(four) => { 4 }, //~ ERROR: rule #4 of macro
|
||||||
}
|
}
|
||||||
const _NUM: u8 = num!(one) + num!(three);
|
const _NUM: u8 = num!(one) + num!(three);
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ macro num_rec {
|
||||||
(two) => {
|
(two) => {
|
||||||
num_rec!(one) + num_rec!(one)
|
num_rec!(one) + num_rec!(one)
|
||||||
},
|
},
|
||||||
(three) => { //~ ERROR: 3rd rule of macro
|
(three) => { //~ ERROR: rule #3 of macro
|
||||||
num_rec!(one) + num_rec!(two)
|
num_rec!(one) + num_rec!(two)
|
||||||
},
|
},
|
||||||
(four) => {
|
(four) => {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
error: 4th rule of macro `num` is never used
|
error: rule #4 of macro `num` is never used
|
||||||
--> $DIR/unused-macro-rules-decl.rs:11:5
|
--> $DIR/unused-macro-rules-decl.rs:11:5
|
||||||
|
|
|
|
||||||
LL | (four) => { 4 },
|
LL | (four) => { 4 },
|
||||||
|
@ -10,13 +10,13 @@ note: the lint level is defined here
|
||||||
LL | #![deny(unused_macro_rules)]
|
LL | #![deny(unused_macro_rules)]
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: 2nd rule of macro `num` is never used
|
error: rule #2 of macro `num` is never used
|
||||||
--> $DIR/unused-macro-rules-decl.rs:9:5
|
--> $DIR/unused-macro-rules-decl.rs:9:5
|
||||||
|
|
|
|
||||||
LL | (two) => { 2 },
|
LL | (two) => { 2 },
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
error: 3rd rule of macro `num_rec` is never used
|
error: rule #3 of macro `num_rec` is never used
|
||||||
--> $DIR/unused-macro-rules-decl.rs:31:5
|
--> $DIR/unused-macro-rules-decl.rs:31:5
|
||||||
|
|
|
|
||||||
LL | (three) => {
|
LL | (three) => {
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
// Most simple case
|
// Most simple case
|
||||||
macro_rules! num {
|
macro_rules! num {
|
||||||
(one) => { 1 };
|
(one) => { 1 };
|
||||||
(two) => { 2 }; //~ ERROR: 2nd rule of macro
|
(two) => { 2 }; //~ ERROR: rule #2 of macro
|
||||||
(three) => { 3 };
|
(three) => { 3 };
|
||||||
(four) => { 4 }; //~ ERROR: 4th rule of macro
|
(four) => { 4 }; //~ ERROR: rule #4 of macro
|
||||||
}
|
}
|
||||||
const _NUM: u8 = num!(one) + num!(three);
|
const _NUM: u8 = num!(one) + num!(three);
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ macro_rules! num_rec {
|
||||||
(two) => {
|
(two) => {
|
||||||
num_rec!(one) + num_rec!(one)
|
num_rec!(one) + num_rec!(one)
|
||||||
};
|
};
|
||||||
(three) => { //~ ERROR: 3rd rule of macro
|
(three) => { //~ ERROR: rule #3 of macro
|
||||||
num_rec!(one) + num_rec!(two)
|
num_rec!(one) + num_rec!(two)
|
||||||
};
|
};
|
||||||
(four) => { num_rec!(two) + num_rec!(two) };
|
(four) => { num_rec!(two) + num_rec!(two) };
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
error: 4th rule of macro `num` is never used
|
error: rule #4 of macro `num` is never used
|
||||||
--> $DIR/unused-macro-rules.rs:10:5
|
--> $DIR/unused-macro-rules.rs:10:5
|
||||||
|
|
|
|
||||||
LL | (four) => { 4 };
|
LL | (four) => { 4 };
|
||||||
|
@ -10,13 +10,13 @@ note: the lint level is defined here
|
||||||
LL | #![deny(unused_macro_rules)]
|
LL | #![deny(unused_macro_rules)]
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: 2nd rule of macro `num` is never used
|
error: rule #2 of macro `num` is never used
|
||||||
--> $DIR/unused-macro-rules.rs:8:5
|
--> $DIR/unused-macro-rules.rs:8:5
|
||||||
|
|
|
|
||||||
LL | (two) => { 2 };
|
LL | (two) => { 2 };
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
error: 3rd rule of macro `num_rec` is never used
|
error: rule #3 of macro `num_rec` is never used
|
||||||
--> $DIR/unused-macro-rules.rs:30:5
|
--> $DIR/unused-macro-rules.rs:30:5
|
||||||
|
|
|
|
||||||
LL | (three) => {
|
LL | (three) => {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue