diff options
Diffstat (limited to 'src/test/ui/print_type_sizes/anonymous.rs')
-rw-r--r-- | src/test/ui/print_type_sizes/anonymous.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/print_type_sizes/anonymous.rs b/src/test/ui/print_type_sizes/anonymous.rs new file mode 100644 index 000000000..2b008ca3b --- /dev/null +++ b/src/test/ui/print_type_sizes/anonymous.rs @@ -0,0 +1,23 @@ +// compile-flags: -Z print-type-sizes +// build-pass + +// All of the types that occur in this function are uninteresting, in +// that one cannot control the sizes of these types with the same sort +// of enum-variant manipulation tricks. + +#![feature(start)] + +#[start] +fn start(_: isize, _: *const *const u8) -> isize { + let _byte: u8 = 0; + let _word: usize = 0; + let _tuple: (u8, usize)= (0, 0); + let _array: [u8; 128] = [0; 128]; + let _fn: fn (u8) -> u8 = id; + let _diverging: fn (u8) -> ! = bye; + + fn id(x: u8) -> u8 { x }; + fn bye(_: u8) -> ! { loop { } } + + 0 +} |