rust/tests/ui/needless_update.rs
2023-08-22 17:18:11 +02:00

28 lines
662 B
Rust

#![warn(clippy::needless_update)]
#![allow(clippy::no_effect, clippy::unnecessary_struct_initialization)]
struct S {
pub a: i32,
pub b: i32,
}
#[non_exhaustive]
struct T {
pub x: i32,
pub y: i32,
}
fn main() {
let base = S { a: 0, b: 0 };
S { ..base }; // no error
S { a: 1, ..base }; // no error
S { a: 1, b: 1, ..base };
//~^ ERROR: struct update has no effect, all the fields in the struct have already bee
//~| NOTE: `-D clippy::needless-update` implied by `-D warnings`
let base = T { x: 0, y: 0 };
T { ..base }; // no error
T { x: 1, ..base }; // no error
T { x: 1, y: 1, ..base }; // no error
}