21
21
// gdb-check:type = struct Struct1
22
22
23
23
// gdb-command:whatis generic_struct1
24
- // gdb-check:type = struct GenericStruct<type_names::Mod1 ::Struct2, type_names::Mod1::Mod2 ::Struct3>
24
+ // gdb-check:type = struct GenericStruct<type_names::mod1 ::Struct2, type_names::mod1::mod2 ::Struct3>
25
25
26
26
// gdb-command:whatis generic_struct2
27
27
// gdb-check:type = struct GenericStruct<type_names::Struct1, extern "fastcall" fn(isize) -> usize>
41
41
// gdb-check:type = union Enum2
42
42
43
43
// gdb-command:whatis generic_enum_1
44
- // gdb-check:type = union Enum3<type_names::Mod1 ::Struct2>
44
+ // gdb-check:type = union Enum3<type_names::mod1 ::Struct2>
45
45
46
46
// gdb-command:whatis generic_enum_2
47
47
// gdb-check:type = union Enum3<type_names::Struct1>
48
48
49
49
50
50
// TUPLES
51
51
// gdb-command:whatis tuple1
52
- // gdb-check:type = struct (u32, type_names::Struct1, type_names::Mod1::Mod2 ::Enum3<type_names::Mod1 ::Struct2>)
52
+ // gdb-check:type = struct (u32, type_names::Struct1, type_names::mod1::mod2 ::Enum3<type_names::mod1 ::Struct2>)
53
53
54
54
// gdb-command:whatis tuple2
55
- // gdb-check:type = struct ((type_names::Struct1, type_names::Mod1::Mod2 ::Struct3), type_names::Mod1 ::Enum2, char)
55
+ // gdb-check:type = struct ((type_names::Struct1, type_names::mod1::mod2 ::Struct3), type_names::mod1 ::Enum2, char)
56
56
57
57
58
58
// BOX
59
59
// gdb-command:whatis box1
60
60
// gdb-check:type = struct (Box<f32>, i32)
61
61
62
62
// gdb-command:whatis box2
63
- // gdb-check:type = struct (Box<type_names::Mod1::Mod2 ::Enum3<f32>>, i32)
63
+ // gdb-check:type = struct (Box<type_names::mod1::mod2 ::Enum3<f32>>, i32)
64
64
65
65
66
66
// REFERENCES
74
74
// gdb-check:type = struct (&mut type_names::Struct1, i32)
75
75
76
76
// gdb-command:whatis mut_ref2
77
- // gdb-check:type = struct (&mut type_names::GenericStruct<type_names::Mod1 ::Enum2, f64>, i32)
77
+ // gdb-check:type = struct (&mut type_names::GenericStruct<type_names::mod1 ::Enum2, f64>, i32)
78
78
79
79
80
80
// RAW POINTERS
85
85
// gdb-check:type = struct (*mut isize, isize)
86
86
87
87
// gdb-command:whatis mut_ptr3
88
- // gdb-check:type = struct (*mut type_names::Mod1::Mod2 ::Enum3<type_names::Struct1>, isize)
88
+ // gdb-check:type = struct (*mut type_names::mod1::mod2 ::Enum3<type_names::Struct1>, isize)
89
89
90
90
// gdb-command:whatis const_ptr1
91
91
// gdb-check:type = struct (*const type_names::Struct1, isize)
94
94
// gdb-check:type = struct (*const isize, isize)
95
95
96
96
// gdb-command:whatis const_ptr3
97
- // gdb-check:type = struct (*const type_names::Mod1::Mod2 ::Enum3<type_names::Struct1>, isize)
97
+ // gdb-check:type = struct (*const type_names::mod1::mod2 ::Enum3<type_names::Struct1>, isize)
98
98
99
99
100
100
// VECTORS
108
108
// gdb-check:type = struct &[usize]
109
109
110
110
// gdb-command:whatis slice2
111
- // gdb-check:type = struct &[type_names::Mod1 ::Enum2]
111
+ // gdb-check:type = struct &[type_names::mod1 ::Enum2]
112
112
113
113
114
114
// TRAITS
122
122
// gdb-check:type = struct &mut Trait1
123
123
124
124
// gdb-command:whatis generic_box_trait
125
- // gdb-check:type = struct Box<Trait2<i32, type_names::Mod1 ::Struct2>>
125
+ // gdb-check:type = struct Box<Trait2<i32, type_names::mod1 ::Struct2>>
126
126
127
127
// gdb-command:whatis generic_ref_trait
128
128
// gdb-check:type = struct &Trait2<type_names::Struct1, type_names::Struct1>
129
129
130
130
// gdb-command:whatis generic_mut_ref_trait
131
- // gdb-check:type = struct &mut Trait2<type_names::Mod1::Mod2 ::Struct3, type_names::GenericStruct<usize, isize>>
131
+ // gdb-check:type = struct &mut Trait2<type_names::mod1::mod2 ::Struct3, type_names::GenericStruct<usize, isize>>
132
132
133
133
134
134
// BARE FUNCTIONS
135
135
// gdb-command:whatis rust_fn
136
- // gdb-check:type = struct (fn(core::option::Option<isize>, core::option::Option<&type_names::Mod1 ::Struct2>), usize)
136
+ // gdb-check:type = struct (fn(core::option::Option<isize>, core::option::Option<&type_names::mod1 ::Struct2>), usize)
137
137
138
138
// gdb-command:whatis extern_c_fn
139
139
// gdb-check:type = struct (extern "C" fn(isize), usize)
151
151
// gdb-check:type = struct (extern "C" fn() -> type_names::Struct1, usize)
152
152
153
153
// gdb-command:whatis unsafe_fn_with_return_value
154
- // gdb-check:type = struct (unsafe fn(type_names::GenericStruct<u16, u8>) -> type_names::Mod1 ::Struct2, usize)
154
+ // gdb-check:type = struct (unsafe fn(type_names::GenericStruct<u16, u8>) -> type_names::mod1 ::Struct2, usize)
155
155
156
156
// gdb-command:whatis extern_stdcall_fn_with_return_value
157
157
// gdb-check:type = struct (extern "stdcall" fn(Box<isize>) -> usize, usize)
160
160
// gdb-check:type = struct (fn(isize) -> isize, usize)
161
161
162
162
// gdb-command:whatis generic_function_struct3
163
- // gdb-check:type = struct (fn(type_names::Mod1::Mod2 ::Struct3) -> type_names::Mod1::Mod2 ::Struct3, usize)
163
+ // gdb-check:type = struct (fn(type_names::mod1::mod2 ::Struct3) -> type_names::mod1::mod2 ::Struct3, usize)
164
164
165
165
// gdb-command:whatis variadic_function
166
166
// gdb-check:type = struct (unsafe extern "C" fn(*const u8, ...) -> isize, usize)
174
174
// gdb-check:type = struct (closure, usize)
175
175
176
176
#![ feature( box_syntax) ]
177
+ #![ allow( unused_variables) ]
177
178
#![ omit_gdb_pretty_printer_section]
178
179
179
- use self :: Enum1 :: { Variant1_1 , Variant1_2 } ;
180
+ use self :: Enum1 :: { Variant1 , Variant2 } ;
180
181
use std:: marker:: PhantomData ;
181
182
use std:: ptr;
182
183
183
184
struct Struct1 ;
184
185
struct GenericStruct < T1 , T2 > ( PhantomData < ( T1 , T2 ) > ) ;
185
186
186
187
enum Enum1 {
187
- Variant1_1 ,
188
- Variant1_2 ( isize )
188
+ Variant1 ,
189
+ Variant2 ( isize ) ,
189
190
}
190
191
191
- mod Mod1 {
192
- pub use self :: Enum2 :: { Variant2_1 , Variant2_2 } ;
192
+ mod mod1 {
193
+ pub use self :: Enum2 :: { Variant1 , Variant2 } ;
193
194
pub struct Struct2 ;
194
195
195
196
pub enum Enum2 {
196
- Variant2_1 ,
197
- Variant2_2 ( super :: Struct1 )
197
+ Variant1 ,
198
+ Variant2 ( super :: Struct1 ) ,
198
199
}
199
200
200
- pub mod Mod2 {
201
- pub use self :: Enum3 :: { Variant3_1 , Variant3_2 } ;
201
+ pub mod mod2 {
202
+ pub use self :: Enum3 :: { Variant1 , Variant2 } ;
202
203
pub struct Struct3 ;
203
204
204
205
pub enum Enum3 < T > {
205
- Variant3_1 ,
206
- Variant3_2 ( T ) ,
206
+ Variant1 ,
207
+ Variant2 ( T ) ,
207
208
}
208
209
}
209
210
}
@@ -214,18 +215,19 @@ trait Trait2<T1, T2> { fn dummy(&self, _: T1, _:T2) { } }
214
215
impl Trait1 for isize { }
215
216
impl < T1 , T2 > Trait2 < T1 , T2 > for isize { }
216
217
217
- fn rust_fn ( _: Option < isize > , _: Option < & Mod1 :: Struct2 > ) { }
218
+ fn rust_fn ( _: Option < isize > , _: Option < & mod1 :: Struct2 > ) { }
218
219
extern "C" fn extern_c_fn ( _: isize ) { }
219
220
unsafe fn unsafe_fn ( _: Result < char , f64 > ) { }
220
221
extern "stdcall" fn extern_stdcall_fn ( ) { }
221
222
222
223
fn rust_fn_with_return_value ( _: f64 ) -> usize { 4 }
223
224
extern "C" fn extern_c_fn_with_return_value ( ) -> Struct1 { Struct1 }
224
- unsafe fn unsafe_fn_with_return_value ( _: GenericStruct < u16 , u8 > ) -> Mod1 :: Struct2 { Mod1 :: Struct2 }
225
+ unsafe fn unsafe_fn_with_return_value ( _: GenericStruct < u16 , u8 > ) -> mod1 :: Struct2 { mod1 :: Struct2 }
225
226
extern "stdcall" fn extern_stdcall_fn_with_return_value ( _: Box < isize > ) -> usize { 0 }
226
227
227
228
fn generic_function < T > ( x : T ) -> T { x }
228
229
230
+ #[ allow( improper_ctypes) ]
229
231
extern {
230
232
fn printf ( _: * const u8 , ...) -> isize ;
231
233
}
@@ -241,53 +243,53 @@ fn main() {
241
243
242
244
// Structs
243
245
let simple_struct = Struct1 ;
244
- let generic_struct1: GenericStruct < Mod1 :: Struct2 , Mod1 :: Mod2 :: Struct3 > =
246
+ let generic_struct1: GenericStruct < mod1 :: Struct2 , mod1 :: mod2 :: Struct3 > =
245
247
GenericStruct ( PhantomData ) ;
246
248
let generic_struct2: GenericStruct < Struct1 , extern "fastcall" fn ( isize ) -> usize > =
247
249
GenericStruct ( PhantomData ) ;
248
- let mod_struct = Mod1 :: Struct2 ;
250
+ let mod_struct = mod1 :: Struct2 ;
249
251
250
252
// Enums
251
- let simple_enum_1 = Variant1_1 ;
252
- let simple_enum_2 = Variant1_2 ( 0 ) ;
253
- let simple_enum_3 = Mod1 :: Variant2_2 ( Struct1 ) ;
253
+ let simple_enum_1 = Variant1 ;
254
+ let simple_enum_2 = Variant2 ( 0 ) ;
255
+ let simple_enum_3 = mod1 :: Variant2 ( Struct1 ) ;
254
256
255
- let generic_enum_1: Mod1 :: Mod2 :: Enum3 < Mod1 :: Struct2 > = Mod1 :: Mod2 :: Variant3_1 ;
256
- let generic_enum_2 = Mod1 :: Mod2 :: Variant3_2 ( Struct1 ) ;
257
+ let generic_enum_1: mod1 :: mod2 :: Enum3 < mod1 :: Struct2 > = mod1 :: mod2 :: Variant1 ;
258
+ let generic_enum_2 = mod1 :: mod2 :: Variant2 ( Struct1 ) ;
257
259
258
260
// Tuples
259
- let tuple1 = ( 8u32 , Struct1 , Mod1 :: Mod2 :: Variant3_2 ( Mod1 :: Struct2 ) ) ;
260
- let tuple2 = ( ( Struct1 , Mod1 :: Mod2 :: Struct3 ) , Mod1 :: Variant2_1 , 'x' ) ;
261
+ let tuple1 = ( 8u32 , Struct1 , mod1 :: mod2 :: Variant2 ( mod1 :: Struct2 ) ) ;
262
+ let tuple2 = ( ( Struct1 , mod1 :: mod2 :: Struct3 ) , mod1 :: Variant1 , 'x' ) ;
261
263
262
264
// Box
263
265
let box1 = ( box 1f32 , 0i32 ) ;
264
- let box2 = ( box Mod1 :: Mod2 :: Variant3_2 ( 1f32 ) , 0i32 ) ;
266
+ let box2 = ( box mod1 :: mod2 :: Variant2 ( 1f32 ) , 0i32 ) ;
265
267
266
268
// References
267
269
let ref1 = ( & Struct1 , 0i32 ) ;
268
270
let ref2 = ( & GenericStruct :: < char , Struct1 > ( PhantomData ) , 0i32 ) ;
269
271
270
272
let mut mut_struct1 = Struct1 ;
271
- let mut mut_generic_struct = GenericStruct :: < Mod1 :: Enum2 , f64 > ( PhantomData ) ;
273
+ let mut mut_generic_struct = GenericStruct :: < mod1 :: Enum2 , f64 > ( PhantomData ) ;
272
274
let mut_ref1 = ( & mut mut_struct1, 0i32 ) ;
273
275
let mut_ref2 = ( & mut mut_generic_struct, 0i32 ) ;
274
276
275
277
// Raw Pointers
276
278
let mut_ptr1: ( * mut Struct1 , isize ) = ( ptr:: null_mut ( ) , 0 ) ;
277
279
let mut_ptr2: ( * mut isize , isize ) = ( ptr:: null_mut ( ) , 0 ) ;
278
- let mut_ptr3: ( * mut Mod1 :: Mod2 :: Enum3 < Struct1 > , isize ) = ( ptr:: null_mut ( ) , 0 ) ;
280
+ let mut_ptr3: ( * mut mod1 :: mod2 :: Enum3 < Struct1 > , isize ) = ( ptr:: null_mut ( ) , 0 ) ;
279
281
280
282
let const_ptr1: ( * const Struct1 , isize ) = ( ptr:: null ( ) , 0 ) ;
281
283
let const_ptr2: ( * const isize , isize ) = ( ptr:: null ( ) , 0 ) ;
282
- let const_ptr3: ( * const Mod1 :: Mod2 :: Enum3 < Struct1 > , isize ) = ( ptr:: null ( ) , 0 ) ;
284
+ let const_ptr3: ( * const mod1 :: mod2 :: Enum3 < Struct1 > , isize ) = ( ptr:: null ( ) , 0 ) ;
283
285
284
286
// Vectors
285
287
let fixed_size_vec1 = ( [ Struct1 , Struct1 , Struct1 ] , 0i16 ) ;
286
288
let fixed_size_vec2 = ( [ 0_usize , 1 , 2 ] , 0i16 ) ;
287
289
288
290
let vec1 = vec ! [ 0_usize , 2 , 3 ] ;
289
291
let slice1 = & * vec1;
290
- let vec2 = vec ! [ Mod1 :: Variant2_2 ( Struct1 ) ] ;
292
+ let vec2 = vec ! [ mod1 :: Variant2 ( Struct1 ) ] ;
291
293
let slice2 = & * vec2;
292
294
293
295
// Trait Objects
@@ -296,12 +298,12 @@ fn main() {
296
298
let mut mut_int1 = 0_isize ;
297
299
let mut_ref_trait = ( & mut mut_int1) as & mut Trait1 ;
298
300
299
- let generic_box_trait = ( box 0_isize ) as Box < Trait2 < i32 , Mod1 :: Struct2 > > ;
301
+ let generic_box_trait = ( box 0_isize ) as Box < Trait2 < i32 , mod1 :: Struct2 > > ;
300
302
let generic_ref_trait = ( & 0_isize ) as & Trait2 < Struct1 , Struct1 > ;
301
303
302
304
let mut generic_mut_ref_trait_impl = 0_isize ;
303
305
let generic_mut_ref_trait = ( & mut generic_mut_ref_trait_impl) as
304
- & mut Trait2 < Mod1 :: Mod2 :: Struct3 , GenericStruct < usize , isize > > ;
306
+ & mut Trait2 < mod1 :: mod2 :: Struct3 , GenericStruct < usize , isize > > ;
305
307
306
308
// Bare Functions
307
309
let rust_fn = ( rust_fn, 0_usize ) ;
@@ -315,7 +317,7 @@ fn main() {
315
317
let extern_stdcall_fn_with_return_value = ( extern_stdcall_fn_with_return_value, 0_usize ) ;
316
318
317
319
let generic_function_int = ( generic_function :: < isize > , 0_usize ) ;
318
- let generic_function_struct3 = ( generic_function :: < Mod1 :: Mod2 :: Struct3 > , 0_usize ) ;
320
+ let generic_function_struct3 = ( generic_function :: < mod1 :: mod2 :: Struct3 > , 0_usize ) ;
319
321
320
322
let variadic_function = ( printf, 0_usize ) ;
321
323
0 commit comments