blob: b8178d201261f00021d05eb368c79e76aae276f6 (
plain)
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
|
// MIR for `foo` after Inline
fn foo(_1: T, _2: i32) -> (i32, T) {
debug t => _1;
debug q => _2;
let mut _0: (i32, T);
let _3: [closure@foo<T>::{closure#0}];
let mut _4: &i32;
let mut _5: &T;
let mut _6: &[closure@foo<T>::{closure#0}];
let mut _7: (i32,);
let mut _8: i32;
let mut _9: i32;
scope 1 {
debug x => _3;
scope 2 (inlined foo::<T>::{closure#0}) {
debug _q => _9;
debug q => (*((*_6).0: &i32));
debug t => (*((*_6).1: &T));
let mut _10: &i32;
let mut _11: i32;
let mut _12: &T;
let mut _13: T;
}
}
bb0: {
StorageLive(_3);
StorageLive(_4);
_4 = &_2;
StorageLive(_5);
_5 = &_1;
_3 = [closure@foo::<T>::{closure#0}] { q: move _4, t: move _5 };
StorageDead(_5);
StorageDead(_4);
StorageLive(_6);
_6 = &_3;
StorageLive(_7);
StorageLive(_8);
_8 = _2;
_7 = (move _8,);
StorageLive(_9);
_9 = move (_7.0: i32);
StorageLive(_11);
_10 = deref_copy ((*_6).0: &i32);
_11 = (*_10);
StorageLive(_13);
_12 = deref_copy ((*_6).1: &T);
_13 = (*_12);
_0 = (move _11, move _13);
StorageDead(_13);
StorageDead(_11);
StorageDead(_9);
StorageDead(_8);
StorageDead(_7);
StorageDead(_6);
StorageDead(_3);
return;
}
}
|