#![feature(plugin)] #![plugin(clippy)] #![allow(dead_code)] #![deny(new_without_default)] struct Foo; impl Foo { fn new() -> Foo { Foo } //~ERROR: you should consider adding a `Default` implementation for `Foo` } struct Bar; impl Bar { fn new() -> Self { Bar } //~ERROR: you should consider adding a `Default` implementation for `Bar` } struct Ok; impl Ok { fn new() -> Self { Ok } } impl Default for Ok { fn default() -> Self { Ok } } struct Params; impl Params { fn new(_: u32) -> Self { Params } } struct GenericsOk { bar: T, } impl Default for GenericsOk { fn default() -> Self { unimplemented!(); } } impl<'c, V> GenericsOk { fn new() -> GenericsOk { unimplemented!() } } struct LtOk<'a> { foo: &'a bool, } impl<'b> Default for LtOk<'b> { fn default() -> Self { unimplemented!(); } } impl<'c> LtOk<'c> { fn new() -> LtOk<'c> { unimplemented!() } } struct LtKo<'a> { foo: &'a bool, } impl<'c> LtKo<'c> { fn new() -> LtKo<'c> { unimplemented!() } //~ERROR: you should consider adding a `Default` implementation for } fn main() {}