1 #![warn(clippy::default_trait_access)]
4 use std::default::Default as D2;
8 let s1: String = Default::default();
10 let s2 = String::default();
12 let s3: String = D2::default();
14 let s4: String = std::default::Default::default();
16 let s5 = string::String::default();
18 let s6: String = default::Default::default();
20 let s7 = std::string::String::default();
22 let s8: String = DefaultFactory::make_t_badly();
24 let s9: String = DefaultFactory::make_t_nicely();
26 let s10 = DerivedDefault::default();
28 let s11: GenericDerivedDefault<String> = Default::default();
30 let s12 = GenericDerivedDefault::<String>::default();
32 let s13 = TupleDerivedDefault::default();
34 let s14: TupleDerivedDefault = Default::default();
36 let s15: ArrayDerivedDefault = Default::default();
38 let s16 = ArrayDerivedDefault::default();
40 let s17: TupleStructDerivedDefault = Default::default();
42 let s18 = TupleStructDerivedDefault::default();
44 let s19 = <DerivedDefault as Default>::default();
47 "[{}] [{}] [{}] [{}] [{}] [{}] [{}] [{}] [{}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}], [{:?}]",
70 struct DefaultFactory;
73 pub fn make_t_badly<T: Default>() -> T {
77 pub fn make_t_nicely<T: Default>() -> T {
82 #[derive(Debug, Default)]
83 struct DerivedDefault {
87 #[derive(Debug, Default)]
88 struct GenericDerivedDefault<T: Default + std::fmt::Debug> {
92 #[derive(Debug, Default)]
93 struct TupleDerivedDefault {
94 pub s: (String, String),
97 #[derive(Debug, Default)]
98 struct ArrayDerivedDefault {
102 #[derive(Debug, Default)]
103 struct TupleStructDerivedDefault(String);