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