summaryrefslogtreecommitdiffstats
path: root/tests/ui/lint/suggestions.fixed
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/lint/suggestions.fixed')
-rw-r--r--tests/ui/lint/suggestions.fixed66
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/ui/lint/suggestions.fixed b/tests/ui/lint/suggestions.fixed
new file mode 100644
index 000000000..35851690b
--- /dev/null
+++ b/tests/ui/lint/suggestions.fixed
@@ -0,0 +1,66 @@
+// 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);
+ }
+}