]>
Commit | Line | Data |
---|---|---|
7453a54e | 1 | // ignore-tidy-linelength |
29967ef6 | 2 | // compile-flags:-Zprint-mono-items=eager -Zinline-in-all-cgus -Zmir-opt-level=0 |
7453a54e SL |
3 | |
4 | #![deny(dead_code)] | |
ff7c6d11 | 5 | #![feature(start)] |
7453a54e SL |
6 | |
7 | trait Trait { | |
8 | fn foo(&self) -> u32; | |
9 | fn bar(&self); | |
10 | } | |
11 | ||
12 | struct Struct<T> { | |
13 | _a: T | |
14 | } | |
15 | ||
16 | impl<T> Trait for Struct<T> { | |
17 | fn foo(&self) -> u32 { 0 } | |
18 | fn bar(&self) {} | |
19 | } | |
20 | ||
1b1a35ee | 21 | //~ MONO_ITEM fn start |
ff7c6d11 XL |
22 | #[start] |
23 | fn start(_: isize, _: *const *const u8) -> isize { | |
7453a54e SL |
24 | let s1 = Struct { _a: 0u32 }; |
25 | ||
6a06907d | 26 | //~ MONO_ITEM fn std::ptr::drop_in_place::<Struct<u32>> - shim(None) @@ instantiation_through_vtable-cgu.0[Internal] |
1b1a35ee XL |
27 | //~ MONO_ITEM fn <Struct<u32> as Trait>::foo |
28 | //~ MONO_ITEM fn <Struct<u32> as Trait>::bar | |
7453a54e SL |
29 | let _ = &s1 as &Trait; |
30 | ||
31 | let s1 = Struct { _a: 0u64 }; | |
6a06907d | 32 | //~ MONO_ITEM fn std::ptr::drop_in_place::<Struct<u64>> - shim(None) @@ instantiation_through_vtable-cgu.0[Internal] |
1b1a35ee XL |
33 | //~ MONO_ITEM fn <Struct<u64> as Trait>::foo |
34 | //~ MONO_ITEM fn <Struct<u64> as Trait>::bar | |
7453a54e | 35 | let _ = &s1 as &Trait; |
ff7c6d11 XL |
36 | |
37 | 0 | |
7453a54e | 38 | } |