]> git.lizzy.rs Git - rust.git/blob - src/test/mir-opt/unusual-item-types.rs
Rollup merge of #68487 - 0dvictor:nolink, r=tmandry
[rust.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 // ignore-tidy-linelength
4
5 struct A;
6
7 impl A {
8     const ASSOCIATED_CONSTANT: i32 = 2;
9 }
10
11 // See #59021
12 enum Test {
13     X(usize),
14     Y { a: usize },
15 }
16
17 enum E {
18     V = 5,
19 }
20
21 fn main() {
22     let f = Test::X as fn(usize) -> Test;
23     let v = Vec::<i32>::new();
24 }
25
26 // END RUST SOURCE
27
28 // START rustc.{{impl}}-ASSOCIATED_CONSTANT.mir_map.0.mir
29 // bb0: {
30 //     _0 = const 2i32;
31 //     return;
32 // }
33 // bb1 (cleanup): {
34 //     resume;
35 // }
36 // END rustc.{{impl}}-ASSOCIATED_CONSTANT.mir_map.0.mir
37
38 // START rustc.E-V-{{constant}}.mir_map.0.mir
39 // bb0: {
40 //     _0 = const 5isize;
41 //     return;
42 // }
43 // bb1 (cleanup): {
44 //     resume;
45 // }
46 // END rustc.E-V-{{constant}}.mir_map.0.mir
47
48 // START rustc.ptr-drop_in_place.std__vec__Vec_i32_.AddMovesForPackedDrops.before.mir
49 //     bb0: {
50 //     goto -> bb7;
51 // }
52 // bb1: {
53 //     return;
54 // }
55 // bb2 (cleanup): {
56 //     resume;
57 // }
58 // bb3: {
59 //     goto -> bb1;
60 // }
61 // bb4 (cleanup): {
62 //     goto -> bb2;
63 // }
64 // bb5 (cleanup): {
65 //     drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> bb4;
66 // }
67 // bb6: {
68 //     drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> [return: bb3, unwind: bb4];
69 // }
70 // bb7: {
71 //     _2 = &mut (*_1);
72 //     _3 = const <std::vec::Vec<i32> as std::ops::Drop>::drop(move _2) -> [return: bb6, unwind: bb5];
73 // }
74 // END rustc.ptr-drop_in_place.std__vec__Vec_i32_.AddMovesForPackedDrops.before.mir
75
76 // START rustc.Test-X-{{constructor}}.mir_map.0.mir
77 // fn Test::X(_1: usize) -> Test {
78 //     let mut _0: Test;
79 //
80 //     bb0: {
81 //         ((_0 as X).0: usize) = move _1;
82 //         discriminant(_0) = 0;
83 //         return;
84 //     }
85 // }
86 // END rustc.Test-X-{{constructor}}.mir_map.0.mir