3 #![allow(unused_imports)]
4 #![deny(clippy::default_trait_access)]
7 use std::default::Default as D2;
11 let s1: String = std::string::String::default();
13 let s2 = String::default();
15 let s3: String = std::string::String::default();
17 let s4: String = std::string::String::default();
19 let s5 = string::String::default();
21 let s6: String = std::string::String::default();
23 let s7 = std::string::String::default();
25 let s8: String = DefaultFactory::make_t_badly();
27 let s9: String = DefaultFactory::make_t_nicely();
29 let s10 = DerivedDefault::default();
31 let s11: GenericDerivedDefault<String> = GenericDerivedDefault::default();
33 let s12 = GenericDerivedDefault::<String>::default();
35 let s13 = TupleDerivedDefault::default();
37 let s14: TupleDerivedDefault = TupleDerivedDefault::default();
39 let s15: ArrayDerivedDefault = ArrayDerivedDefault::default();
41 let s16 = ArrayDerivedDefault::default();
43 let s17: TupleStructDerivedDefault = TupleStructDerivedDefault::default();
45 let s18 = TupleStructDerivedDefault::default();
47 let s19 = <DerivedDefault as Default>::default();
50 "[{}] [{}] [{}] [{}] [{}] [{}] [{}] [{}] [{}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}], [{:?}]",
73 struct DefaultFactory;
76 pub fn make_t_badly<T: Default>() -> T {
80 pub fn make_t_nicely<T: Default>() -> T {
85 #[derive(Debug, Default)]
86 struct DerivedDefault {
90 #[derive(Debug, Default)]
91 struct GenericDerivedDefault<T: Default + std::fmt::Debug> {
95 #[derive(Debug, Default)]
96 struct TupleDerivedDefault {
97 pub s: (String, String),
100 #[derive(Debug, Default)]
101 struct ArrayDerivedDefault {
105 #[derive(Debug, Default)]
106 struct TupleStructDerivedDefault(String);