]> git.proxmox.com Git - rustc.git/blob - src/test/mir-opt/unusual-item-types.rs
New upstream version 1.36.0+dfsg1
[rustc.git] / src / test / mir-opt / unusual-item-types.rs
1 // Test that we don't ICE when trying to dump MIR for unusual item types and
2 // that we don't create filenames containing `<` and `>`
3
4 struct A;
5
6 impl A {
7 const ASSOCIATED_CONSTANT: i32 = 2;
8 }
9
10 // See #59021
11 enum Test {
12 X(usize),
13 Y { a: usize },
14 }
15
16 enum E {
17 V = 5,
18 }
19
20 fn main() {
21 let f = Test::X as fn(usize) -> Test;
22 let v = Vec::<i32>::new();
23 }
24
25 // END RUST SOURCE
26
27 // START rustc.{{impl}}-ASSOCIATED_CONSTANT.mir_map.0.mir
28 // bb0: {
29 // _0 = const 2i32;
30 // return;
31 // }
32 // bb1 (cleanup): {
33 // resume;
34 // }
35 // END rustc.{{impl}}-ASSOCIATED_CONSTANT.mir_map.0.mir
36
37 // START rustc.E-V-{{constant}}.mir_map.0.mir
38 // bb0: {
39 // _0 = const 5isize;
40 // return;
41 // }
42 // bb1 (cleanup): {
43 // resume;
44 // }
45 // END rustc.E-V-{{constant}}.mir_map.0.mir
46
47 // START rustc.ptr-real_drop_in_place.std__vec__Vec_i32_.AddMovesForPackedDrops.before.mir
48 // bb0: {
49 // goto -> bb7;
50 // }
51 // bb1: {
52 // return;
53 // }
54 // bb2 (cleanup): {
55 // resume;
56 // }
57 // bb3: {
58 // goto -> bb1;
59 // }
60 // bb4 (cleanup): {
61 // goto -> bb2;
62 // }
63 // bb5 (cleanup): {
64 // drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> bb4;
65 // }
66 // bb6: {
67 // drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> [return: bb3, unwind: bb4];
68 // }
69 // bb7: {
70 // _2 = &mut (*_1);
71 // _3 = const std::ops::Drop::drop(move _2) -> [return: bb6, unwind: bb5];
72 // }
73 // END rustc.ptr-real_drop_in_place.std__vec__Vec_i32_.AddMovesForPackedDrops.before.mir
74
75 // START rustc.Test-X-{{constructor}}.mir_map.0.mir
76 // fn Test::X(_1: usize) -> Test {
77 // let mut _0: Test;
78 //
79 // bb0: {
80 // _0 = Test::X(move _1,);
81 // return;
82 // }
83 // }
84 // END rustc.Test-X-{{constructor}}.mir_map.0.mir