| // ignore-tidy-tab |
| //@ run-rustfix |
| |
| #![warn(unused_mut, unused_parens)] // UI tests pass `-A unused`—see Issue #43896 |
| |
| #[no_mangle] pub static DISCOVERY: usize = 1; |
| //~^ ERROR const items should never be `#[no_mangle]` |
| //~| HELP try a static value |
| |
| //~^ HELP remove this attribute |
| pub fn defiant<T>(_t: T) {} |
| //~^ WARN functions generic over types or consts must be mangled |
| |
| #[no_mangle] |
| fn rio_grande() {} |
| |
| mod badlands { |
| // The private-no-mangle lints shouldn't suggest inserting `pub` when the |
| // item is already `pub` (but triggered the lint because, e.g., it's in a |
| // private module). (Issue #47383) |
| #[no_mangle] pub static DAUNTLESS: bool = true; |
| //~^ ERROR const items should never be `#[no_mangle]` |
| //~| HELP try a static value |
| #[allow(dead_code)] // for rustfix |
| pub fn val_jean<T>() {} |
| //~^ WARN functions generic over types or consts must be mangled |
| //~| HELP remove this attribute |
| |
| // ... but we can suggest just-`pub` instead of restricted |
| #[no_mangle] pub static VETAR: bool = true; |
| //~^ ERROR const items should never be `#[no_mangle]` |
| //~| HELP try a static value |
| #[allow(dead_code)] // for rustfix |
| pub(crate) fn crossfield<T>() {} |
| //~^ WARN functions generic over types or consts must be mangled |
| //~| HELP remove this attribute |
| } |
| |
| struct Equinox { |
| warp_factor: f32, |
| } |
| |
| fn main() { |
| loop { |
| //~^ WARN denote infinite loops |
| //~| HELP use `loop` |
| let registry_no = format!("NX-{}", 74205); |
| //~^ WARN does not need to be mutable |
| //~| HELP remove this `mut` |
| //~| WARN unnecessary parentheses |
| //~| HELP remove these parentheses |
| // the line after `mut` has a `\t` at the beginning, this is on purpose |
| let b = 1; |
| //~^^ WARN does not need to be mutable |
| //~| HELP remove this `mut` |
| let d = Equinox { warp_factor: 9.975 }; |
| match d { |
| #[allow(unused_variables)] // for rustfix |
| Equinox { warp_factor } => {} |
| //~^ WARN this pattern is redundant |
| //~| HELP use shorthand field pattern |
| } |
| println!("{} {}", registry_no, b); |
| } |
| } |