]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/tests/ui/default_trait_access.fixed
Rollup merge of #100291 - WaffleLapkin:cstr_const_methods, r=oli-obk
[rust.git] / src / tools / clippy / tests / ui / default_trait_access.fixed
1 // run-rustfix
2 // aux-build: proc_macro_with_span.rs
3
4 #![allow(unused_imports, dead_code)]
5 #![deny(clippy::default_trait_access)]
6
7 extern crate proc_macro_with_span;
8
9 use proc_macro_with_span::with_span;
10 use std::default;
11 use std::default::Default as D2;
12 use std::string;
13
14 fn main() {
15     let s1: String = std::string::String::default();
16
17     let s2 = String::default();
18
19     let s3: String = std::string::String::default();
20
21     let s4: String = std::string::String::default();
22
23     let s5 = string::String::default();
24
25     let s6: String = std::string::String::default();
26
27     let s7 = std::string::String::default();
28
29     let s8: String = DefaultFactory::make_t_badly();
30
31     let s9: String = DefaultFactory::make_t_nicely();
32
33     let s10 = DerivedDefault::default();
34
35     let s11: GenericDerivedDefault<String> = GenericDerivedDefault::default();
36
37     let s12 = GenericDerivedDefault::<String>::default();
38
39     let s13 = TupleDerivedDefault::default();
40
41     let s14: TupleDerivedDefault = TupleDerivedDefault::default();
42
43     let s15: ArrayDerivedDefault = ArrayDerivedDefault::default();
44
45     let s16 = ArrayDerivedDefault::default();
46
47     let s17: TupleStructDerivedDefault = TupleStructDerivedDefault::default();
48
49     let s18 = TupleStructDerivedDefault::default();
50
51     let s19 = <DerivedDefault as Default>::default();
52
53     let s20 = UpdateSyntax {
54         s: "foo",
55         ..Default::default()
56     };
57
58     let _s21: String = with_span!(s Default::default());
59
60     println!(
61         "[{}] [{}] [{}] [{}] [{}] [{}] [{}] [{}] [{}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}] [{:?}]",
62         s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20,
63     );
64 }
65
66 struct DefaultFactory;
67
68 impl DefaultFactory {
69     pub fn make_t_badly<T: Default>() -> T {
70         Default::default()
71     }
72
73     pub fn make_t_nicely<T: Default>() -> T {
74         T::default()
75     }
76 }
77
78 #[derive(Debug, Default)]
79 struct DerivedDefault {
80     pub s: String,
81 }
82
83 #[derive(Debug, Default)]
84 struct GenericDerivedDefault<T: Default + std::fmt::Debug> {
85     pub s: T,
86 }
87
88 #[derive(Debug, Default)]
89 struct TupleDerivedDefault {
90     pub s: (String, String),
91 }
92
93 #[derive(Debug, Default)]
94 struct ArrayDerivedDefault {
95     pub s: [String; 10],
96 }
97
98 #[derive(Debug, Default)]
99 struct TupleStructDerivedDefault(String);
100
101 #[derive(Debug, Default)]
102 struct UpdateSyntax {
103     pub s: &'static str,
104     pub u: u64,
105 }