rust-clippy/tests/ui/vec.rs
Yuri Astrakhan eb3970285b fallout: fix tests to allow uninlined_format_args
In order to switch `clippy::uninlined_format_args` from pedantic to
style, all existing tests must not raise a warning. I did not want to
change the actual tests, so this is a relatively minor change that:

* add `#![allow(clippy::uninlined_format_args)]` where needed
* normalizes all allow/deny/warn attributes
   * all allow attributes are grouped together
   * sorted alphabetically
   * the `clippy::*` attributes are listed separate from the other ones.
   * deny and warn attributes are listed before the allowed ones

changelog: none
2022-10-02 15:13:22 -04:00

78 lines
1.6 KiB
Rust

// run-rustfix
#![warn(clippy::useless_vec)]
#![allow(clippy::nonstandard_macro_braces, clippy::uninlined_format_args)]
#[derive(Debug)]
struct NonCopy;
fn on_slice(_: &[u8]) {}
fn on_mut_slice(_: &mut [u8]) {}
#[allow(clippy::ptr_arg)]
fn on_vec(_: &Vec<u8>) {}
fn on_mut_vec(_: &mut Vec<u8>) {}
struct Line {
length: usize,
}
impl Line {
fn length(&self) -> usize {
self.length
}
}
fn main() {
on_slice(&vec![]);
on_slice(&[]);
on_mut_slice(&mut vec![]);
on_slice(&vec![1, 2]);
on_slice(&[1, 2]);
on_mut_slice(&mut vec![1, 2]);
on_slice(&vec![1, 2]);
on_slice(&[1, 2]);
on_mut_slice(&mut vec![1, 2]);
#[rustfmt::skip]
on_slice(&vec!(1, 2));
on_slice(&[1, 2]);
on_mut_slice(&mut vec![1, 2]);
on_slice(&vec![1; 2]);
on_slice(&[1; 2]);
on_mut_slice(&mut vec![1; 2]);
on_vec(&vec![]);
on_vec(&vec![1, 2]);
on_vec(&vec![1; 2]);
on_mut_vec(&mut vec![]);
on_mut_vec(&mut vec![1, 2]);
on_mut_vec(&mut vec![1; 2]);
// Now with non-constant expressions
let line = Line { length: 2 };
on_slice(&vec![2; line.length]);
on_slice(&vec![2; line.length()]);
on_mut_slice(&mut vec![2; line.length]);
on_mut_slice(&mut vec![2; line.length()]);
for a in vec![1, 2, 3] {
println!("{:?}", a);
}
for a in vec![NonCopy, NonCopy] {
println!("{:?}", a);
}
on_vec(&vec![1; 201]); // Ok, size of `vec` higher than `too_large_for_stack`
on_mut_vec(&mut vec![1; 201]); // Ok, size of `vec` higher than `too_large_for_stack`
// Ok
for a in vec![1; 201] {
println!("{:?}", a);
}
}