]> git.lizzy.rs Git - rust.git/blob - src/test/ui/symbol-names/types.rs
Auto merge of #94477 - matthiaskrgr:rollup-8h29qek, r=matthiaskrgr
[rust.git] / src / test / ui / symbol-names / types.rs
1 // build-fail
2 // revisions: legacy verbose-legacy
3 // compile-flags: --crate-name=a -C symbol-mangling-version=legacy -Z unstable-options
4 //[verbose-legacy]compile-flags: -Zverbose
5 // normalize-stderr-test: "h[[:xdigit:]]{16}" -> "h[HASH]"
6
7 #![feature(never_type)]
8 #![feature(rustc_attrs)]
9
10 pub fn b() {
11     struct Type<T: ?Sized>(T);
12
13     #[rustc_symbol_name]
14     //~^ ERROR symbol-name(_ZN1a1b16Type$LT$bool$GT$
15     //~| ERROR demangling(a::b::Type<bool>::
16     //~| ERROR demangling-alt(a::b::Type<bool>)
17     impl Type<bool> {}
18
19     #[rustc_symbol_name]
20     //~^ ERROR symbol-name(_ZN1a1b16Type$LT$char$GT$
21     //~| ERROR demangling(a::b::Type<char>::
22     //~| ERROR demangling-alt(a::b::Type<char>)
23     impl Type<char> {}
24
25     #[rustc_symbol_name]
26     //~^ ERROR symbol-name(_ZN1a1b14Type$LT$i8$GT$
27     //~| ERROR demangling(a::b::Type<i8>::
28     //~| ERROR demangling-alt(a::b::Type<i8>)
29     impl Type<i8> {}
30
31     #[rustc_symbol_name]
32     //~^ ERROR symbol-name(_ZN1a1b15Type$LT$i16$GT$
33     //~| ERROR demangling(a::b::Type<i16>::
34     //~| ERROR demangling-alt(a::b::Type<i16>)
35     impl Type<i16> {}
36
37     #[rustc_symbol_name]
38     //~^ ERROR symbol-name(_ZN1a1b15Type$LT$i32$GT$
39     //~| ERROR demangling(a::b::Type<i32>::
40     //~| ERROR demangling-alt(a::b::Type<i32>)
41     impl Type<i32> {}
42
43     #[rustc_symbol_name]
44     //~^ ERROR symbol-name(_ZN1a1b15Type$LT$i64$GT$
45     //~| ERROR demangling(a::b::Type<i64>::
46     //~| ERROR demangling-alt(a::b::Type<i64>)
47     impl Type<i64> {}
48
49     #[rustc_symbol_name]
50     //~^ ERROR symbol-name(_ZN1a1b14Type$LT$u8$GT$
51     //~| ERROR demangling(a::b::Type<u8>::
52     //~| ERROR demangling-alt(a::b::Type<u8>)
53     impl Type<u8> {}
54
55     #[rustc_symbol_name]
56     //~^ ERROR symbol-name(_ZN1a1b15Type$LT$u16$GT$
57     //~| ERROR demangling(a::b::Type<u16>::
58     //~| ERROR demangling-alt(a::b::Type<u16>)
59     impl Type<u16> {}
60
61     #[rustc_symbol_name]
62     //~^ ERROR symbol-name(_ZN1a1b15Type$LT$u32$GT$
63     //~| ERROR demangling(a::b::Type<u32>::
64     //~| ERROR demangling-alt(a::b::Type<u32>)
65     impl Type<u32> {}
66
67     #[rustc_symbol_name]
68     //~^ ERROR symbol-name(_ZN1a1b15Type$LT$u64$GT$
69     //~| ERROR demangling(a::b::Type<u64>::
70     //~| ERROR demangling-alt(a::b::Type<u64>)
71     impl Type<u64> {}
72
73     #[rustc_symbol_name]
74     //~^ ERROR symbol-name(_ZN1a1b15Type$LT$f32$GT$
75     //~| ERROR demangling(a::b::Type<f32>::
76     //~| ERROR demangling-alt(a::b::Type<f32>)
77     impl Type<f32> {}
78
79     #[rustc_symbol_name]
80     //~^ ERROR symbol-name(_ZN1a1b15Type$LT$f64$GT$
81     //~| ERROR demangling(a::b::Type<f64>::
82     //~| ERROR demangling-alt(a::b::Type<f64>)
83     impl Type<f64> {}
84
85     #[rustc_symbol_name]
86     //~^ ERROR symbol-name(_ZN1a1b15Type$LT$str$GT$
87     //~| ERROR demangling(a::b::Type<str>::
88     //~| ERROR demangling-alt(a::b::Type<str>)
89     impl Type<str> {}
90
91     #[rustc_symbol_name]
92     //~^ ERROR symbol-name(_ZN1a1b17Type$LT$$u21$$GT$
93     //~| ERROR demangling(a::b::Type<!>::
94     //~| ERROR demangling-alt(a::b::Type<!>)
95     impl Type<!> {}
96
97     #[rustc_symbol_name]
98     //~^ ERROR symbol-name(_ZN1a1b20Type$LT$$LP$$RP$$GT
99     //~| ERROR demangling(a::b::Type<()>::
100     //~| ERROR demangling-alt(a::b::Type<()>)
101     impl Type<()> {}
102
103     #[rustc_symbol_name]
104     //~^ ERROR symbol-name(_ZN1a1b25Type$LT$$LP$u8$C$$RP$$GT$
105     //~| ERROR demangling(a::b::Type<(u8,)>::
106     //~| ERROR demangling-alt(a::b::Type<(u8,)>)
107     impl Type<(u8,)> {}
108
109     #[rustc_symbol_name]
110     //~^ ERROR symbol-name(_ZN1a1b28Type$LT$$LP$u8$C$u16$RP$$GT$
111     //~| ERROR demangling(a::b::Type<(u8,u16)>::
112     //~| ERROR demangling-alt(a::b::Type<(u8,u16)>)
113     impl Type<(u8,u16)> {}
114
115     #[rustc_symbol_name]
116     //~^ ERROR symbol-name(_ZN1a1b34Type$LT$$LP$u8$C$u16$C$u32$RP$$GT$
117     //~| ERROR demangling(a::b::Type<(u8,u16,u32)>::
118     //~| ERROR demangling-alt(a::b::Type<(u8,u16,u32)>)
119     impl Type<(u8,u16,u32)> {}
120
121     #[rustc_symbol_name]
122     //~^ ERROR symbol-name(_ZN1a1b28Type$LT$$BP$const$u20$u8$GT$
123     //~| ERROR demangling(a::b::Type<*const u8>::
124     //~| ERROR demangling-alt(a::b::Type<*const u8>)
125     impl Type<*const u8> {}
126
127     #[rustc_symbol_name]
128     //~^ ERROR symbol-name(_ZN1a1b26Type$LT$$BP$mut$u20$u8$GT$
129     //~| ERROR demangling(a::b::Type<*mut u8>::
130     //~| ERROR demangling-alt(a::b::Type<*mut u8>)
131     impl Type<*mut u8> {}
132
133     #[rustc_symbol_name]
134     //~^ ERROR symbol-name(_ZN1a1b19Type$LT$$RF$str$GT$
135     //~| ERROR demangling(a::b::Type<&str>::
136     //~| ERROR demangling-alt(a::b::Type<&str>)
137     impl Type<&str> {}
138
139     #[rustc_symbol_name]
140     //~^ ERROR symbol-name(_ZN1a1b27Type$LT$$RF$mut$u20$str$GT$
141     //~| ERROR demangling(a::b::Type<&mut str>::
142     //~| ERROR demangling-alt(a::b::Type<&mut str>)
143     impl Type<&mut str> {}
144
145     #[rustc_symbol_name]
146     //~^ ERROR symbol-name(_ZN1a1b35Type$LT$$u5b$u8$u3b$$u20$0$u5d$$GT$
147     //~| ERROR demangling(a::b::Type<[u8; 0]>::
148     //~| ERROR demangling-alt(a::b::Type<[u8; 0]>)
149     impl Type<[u8; 0]> {}
150
151     #[rustc_symbol_name]
152     //~^ ERROR symbol-name(_ZN1a1b22Type$LT$fn$LP$$RP$$GT$
153     //~| ERROR demangling(a::b::Type<fn()>::
154     //~| ERROR demangling-alt(a::b::Type<fn()>)
155     impl Type<fn()> {}
156
157     #[rustc_symbol_name]
158     //~^ ERROR symbol-name(_ZN1a1b60Type$LT$unsafe$u20$extern$u20$$u22$C$u22$$u20$fn$LP$$RP$$GT$
159     //~| ERROR demangling(a::b::Type<unsafe extern "C" fn()>::
160     //~| ERROR demangling-alt(a::b::Type<unsafe extern "C" fn()>)
161     impl Type<unsafe extern "C" fn()> {}
162
163     #[rustc_symbol_name]
164     //~^ ERROR symbol-name(_ZN1a1b34Type$LT$$u5b$T$u3b$$u20$N$u5d$$GT$
165     //~| ERROR demangling(a::b::Type<[T; N]>::
166     //~| ERROR demangling-alt(a::b::Type<[T; N]>)
167     impl<const N: usize, T> Type<[T; N]> {}
168 }
169
170 fn main() {}