Merge commit '371120bdbf' into clippyup
This commit is contained in:
parent
8518391e72
commit
7e9abb311d
152 changed files with 2226 additions and 440 deletions
119
tests/ui/default_constructed_unit_structs.fixed
Normal file
119
tests/ui/default_constructed_unit_structs.fixed
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
//@run-rustfix
|
||||
|
||||
#![allow(unused)]
|
||||
#![warn(clippy::default_constructed_unit_structs)]
|
||||
use std::marker::PhantomData;
|
||||
|
||||
#[derive(Default)]
|
||||
struct UnitStruct;
|
||||
|
||||
impl UnitStruct {
|
||||
fn new() -> Self {
|
||||
//should lint
|
||||
Self
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
struct TupleStruct(usize);
|
||||
|
||||
impl TupleStruct {
|
||||
fn new() -> Self {
|
||||
// should not lint
|
||||
Self(Default::default())
|
||||
}
|
||||
}
|
||||
|
||||
// no lint for derived impl
|
||||
#[derive(Default)]
|
||||
struct NormalStruct {
|
||||
inner: PhantomData<usize>,
|
||||
}
|
||||
|
||||
struct NonDefaultStruct;
|
||||
|
||||
impl NonDefaultStruct {
|
||||
fn default() -> Self {
|
||||
Self
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
enum SomeEnum {
|
||||
#[default]
|
||||
Unit,
|
||||
Tuple(UnitStruct),
|
||||
Struct {
|
||||
inner: usize,
|
||||
},
|
||||
}
|
||||
|
||||
impl NormalStruct {
|
||||
fn new() -> Self {
|
||||
// should lint
|
||||
Self {
|
||||
inner: PhantomData,
|
||||
}
|
||||
}
|
||||
|
||||
fn new2() -> Self {
|
||||
// should not lint
|
||||
Self {
|
||||
inner: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
struct GenericStruct<T> {
|
||||
t: T,
|
||||
}
|
||||
|
||||
impl<T: Default> GenericStruct<T> {
|
||||
fn new() -> Self {
|
||||
// should not lint
|
||||
Self { t: T::default() }
|
||||
}
|
||||
|
||||
fn new2() -> Self {
|
||||
// should not lint
|
||||
Self { t: Default::default() }
|
||||
}
|
||||
}
|
||||
|
||||
struct FakeDefault;
|
||||
impl FakeDefault {
|
||||
fn default() -> Self {
|
||||
Self
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for FakeDefault {
|
||||
fn default() -> Self {
|
||||
Self
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
struct EmptyStruct {}
|
||||
|
||||
#[derive(Default)]
|
||||
#[non_exhaustive]
|
||||
struct NonExhaustiveStruct;
|
||||
|
||||
fn main() {
|
||||
// should lint
|
||||
let _ = PhantomData::<usize>;
|
||||
let _: PhantomData<i32> = PhantomData;
|
||||
let _ = UnitStruct;
|
||||
|
||||
// should not lint
|
||||
let _ = TupleStruct::default();
|
||||
let _ = NormalStruct::default();
|
||||
let _ = NonExhaustiveStruct::default();
|
||||
let _ = SomeEnum::default();
|
||||
let _ = NonDefaultStruct::default();
|
||||
let _ = EmptyStruct::default();
|
||||
let _ = FakeDefault::default();
|
||||
let _ = <FakeDefault as Default>::default();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue