1
Fork 0

Emit basic block ids for statements and terminators in MIR only in -Zverbose mode

This commit is contained in:
Oliver Scherer 2020-04-25 11:01:43 +02:00
parent d81f5597ac
commit a2fdc94686
141 changed files with 3004 additions and 3067 deletions

View file

@ -305,9 +305,9 @@ where
let indented_body = format!("{0}{0}{1:?};", INDENT, statement); let indented_body = format!("{0}{0}{1:?};", INDENT, statement);
writeln!( writeln!(
w, w,
"{:A$} // {:?}: {}", "{:A$} // {}{}",
indented_body, indented_body,
current_location, if tcx.sess.verbose() { format!("{:?}: ", current_location) } else { String::new() },
comment(tcx, statement.source_info), comment(tcx, statement.source_info),
A = ALIGN, A = ALIGN,
)?; )?;
@ -326,9 +326,9 @@ where
let indented_terminator = format!("{0}{0}{1:?};", INDENT, data.terminator().kind); let indented_terminator = format!("{0}{0}{1:?};", INDENT, data.terminator().kind);
writeln!( writeln!(
w, w,
"{:A$} // {:?}: {}", "{:A$} // {}{}",
indented_terminator, indented_terminator,
current_location, if tcx.sess.verbose() { format!("{:?}: ", current_location) } else { String::new() },
comment(tcx, data.terminator().source_info), comment(tcx, data.terminator().source_info),
A = ALIGN, A = ALIGN,
)?; )?;
@ -455,7 +455,7 @@ fn write_scope_tree(
)?; )?;
} }
// Local variable types (including the user's name in a comment). // Local variable types.
for (local, local_decl) in body.local_decls.iter_enumerated() { for (local, local_decl) in body.local_decls.iter_enumerated() {
if (1..body.arg_count + 1).contains(&local.index()) { if (1..body.arg_count + 1).contains(&local.index()) {
// Skip over argument locals, they're printed in the signature. // Skip over argument locals, they're printed in the signature.

View file

@ -126,201 +126,201 @@ fn address_of_reborrow() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/address-of.rs:4:9: 4:10 StorageLive(_1); // scope 0 at $DIR/address-of.rs:4:9: 4:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/address-of.rs:4:14: 4:21 StorageLive(_2); // scope 0 at $DIR/address-of.rs:4:14: 4:21
_2 = [const 0i32; 10]; // bb0[2]: scope 0 at $DIR/address-of.rs:4:14: 4:21 _2 = [const 0i32; 10]; // scope 0 at $DIR/address-of.rs:4:14: 4:21
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/address-of.rs:4:15: 4:16 // + span: $DIR/address-of.rs:4:15: 4:16
// + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) }
_1 = &_2; // bb0[3]: scope 0 at $DIR/address-of.rs:4:13: 4:21 _1 = &_2; // scope 0 at $DIR/address-of.rs:4:13: 4:21
FakeRead(ForLet, _1); // bb0[4]: scope 0 at $DIR/address-of.rs:4:9: 4:10 FakeRead(ForLet, _1); // scope 0 at $DIR/address-of.rs:4:9: 4:10
StorageLive(_3); // bb0[5]: scope 1 at $DIR/address-of.rs:5:9: 5:14 StorageLive(_3); // scope 1 at $DIR/address-of.rs:5:9: 5:14
StorageLive(_4); // bb0[6]: scope 1 at $DIR/address-of.rs:5:22: 5:29 StorageLive(_4); // scope 1 at $DIR/address-of.rs:5:22: 5:29
_4 = [const 0i32; 10]; // bb0[7]: scope 1 at $DIR/address-of.rs:5:22: 5:29 _4 = [const 0i32; 10]; // scope 1 at $DIR/address-of.rs:5:22: 5:29
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/address-of.rs:5:23: 5:24 // + span: $DIR/address-of.rs:5:23: 5:24
// + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) }
_3 = &mut _4; // bb0[8]: scope 1 at $DIR/address-of.rs:5:17: 5:29 _3 = &mut _4; // scope 1 at $DIR/address-of.rs:5:17: 5:29
FakeRead(ForLet, _3); // bb0[9]: scope 1 at $DIR/address-of.rs:5:9: 5:14 FakeRead(ForLet, _3); // scope 1 at $DIR/address-of.rs:5:9: 5:14
StorageLive(_5); // bb0[10]: scope 2 at $DIR/address-of.rs:7:5: 7:18 StorageLive(_5); // scope 2 at $DIR/address-of.rs:7:5: 7:18
StorageLive(_6); // bb0[11]: scope 2 at $DIR/address-of.rs:7:5: 7:18 StorageLive(_6); // scope 2 at $DIR/address-of.rs:7:5: 7:18
_6 = &raw const (*_1); // bb0[12]: scope 2 at $DIR/address-of.rs:7:5: 7:6 _6 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:7:5: 7:6
AscribeUserType(_6, o, UserTypeProjection { base: UserType(0), projs: [] }); // bb0[13]: scope 2 at $DIR/address-of.rs:7:5: 7:18 AscribeUserType(_6, o, UserTypeProjection { base: UserType(0), projs: [] }); // scope 2 at $DIR/address-of.rs:7:5: 7:18
_5 = _6; // bb0[14]: scope 2 at $DIR/address-of.rs:7:5: 7:18 _5 = _6; // scope 2 at $DIR/address-of.rs:7:5: 7:18
StorageDead(_6); // bb0[15]: scope 2 at $DIR/address-of.rs:7:18: 7:19 StorageDead(_6); // scope 2 at $DIR/address-of.rs:7:18: 7:19
StorageDead(_5); // bb0[16]: scope 2 at $DIR/address-of.rs:7:18: 7:19 StorageDead(_5); // scope 2 at $DIR/address-of.rs:7:18: 7:19
StorageLive(_7); // bb0[17]: scope 2 at $DIR/address-of.rs:8:5: 8:26 StorageLive(_7); // scope 2 at $DIR/address-of.rs:8:5: 8:26
_7 = &raw const (*_1); // bb0[18]: scope 2 at $DIR/address-of.rs:8:5: 8:6 _7 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:8:5: 8:6
StorageDead(_7); // bb0[19]: scope 2 at $DIR/address-of.rs:8:26: 8:27 StorageDead(_7); // scope 2 at $DIR/address-of.rs:8:26: 8:27
StorageLive(_8); // bb0[20]: scope 2 at $DIR/address-of.rs:9:5: 9:25 StorageLive(_8); // scope 2 at $DIR/address-of.rs:9:5: 9:25
StorageLive(_9); // bb0[21]: scope 2 at $DIR/address-of.rs:9:5: 9:25 StorageLive(_9); // scope 2 at $DIR/address-of.rs:9:5: 9:25
StorageLive(_10); // bb0[22]: scope 2 at $DIR/address-of.rs:9:5: 9:6 StorageLive(_10); // scope 2 at $DIR/address-of.rs:9:5: 9:6
_10 = &raw const (*_1); // bb0[23]: scope 2 at $DIR/address-of.rs:9:5: 9:6 _10 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:9:5: 9:6
_9 = move _10 as *const dyn std::marker::Send (Pointer(Unsize)); // bb0[24]: scope 2 at $DIR/address-of.rs:9:5: 9:6 _9 = move _10 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 2 at $DIR/address-of.rs:9:5: 9:6
StorageDead(_10); // bb0[25]: scope 2 at $DIR/address-of.rs:9:5: 9:6 StorageDead(_10); // scope 2 at $DIR/address-of.rs:9:5: 9:6
AscribeUserType(_9, o, UserTypeProjection { base: UserType(1), projs: [] }); // bb0[26]: scope 2 at $DIR/address-of.rs:9:5: 9:25 AscribeUserType(_9, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 2 at $DIR/address-of.rs:9:5: 9:25
_8 = _9; // bb0[27]: scope 2 at $DIR/address-of.rs:9:5: 9:25 _8 = _9; // scope 2 at $DIR/address-of.rs:9:5: 9:25
StorageDead(_9); // bb0[28]: scope 2 at $DIR/address-of.rs:9:25: 9:26 StorageDead(_9); // scope 2 at $DIR/address-of.rs:9:25: 9:26
StorageDead(_8); // bb0[29]: scope 2 at $DIR/address-of.rs:9:25: 9:26 StorageDead(_8); // scope 2 at $DIR/address-of.rs:9:25: 9:26
StorageLive(_11); // bb0[30]: scope 2 at $DIR/address-of.rs:10:5: 10:22 StorageLive(_11); // scope 2 at $DIR/address-of.rs:10:5: 10:22
StorageLive(_12); // bb0[31]: scope 2 at $DIR/address-of.rs:10:5: 10:6 StorageLive(_12); // scope 2 at $DIR/address-of.rs:10:5: 10:6
_12 = &raw const (*_1); // bb0[32]: scope 2 at $DIR/address-of.rs:10:5: 10:6 _12 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:10:5: 10:6
_11 = move _12 as *const [i32] (Pointer(Unsize)); // bb0[33]: scope 2 at $DIR/address-of.rs:10:5: 10:6 _11 = move _12 as *const [i32] (Pointer(Unsize)); // scope 2 at $DIR/address-of.rs:10:5: 10:6
StorageDead(_12); // bb0[34]: scope 2 at $DIR/address-of.rs:10:5: 10:6 StorageDead(_12); // scope 2 at $DIR/address-of.rs:10:5: 10:6
StorageDead(_11); // bb0[35]: scope 2 at $DIR/address-of.rs:10:22: 10:23 StorageDead(_11); // scope 2 at $DIR/address-of.rs:10:22: 10:23
StorageLive(_13); // bb0[36]: scope 2 at $DIR/address-of.rs:11:5: 11:20 StorageLive(_13); // scope 2 at $DIR/address-of.rs:11:5: 11:20
StorageLive(_14); // bb0[37]: scope 2 at $DIR/address-of.rs:11:5: 11:6 StorageLive(_14); // scope 2 at $DIR/address-of.rs:11:5: 11:6
_14 = &raw const (*_1); // bb0[38]: scope 2 at $DIR/address-of.rs:11:5: 11:6 _14 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:11:5: 11:6
_13 = move _14 as *const i32 (Pointer(ArrayToPointer)); // bb0[39]: scope 2 at $DIR/address-of.rs:11:5: 11:20 _13 = move _14 as *const i32 (Pointer(ArrayToPointer)); // scope 2 at $DIR/address-of.rs:11:5: 11:20
StorageDead(_14); // bb0[40]: scope 2 at $DIR/address-of.rs:11:19: 11:20 StorageDead(_14); // scope 2 at $DIR/address-of.rs:11:19: 11:20
StorageDead(_13); // bb0[41]: scope 2 at $DIR/address-of.rs:11:20: 11:21 StorageDead(_13); // scope 2 at $DIR/address-of.rs:11:20: 11:21
StorageLive(_15); // bb0[42]: scope 2 at $DIR/address-of.rs:13:9: 13:10 StorageLive(_15); // scope 2 at $DIR/address-of.rs:13:9: 13:10
_15 = &raw const (*_1); // bb0[43]: scope 2 at $DIR/address-of.rs:13:23: 13:24 _15 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:13:23: 13:24
FakeRead(ForLet, _15); // bb0[44]: scope 2 at $DIR/address-of.rs:13:9: 13:10 FakeRead(ForLet, _15); // scope 2 at $DIR/address-of.rs:13:9: 13:10
AscribeUserType(_15, o, UserTypeProjection { base: UserType(3), projs: [] }); // bb0[45]: scope 2 at $DIR/address-of.rs:13:12: 13:20 AscribeUserType(_15, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 2 at $DIR/address-of.rs:13:12: 13:20
StorageLive(_16); // bb0[46]: scope 3 at $DIR/address-of.rs:14:9: 14:10 StorageLive(_16); // scope 3 at $DIR/address-of.rs:14:9: 14:10
_16 = &raw const (*_1); // bb0[47]: scope 3 at $DIR/address-of.rs:14:31: 14:32 _16 = &raw const (*_1); // scope 3 at $DIR/address-of.rs:14:31: 14:32
FakeRead(ForLet, _16); // bb0[48]: scope 3 at $DIR/address-of.rs:14:9: 14:10 FakeRead(ForLet, _16); // scope 3 at $DIR/address-of.rs:14:9: 14:10
AscribeUserType(_16, o, UserTypeProjection { base: UserType(5), projs: [] }); // bb0[49]: scope 3 at $DIR/address-of.rs:14:12: 14:28 AscribeUserType(_16, o, UserTypeProjection { base: UserType(5), projs: [] }); // scope 3 at $DIR/address-of.rs:14:12: 14:28
StorageLive(_17); // bb0[50]: scope 4 at $DIR/address-of.rs:15:9: 15:10 StorageLive(_17); // scope 4 at $DIR/address-of.rs:15:9: 15:10
StorageLive(_18); // bb0[51]: scope 4 at $DIR/address-of.rs:15:30: 15:31 StorageLive(_18); // scope 4 at $DIR/address-of.rs:15:30: 15:31
_18 = &raw const (*_1); // bb0[52]: scope 4 at $DIR/address-of.rs:15:30: 15:31 _18 = &raw const (*_1); // scope 4 at $DIR/address-of.rs:15:30: 15:31
_17 = move _18 as *const dyn std::marker::Send (Pointer(Unsize)); // bb0[53]: scope 4 at $DIR/address-of.rs:15:30: 15:31 _17 = move _18 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 4 at $DIR/address-of.rs:15:30: 15:31
StorageDead(_18); // bb0[54]: scope 4 at $DIR/address-of.rs:15:30: 15:31 StorageDead(_18); // scope 4 at $DIR/address-of.rs:15:30: 15:31
FakeRead(ForLet, _17); // bb0[55]: scope 4 at $DIR/address-of.rs:15:9: 15:10 FakeRead(ForLet, _17); // scope 4 at $DIR/address-of.rs:15:9: 15:10
AscribeUserType(_17, o, UserTypeProjection { base: UserType(7), projs: [] }); // bb0[56]: scope 4 at $DIR/address-of.rs:15:12: 15:27 AscribeUserType(_17, o, UserTypeProjection { base: UserType(7), projs: [] }); // scope 4 at $DIR/address-of.rs:15:12: 15:27
StorageLive(_19); // bb0[57]: scope 5 at $DIR/address-of.rs:16:9: 16:10 StorageLive(_19); // scope 5 at $DIR/address-of.rs:16:9: 16:10
StorageLive(_20); // bb0[58]: scope 5 at $DIR/address-of.rs:16:27: 16:28 StorageLive(_20); // scope 5 at $DIR/address-of.rs:16:27: 16:28
_20 = &raw const (*_1); // bb0[59]: scope 5 at $DIR/address-of.rs:16:27: 16:28 _20 = &raw const (*_1); // scope 5 at $DIR/address-of.rs:16:27: 16:28
_19 = move _20 as *const [i32] (Pointer(Unsize)); // bb0[60]: scope 5 at $DIR/address-of.rs:16:27: 16:28 _19 = move _20 as *const [i32] (Pointer(Unsize)); // scope 5 at $DIR/address-of.rs:16:27: 16:28
StorageDead(_20); // bb0[61]: scope 5 at $DIR/address-of.rs:16:27: 16:28 StorageDead(_20); // scope 5 at $DIR/address-of.rs:16:27: 16:28
FakeRead(ForLet, _19); // bb0[62]: scope 5 at $DIR/address-of.rs:16:9: 16:10 FakeRead(ForLet, _19); // scope 5 at $DIR/address-of.rs:16:9: 16:10
AscribeUserType(_19, o, UserTypeProjection { base: UserType(9), projs: [] }); // bb0[63]: scope 5 at $DIR/address-of.rs:16:12: 16:24 AscribeUserType(_19, o, UserTypeProjection { base: UserType(9), projs: [] }); // scope 5 at $DIR/address-of.rs:16:12: 16:24
StorageLive(_21); // bb0[64]: scope 6 at $DIR/address-of.rs:18:5: 18:18 StorageLive(_21); // scope 6 at $DIR/address-of.rs:18:5: 18:18
StorageLive(_22); // bb0[65]: scope 6 at $DIR/address-of.rs:18:5: 18:18 StorageLive(_22); // scope 6 at $DIR/address-of.rs:18:5: 18:18
_22 = &raw const (*_3); // bb0[66]: scope 6 at $DIR/address-of.rs:18:5: 18:6 _22 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:18:5: 18:6
AscribeUserType(_22, o, UserTypeProjection { base: UserType(10), projs: [] }); // bb0[67]: scope 6 at $DIR/address-of.rs:18:5: 18:18 AscribeUserType(_22, o, UserTypeProjection { base: UserType(10), projs: [] }); // scope 6 at $DIR/address-of.rs:18:5: 18:18
_21 = _22; // bb0[68]: scope 6 at $DIR/address-of.rs:18:5: 18:18 _21 = _22; // scope 6 at $DIR/address-of.rs:18:5: 18:18
StorageDead(_22); // bb0[69]: scope 6 at $DIR/address-of.rs:18:18: 18:19 StorageDead(_22); // scope 6 at $DIR/address-of.rs:18:18: 18:19
StorageDead(_21); // bb0[70]: scope 6 at $DIR/address-of.rs:18:18: 18:19 StorageDead(_21); // scope 6 at $DIR/address-of.rs:18:18: 18:19
StorageLive(_23); // bb0[71]: scope 6 at $DIR/address-of.rs:19:5: 19:26 StorageLive(_23); // scope 6 at $DIR/address-of.rs:19:5: 19:26
_23 = &raw const (*_3); // bb0[72]: scope 6 at $DIR/address-of.rs:19:5: 19:6 _23 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:19:5: 19:6
StorageDead(_23); // bb0[73]: scope 6 at $DIR/address-of.rs:19:26: 19:27 StorageDead(_23); // scope 6 at $DIR/address-of.rs:19:26: 19:27
StorageLive(_24); // bb0[74]: scope 6 at $DIR/address-of.rs:20:5: 20:25 StorageLive(_24); // scope 6 at $DIR/address-of.rs:20:5: 20:25
StorageLive(_25); // bb0[75]: scope 6 at $DIR/address-of.rs:20:5: 20:25 StorageLive(_25); // scope 6 at $DIR/address-of.rs:20:5: 20:25
StorageLive(_26); // bb0[76]: scope 6 at $DIR/address-of.rs:20:5: 20:6 StorageLive(_26); // scope 6 at $DIR/address-of.rs:20:5: 20:6
_26 = &raw const (*_3); // bb0[77]: scope 6 at $DIR/address-of.rs:20:5: 20:6 _26 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:20:5: 20:6
_25 = move _26 as *const dyn std::marker::Send (Pointer(Unsize)); // bb0[78]: scope 6 at $DIR/address-of.rs:20:5: 20:6 _25 = move _26 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 6 at $DIR/address-of.rs:20:5: 20:6
StorageDead(_26); // bb0[79]: scope 6 at $DIR/address-of.rs:20:5: 20:6 StorageDead(_26); // scope 6 at $DIR/address-of.rs:20:5: 20:6
AscribeUserType(_25, o, UserTypeProjection { base: UserType(11), projs: [] }); // bb0[80]: scope 6 at $DIR/address-of.rs:20:5: 20:25 AscribeUserType(_25, o, UserTypeProjection { base: UserType(11), projs: [] }); // scope 6 at $DIR/address-of.rs:20:5: 20:25
_24 = _25; // bb0[81]: scope 6 at $DIR/address-of.rs:20:5: 20:25 _24 = _25; // scope 6 at $DIR/address-of.rs:20:5: 20:25
StorageDead(_25); // bb0[82]: scope 6 at $DIR/address-of.rs:20:25: 20:26 StorageDead(_25); // scope 6 at $DIR/address-of.rs:20:25: 20:26
StorageDead(_24); // bb0[83]: scope 6 at $DIR/address-of.rs:20:25: 20:26 StorageDead(_24); // scope 6 at $DIR/address-of.rs:20:25: 20:26
StorageLive(_27); // bb0[84]: scope 6 at $DIR/address-of.rs:21:5: 21:22 StorageLive(_27); // scope 6 at $DIR/address-of.rs:21:5: 21:22
StorageLive(_28); // bb0[85]: scope 6 at $DIR/address-of.rs:21:5: 21:6 StorageLive(_28); // scope 6 at $DIR/address-of.rs:21:5: 21:6
_28 = &raw const (*_3); // bb0[86]: scope 6 at $DIR/address-of.rs:21:5: 21:6 _28 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:21:5: 21:6
_27 = move _28 as *const [i32] (Pointer(Unsize)); // bb0[87]: scope 6 at $DIR/address-of.rs:21:5: 21:6 _27 = move _28 as *const [i32] (Pointer(Unsize)); // scope 6 at $DIR/address-of.rs:21:5: 21:6
StorageDead(_28); // bb0[88]: scope 6 at $DIR/address-of.rs:21:5: 21:6 StorageDead(_28); // scope 6 at $DIR/address-of.rs:21:5: 21:6
StorageDead(_27); // bb0[89]: scope 6 at $DIR/address-of.rs:21:22: 21:23 StorageDead(_27); // scope 6 at $DIR/address-of.rs:21:22: 21:23
StorageLive(_29); // bb0[90]: scope 6 at $DIR/address-of.rs:23:9: 23:10 StorageLive(_29); // scope 6 at $DIR/address-of.rs:23:9: 23:10
_29 = &raw const (*_3); // bb0[91]: scope 6 at $DIR/address-of.rs:23:23: 23:24 _29 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:23:23: 23:24
FakeRead(ForLet, _29); // bb0[92]: scope 6 at $DIR/address-of.rs:23:9: 23:10 FakeRead(ForLet, _29); // scope 6 at $DIR/address-of.rs:23:9: 23:10
AscribeUserType(_29, o, UserTypeProjection { base: UserType(13), projs: [] }); // bb0[93]: scope 6 at $DIR/address-of.rs:23:12: 23:20 AscribeUserType(_29, o, UserTypeProjection { base: UserType(13), projs: [] }); // scope 6 at $DIR/address-of.rs:23:12: 23:20
StorageLive(_30); // bb0[94]: scope 7 at $DIR/address-of.rs:24:9: 24:10 StorageLive(_30); // scope 7 at $DIR/address-of.rs:24:9: 24:10
_30 = &raw const (*_3); // bb0[95]: scope 7 at $DIR/address-of.rs:24:31: 24:32 _30 = &raw const (*_3); // scope 7 at $DIR/address-of.rs:24:31: 24:32
FakeRead(ForLet, _30); // bb0[96]: scope 7 at $DIR/address-of.rs:24:9: 24:10 FakeRead(ForLet, _30); // scope 7 at $DIR/address-of.rs:24:9: 24:10
AscribeUserType(_30, o, UserTypeProjection { base: UserType(15), projs: [] }); // bb0[97]: scope 7 at $DIR/address-of.rs:24:12: 24:28 AscribeUserType(_30, o, UserTypeProjection { base: UserType(15), projs: [] }); // scope 7 at $DIR/address-of.rs:24:12: 24:28
StorageLive(_31); // bb0[98]: scope 8 at $DIR/address-of.rs:25:9: 25:10 StorageLive(_31); // scope 8 at $DIR/address-of.rs:25:9: 25:10
StorageLive(_32); // bb0[99]: scope 8 at $DIR/address-of.rs:25:30: 25:31 StorageLive(_32); // scope 8 at $DIR/address-of.rs:25:30: 25:31
_32 = &raw const (*_3); // bb0[100]: scope 8 at $DIR/address-of.rs:25:30: 25:31 _32 = &raw const (*_3); // scope 8 at $DIR/address-of.rs:25:30: 25:31
_31 = move _32 as *const dyn std::marker::Send (Pointer(Unsize)); // bb0[101]: scope 8 at $DIR/address-of.rs:25:30: 25:31 _31 = move _32 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 8 at $DIR/address-of.rs:25:30: 25:31
StorageDead(_32); // bb0[102]: scope 8 at $DIR/address-of.rs:25:30: 25:31 StorageDead(_32); // scope 8 at $DIR/address-of.rs:25:30: 25:31
FakeRead(ForLet, _31); // bb0[103]: scope 8 at $DIR/address-of.rs:25:9: 25:10 FakeRead(ForLet, _31); // scope 8 at $DIR/address-of.rs:25:9: 25:10
AscribeUserType(_31, o, UserTypeProjection { base: UserType(17), projs: [] }); // bb0[104]: scope 8 at $DIR/address-of.rs:25:12: 25:27 AscribeUserType(_31, o, UserTypeProjection { base: UserType(17), projs: [] }); // scope 8 at $DIR/address-of.rs:25:12: 25:27
StorageLive(_33); // bb0[105]: scope 9 at $DIR/address-of.rs:26:9: 26:10 StorageLive(_33); // scope 9 at $DIR/address-of.rs:26:9: 26:10
StorageLive(_34); // bb0[106]: scope 9 at $DIR/address-of.rs:26:27: 26:28 StorageLive(_34); // scope 9 at $DIR/address-of.rs:26:27: 26:28
_34 = &raw const (*_3); // bb0[107]: scope 9 at $DIR/address-of.rs:26:27: 26:28 _34 = &raw const (*_3); // scope 9 at $DIR/address-of.rs:26:27: 26:28
_33 = move _34 as *const [i32] (Pointer(Unsize)); // bb0[108]: scope 9 at $DIR/address-of.rs:26:27: 26:28 _33 = move _34 as *const [i32] (Pointer(Unsize)); // scope 9 at $DIR/address-of.rs:26:27: 26:28
StorageDead(_34); // bb0[109]: scope 9 at $DIR/address-of.rs:26:27: 26:28 StorageDead(_34); // scope 9 at $DIR/address-of.rs:26:27: 26:28
FakeRead(ForLet, _33); // bb0[110]: scope 9 at $DIR/address-of.rs:26:9: 26:10 FakeRead(ForLet, _33); // scope 9 at $DIR/address-of.rs:26:9: 26:10
AscribeUserType(_33, o, UserTypeProjection { base: UserType(19), projs: [] }); // bb0[111]: scope 9 at $DIR/address-of.rs:26:12: 26:24 AscribeUserType(_33, o, UserTypeProjection { base: UserType(19), projs: [] }); // scope 9 at $DIR/address-of.rs:26:12: 26:24
StorageLive(_35); // bb0[112]: scope 10 at $DIR/address-of.rs:28:5: 28:16 StorageLive(_35); // scope 10 at $DIR/address-of.rs:28:5: 28:16
StorageLive(_36); // bb0[113]: scope 10 at $DIR/address-of.rs:28:5: 28:16 StorageLive(_36); // scope 10 at $DIR/address-of.rs:28:5: 28:16
_36 = &raw mut (*_3); // bb0[114]: scope 10 at $DIR/address-of.rs:28:5: 28:6 _36 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:28:5: 28:6
AscribeUserType(_36, o, UserTypeProjection { base: UserType(20), projs: [] }); // bb0[115]: scope 10 at $DIR/address-of.rs:28:5: 28:16 AscribeUserType(_36, o, UserTypeProjection { base: UserType(20), projs: [] }); // scope 10 at $DIR/address-of.rs:28:5: 28:16
_35 = _36; // bb0[116]: scope 10 at $DIR/address-of.rs:28:5: 28:16 _35 = _36; // scope 10 at $DIR/address-of.rs:28:5: 28:16
StorageDead(_36); // bb0[117]: scope 10 at $DIR/address-of.rs:28:16: 28:17 StorageDead(_36); // scope 10 at $DIR/address-of.rs:28:16: 28:17
StorageDead(_35); // bb0[118]: scope 10 at $DIR/address-of.rs:28:16: 28:17 StorageDead(_35); // scope 10 at $DIR/address-of.rs:28:16: 28:17
StorageLive(_37); // bb0[119]: scope 10 at $DIR/address-of.rs:29:5: 29:24 StorageLive(_37); // scope 10 at $DIR/address-of.rs:29:5: 29:24
_37 = &raw mut (*_3); // bb0[120]: scope 10 at $DIR/address-of.rs:29:5: 29:6 _37 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:29:5: 29:6
StorageDead(_37); // bb0[121]: scope 10 at $DIR/address-of.rs:29:24: 29:25 StorageDead(_37); // scope 10 at $DIR/address-of.rs:29:24: 29:25
StorageLive(_38); // bb0[122]: scope 10 at $DIR/address-of.rs:30:5: 30:23 StorageLive(_38); // scope 10 at $DIR/address-of.rs:30:5: 30:23
StorageLive(_39); // bb0[123]: scope 10 at $DIR/address-of.rs:30:5: 30:23 StorageLive(_39); // scope 10 at $DIR/address-of.rs:30:5: 30:23
StorageLive(_40); // bb0[124]: scope 10 at $DIR/address-of.rs:30:5: 30:6 StorageLive(_40); // scope 10 at $DIR/address-of.rs:30:5: 30:6
_40 = &raw mut (*_3); // bb0[125]: scope 10 at $DIR/address-of.rs:30:5: 30:6 _40 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:30:5: 30:6
_39 = move _40 as *mut dyn std::marker::Send (Pointer(Unsize)); // bb0[126]: scope 10 at $DIR/address-of.rs:30:5: 30:6 _39 = move _40 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 10 at $DIR/address-of.rs:30:5: 30:6
StorageDead(_40); // bb0[127]: scope 10 at $DIR/address-of.rs:30:5: 30:6 StorageDead(_40); // scope 10 at $DIR/address-of.rs:30:5: 30:6
AscribeUserType(_39, o, UserTypeProjection { base: UserType(21), projs: [] }); // bb0[128]: scope 10 at $DIR/address-of.rs:30:5: 30:23 AscribeUserType(_39, o, UserTypeProjection { base: UserType(21), projs: [] }); // scope 10 at $DIR/address-of.rs:30:5: 30:23
_38 = _39; // bb0[129]: scope 10 at $DIR/address-of.rs:30:5: 30:23 _38 = _39; // scope 10 at $DIR/address-of.rs:30:5: 30:23
StorageDead(_39); // bb0[130]: scope 10 at $DIR/address-of.rs:30:23: 30:24 StorageDead(_39); // scope 10 at $DIR/address-of.rs:30:23: 30:24
StorageDead(_38); // bb0[131]: scope 10 at $DIR/address-of.rs:30:23: 30:24 StorageDead(_38); // scope 10 at $DIR/address-of.rs:30:23: 30:24
StorageLive(_41); // bb0[132]: scope 10 at $DIR/address-of.rs:31:5: 31:20 StorageLive(_41); // scope 10 at $DIR/address-of.rs:31:5: 31:20
StorageLive(_42); // bb0[133]: scope 10 at $DIR/address-of.rs:31:5: 31:6 StorageLive(_42); // scope 10 at $DIR/address-of.rs:31:5: 31:6
_42 = &raw mut (*_3); // bb0[134]: scope 10 at $DIR/address-of.rs:31:5: 31:6 _42 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:31:5: 31:6
_41 = move _42 as *mut [i32] (Pointer(Unsize)); // bb0[135]: scope 10 at $DIR/address-of.rs:31:5: 31:6 _41 = move _42 as *mut [i32] (Pointer(Unsize)); // scope 10 at $DIR/address-of.rs:31:5: 31:6
StorageDead(_42); // bb0[136]: scope 10 at $DIR/address-of.rs:31:5: 31:6 StorageDead(_42); // scope 10 at $DIR/address-of.rs:31:5: 31:6
StorageDead(_41); // bb0[137]: scope 10 at $DIR/address-of.rs:31:20: 31:21 StorageDead(_41); // scope 10 at $DIR/address-of.rs:31:20: 31:21
StorageLive(_43); // bb0[138]: scope 10 at $DIR/address-of.rs:33:9: 33:10 StorageLive(_43); // scope 10 at $DIR/address-of.rs:33:9: 33:10
_43 = &raw mut (*_3); // bb0[139]: scope 10 at $DIR/address-of.rs:33:21: 33:22 _43 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:33:21: 33:22
FakeRead(ForLet, _43); // bb0[140]: scope 10 at $DIR/address-of.rs:33:9: 33:10 FakeRead(ForLet, _43); // scope 10 at $DIR/address-of.rs:33:9: 33:10
AscribeUserType(_43, o, UserTypeProjection { base: UserType(23), projs: [] }); // bb0[141]: scope 10 at $DIR/address-of.rs:33:12: 33:18 AscribeUserType(_43, o, UserTypeProjection { base: UserType(23), projs: [] }); // scope 10 at $DIR/address-of.rs:33:12: 33:18
StorageLive(_44); // bb0[142]: scope 11 at $DIR/address-of.rs:34:9: 34:10 StorageLive(_44); // scope 11 at $DIR/address-of.rs:34:9: 34:10
_44 = &raw mut (*_3); // bb0[143]: scope 11 at $DIR/address-of.rs:34:29: 34:30 _44 = &raw mut (*_3); // scope 11 at $DIR/address-of.rs:34:29: 34:30
FakeRead(ForLet, _44); // bb0[144]: scope 11 at $DIR/address-of.rs:34:9: 34:10 FakeRead(ForLet, _44); // scope 11 at $DIR/address-of.rs:34:9: 34:10
AscribeUserType(_44, o, UserTypeProjection { base: UserType(25), projs: [] }); // bb0[145]: scope 11 at $DIR/address-of.rs:34:12: 34:26 AscribeUserType(_44, o, UserTypeProjection { base: UserType(25), projs: [] }); // scope 11 at $DIR/address-of.rs:34:12: 34:26
StorageLive(_45); // bb0[146]: scope 12 at $DIR/address-of.rs:35:9: 35:10 StorageLive(_45); // scope 12 at $DIR/address-of.rs:35:9: 35:10
StorageLive(_46); // bb0[147]: scope 12 at $DIR/address-of.rs:35:28: 35:29 StorageLive(_46); // scope 12 at $DIR/address-of.rs:35:28: 35:29
_46 = &raw mut (*_3); // bb0[148]: scope 12 at $DIR/address-of.rs:35:28: 35:29 _46 = &raw mut (*_3); // scope 12 at $DIR/address-of.rs:35:28: 35:29
_45 = move _46 as *mut dyn std::marker::Send (Pointer(Unsize)); // bb0[149]: scope 12 at $DIR/address-of.rs:35:28: 35:29 _45 = move _46 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 12 at $DIR/address-of.rs:35:28: 35:29
StorageDead(_46); // bb0[150]: scope 12 at $DIR/address-of.rs:35:28: 35:29 StorageDead(_46); // scope 12 at $DIR/address-of.rs:35:28: 35:29
FakeRead(ForLet, _45); // bb0[151]: scope 12 at $DIR/address-of.rs:35:9: 35:10 FakeRead(ForLet, _45); // scope 12 at $DIR/address-of.rs:35:9: 35:10
AscribeUserType(_45, o, UserTypeProjection { base: UserType(27), projs: [] }); // bb0[152]: scope 12 at $DIR/address-of.rs:35:12: 35:25 AscribeUserType(_45, o, UserTypeProjection { base: UserType(27), projs: [] }); // scope 12 at $DIR/address-of.rs:35:12: 35:25
StorageLive(_47); // bb0[153]: scope 13 at $DIR/address-of.rs:36:9: 36:10 StorageLive(_47); // scope 13 at $DIR/address-of.rs:36:9: 36:10
StorageLive(_48); // bb0[154]: scope 13 at $DIR/address-of.rs:36:25: 36:26 StorageLive(_48); // scope 13 at $DIR/address-of.rs:36:25: 36:26
_48 = &raw mut (*_3); // bb0[155]: scope 13 at $DIR/address-of.rs:36:25: 36:26 _48 = &raw mut (*_3); // scope 13 at $DIR/address-of.rs:36:25: 36:26
_47 = move _48 as *mut [i32] (Pointer(Unsize)); // bb0[156]: scope 13 at $DIR/address-of.rs:36:25: 36:26 _47 = move _48 as *mut [i32] (Pointer(Unsize)); // scope 13 at $DIR/address-of.rs:36:25: 36:26
StorageDead(_48); // bb0[157]: scope 13 at $DIR/address-of.rs:36:25: 36:26 StorageDead(_48); // scope 13 at $DIR/address-of.rs:36:25: 36:26
FakeRead(ForLet, _47); // bb0[158]: scope 13 at $DIR/address-of.rs:36:9: 36:10 FakeRead(ForLet, _47); // scope 13 at $DIR/address-of.rs:36:9: 36:10
AscribeUserType(_47, o, UserTypeProjection { base: UserType(29), projs: [] }); // bb0[159]: scope 13 at $DIR/address-of.rs:36:12: 36:22 AscribeUserType(_47, o, UserTypeProjection { base: UserType(29), projs: [] }); // scope 13 at $DIR/address-of.rs:36:12: 36:22
_0 = const (); // bb0[160]: scope 0 at $DIR/address-of.rs:3:26: 37:2 _0 = const (); // scope 0 at $DIR/address-of.rs:3:26: 37:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/address-of.rs:3:26: 37:2 // + span: $DIR/address-of.rs:3:26: 37:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_47); // bb0[161]: scope 13 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_47); // scope 13 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_45); // bb0[162]: scope 12 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_45); // scope 12 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_44); // bb0[163]: scope 11 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_44); // scope 11 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_43); // bb0[164]: scope 10 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_43); // scope 10 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_33); // bb0[165]: scope 9 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_33); // scope 9 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_31); // bb0[166]: scope 8 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_31); // scope 8 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_30); // bb0[167]: scope 7 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_30); // scope 7 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_29); // bb0[168]: scope 6 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_29); // scope 6 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_19); // bb0[169]: scope 5 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_19); // scope 5 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_17); // bb0[170]: scope 4 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_17); // scope 4 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_16); // bb0[171]: scope 3 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_16); // scope 3 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_15); // bb0[172]: scope 2 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_15); // scope 2 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_4); // bb0[173]: scope 1 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_4); // scope 1 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_3); // bb0[174]: scope 1 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_3); // scope 1 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_2); // bb0[175]: scope 0 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_2); // scope 0 at $DIR/address-of.rs:37:1: 37:2
StorageDead(_1); // bb0[176]: scope 0 at $DIR/address-of.rs:37:1: 37:2 StorageDead(_1); // scope 0 at $DIR/address-of.rs:37:1: 37:2
return; // bb0[177]: scope 0 at $DIR/address-of.rs:37:2: 37:2 return; // scope 0 at $DIR/address-of.rs:37:2: 37:2
} }
} }

View file

@ -20,34 +20,34 @@ fn borrow_and_cast(_1: i32) -> () {
} }
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/address-of.rs:42:9: 42:10 StorageLive(_2); // scope 0 at $DIR/address-of.rs:42:9: 42:10
StorageLive(_3); // bb0[1]: scope 0 at $DIR/address-of.rs:42:13: 42:15 StorageLive(_3); // scope 0 at $DIR/address-of.rs:42:13: 42:15
_3 = &_1; // bb0[2]: scope 0 at $DIR/address-of.rs:42:13: 42:15 _3 = &_1; // scope 0 at $DIR/address-of.rs:42:13: 42:15
_2 = &raw const (*_3); // bb0[3]: scope 0 at $DIR/address-of.rs:42:13: 42:15 _2 = &raw const (*_3); // scope 0 at $DIR/address-of.rs:42:13: 42:15
FakeRead(ForLet, _2); // bb0[4]: scope 0 at $DIR/address-of.rs:42:9: 42:10 FakeRead(ForLet, _2); // scope 0 at $DIR/address-of.rs:42:9: 42:10
StorageDead(_3); // bb0[5]: scope 0 at $DIR/address-of.rs:42:29: 42:30 StorageDead(_3); // scope 0 at $DIR/address-of.rs:42:29: 42:30
StorageLive(_4); // bb0[6]: scope 1 at $DIR/address-of.rs:43:9: 43:10 StorageLive(_4); // scope 1 at $DIR/address-of.rs:43:9: 43:10
StorageLive(_5); // bb0[7]: scope 1 at $DIR/address-of.rs:43:13: 43:19 StorageLive(_5); // scope 1 at $DIR/address-of.rs:43:13: 43:19
_5 = &mut _1; // bb0[8]: scope 1 at $DIR/address-of.rs:43:13: 43:19 _5 = &mut _1; // scope 1 at $DIR/address-of.rs:43:13: 43:19
_4 = &raw const (*_5); // bb0[9]: scope 1 at $DIR/address-of.rs:43:13: 43:19 _4 = &raw const (*_5); // scope 1 at $DIR/address-of.rs:43:13: 43:19
FakeRead(ForLet, _4); // bb0[10]: scope 1 at $DIR/address-of.rs:43:9: 43:10 FakeRead(ForLet, _4); // scope 1 at $DIR/address-of.rs:43:9: 43:10
StorageDead(_5); // bb0[11]: scope 1 at $DIR/address-of.rs:43:33: 43:34 StorageDead(_5); // scope 1 at $DIR/address-of.rs:43:33: 43:34
StorageLive(_6); // bb0[12]: scope 2 at $DIR/address-of.rs:44:9: 44:10 StorageLive(_6); // scope 2 at $DIR/address-of.rs:44:9: 44:10
StorageLive(_7); // bb0[13]: scope 2 at $DIR/address-of.rs:44:13: 44:19 StorageLive(_7); // scope 2 at $DIR/address-of.rs:44:13: 44:19
_7 = &mut _1; // bb0[14]: scope 2 at $DIR/address-of.rs:44:13: 44:19 _7 = &mut _1; // scope 2 at $DIR/address-of.rs:44:13: 44:19
_6 = &raw mut (*_7); // bb0[15]: scope 2 at $DIR/address-of.rs:44:13: 44:19 _6 = &raw mut (*_7); // scope 2 at $DIR/address-of.rs:44:13: 44:19
FakeRead(ForLet, _6); // bb0[16]: scope 2 at $DIR/address-of.rs:44:9: 44:10 FakeRead(ForLet, _6); // scope 2 at $DIR/address-of.rs:44:9: 44:10
StorageDead(_7); // bb0[17]: scope 2 at $DIR/address-of.rs:44:31: 44:32 StorageDead(_7); // scope 2 at $DIR/address-of.rs:44:31: 44:32
_0 = const (); // bb0[18]: scope 0 at $DIR/address-of.rs:41:32: 45:2 _0 = const (); // scope 0 at $DIR/address-of.rs:41:32: 45:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/address-of.rs:41:32: 45:2 // + span: $DIR/address-of.rs:41:32: 45:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_6); // bb0[19]: scope 2 at $DIR/address-of.rs:45:1: 45:2 StorageDead(_6); // scope 2 at $DIR/address-of.rs:45:1: 45:2
StorageDead(_4); // bb0[20]: scope 1 at $DIR/address-of.rs:45:1: 45:2 StorageDead(_4); // scope 1 at $DIR/address-of.rs:45:1: 45:2
StorageDead(_2); // bb0[21]: scope 0 at $DIR/address-of.rs:45:1: 45:2 StorageDead(_2); // scope 0 at $DIR/address-of.rs:45:1: 45:2
return; // bb0[22]: scope 0 at $DIR/address-of.rs:45:2: 45:2 return; // scope 0 at $DIR/address-of.rs:45:2: 45:2
} }
} }

View file

@ -24,8 +24,8 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/array-index-is-temporary.rs:13:9: 13:14 StorageLive(_1); // scope 0 at $DIR/array-index-is-temporary.rs:13:9: 13:14
_1 = [const 42u32, const 43u32, const 44u32]; // bb0[1]: scope 0 at $DIR/array-index-is-temporary.rs:13:17: 13:29 _1 = [const 42u32, const 43u32, const 44u32]; // scope 0 at $DIR/array-index-is-temporary.rs:13:17: 13:29
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x0000002a)) // + val: Value(Scalar(0x0000002a))
@ -44,23 +44,23 @@ fn main() -> () {
// mir::Constant // mir::Constant
// + span: $DIR/array-index-is-temporary.rs:13:26: 13:28 // + span: $DIR/array-index-is-temporary.rs:13:26: 13:28
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002c)) } // + literal: Const { ty: u32, val: Value(Scalar(0x0000002c)) }
StorageLive(_2); // bb0[2]: scope 1 at $DIR/array-index-is-temporary.rs:14:9: 14:14 StorageLive(_2); // scope 1 at $DIR/array-index-is-temporary.rs:14:9: 14:14
_2 = const 1usize; // bb0[3]: scope 1 at $DIR/array-index-is-temporary.rs:14:17: 14:18 _2 = const 1usize; // scope 1 at $DIR/array-index-is-temporary.rs:14:17: 14:18
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/array-index-is-temporary.rs:14:17: 14:18 // + span: $DIR/array-index-is-temporary.rs:14:17: 14:18
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
StorageLive(_3); // bb0[4]: scope 2 at $DIR/array-index-is-temporary.rs:15:9: 15:10 StorageLive(_3); // scope 2 at $DIR/array-index-is-temporary.rs:15:9: 15:10
StorageLive(_4); // bb0[5]: scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31 StorageLive(_4); // scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31
_4 = &mut _2; // bb0[6]: scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31 _4 = &mut _2; // scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31
_3 = &raw mut (*_4); // bb0[7]: scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31 _3 = &raw mut (*_4); // scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31
StorageDead(_4); // bb0[8]: scope 2 at $DIR/array-index-is-temporary.rs:15:31: 15:32 StorageDead(_4); // scope 2 at $DIR/array-index-is-temporary.rs:15:31: 15:32
StorageLive(_5); // bb0[9]: scope 3 at $DIR/array-index-is-temporary.rs:16:12: 16:29 StorageLive(_5); // scope 3 at $DIR/array-index-is-temporary.rs:16:12: 16:29
StorageLive(_6); // bb0[10]: scope 4 at $DIR/array-index-is-temporary.rs:16:25: 16:26 StorageLive(_6); // scope 4 at $DIR/array-index-is-temporary.rs:16:25: 16:26
_6 = _3; // bb0[11]: scope 4 at $DIR/array-index-is-temporary.rs:16:25: 16:26 _6 = _3; // scope 4 at $DIR/array-index-is-temporary.rs:16:25: 16:26
_5 = const foo(move _6) -> bb1; // bb0[12]: scope 4 at $DIR/array-index-is-temporary.rs:16:21: 16:27 _5 = const foo(move _6) -> bb1; // scope 4 at $DIR/array-index-is-temporary.rs:16:21: 16:27
// ty::Const // ty::Const
// + ty: unsafe fn(*mut usize) -> u32 {foo} // + ty: unsafe fn(*mut usize) -> u32 {foo}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -70,28 +70,28 @@ fn main() -> () {
} }
bb1: { bb1: {
StorageDead(_6); // bb1[0]: scope 4 at $DIR/array-index-is-temporary.rs:16:26: 16:27 StorageDead(_6); // scope 4 at $DIR/array-index-is-temporary.rs:16:26: 16:27
StorageLive(_7); // bb1[1]: scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8 StorageLive(_7); // scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8
_7 = _2; // bb1[2]: scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8 _7 = _2; // scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8
_8 = Len(_1); // bb1[3]: scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9 _8 = Len(_1); // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
_9 = Lt(_7, _8); // bb1[4]: scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9 _9 = Lt(_7, _8); // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
assert(move _9, "index out of bounds: the len is {} but the index is {}", move _8, _7) -> bb2; // bb1[5]: scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9 assert(move _9, "index out of bounds: the len is {} but the index is {}", move _8, _7) -> bb2; // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
} }
bb2: { bb2: {
_1[_7] = move _5; // bb2[0]: scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:29 _1[_7] = move _5; // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:29
StorageDead(_5); // bb2[1]: scope 3 at $DIR/array-index-is-temporary.rs:16:28: 16:29 StorageDead(_5); // scope 3 at $DIR/array-index-is-temporary.rs:16:28: 16:29
StorageDead(_7); // bb2[2]: scope 3 at $DIR/array-index-is-temporary.rs:16:29: 16:30 StorageDead(_7); // scope 3 at $DIR/array-index-is-temporary.rs:16:29: 16:30
_0 = const (); // bb2[3]: scope 0 at $DIR/array-index-is-temporary.rs:12:11: 17:2 _0 = const (); // scope 0 at $DIR/array-index-is-temporary.rs:12:11: 17:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/array-index-is-temporary.rs:12:11: 17:2 // + span: $DIR/array-index-is-temporary.rs:12:11: 17:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_3); // bb2[4]: scope 2 at $DIR/array-index-is-temporary.rs:17:1: 17:2 StorageDead(_3); // scope 2 at $DIR/array-index-is-temporary.rs:17:1: 17:2
StorageDead(_2); // bb2[5]: scope 1 at $DIR/array-index-is-temporary.rs:17:1: 17:2 StorageDead(_2); // scope 1 at $DIR/array-index-is-temporary.rs:17:1: 17:2
StorageDead(_1); // bb2[6]: scope 0 at $DIR/array-index-is-temporary.rs:17:1: 17:2 StorageDead(_1); // scope 0 at $DIR/array-index-is-temporary.rs:17:1: 17:2
return; // bb2[7]: scope 0 at $DIR/array-index-is-temporary.rs:17:2: 17:2 return; // scope 0 at $DIR/array-index-is-temporary.rs:17:2: 17:2
} }
} }

View file

@ -24,8 +24,8 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/array-index-is-temporary.rs:13:9: 13:14 StorageLive(_1); // scope 0 at $DIR/array-index-is-temporary.rs:13:9: 13:14
_1 = [const 42u32, const 43u32, const 44u32]; // bb0[1]: scope 0 at $DIR/array-index-is-temporary.rs:13:17: 13:29 _1 = [const 42u32, const 43u32, const 44u32]; // scope 0 at $DIR/array-index-is-temporary.rs:13:17: 13:29
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x0000002a)) // + val: Value(Scalar(0x0000002a))
@ -44,23 +44,23 @@ fn main() -> () {
// mir::Constant // mir::Constant
// + span: $DIR/array-index-is-temporary.rs:13:26: 13:28 // + span: $DIR/array-index-is-temporary.rs:13:26: 13:28
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002c)) } // + literal: Const { ty: u32, val: Value(Scalar(0x0000002c)) }
StorageLive(_2); // bb0[2]: scope 1 at $DIR/array-index-is-temporary.rs:14:9: 14:14 StorageLive(_2); // scope 1 at $DIR/array-index-is-temporary.rs:14:9: 14:14
_2 = const 1usize; // bb0[3]: scope 1 at $DIR/array-index-is-temporary.rs:14:17: 14:18 _2 = const 1usize; // scope 1 at $DIR/array-index-is-temporary.rs:14:17: 14:18
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000001)) // + val: Value(Scalar(0x0000000000000001))
// mir::Constant // mir::Constant
// + span: $DIR/array-index-is-temporary.rs:14:17: 14:18 // + span: $DIR/array-index-is-temporary.rs:14:17: 14:18
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
StorageLive(_3); // bb0[4]: scope 2 at $DIR/array-index-is-temporary.rs:15:9: 15:10 StorageLive(_3); // scope 2 at $DIR/array-index-is-temporary.rs:15:9: 15:10
StorageLive(_4); // bb0[5]: scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31 StorageLive(_4); // scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31
_4 = &mut _2; // bb0[6]: scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31 _4 = &mut _2; // scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31
_3 = &raw mut (*_4); // bb0[7]: scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31 _3 = &raw mut (*_4); // scope 2 at $DIR/array-index-is-temporary.rs:15:25: 15:31
StorageDead(_4); // bb0[8]: scope 2 at $DIR/array-index-is-temporary.rs:15:31: 15:32 StorageDead(_4); // scope 2 at $DIR/array-index-is-temporary.rs:15:31: 15:32
StorageLive(_5); // bb0[9]: scope 3 at $DIR/array-index-is-temporary.rs:16:12: 16:29 StorageLive(_5); // scope 3 at $DIR/array-index-is-temporary.rs:16:12: 16:29
StorageLive(_6); // bb0[10]: scope 4 at $DIR/array-index-is-temporary.rs:16:25: 16:26 StorageLive(_6); // scope 4 at $DIR/array-index-is-temporary.rs:16:25: 16:26
_6 = _3; // bb0[11]: scope 4 at $DIR/array-index-is-temporary.rs:16:25: 16:26 _6 = _3; // scope 4 at $DIR/array-index-is-temporary.rs:16:25: 16:26
_5 = const foo(move _6) -> bb1; // bb0[12]: scope 4 at $DIR/array-index-is-temporary.rs:16:21: 16:27 _5 = const foo(move _6) -> bb1; // scope 4 at $DIR/array-index-is-temporary.rs:16:21: 16:27
// ty::Const // ty::Const
// + ty: unsafe fn(*mut usize) -> u32 {foo} // + ty: unsafe fn(*mut usize) -> u32 {foo}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -70,28 +70,28 @@ fn main() -> () {
} }
bb1: { bb1: {
StorageDead(_6); // bb1[0]: scope 4 at $DIR/array-index-is-temporary.rs:16:26: 16:27 StorageDead(_6); // scope 4 at $DIR/array-index-is-temporary.rs:16:26: 16:27
StorageLive(_7); // bb1[1]: scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8 StorageLive(_7); // scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8
_7 = _2; // bb1[2]: scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8 _7 = _2; // scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8
_8 = Len(_1); // bb1[3]: scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9 _8 = Len(_1); // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
_9 = Lt(_7, _8); // bb1[4]: scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9 _9 = Lt(_7, _8); // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
assert(move _9, "index out of bounds: the len is {} but the index is {}", move _8, _7) -> bb2; // bb1[5]: scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9 assert(move _9, "index out of bounds: the len is {} but the index is {}", move _8, _7) -> bb2; // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
} }
bb2: { bb2: {
_1[_7] = move _5; // bb2[0]: scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:29 _1[_7] = move _5; // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:29
StorageDead(_5); // bb2[1]: scope 3 at $DIR/array-index-is-temporary.rs:16:28: 16:29 StorageDead(_5); // scope 3 at $DIR/array-index-is-temporary.rs:16:28: 16:29
StorageDead(_7); // bb2[2]: scope 3 at $DIR/array-index-is-temporary.rs:16:29: 16:30 StorageDead(_7); // scope 3 at $DIR/array-index-is-temporary.rs:16:29: 16:30
_0 = const (); // bb2[3]: scope 0 at $DIR/array-index-is-temporary.rs:12:11: 17:2 _0 = const (); // scope 0 at $DIR/array-index-is-temporary.rs:12:11: 17:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/array-index-is-temporary.rs:12:11: 17:2 // + span: $DIR/array-index-is-temporary.rs:12:11: 17:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_3); // bb2[4]: scope 2 at $DIR/array-index-is-temporary.rs:17:1: 17:2 StorageDead(_3); // scope 2 at $DIR/array-index-is-temporary.rs:17:1: 17:2
StorageDead(_2); // bb2[5]: scope 1 at $DIR/array-index-is-temporary.rs:17:1: 17:2 StorageDead(_2); // scope 1 at $DIR/array-index-is-temporary.rs:17:1: 17:2
StorageDead(_1); // bb2[6]: scope 0 at $DIR/array-index-is-temporary.rs:17:1: 17:2 StorageDead(_1); // scope 0 at $DIR/array-index-is-temporary.rs:17:1: 17:2
return; // bb2[7]: scope 0 at $DIR/array-index-is-temporary.rs:17:2: 17:2 return; // scope 0 at $DIR/array-index-is-temporary.rs:17:2: 17:2
} }
} }

View file

@ -26,71 +26,71 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/basic_assignment.rs:11:9: 11:17 StorageLive(_1); // scope 0 at $DIR/basic_assignment.rs:11:9: 11:17
_1 = const false; // bb0[1]: scope 0 at $DIR/basic_assignment.rs:11:20: 11:25 _1 = const false; // scope 0 at $DIR/basic_assignment.rs:11:20: 11:25
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/basic_assignment.rs:11:20: 11:25 // + span: $DIR/basic_assignment.rs:11:20: 11:25
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
FakeRead(ForLet, _1); // bb0[2]: scope 0 at $DIR/basic_assignment.rs:11:9: 11:17 FakeRead(ForLet, _1); // scope 0 at $DIR/basic_assignment.rs:11:9: 11:17
StorageLive(_2); // bb0[3]: scope 1 at $DIR/basic_assignment.rs:12:9: 12:17 StorageLive(_2); // scope 1 at $DIR/basic_assignment.rs:12:9: 12:17
StorageLive(_3); // bb0[4]: scope 2 at $DIR/basic_assignment.rs:16:16: 16:24 StorageLive(_3); // scope 2 at $DIR/basic_assignment.rs:16:16: 16:24
_3 = _1; // bb0[5]: scope 2 at $DIR/basic_assignment.rs:16:16: 16:24 _3 = _1; // scope 2 at $DIR/basic_assignment.rs:16:16: 16:24
_2 = move _3; // bb0[6]: scope 2 at $DIR/basic_assignment.rs:16:5: 16:24 _2 = move _3; // scope 2 at $DIR/basic_assignment.rs:16:5: 16:24
StorageDead(_3); // bb0[7]: scope 2 at $DIR/basic_assignment.rs:16:23: 16:24 StorageDead(_3); // scope 2 at $DIR/basic_assignment.rs:16:23: 16:24
StorageLive(_4); // bb0[8]: scope 2 at $DIR/basic_assignment.rs:18:9: 18:15 StorageLive(_4); // scope 2 at $DIR/basic_assignment.rs:18:9: 18:15
_4 = std::option::Option::<std::boxed::Box<u32>>::None; // bb0[9]: scope 2 at $DIR/basic_assignment.rs:18:36: 18:40 _4 = std::option::Option::<std::boxed::Box<u32>>::None; // scope 2 at $DIR/basic_assignment.rs:18:36: 18:40
FakeRead(ForLet, _4); // bb0[10]: scope 2 at $DIR/basic_assignment.rs:18:9: 18:15 FakeRead(ForLet, _4); // scope 2 at $DIR/basic_assignment.rs:18:9: 18:15
AscribeUserType(_4, o, UserTypeProjection { base: UserType(1), projs: [] }); // bb0[11]: scope 2 at $DIR/basic_assignment.rs:18:17: 18:33 AscribeUserType(_4, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 2 at $DIR/basic_assignment.rs:18:17: 18:33
StorageLive(_5); // bb0[12]: scope 3 at $DIR/basic_assignment.rs:19:9: 19:15 StorageLive(_5); // scope 3 at $DIR/basic_assignment.rs:19:9: 19:15
StorageLive(_6); // bb0[13]: scope 4 at $DIR/basic_assignment.rs:23:14: 23:20 StorageLive(_6); // scope 4 at $DIR/basic_assignment.rs:23:14: 23:20
_6 = move _4; // bb0[14]: scope 4 at $DIR/basic_assignment.rs:23:14: 23:20 _6 = move _4; // scope 4 at $DIR/basic_assignment.rs:23:14: 23:20
replace(_5 <- move _6) -> [return: bb2, unwind: bb5]; // bb0[15]: scope 4 at $DIR/basic_assignment.rs:23:5: 23:11 replace(_5 <- move _6) -> [return: bb2, unwind: bb5]; // scope 4 at $DIR/basic_assignment.rs:23:5: 23:11
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/basic_assignment.rs:10:1: 24:2 resume; // scope 0 at $DIR/basic_assignment.rs:10:1: 24:2
} }
bb2: { bb2: {
drop(_6) -> [return: bb6, unwind: bb4]; // bb2[0]: scope 4 at $DIR/basic_assignment.rs:23:19: 23:20 drop(_6) -> [return: bb6, unwind: bb4]; // scope 4 at $DIR/basic_assignment.rs:23:19: 23:20
} }
bb3 (cleanup): { bb3 (cleanup): {
drop(_4) -> bb1; // bb3[0]: scope 2 at $DIR/basic_assignment.rs:24:1: 24:2 drop(_4) -> bb1; // scope 2 at $DIR/basic_assignment.rs:24:1: 24:2
} }
bb4 (cleanup): { bb4 (cleanup): {
drop(_5) -> bb3; // bb4[0]: scope 3 at $DIR/basic_assignment.rs:24:1: 24:2 drop(_5) -> bb3; // scope 3 at $DIR/basic_assignment.rs:24:1: 24:2
} }
bb5 (cleanup): { bb5 (cleanup): {
drop(_6) -> bb4; // bb5[0]: scope 4 at $DIR/basic_assignment.rs:23:19: 23:20 drop(_6) -> bb4; // scope 4 at $DIR/basic_assignment.rs:23:19: 23:20
} }
bb6: { bb6: {
StorageDead(_6); // bb6[0]: scope 4 at $DIR/basic_assignment.rs:23:19: 23:20 StorageDead(_6); // scope 4 at $DIR/basic_assignment.rs:23:19: 23:20
_0 = const (); // bb6[1]: scope 0 at $DIR/basic_assignment.rs:10:11: 24:2 _0 = const (); // scope 0 at $DIR/basic_assignment.rs:10:11: 24:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/basic_assignment.rs:10:11: 24:2 // + span: $DIR/basic_assignment.rs:10:11: 24:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
drop(_5) -> [return: bb7, unwind: bb3]; // bb6[2]: scope 3 at $DIR/basic_assignment.rs:24:1: 24:2 drop(_5) -> [return: bb7, unwind: bb3]; // scope 3 at $DIR/basic_assignment.rs:24:1: 24:2
} }
bb7: { bb7: {
StorageDead(_5); // bb7[0]: scope 3 at $DIR/basic_assignment.rs:24:1: 24:2 StorageDead(_5); // scope 3 at $DIR/basic_assignment.rs:24:1: 24:2
drop(_4) -> [return: bb8, unwind: bb1]; // bb7[1]: scope 2 at $DIR/basic_assignment.rs:24:1: 24:2 drop(_4) -> [return: bb8, unwind: bb1]; // scope 2 at $DIR/basic_assignment.rs:24:1: 24:2
} }
bb8: { bb8: {
StorageDead(_4); // bb8[0]: scope 2 at $DIR/basic_assignment.rs:24:1: 24:2 StorageDead(_4); // scope 2 at $DIR/basic_assignment.rs:24:1: 24:2
StorageDead(_2); // bb8[1]: scope 1 at $DIR/basic_assignment.rs:24:1: 24:2 StorageDead(_2); // scope 1 at $DIR/basic_assignment.rs:24:1: 24:2
StorageDead(_1); // bb8[2]: scope 0 at $DIR/basic_assignment.rs:24:1: 24:2 StorageDead(_1); // scope 0 at $DIR/basic_assignment.rs:24:1: 24:2
return; // bb8[3]: scope 0 at $DIR/basic_assignment.rs:24:2: 24:2 return; // scope 0 at $DIR/basic_assignment.rs:24:2: 24:2
} }
} }

View file

@ -11,10 +11,10 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/box_expr.rs:7:9: 7:10 StorageLive(_1); // scope 0 at $DIR/box_expr.rs:7:9: 7:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/box_expr.rs:7:13: 7:25 StorageLive(_2); // scope 0 at $DIR/box_expr.rs:7:13: 7:25
_2 = Box(S); // bb0[2]: scope 0 at $DIR/box_expr.rs:7:13: 7:25 _2 = Box(S); // scope 0 at $DIR/box_expr.rs:7:13: 7:25
(*_2) = const S::new() -> [return: bb2, unwind: bb3]; // bb0[3]: scope 0 at $DIR/box_expr.rs:7:17: 7:25 (*_2) = const S::new() -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/box_expr.rs:7:17: 7:25
// ty::Const // ty::Const
// + ty: fn() -> S {S::new} // + ty: fn() -> S {S::new}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -24,24 +24,24 @@ fn main() -> () {
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/box_expr.rs:6:1: 9:2 resume; // scope 0 at $DIR/box_expr.rs:6:1: 9:2
} }
bb2: { bb2: {
_1 = move _2; // bb2[0]: scope 0 at $DIR/box_expr.rs:7:13: 7:25 _1 = move _2; // scope 0 at $DIR/box_expr.rs:7:13: 7:25
drop(_2) -> bb4; // bb2[1]: scope 0 at $DIR/box_expr.rs:7:24: 7:25 drop(_2) -> bb4; // scope 0 at $DIR/box_expr.rs:7:24: 7:25
} }
bb3 (cleanup): { bb3 (cleanup): {
drop(_2) -> bb1; // bb3[0]: scope 0 at $DIR/box_expr.rs:7:24: 7:25 drop(_2) -> bb1; // scope 0 at $DIR/box_expr.rs:7:24: 7:25
} }
bb4: { bb4: {
StorageDead(_2); // bb4[0]: scope 0 at $DIR/box_expr.rs:7:24: 7:25 StorageDead(_2); // scope 0 at $DIR/box_expr.rs:7:24: 7:25
StorageLive(_3); // bb4[1]: scope 1 at $DIR/box_expr.rs:8:5: 8:12 StorageLive(_3); // scope 1 at $DIR/box_expr.rs:8:5: 8:12
StorageLive(_4); // bb4[2]: scope 1 at $DIR/box_expr.rs:8:10: 8:11 StorageLive(_4); // scope 1 at $DIR/box_expr.rs:8:10: 8:11
_4 = move _1; // bb4[3]: scope 1 at $DIR/box_expr.rs:8:10: 8:11 _4 = move _1; // scope 1 at $DIR/box_expr.rs:8:10: 8:11
_3 = const std::mem::drop::<std::boxed::Box<S>>(move _4) -> [return: bb5, unwind: bb7]; // bb4[4]: scope 1 at $DIR/box_expr.rs:8:5: 8:12 _3 = const std::mem::drop::<std::boxed::Box<S>>(move _4) -> [return: bb5, unwind: bb7]; // scope 1 at $DIR/box_expr.rs:8:5: 8:12
// ty::Const // ty::Const
// + ty: fn(std::boxed::Box<S>) {std::mem::drop::<std::boxed::Box<S>>} // + ty: fn(std::boxed::Box<S>) {std::mem::drop::<std::boxed::Box<S>>}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -51,28 +51,28 @@ fn main() -> () {
} }
bb5: { bb5: {
StorageDead(_4); // bb5[0]: scope 1 at $DIR/box_expr.rs:8:11: 8:12 StorageDead(_4); // scope 1 at $DIR/box_expr.rs:8:11: 8:12
StorageDead(_3); // bb5[1]: scope 1 at $DIR/box_expr.rs:8:12: 8:13 StorageDead(_3); // scope 1 at $DIR/box_expr.rs:8:12: 8:13
_0 = const (); // bb5[2]: scope 0 at $DIR/box_expr.rs:6:11: 9:2 _0 = const (); // scope 0 at $DIR/box_expr.rs:6:11: 9:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/box_expr.rs:6:11: 9:2 // + span: $DIR/box_expr.rs:6:11: 9:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
drop(_1) -> bb8; // bb5[3]: scope 0 at $DIR/box_expr.rs:9:1: 9:2 drop(_1) -> bb8; // scope 0 at $DIR/box_expr.rs:9:1: 9:2
} }
bb6 (cleanup): { bb6 (cleanup): {
drop(_1) -> bb1; // bb6[0]: scope 0 at $DIR/box_expr.rs:9:1: 9:2 drop(_1) -> bb1; // scope 0 at $DIR/box_expr.rs:9:1: 9:2
} }
bb7 (cleanup): { bb7 (cleanup): {
drop(_4) -> bb6; // bb7[0]: scope 1 at $DIR/box_expr.rs:8:11: 8:12 drop(_4) -> bb6; // scope 1 at $DIR/box_expr.rs:8:11: 8:12
} }
bb8: { bb8: {
StorageDead(_1); // bb8[0]: scope 0 at $DIR/box_expr.rs:9:1: 9:2 StorageDead(_1); // scope 0 at $DIR/box_expr.rs:9:1: 9:2
return; // bb8[1]: scope 0 at $DIR/box_expr.rs:9:2: 9:2 return; // scope 0 at $DIR/box_expr.rs:9:2: 9:2
} }
} }

View file

@ -12,16 +12,16 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/byte_slice.rs:5:9: 5:10 StorageLive(_1); // scope 0 at $DIR/byte_slice.rs:5:9: 5:10
_1 = const b"foo"; // bb0[1]: scope 0 at $DIR/byte_slice.rs:5:13: 5:19 _1 = const b"foo"; // scope 0 at $DIR/byte_slice.rs:5:13: 5:19
// ty::Const // ty::Const
// + ty: &[u8; 3] // + ty: &[u8; 3]
// + val: Value(Scalar(alloc0+0x0)) // + val: Value(Scalar(alloc0+0x0))
// mir::Constant // mir::Constant
// + span: $DIR/byte_slice.rs:5:13: 5:19 // + span: $DIR/byte_slice.rs:5:13: 5:19
// + literal: Const { ty: &[u8; 3], val: Value(Scalar(alloc0+0x0)) } // + literal: Const { ty: &[u8; 3], val: Value(Scalar(alloc0+0x0)) }
StorageLive(_2); // bb0[2]: scope 1 at $DIR/byte_slice.rs:6:9: 6:10 StorageLive(_2); // scope 1 at $DIR/byte_slice.rs:6:9: 6:10
_2 = [const 5u8, const 120u8]; // bb0[3]: scope 1 at $DIR/byte_slice.rs:6:13: 6:24 _2 = [const 5u8, const 120u8]; // scope 1 at $DIR/byte_slice.rs:6:13: 6:24
// ty::Const // ty::Const
// + ty: u8 // + ty: u8
// + val: Value(Scalar(0x05)) // + val: Value(Scalar(0x05))
@ -34,16 +34,16 @@ fn main() -> () {
// mir::Constant // mir::Constant
// + span: $DIR/byte_slice.rs:6:19: 6:23 // + span: $DIR/byte_slice.rs:6:19: 6:23
// + literal: Const { ty: u8, val: Value(Scalar(0x78)) } // + literal: Const { ty: u8, val: Value(Scalar(0x78)) }
_0 = const (); // bb0[4]: scope 0 at $DIR/byte_slice.rs:4:11: 7:2 _0 = const (); // scope 0 at $DIR/byte_slice.rs:4:11: 7:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/byte_slice.rs:4:11: 7:2 // + span: $DIR/byte_slice.rs:4:11: 7:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_2); // bb0[5]: scope 1 at $DIR/byte_slice.rs:7:1: 7:2 StorageDead(_2); // scope 1 at $DIR/byte_slice.rs:7:1: 7:2
StorageDead(_1); // bb0[6]: scope 0 at $DIR/byte_slice.rs:7:1: 7:2 StorageDead(_1); // scope 0 at $DIR/byte_slice.rs:7:1: 7:2
return; // bb0[7]: scope 0 at $DIR/byte_slice.rs:7:2: 7:2 return; // scope 0 at $DIR/byte_slice.rs:7:2: 7:2
} }
} }

View file

@ -26,76 +26,76 @@
} }
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/combine_array_len.rs:5:9: 5:10 StorageLive(_2); // scope 0 at $DIR/combine_array_len.rs:5:9: 5:10
StorageLive(_3); // bb0[1]: scope 0 at $DIR/combine_array_len.rs:5:15: 5:16 StorageLive(_3); // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
_3 = const 0usize; // bb0[2]: scope 0 at $DIR/combine_array_len.rs:5:15: 5:16 _3 = const 0usize; // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/combine_array_len.rs:5:15: 5:16 // + span: $DIR/combine_array_len.rs:5:15: 5:16
// + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) }
- _4 = Len(_1); // bb0[3]: scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 - _4 = Len(_1); // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
+ _4 = const 2usize; // bb0[3]: scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 + _4 = const 2usize; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
+ // ty::Const + // ty::Const
+ // + ty: usize + // + ty: usize
+ // + val: Value(Scalar(0x00000002)) + // + val: Value(Scalar(0x00000002))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/combine_array_len.rs:5:13: 5:17 + // + span: $DIR/combine_array_len.rs:5:13: 5:17
+ // + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) } + // + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) }
_5 = Lt(_3, _4); // bb0[4]: scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 _5 = Lt(_3, _4); // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // bb0[5]: scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
} }
bb1: { bb1: {
_2 = _1[_3]; // bb1[0]: scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 _2 = _1[_3]; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
StorageDead(_3); // bb1[1]: scope 0 at $DIR/combine_array_len.rs:5:17: 5:18 StorageDead(_3); // scope 0 at $DIR/combine_array_len.rs:5:17: 5:18
StorageLive(_6); // bb1[2]: scope 1 at $DIR/combine_array_len.rs:6:9: 6:10 StorageLive(_6); // scope 1 at $DIR/combine_array_len.rs:6:9: 6:10
StorageLive(_7); // bb1[3]: scope 1 at $DIR/combine_array_len.rs:6:15: 6:16 StorageLive(_7); // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
_7 = const 1usize; // bb1[4]: scope 1 at $DIR/combine_array_len.rs:6:15: 6:16 _7 = const 1usize; // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/combine_array_len.rs:6:15: 6:16 // + span: $DIR/combine_array_len.rs:6:15: 6:16
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
- _8 = Len(_1); // bb1[5]: scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 - _8 = Len(_1); // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
+ _8 = const 2usize; // bb1[5]: scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 + _8 = const 2usize; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
+ // ty::Const + // ty::Const
+ // + ty: usize + // + ty: usize
+ // + val: Value(Scalar(0x00000002)) + // + val: Value(Scalar(0x00000002))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/combine_array_len.rs:6:13: 6:17 + // + span: $DIR/combine_array_len.rs:6:13: 6:17
+ // + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) } + // + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) }
_9 = Lt(_7, _8); // bb1[6]: scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 _9 = Lt(_7, _8); // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
assert(move _9, "index out of bounds: the len is {} but the index is {}", move _8, _7) -> bb2; // bb1[7]: scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 assert(move _9, "index out of bounds: the len is {} but the index is {}", move _8, _7) -> bb2; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
} }
bb2: { bb2: {
_6 = _1[_7]; // bb2[0]: scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 _6 = _1[_7]; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
StorageDead(_7); // bb2[1]: scope 1 at $DIR/combine_array_len.rs:6:17: 6:18 StorageDead(_7); // scope 1 at $DIR/combine_array_len.rs:6:17: 6:18
StorageLive(_10); // bb2[2]: scope 2 at $DIR/combine_array_len.rs:7:5: 7:8 StorageLive(_10); // scope 2 at $DIR/combine_array_len.rs:7:5: 7:8
StorageLive(_11); // bb2[3]: scope 2 at $DIR/combine_array_len.rs:7:5: 7:6 StorageLive(_11); // scope 2 at $DIR/combine_array_len.rs:7:5: 7:6
_11 = _2; // bb2[4]: scope 2 at $DIR/combine_array_len.rs:7:5: 7:6 _11 = _2; // scope 2 at $DIR/combine_array_len.rs:7:5: 7:6
StorageLive(_12); // bb2[5]: scope 2 at $DIR/combine_array_len.rs:7:7: 7:8 StorageLive(_12); // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
_12 = _2; // bb2[6]: scope 2 at $DIR/combine_array_len.rs:7:7: 7:8 _12 = _2; // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
_10 = Mul(move _11, move _12); // bb2[7]: scope 2 at $DIR/combine_array_len.rs:7:5: 7:8 _10 = Mul(move _11, move _12); // scope 2 at $DIR/combine_array_len.rs:7:5: 7:8
StorageDead(_12); // bb2[8]: scope 2 at $DIR/combine_array_len.rs:7:7: 7:8 StorageDead(_12); // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
StorageDead(_11); // bb2[9]: scope 2 at $DIR/combine_array_len.rs:7:7: 7:8 StorageDead(_11); // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
StorageLive(_13); // bb2[10]: scope 2 at $DIR/combine_array_len.rs:7:11: 7:14 StorageLive(_13); // scope 2 at $DIR/combine_array_len.rs:7:11: 7:14
StorageLive(_14); // bb2[11]: scope 2 at $DIR/combine_array_len.rs:7:11: 7:12 StorageLive(_14); // scope 2 at $DIR/combine_array_len.rs:7:11: 7:12
_14 = _6; // bb2[12]: scope 2 at $DIR/combine_array_len.rs:7:11: 7:12 _14 = _6; // scope 2 at $DIR/combine_array_len.rs:7:11: 7:12
StorageLive(_15); // bb2[13]: scope 2 at $DIR/combine_array_len.rs:7:13: 7:14 StorageLive(_15); // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
_15 = _6; // bb2[14]: scope 2 at $DIR/combine_array_len.rs:7:13: 7:14 _15 = _6; // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
_13 = Mul(move _14, move _15); // bb2[15]: scope 2 at $DIR/combine_array_len.rs:7:11: 7:14 _13 = Mul(move _14, move _15); // scope 2 at $DIR/combine_array_len.rs:7:11: 7:14
StorageDead(_15); // bb2[16]: scope 2 at $DIR/combine_array_len.rs:7:13: 7:14 StorageDead(_15); // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
StorageDead(_14); // bb2[17]: scope 2 at $DIR/combine_array_len.rs:7:13: 7:14 StorageDead(_14); // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
_0 = Add(move _10, move _13); // bb2[18]: scope 2 at $DIR/combine_array_len.rs:7:5: 7:14 _0 = Add(move _10, move _13); // scope 2 at $DIR/combine_array_len.rs:7:5: 7:14
StorageDead(_13); // bb2[19]: scope 2 at $DIR/combine_array_len.rs:7:13: 7:14 StorageDead(_13); // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
StorageDead(_10); // bb2[20]: scope 2 at $DIR/combine_array_len.rs:7:13: 7:14 StorageDead(_10); // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
StorageDead(_6); // bb2[21]: scope 1 at $DIR/combine_array_len.rs:8:1: 8:2 StorageDead(_6); // scope 1 at $DIR/combine_array_len.rs:8:1: 8:2
StorageDead(_2); // bb2[22]: scope 0 at $DIR/combine_array_len.rs:8:1: 8:2 StorageDead(_2); // scope 0 at $DIR/combine_array_len.rs:8:1: 8:2
return; // bb2[23]: scope 0 at $DIR/combine_array_len.rs:8:2: 8:2 return; // scope 0 at $DIR/combine_array_len.rs:8:2: 8:2
} }
} }

View file

@ -26,76 +26,76 @@
} }
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/combine_array_len.rs:5:9: 5:10 StorageLive(_2); // scope 0 at $DIR/combine_array_len.rs:5:9: 5:10
StorageLive(_3); // bb0[1]: scope 0 at $DIR/combine_array_len.rs:5:15: 5:16 StorageLive(_3); // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
_3 = const 0usize; // bb0[2]: scope 0 at $DIR/combine_array_len.rs:5:15: 5:16 _3 = const 0usize; // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000000)) // + val: Value(Scalar(0x0000000000000000))
// mir::Constant // mir::Constant
// + span: $DIR/combine_array_len.rs:5:15: 5:16 // + span: $DIR/combine_array_len.rs:5:15: 5:16
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
- _4 = Len(_1); // bb0[3]: scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 - _4 = Len(_1); // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
+ _4 = const 2usize; // bb0[3]: scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 + _4 = const 2usize; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
+ // ty::Const + // ty::Const
+ // + ty: usize + // + ty: usize
+ // + val: Value(Scalar(0x0000000000000002)) + // + val: Value(Scalar(0x0000000000000002))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/combine_array_len.rs:5:13: 5:17 + // + span: $DIR/combine_array_len.rs:5:13: 5:17
+ // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) } + // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) }
_5 = Lt(_3, _4); // bb0[4]: scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 _5 = Lt(_3, _4); // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // bb0[5]: scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
} }
bb1: { bb1: {
_2 = _1[_3]; // bb1[0]: scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 _2 = _1[_3]; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
StorageDead(_3); // bb1[1]: scope 0 at $DIR/combine_array_len.rs:5:17: 5:18 StorageDead(_3); // scope 0 at $DIR/combine_array_len.rs:5:17: 5:18
StorageLive(_6); // bb1[2]: scope 1 at $DIR/combine_array_len.rs:6:9: 6:10 StorageLive(_6); // scope 1 at $DIR/combine_array_len.rs:6:9: 6:10
StorageLive(_7); // bb1[3]: scope 1 at $DIR/combine_array_len.rs:6:15: 6:16 StorageLive(_7); // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
_7 = const 1usize; // bb1[4]: scope 1 at $DIR/combine_array_len.rs:6:15: 6:16 _7 = const 1usize; // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000001)) // + val: Value(Scalar(0x0000000000000001))
// mir::Constant // mir::Constant
// + span: $DIR/combine_array_len.rs:6:15: 6:16 // + span: $DIR/combine_array_len.rs:6:15: 6:16
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
- _8 = Len(_1); // bb1[5]: scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 - _8 = Len(_1); // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
+ _8 = const 2usize; // bb1[5]: scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 + _8 = const 2usize; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
+ // ty::Const + // ty::Const
+ // + ty: usize + // + ty: usize
+ // + val: Value(Scalar(0x0000000000000002)) + // + val: Value(Scalar(0x0000000000000002))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/combine_array_len.rs:6:13: 6:17 + // + span: $DIR/combine_array_len.rs:6:13: 6:17
+ // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) } + // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) }
_9 = Lt(_7, _8); // bb1[6]: scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 _9 = Lt(_7, _8); // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
assert(move _9, "index out of bounds: the len is {} but the index is {}", move _8, _7) -> bb2; // bb1[7]: scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 assert(move _9, "index out of bounds: the len is {} but the index is {}", move _8, _7) -> bb2; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
} }
bb2: { bb2: {
_6 = _1[_7]; // bb2[0]: scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 _6 = _1[_7]; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
StorageDead(_7); // bb2[1]: scope 1 at $DIR/combine_array_len.rs:6:17: 6:18 StorageDead(_7); // scope 1 at $DIR/combine_array_len.rs:6:17: 6:18
StorageLive(_10); // bb2[2]: scope 2 at $DIR/combine_array_len.rs:7:5: 7:8 StorageLive(_10); // scope 2 at $DIR/combine_array_len.rs:7:5: 7:8
StorageLive(_11); // bb2[3]: scope 2 at $DIR/combine_array_len.rs:7:5: 7:6 StorageLive(_11); // scope 2 at $DIR/combine_array_len.rs:7:5: 7:6
_11 = _2; // bb2[4]: scope 2 at $DIR/combine_array_len.rs:7:5: 7:6 _11 = _2; // scope 2 at $DIR/combine_array_len.rs:7:5: 7:6
StorageLive(_12); // bb2[5]: scope 2 at $DIR/combine_array_len.rs:7:7: 7:8 StorageLive(_12); // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
_12 = _2; // bb2[6]: scope 2 at $DIR/combine_array_len.rs:7:7: 7:8 _12 = _2; // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
_10 = Mul(move _11, move _12); // bb2[7]: scope 2 at $DIR/combine_array_len.rs:7:5: 7:8 _10 = Mul(move _11, move _12); // scope 2 at $DIR/combine_array_len.rs:7:5: 7:8
StorageDead(_12); // bb2[8]: scope 2 at $DIR/combine_array_len.rs:7:7: 7:8 StorageDead(_12); // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
StorageDead(_11); // bb2[9]: scope 2 at $DIR/combine_array_len.rs:7:7: 7:8 StorageDead(_11); // scope 2 at $DIR/combine_array_len.rs:7:7: 7:8
StorageLive(_13); // bb2[10]: scope 2 at $DIR/combine_array_len.rs:7:11: 7:14 StorageLive(_13); // scope 2 at $DIR/combine_array_len.rs:7:11: 7:14
StorageLive(_14); // bb2[11]: scope 2 at $DIR/combine_array_len.rs:7:11: 7:12 StorageLive(_14); // scope 2 at $DIR/combine_array_len.rs:7:11: 7:12
_14 = _6; // bb2[12]: scope 2 at $DIR/combine_array_len.rs:7:11: 7:12 _14 = _6; // scope 2 at $DIR/combine_array_len.rs:7:11: 7:12
StorageLive(_15); // bb2[13]: scope 2 at $DIR/combine_array_len.rs:7:13: 7:14 StorageLive(_15); // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
_15 = _6; // bb2[14]: scope 2 at $DIR/combine_array_len.rs:7:13: 7:14 _15 = _6; // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
_13 = Mul(move _14, move _15); // bb2[15]: scope 2 at $DIR/combine_array_len.rs:7:11: 7:14 _13 = Mul(move _14, move _15); // scope 2 at $DIR/combine_array_len.rs:7:11: 7:14
StorageDead(_15); // bb2[16]: scope 2 at $DIR/combine_array_len.rs:7:13: 7:14 StorageDead(_15); // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
StorageDead(_14); // bb2[17]: scope 2 at $DIR/combine_array_len.rs:7:13: 7:14 StorageDead(_14); // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
_0 = Add(move _10, move _13); // bb2[18]: scope 2 at $DIR/combine_array_len.rs:7:5: 7:14 _0 = Add(move _10, move _13); // scope 2 at $DIR/combine_array_len.rs:7:5: 7:14
StorageDead(_13); // bb2[19]: scope 2 at $DIR/combine_array_len.rs:7:13: 7:14 StorageDead(_13); // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
StorageDead(_10); // bb2[20]: scope 2 at $DIR/combine_array_len.rs:7:13: 7:14 StorageDead(_10); // scope 2 at $DIR/combine_array_len.rs:7:13: 7:14
StorageDead(_6); // bb2[21]: scope 1 at $DIR/combine_array_len.rs:8:1: 8:2 StorageDead(_6); // scope 1 at $DIR/combine_array_len.rs:8:1: 8:2
StorageDead(_2); // bb2[22]: scope 0 at $DIR/combine_array_len.rs:8:1: 8:2 StorageDead(_2); // scope 0 at $DIR/combine_array_len.rs:8:1: 8:2
return; // bb2[23]: scope 0 at $DIR/combine_array_len.rs:8:2: 8:2 return; // scope 0 at $DIR/combine_array_len.rs:8:2: 8:2
} }
} }

View file

@ -7,17 +7,17 @@ promoted[0] in BAR: &[&i32; 1] = {
let mut _3: &i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34 let mut _3: &i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34
bb0: { bb0: {
_3 = const {alloc0+0x0: &i32}; // bb0[0]: scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34 _3 = const {alloc0+0x0: &i32}; // scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34
// ty::Const // ty::Const
// + ty: &i32 // + ty: &i32
// + val: Value(Scalar(alloc0+0x0)) // + val: Value(Scalar(alloc0+0x0))
// mir::Constant // mir::Constant
// + span: $DIR/const-promotion-extern-static.rs:9:33: 9:34 // + span: $DIR/const-promotion-extern-static.rs:9:33: 9:34
// + literal: Const { ty: &i32, val: Value(Scalar(alloc0+0x0)) } // + literal: Const { ty: &i32, val: Value(Scalar(alloc0+0x0)) }
_2 = _3; // bb0[1]: scope 0 at $DIR/const-promotion-extern-static.rs:9:32: 9:34 _2 = _3; // scope 0 at $DIR/const-promotion-extern-static.rs:9:32: 9:34
_1 = [move _2]; // bb0[2]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35 _1 = [move _2]; // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
_0 = &_1; // bb0[3]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35 _0 = &_1; // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
return; // bb0[4]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35 return; // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
} }
} }

View file

@ -11,13 +11,13 @@
+ let mut _6: &[&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35 + let mut _6: &[&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35 StorageLive(_1); // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
StorageLive(_2); // bb0[1]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35 StorageLive(_2); // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
- StorageLive(_3); // bb0[2]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35 - StorageLive(_3); // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
- StorageLive(_4); // bb0[3]: scope 0 at $DIR/const-promotion-extern-static.rs:9:32: 9:34 - StorageLive(_4); // scope 0 at $DIR/const-promotion-extern-static.rs:9:32: 9:34
- StorageLive(_5); // bb0[4]: scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34 - StorageLive(_5); // scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34
- _5 = const {alloc0+0x0: &i32}; // bb0[5]: scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34 - _5 = const {alloc0+0x0: &i32}; // scope 0 at $DIR/const-promotion-extern-static.rs:9:33: 9:34
+ _6 = const BAR::promoted[0]; // bb0[2]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35 + _6 = const BAR::promoted[0]; // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
// ty::Const // ty::Const
- // + ty: &i32 - // + ty: &i32
- // + val: Value(Scalar(alloc0+0x0)) - // + val: Value(Scalar(alloc0+0x0))
@ -26,16 +26,14 @@
// mir::Constant // mir::Constant
- // + span: $DIR/const-promotion-extern-static.rs:9:33: 9:34 - // + span: $DIR/const-promotion-extern-static.rs:9:33: 9:34
- // + literal: Const { ty: &i32, val: Value(Scalar(alloc0+0x0)) } - // + literal: Const { ty: &i32, val: Value(Scalar(alloc0+0x0)) }
- _4 = &(*_5); // bb0[6]: scope 0 at $DIR/const-promotion-extern-static.rs:9:32: 9:34 - _4 = &(*_5); // scope 0 at $DIR/const-promotion-extern-static.rs:9:32: 9:34
- _3 = [move _4]; // bb0[7]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35 - _3 = [move _4]; // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
- _2 = &_3; // bb0[8]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35 - _2 = &_3; // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
- _1 = move _2 as &[&i32] (Pointer(Unsize)); // bb0[9]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
- _0 = const core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb2, unwind: bb1]; // bb0[10]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
+ // + span: $DIR/const-promotion-extern-static.rs:9:31: 9:35 + // + span: $DIR/const-promotion-extern-static.rs:9:31: 9:35
+ // + literal: Const { ty: &[&i32; 1], val: Unevaluated(DefId(0:6 ~ const_promotion_extern_static[317d]::BAR[0]), [], Some(promoted[0])) } + // + literal: Const { ty: &[&i32; 1], val: Unevaluated(DefId(0:6 ~ const_promotion_extern_static[317d]::BAR[0]), [], Some(promoted[0])) }
+ _2 = &(*_6); // bb0[3]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35 + _2 = &(*_6); // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
+ _1 = move _2 as &[&i32] (Pointer(Unsize)); // bb0[4]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35 _1 = move _2 as &[&i32] (Pointer(Unsize)); // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:35
+ _0 = const core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb2, unwind: bb1]; // bb0[5]: scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44 _0 = const core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb2, unwind: bb1]; // scope 0 at $DIR/const-promotion-extern-static.rs:9:31: 9:44
// ty::Const // ty::Const
// + ty: for<'r> fn(&'r [&i32]) -> *const &i32 {core::slice::<impl [&i32]>::as_ptr} // + ty: for<'r> fn(&'r [&i32]) -> *const &i32 {core::slice::<impl [&i32]>::as_ptr}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -45,14 +43,13 @@
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/const-promotion-extern-static.rs:9:1: 9:45 resume; // scope 0 at $DIR/const-promotion-extern-static.rs:9:1: 9:45
} }
bb2: { bb2: {
- StorageDead(_5); // bb2[0]: scope 0 at $DIR/const-promotion-extern-static.rs:9:43: 9:44 - StorageDead(_5); // scope 0 at $DIR/const-promotion-extern-static.rs:9:43: 9:44
- StorageDead(_3); // bb2[1]: scope 0 at $DIR/const-promotion-extern-static.rs:9:43: 9:44 - StorageDead(_3); // scope 0 at $DIR/const-promotion-extern-static.rs:9:43: 9:44
- return; // bb2[2]: scope 0 at $DIR/const-promotion-extern-static.rs:9:1: 9:45 return; // scope 0 at $DIR/const-promotion-extern-static.rs:9:1: 9:45
+ return; // bb2[0]: scope 0 at $DIR/const-promotion-extern-static.rs:9:1: 9:45
} }
- } - }
- -

View file

@ -9,17 +9,17 @@ promoted[0] in FOO: &[&i32; 1] = {
} }
bb0: { bb0: {
_3 = const {alloc2+0x0: &i32}; // bb0[0]: scope 0 at $DIR/const-promotion-extern-static.rs:13:42: 13:43 _3 = const {alloc2+0x0: &i32}; // scope 0 at $DIR/const-promotion-extern-static.rs:13:42: 13:43
// ty::Const // ty::Const
// + ty: &i32 // + ty: &i32
// + val: Value(Scalar(alloc2+0x0)) // + val: Value(Scalar(alloc2+0x0))
// mir::Constant // mir::Constant
// + span: $DIR/const-promotion-extern-static.rs:13:42: 13:43 // + span: $DIR/const-promotion-extern-static.rs:13:42: 13:43
// + literal: Const { ty: &i32, val: Value(Scalar(alloc2+0x0)) } // + literal: Const { ty: &i32, val: Value(Scalar(alloc2+0x0)) }
_2 = _3; // bb0[1]: scope 0 at $DIR/const-promotion-extern-static.rs:13:41: 13:43 _2 = _3; // scope 0 at $DIR/const-promotion-extern-static.rs:13:41: 13:43
_1 = [move _2]; // bb0[2]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 _1 = [move _2]; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
_0 = &_1; // bb0[3]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 _0 = &_1; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
return; // bb0[4]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 return; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
} }
} }

View file

@ -13,13 +13,13 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 StorageLive(_1); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
StorageLive(_2); // bb0[1]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 StorageLive(_2); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
- StorageLive(_3); // bb0[2]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 - StorageLive(_3); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
- StorageLive(_4); // bb0[3]: scope 0 at $DIR/const-promotion-extern-static.rs:13:32: 13:45 - StorageLive(_4); // scope 0 at $DIR/const-promotion-extern-static.rs:13:32: 13:45
- StorageLive(_5); // bb0[4]: scope 1 at $DIR/const-promotion-extern-static.rs:13:42: 13:43 - StorageLive(_5); // scope 1 at $DIR/const-promotion-extern-static.rs:13:42: 13:43
- _5 = const {alloc2+0x0: &i32}; // bb0[5]: scope 1 at $DIR/const-promotion-extern-static.rs:13:42: 13:43 - _5 = const {alloc2+0x0: &i32}; // scope 1 at $DIR/const-promotion-extern-static.rs:13:42: 13:43
+ _6 = const FOO::promoted[0]; // bb0[2]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 + _6 = const FOO::promoted[0]; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
// ty::Const // ty::Const
- // + ty: &i32 - // + ty: &i32
- // + val: Value(Scalar(alloc2+0x0)) - // + val: Value(Scalar(alloc2+0x0))
@ -28,16 +28,14 @@
// mir::Constant // mir::Constant
- // + span: $DIR/const-promotion-extern-static.rs:13:42: 13:43 - // + span: $DIR/const-promotion-extern-static.rs:13:42: 13:43
- // + literal: Const { ty: &i32, val: Value(Scalar(alloc2+0x0)) } - // + literal: Const { ty: &i32, val: Value(Scalar(alloc2+0x0)) }
- _4 = &(*_5); // bb0[6]: scope 1 at $DIR/const-promotion-extern-static.rs:13:41: 13:43 - _4 = &(*_5); // scope 1 at $DIR/const-promotion-extern-static.rs:13:41: 13:43
- _3 = [move _4]; // bb0[7]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 - _3 = [move _4]; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
- _2 = &_3; // bb0[8]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 - _2 = &_3; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
- _1 = move _2 as &[&i32] (Pointer(Unsize)); // bb0[9]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
- _0 = const core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb2, unwind: bb1]; // bb0[10]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
+ // + span: $DIR/const-promotion-extern-static.rs:13:31: 13:46 + // + span: $DIR/const-promotion-extern-static.rs:13:31: 13:46
+ // + literal: Const { ty: &[&i32; 1], val: Unevaluated(DefId(0:7 ~ const_promotion_extern_static[317d]::FOO[0]), [], Some(promoted[0])) } + // + literal: Const { ty: &[&i32; 1], val: Unevaluated(DefId(0:7 ~ const_promotion_extern_static[317d]::FOO[0]), [], Some(promoted[0])) }
+ _2 = &(*_6); // bb0[3]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 + _2 = &(*_6); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
+ _1 = move _2 as &[&i32] (Pointer(Unsize)); // bb0[4]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 _1 = move _2 as &[&i32] (Pointer(Unsize)); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46
+ _0 = const core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb2, unwind: bb1]; // bb0[5]: scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 _0 = const core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb2, unwind: bb1]; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
// ty::Const // ty::Const
// + ty: for<'r> fn(&'r [&i32]) -> *const &i32 {core::slice::<impl [&i32]>::as_ptr} // + ty: for<'r> fn(&'r [&i32]) -> *const &i32 {core::slice::<impl [&i32]>::as_ptr}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -47,14 +45,13 @@
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/const-promotion-extern-static.rs:13:1: 13:56 resume; // scope 0 at $DIR/const-promotion-extern-static.rs:13:1: 13:56
} }
bb2: { bb2: {
- StorageDead(_5); // bb2[0]: scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55 - StorageDead(_5); // scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55
- StorageDead(_3); // bb2[1]: scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55 - StorageDead(_3); // scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55
- return; // bb2[2]: scope 0 at $DIR/const-promotion-extern-static.rs:13:1: 13:56 return; // scope 0 at $DIR/const-promotion-extern-static.rs:13:1: 13:56
+ return; // bb2[0]: scope 0 at $DIR/const-promotion-extern-static.rs:13:1: 13:56
} }
} }
- -

View file

@ -6,26 +6,26 @@ fn main() -> () {
let mut _2: &&[(std::option::Option<i32>, &[&str])]; // in scope 0 at $DIR/const_allocation.rs:8:5: 8:8 let mut _2: &&[(std::option::Option<i32>, &[&str])]; // in scope 0 at $DIR/const_allocation.rs:8:5: 8:8
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/const_allocation.rs:8:5: 8:8 StorageLive(_1); // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
StorageLive(_2); // bb0[1]: scope 0 at $DIR/const_allocation.rs:8:5: 8:8 StorageLive(_2); // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
_2 = const {alloc0+0x0: &&[(std::option::Option<i32>, &[&str])]}; // bb0[2]: scope 0 at $DIR/const_allocation.rs:8:5: 8:8 _2 = const {alloc0+0x0: &&[(std::option::Option<i32>, &[&str])]}; // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
// ty::Const // ty::Const
// + ty: &&[(std::option::Option<i32>, &[&str])] // + ty: &&[(std::option::Option<i32>, &[&str])]
// + val: Value(Scalar(alloc0+0x0)) // + val: Value(Scalar(alloc0+0x0))
// mir::Constant // mir::Constant
// + span: $DIR/const_allocation.rs:8:5: 8:8 // + span: $DIR/const_allocation.rs:8:5: 8:8
// + literal: Const { ty: &&[(std::option::Option<i32>, &[&str])], val: Value(Scalar(alloc0+0x0)) } // + literal: Const { ty: &&[(std::option::Option<i32>, &[&str])], val: Value(Scalar(alloc0+0x0)) }
_1 = (*_2); // bb0[3]: scope 0 at $DIR/const_allocation.rs:8:5: 8:8 _1 = (*_2); // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
StorageDead(_2); // bb0[4]: scope 0 at $DIR/const_allocation.rs:8:8: 8:9 StorageDead(_2); // scope 0 at $DIR/const_allocation.rs:8:8: 8:9
StorageDead(_1); // bb0[5]: scope 0 at $DIR/const_allocation.rs:8:8: 8:9 StorageDead(_1); // scope 0 at $DIR/const_allocation.rs:8:8: 8:9
_0 = const (); // bb0[6]: scope 0 at $DIR/const_allocation.rs:7:11: 9:2 _0 = const (); // scope 0 at $DIR/const_allocation.rs:7:11: 9:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/const_allocation.rs:7:11: 9:2 // + span: $DIR/const_allocation.rs:7:11: 9:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb0[7]: scope 0 at $DIR/const_allocation.rs:9:2: 9:2 return; // scope 0 at $DIR/const_allocation.rs:9:2: 9:2
} }
} }

View file

@ -6,26 +6,26 @@ fn main() -> () {
let mut _2: &&[(std::option::Option<i32>, &[&str])]; // in scope 0 at $DIR/const_allocation.rs:8:5: 8:8 let mut _2: &&[(std::option::Option<i32>, &[&str])]; // in scope 0 at $DIR/const_allocation.rs:8:5: 8:8
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/const_allocation.rs:8:5: 8:8 StorageLive(_1); // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
StorageLive(_2); // bb0[1]: scope 0 at $DIR/const_allocation.rs:8:5: 8:8 StorageLive(_2); // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
_2 = const {alloc0+0x0: &&[(std::option::Option<i32>, &[&str])]}; // bb0[2]: scope 0 at $DIR/const_allocation.rs:8:5: 8:8 _2 = const {alloc0+0x0: &&[(std::option::Option<i32>, &[&str])]}; // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
// ty::Const // ty::Const
// + ty: &&[(std::option::Option<i32>, &[&str])] // + ty: &&[(std::option::Option<i32>, &[&str])]
// + val: Value(Scalar(alloc0+0x0)) // + val: Value(Scalar(alloc0+0x0))
// mir::Constant // mir::Constant
// + span: $DIR/const_allocation.rs:8:5: 8:8 // + span: $DIR/const_allocation.rs:8:5: 8:8
// + literal: Const { ty: &&[(std::option::Option<i32>, &[&str])], val: Value(Scalar(alloc0+0x0)) } // + literal: Const { ty: &&[(std::option::Option<i32>, &[&str])], val: Value(Scalar(alloc0+0x0)) }
_1 = (*_2); // bb0[3]: scope 0 at $DIR/const_allocation.rs:8:5: 8:8 _1 = (*_2); // scope 0 at $DIR/const_allocation.rs:8:5: 8:8
StorageDead(_2); // bb0[4]: scope 0 at $DIR/const_allocation.rs:8:8: 8:9 StorageDead(_2); // scope 0 at $DIR/const_allocation.rs:8:8: 8:9
StorageDead(_1); // bb0[5]: scope 0 at $DIR/const_allocation.rs:8:8: 8:9 StorageDead(_1); // scope 0 at $DIR/const_allocation.rs:8:8: 8:9
_0 = const (); // bb0[6]: scope 0 at $DIR/const_allocation.rs:7:11: 9:2 _0 = const (); // scope 0 at $DIR/const_allocation.rs:7:11: 9:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/const_allocation.rs:7:11: 9:2 // + span: $DIR/const_allocation.rs:7:11: 9:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb0[7]: scope 0 at $DIR/const_allocation.rs:9:2: 9:2 return; // scope 0 at $DIR/const_allocation.rs:9:2: 9:2
} }
} }

View file

@ -6,26 +6,26 @@ fn main() -> () {
let mut _2: &&[(std::option::Option<i32>, &[&u8])]; // in scope 0 at $DIR/const_allocation2.rs:5:5: 5:8 let mut _2: &&[(std::option::Option<i32>, &[&u8])]; // in scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/const_allocation2.rs:5:5: 5:8 StorageLive(_1); // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
StorageLive(_2); // bb0[1]: scope 0 at $DIR/const_allocation2.rs:5:5: 5:8 StorageLive(_2); // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
_2 = const {alloc0+0x0: &&[(std::option::Option<i32>, &[&u8])]}; // bb0[2]: scope 0 at $DIR/const_allocation2.rs:5:5: 5:8 _2 = const {alloc0+0x0: &&[(std::option::Option<i32>, &[&u8])]}; // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
// ty::Const // ty::Const
// + ty: &&[(std::option::Option<i32>, &[&u8])] // + ty: &&[(std::option::Option<i32>, &[&u8])]
// + val: Value(Scalar(alloc0+0x0)) // + val: Value(Scalar(alloc0+0x0))
// mir::Constant // mir::Constant
// + span: $DIR/const_allocation2.rs:5:5: 5:8 // + span: $DIR/const_allocation2.rs:5:5: 5:8
// + literal: Const { ty: &&[(std::option::Option<i32>, &[&u8])], val: Value(Scalar(alloc0+0x0)) } // + literal: Const { ty: &&[(std::option::Option<i32>, &[&u8])], val: Value(Scalar(alloc0+0x0)) }
_1 = (*_2); // bb0[3]: scope 0 at $DIR/const_allocation2.rs:5:5: 5:8 _1 = (*_2); // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
StorageDead(_2); // bb0[4]: scope 0 at $DIR/const_allocation2.rs:5:8: 5:9 StorageDead(_2); // scope 0 at $DIR/const_allocation2.rs:5:8: 5:9
StorageDead(_1); // bb0[5]: scope 0 at $DIR/const_allocation2.rs:5:8: 5:9 StorageDead(_1); // scope 0 at $DIR/const_allocation2.rs:5:8: 5:9
_0 = const (); // bb0[6]: scope 0 at $DIR/const_allocation2.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/const_allocation2.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/const_allocation2.rs:4:11: 6:2 // + span: $DIR/const_allocation2.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb0[7]: scope 0 at $DIR/const_allocation2.rs:6:2: 6:2 return; // scope 0 at $DIR/const_allocation2.rs:6:2: 6:2
} }
} }

View file

@ -6,26 +6,26 @@ fn main() -> () {
let mut _2: &&[(std::option::Option<i32>, &[&u8])]; // in scope 0 at $DIR/const_allocation2.rs:5:5: 5:8 let mut _2: &&[(std::option::Option<i32>, &[&u8])]; // in scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/const_allocation2.rs:5:5: 5:8 StorageLive(_1); // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
StorageLive(_2); // bb0[1]: scope 0 at $DIR/const_allocation2.rs:5:5: 5:8 StorageLive(_2); // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
_2 = const {alloc0+0x0: &&[(std::option::Option<i32>, &[&u8])]}; // bb0[2]: scope 0 at $DIR/const_allocation2.rs:5:5: 5:8 _2 = const {alloc0+0x0: &&[(std::option::Option<i32>, &[&u8])]}; // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
// ty::Const // ty::Const
// + ty: &&[(std::option::Option<i32>, &[&u8])] // + ty: &&[(std::option::Option<i32>, &[&u8])]
// + val: Value(Scalar(alloc0+0x0)) // + val: Value(Scalar(alloc0+0x0))
// mir::Constant // mir::Constant
// + span: $DIR/const_allocation2.rs:5:5: 5:8 // + span: $DIR/const_allocation2.rs:5:5: 5:8
// + literal: Const { ty: &&[(std::option::Option<i32>, &[&u8])], val: Value(Scalar(alloc0+0x0)) } // + literal: Const { ty: &&[(std::option::Option<i32>, &[&u8])], val: Value(Scalar(alloc0+0x0)) }
_1 = (*_2); // bb0[3]: scope 0 at $DIR/const_allocation2.rs:5:5: 5:8 _1 = (*_2); // scope 0 at $DIR/const_allocation2.rs:5:5: 5:8
StorageDead(_2); // bb0[4]: scope 0 at $DIR/const_allocation2.rs:5:8: 5:9 StorageDead(_2); // scope 0 at $DIR/const_allocation2.rs:5:8: 5:9
StorageDead(_1); // bb0[5]: scope 0 at $DIR/const_allocation2.rs:5:8: 5:9 StorageDead(_1); // scope 0 at $DIR/const_allocation2.rs:5:8: 5:9
_0 = const (); // bb0[6]: scope 0 at $DIR/const_allocation2.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/const_allocation2.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/const_allocation2.rs:4:11: 6:2 // + span: $DIR/const_allocation2.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb0[7]: scope 0 at $DIR/const_allocation2.rs:6:2: 6:2 return; // scope 0 at $DIR/const_allocation2.rs:6:2: 6:2
} }
} }

View file

@ -6,26 +6,26 @@ fn main() -> () {
let mut _2: &&Packed; // in scope 0 at $DIR/const_allocation3.rs:5:5: 5:8 let mut _2: &&Packed; // in scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/const_allocation3.rs:5:5: 5:8 StorageLive(_1); // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
StorageLive(_2); // bb0[1]: scope 0 at $DIR/const_allocation3.rs:5:5: 5:8 StorageLive(_2); // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
_2 = const {alloc0+0x0: &&Packed}; // bb0[2]: scope 0 at $DIR/const_allocation3.rs:5:5: 5:8 _2 = const {alloc0+0x0: &&Packed}; // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
// ty::Const // ty::Const
// + ty: &&Packed // + ty: &&Packed
// + val: Value(Scalar(alloc0+0x0)) // + val: Value(Scalar(alloc0+0x0))
// mir::Constant // mir::Constant
// + span: $DIR/const_allocation3.rs:5:5: 5:8 // + span: $DIR/const_allocation3.rs:5:5: 5:8
// + literal: Const { ty: &&Packed, val: Value(Scalar(alloc0+0x0)) } // + literal: Const { ty: &&Packed, val: Value(Scalar(alloc0+0x0)) }
_1 = (*_2); // bb0[3]: scope 0 at $DIR/const_allocation3.rs:5:5: 5:8 _1 = (*_2); // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
StorageDead(_2); // bb0[4]: scope 0 at $DIR/const_allocation3.rs:5:8: 5:9 StorageDead(_2); // scope 0 at $DIR/const_allocation3.rs:5:8: 5:9
StorageDead(_1); // bb0[5]: scope 0 at $DIR/const_allocation3.rs:5:8: 5:9 StorageDead(_1); // scope 0 at $DIR/const_allocation3.rs:5:8: 5:9
_0 = const (); // bb0[6]: scope 0 at $DIR/const_allocation3.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/const_allocation3.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/const_allocation3.rs:4:11: 6:2 // + span: $DIR/const_allocation3.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb0[7]: scope 0 at $DIR/const_allocation3.rs:6:2: 6:2 return; // scope 0 at $DIR/const_allocation3.rs:6:2: 6:2
} }
} }

View file

@ -6,26 +6,26 @@ fn main() -> () {
let mut _2: &&Packed; // in scope 0 at $DIR/const_allocation3.rs:5:5: 5:8 let mut _2: &&Packed; // in scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/const_allocation3.rs:5:5: 5:8 StorageLive(_1); // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
StorageLive(_2); // bb0[1]: scope 0 at $DIR/const_allocation3.rs:5:5: 5:8 StorageLive(_2); // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
_2 = const {alloc0+0x0: &&Packed}; // bb0[2]: scope 0 at $DIR/const_allocation3.rs:5:5: 5:8 _2 = const {alloc0+0x0: &&Packed}; // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
// ty::Const // ty::Const
// + ty: &&Packed // + ty: &&Packed
// + val: Value(Scalar(alloc0+0x0)) // + val: Value(Scalar(alloc0+0x0))
// mir::Constant // mir::Constant
// + span: $DIR/const_allocation3.rs:5:5: 5:8 // + span: $DIR/const_allocation3.rs:5:5: 5:8
// + literal: Const { ty: &&Packed, val: Value(Scalar(alloc0+0x0)) } // + literal: Const { ty: &&Packed, val: Value(Scalar(alloc0+0x0)) }
_1 = (*_2); // bb0[3]: scope 0 at $DIR/const_allocation3.rs:5:5: 5:8 _1 = (*_2); // scope 0 at $DIR/const_allocation3.rs:5:5: 5:8
StorageDead(_2); // bb0[4]: scope 0 at $DIR/const_allocation3.rs:5:8: 5:9 StorageDead(_2); // scope 0 at $DIR/const_allocation3.rs:5:8: 5:9
StorageDead(_1); // bb0[5]: scope 0 at $DIR/const_allocation3.rs:5:8: 5:9 StorageDead(_1); // scope 0 at $DIR/const_allocation3.rs:5:8: 5:9
_0 = const (); // bb0[6]: scope 0 at $DIR/const_allocation3.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/const_allocation3.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/const_allocation3.rs:4:11: 6:2 // + span: $DIR/const_allocation3.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb0[7]: scope 0 at $DIR/const_allocation3.rs:6:2: 6:2 return; // scope 0 at $DIR/const_allocation3.rs:6:2: 6:2
} }
} }

View file

@ -11,10 +11,10 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/aggregate.rs:5:9: 5:10 StorageLive(_1); // scope 0 at $DIR/aggregate.rs:5:9: 5:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/aggregate.rs:5:13: 5:24 StorageLive(_2); // scope 0 at $DIR/aggregate.rs:5:13: 5:24
StorageLive(_3); // bb0[2]: scope 0 at $DIR/aggregate.rs:5:13: 5:22 StorageLive(_3); // scope 0 at $DIR/aggregate.rs:5:13: 5:22
_3 = (const 0i32, const 1i32, const 2i32); // bb0[3]: scope 0 at $DIR/aggregate.rs:5:13: 5:22 _3 = (const 0i32, const 1i32, const 2i32); // scope 0 at $DIR/aggregate.rs:5:13: 5:22
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
@ -33,9 +33,9 @@
// mir::Constant // mir::Constant
// + span: $DIR/aggregate.rs:5:20: 5:21 // + span: $DIR/aggregate.rs:5:20: 5:21
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
- _2 = (_3.1: i32); // bb0[4]: scope 0 at $DIR/aggregate.rs:5:13: 5:24 - _2 = (_3.1: i32); // scope 0 at $DIR/aggregate.rs:5:13: 5:24
- _1 = Add(move _2, const 0i32); // bb0[5]: scope 0 at $DIR/aggregate.rs:5:13: 5:28 - _1 = Add(move _2, const 0i32); // scope 0 at $DIR/aggregate.rs:5:13: 5:28
+ _2 = const 1i32; // bb0[4]: scope 0 at $DIR/aggregate.rs:5:13: 5:24 + _2 = const 1i32; // scope 0 at $DIR/aggregate.rs:5:13: 5:24
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
- // + val: Value(Scalar(0x00000000)) - // + val: Value(Scalar(0x00000000))
@ -45,24 +45,24 @@
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) } - // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) }
+ // + span: $DIR/aggregate.rs:5:13: 5:24 + // + span: $DIR/aggregate.rs:5:13: 5:24
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } + // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
+ _1 = const 1i32; // bb0[5]: scope 0 at $DIR/aggregate.rs:5:13: 5:28 + _1 = const 1i32; // scope 0 at $DIR/aggregate.rs:5:13: 5:28
+ // ty::Const + // ty::Const
+ // + ty: i32 + // + ty: i32
+ // + val: Value(Scalar(0x00000001)) + // + val: Value(Scalar(0x00000001))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/aggregate.rs:5:13: 5:28 + // + span: $DIR/aggregate.rs:5:13: 5:28
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } + // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
StorageDead(_2); // bb0[6]: scope 0 at $DIR/aggregate.rs:5:27: 5:28 StorageDead(_2); // scope 0 at $DIR/aggregate.rs:5:27: 5:28
StorageDead(_3); // bb0[7]: scope 0 at $DIR/aggregate.rs:5:28: 5:29 StorageDead(_3); // scope 0 at $DIR/aggregate.rs:5:28: 5:29
_0 = const (); // bb0[8]: scope 0 at $DIR/aggregate.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/aggregate.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/aggregate.rs:4:11: 6:2 // + span: $DIR/aggregate.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb0[9]: scope 0 at $DIR/aggregate.rs:6:1: 6:2 StorageDead(_1); // scope 0 at $DIR/aggregate.rs:6:1: 6:2
return; // bb0[10]: scope 0 at $DIR/aggregate.rs:6:2: 6:2 return; // scope 0 at $DIR/aggregate.rs:6:2: 6:2
} }
} }

View file

@ -13,9 +13,9 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/array_index.rs:5:9: 5:10 StorageLive(_1); // scope 0 at $DIR/array_index.rs:5:9: 5:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/array_index.rs:5:18: 5:30 StorageLive(_2); // scope 0 at $DIR/array_index.rs:5:18: 5:30
_2 = [const 0u32, const 1u32, const 2u32, const 3u32]; // bb0[2]: scope 0 at $DIR/array_index.rs:5:18: 5:30 _2 = [const 0u32, const 1u32, const 2u32, const 3u32]; // scope 0 at $DIR/array_index.rs:5:18: 5:30
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
@ -40,31 +40,31 @@
// mir::Constant // mir::Constant
// + span: $DIR/array_index.rs:5:28: 5:29 // + span: $DIR/array_index.rs:5:28: 5:29
// + literal: Const { ty: u32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: u32, val: Value(Scalar(0x00000003)) }
StorageLive(_3); // bb0[3]: scope 0 at $DIR/array_index.rs:5:31: 5:32 StorageLive(_3); // scope 0 at $DIR/array_index.rs:5:31: 5:32
_3 = const 2usize; // bb0[4]: scope 0 at $DIR/array_index.rs:5:31: 5:32 _3 = const 2usize; // scope 0 at $DIR/array_index.rs:5:31: 5:32
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000002)) // + val: Value(Scalar(0x00000002))
// mir::Constant // mir::Constant
// + span: $DIR/array_index.rs:5:31: 5:32 // + span: $DIR/array_index.rs:5:31: 5:32
// + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) }
_4 = const 4usize; // bb0[5]: scope 0 at $DIR/array_index.rs:5:18: 5:33 _4 = const 4usize; // scope 0 at $DIR/array_index.rs:5:18: 5:33
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000004)) // + val: Value(Scalar(0x00000004))
// mir::Constant // mir::Constant
// + span: $DIR/array_index.rs:5:18: 5:33 // + span: $DIR/array_index.rs:5:18: 5:33
// + literal: Const { ty: usize, val: Value(Scalar(0x00000004)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000004)) }
- _5 = Lt(_3, _4); // bb0[6]: scope 0 at $DIR/array_index.rs:5:18: 5:33 - _5 = Lt(_3, _4); // scope 0 at $DIR/array_index.rs:5:18: 5:33
- assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // bb0[7]: scope 0 at $DIR/array_index.rs:5:18: 5:33 - assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ _5 = const true; // bb0[6]: scope 0 at $DIR/array_index.rs:5:18: 5:33 + _5 = const true; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/array_index.rs:5:18: 5:33 + // + span: $DIR/array_index.rs:5:18: 5:33
+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
+ assert(const true, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // bb0[7]: scope 0 at $DIR/array_index.rs:5:18: 5:33 + assert(const true, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
@ -74,25 +74,25 @@
} }
bb1: { bb1: {
- _1 = _2[_3]; // bb1[0]: scope 0 at $DIR/array_index.rs:5:18: 5:33 - _1 = _2[_3]; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ _1 = const 2u32; // bb1[0]: scope 0 at $DIR/array_index.rs:5:18: 5:33 + _1 = const 2u32; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ // ty::Const + // ty::Const
+ // + ty: u32 + // + ty: u32
+ // + val: Value(Scalar(0x00000002)) + // + val: Value(Scalar(0x00000002))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/array_index.rs:5:18: 5:33 + // + span: $DIR/array_index.rs:5:18: 5:33
+ // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
StorageDead(_3); // bb1[1]: scope 0 at $DIR/array_index.rs:5:33: 5:34 StorageDead(_3); // scope 0 at $DIR/array_index.rs:5:33: 5:34
StorageDead(_2); // bb1[2]: scope 0 at $DIR/array_index.rs:5:33: 5:34 StorageDead(_2); // scope 0 at $DIR/array_index.rs:5:33: 5:34
_0 = const (); // bb1[3]: scope 0 at $DIR/array_index.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/array_index.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/array_index.rs:4:11: 6:2 // + span: $DIR/array_index.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb1[4]: scope 0 at $DIR/array_index.rs:6:1: 6:2 StorageDead(_1); // scope 0 at $DIR/array_index.rs:6:1: 6:2
return; // bb1[5]: scope 0 at $DIR/array_index.rs:6:2: 6:2 return; // scope 0 at $DIR/array_index.rs:6:2: 6:2
} }
} }

View file

@ -13,9 +13,9 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/array_index.rs:5:9: 5:10 StorageLive(_1); // scope 0 at $DIR/array_index.rs:5:9: 5:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/array_index.rs:5:18: 5:30 StorageLive(_2); // scope 0 at $DIR/array_index.rs:5:18: 5:30
_2 = [const 0u32, const 1u32, const 2u32, const 3u32]; // bb0[2]: scope 0 at $DIR/array_index.rs:5:18: 5:30 _2 = [const 0u32, const 1u32, const 2u32, const 3u32]; // scope 0 at $DIR/array_index.rs:5:18: 5:30
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
@ -40,31 +40,31 @@
// mir::Constant // mir::Constant
// + span: $DIR/array_index.rs:5:28: 5:29 // + span: $DIR/array_index.rs:5:28: 5:29
// + literal: Const { ty: u32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: u32, val: Value(Scalar(0x00000003)) }
StorageLive(_3); // bb0[3]: scope 0 at $DIR/array_index.rs:5:31: 5:32 StorageLive(_3); // scope 0 at $DIR/array_index.rs:5:31: 5:32
_3 = const 2usize; // bb0[4]: scope 0 at $DIR/array_index.rs:5:31: 5:32 _3 = const 2usize; // scope 0 at $DIR/array_index.rs:5:31: 5:32
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000002)) // + val: Value(Scalar(0x0000000000000002))
// mir::Constant // mir::Constant
// + span: $DIR/array_index.rs:5:31: 5:32 // + span: $DIR/array_index.rs:5:31: 5:32
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) }
_4 = const 4usize; // bb0[5]: scope 0 at $DIR/array_index.rs:5:18: 5:33 _4 = const 4usize; // scope 0 at $DIR/array_index.rs:5:18: 5:33
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000004)) // + val: Value(Scalar(0x0000000000000004))
// mir::Constant // mir::Constant
// + span: $DIR/array_index.rs:5:18: 5:33 // + span: $DIR/array_index.rs:5:18: 5:33
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000004)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000004)) }
- _5 = Lt(_3, _4); // bb0[6]: scope 0 at $DIR/array_index.rs:5:18: 5:33 - _5 = Lt(_3, _4); // scope 0 at $DIR/array_index.rs:5:18: 5:33
- assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // bb0[7]: scope 0 at $DIR/array_index.rs:5:18: 5:33 - assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ _5 = const true; // bb0[6]: scope 0 at $DIR/array_index.rs:5:18: 5:33 + _5 = const true; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/array_index.rs:5:18: 5:33 + // + span: $DIR/array_index.rs:5:18: 5:33
+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
+ assert(const true, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // bb0[7]: scope 0 at $DIR/array_index.rs:5:18: 5:33 + assert(const true, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
@ -74,25 +74,25 @@
} }
bb1: { bb1: {
- _1 = _2[_3]; // bb1[0]: scope 0 at $DIR/array_index.rs:5:18: 5:33 - _1 = _2[_3]; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ _1 = const 2u32; // bb1[0]: scope 0 at $DIR/array_index.rs:5:18: 5:33 + _1 = const 2u32; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ // ty::Const + // ty::Const
+ // + ty: u32 + // + ty: u32
+ // + val: Value(Scalar(0x00000002)) + // + val: Value(Scalar(0x00000002))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/array_index.rs:5:18: 5:33 + // + span: $DIR/array_index.rs:5:18: 5:33
+ // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
StorageDead(_3); // bb1[1]: scope 0 at $DIR/array_index.rs:5:33: 5:34 StorageDead(_3); // scope 0 at $DIR/array_index.rs:5:33: 5:34
StorageDead(_2); // bb1[2]: scope 0 at $DIR/array_index.rs:5:33: 5:34 StorageDead(_2); // scope 0 at $DIR/array_index.rs:5:33: 5:34
_0 = const (); // bb1[3]: scope 0 at $DIR/array_index.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/array_index.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/array_index.rs:4:11: 6:2 // + span: $DIR/array_index.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb1[4]: scope 0 at $DIR/array_index.rs:6:1: 6:2 StorageDead(_1); // scope 0 at $DIR/array_index.rs:6:1: 6:2
return; // bb1[5]: scope 0 at $DIR/array_index.rs:6:2: 6:2 return; // scope 0 at $DIR/array_index.rs:6:2: 6:2
} }
} }

View file

@ -12,47 +12,47 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/boxes.rs:12:9: 12:10 StorageLive(_1); // scope 0 at $DIR/boxes.rs:12:9: 12:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/boxes.rs:12:13: 12:22 StorageLive(_2); // scope 0 at $DIR/boxes.rs:12:13: 12:22
StorageLive(_3); // bb0[2]: scope 0 at $DIR/boxes.rs:12:14: 12:22 StorageLive(_3); // scope 0 at $DIR/boxes.rs:12:14: 12:22
StorageLive(_4); // bb0[3]: scope 0 at $DIR/boxes.rs:12:14: 12:22 StorageLive(_4); // scope 0 at $DIR/boxes.rs:12:14: 12:22
_4 = Box(i32); // bb0[4]: scope 0 at $DIR/boxes.rs:12:14: 12:22 _4 = Box(i32); // scope 0 at $DIR/boxes.rs:12:14: 12:22
(*_4) = const 42i32; // bb0[5]: scope 0 at $DIR/boxes.rs:12:19: 12:21 (*_4) = const 42i32; // scope 0 at $DIR/boxes.rs:12:19: 12:21
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x0000002a)) // + val: Value(Scalar(0x0000002a))
// mir::Constant // mir::Constant
// + span: $DIR/boxes.rs:12:19: 12:21 // + span: $DIR/boxes.rs:12:19: 12:21
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) } // + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
_3 = move _4; // bb0[6]: scope 0 at $DIR/boxes.rs:12:14: 12:22 _3 = move _4; // scope 0 at $DIR/boxes.rs:12:14: 12:22
StorageDead(_4); // bb0[7]: scope 0 at $DIR/boxes.rs:12:21: 12:22 StorageDead(_4); // scope 0 at $DIR/boxes.rs:12:21: 12:22
_2 = (*_3); // bb0[8]: scope 0 at $DIR/boxes.rs:12:13: 12:22 _2 = (*_3); // scope 0 at $DIR/boxes.rs:12:13: 12:22
_1 = Add(move _2, const 0i32); // bb0[9]: scope 0 at $DIR/boxes.rs:12:13: 12:26 _1 = Add(move _2, const 0i32); // scope 0 at $DIR/boxes.rs:12:13: 12:26
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/boxes.rs:12:25: 12:26 // + span: $DIR/boxes.rs:12:25: 12:26
// + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) }
StorageDead(_2); // bb0[10]: scope 0 at $DIR/boxes.rs:12:25: 12:26 StorageDead(_2); // scope 0 at $DIR/boxes.rs:12:25: 12:26
drop(_3) -> [return: bb2, unwind: bb1]; // bb0[11]: scope 0 at $DIR/boxes.rs:12:26: 12:27 drop(_3) -> [return: bb2, unwind: bb1]; // scope 0 at $DIR/boxes.rs:12:26: 12:27
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/boxes.rs:11:1: 13:2 resume; // scope 0 at $DIR/boxes.rs:11:1: 13:2
} }
bb2: { bb2: {
StorageDead(_3); // bb2[0]: scope 0 at $DIR/boxes.rs:12:26: 12:27 StorageDead(_3); // scope 0 at $DIR/boxes.rs:12:26: 12:27
_0 = const (); // bb2[1]: scope 0 at $DIR/boxes.rs:11:11: 13:2 _0 = const (); // scope 0 at $DIR/boxes.rs:11:11: 13:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/boxes.rs:11:11: 13:2 // + span: $DIR/boxes.rs:11:11: 13:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb2[2]: scope 0 at $DIR/boxes.rs:13:1: 13:2 StorageDead(_1); // scope 0 at $DIR/boxes.rs:13:1: 13:2
return; // bb2[3]: scope 0 at $DIR/boxes.rs:13:2: 13:2 return; // scope 0 at $DIR/boxes.rs:13:2: 13:2
} }
} }

View file

@ -13,17 +13,17 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/cast.rs:4:9: 4:10 StorageLive(_1); // scope 0 at $DIR/cast.rs:4:9: 4:10
- _1 = const 42u8 as u32 (Misc); // bb0[1]: scope 0 at $DIR/cast.rs:4:13: 4:24 - _1 = const 42u8 as u32 (Misc); // scope 0 at $DIR/cast.rs:4:13: 4:24
+ _1 = const 42u32; // bb0[1]: scope 0 at $DIR/cast.rs:4:13: 4:24 + _1 = const 42u32; // scope 0 at $DIR/cast.rs:4:13: 4:24
// ty::Const // ty::Const
- // + ty: u8 - // + ty: u8
- // + val: Value(Scalar(0x2a)) - // + val: Value(Scalar(0x2a))
- // mir::Constant - // mir::Constant
- // + span: $DIR/cast.rs:4:13: 4:17 - // + span: $DIR/cast.rs:4:13: 4:17
- // + literal: Const { ty: u8, val: Value(Scalar(0x2a)) } - // + literal: Const { ty: u8, val: Value(Scalar(0x2a)) }
- StorageLive(_2); // bb0[2]: scope 1 at $DIR/cast.rs:6:9: 6:10 - StorageLive(_2); // scope 1 at $DIR/cast.rs:6:9: 6:10
- _2 = const 42u32 as u8 (Misc); // bb0[3]: scope 1 at $DIR/cast.rs:6:13: 6:24 - _2 = const 42u32 as u8 (Misc); // scope 1 at $DIR/cast.rs:6:13: 6:24
- // ty::Const - // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x0000002a)) // + val: Value(Scalar(0x0000002a))
@ -31,24 +31,24 @@
- // + span: $DIR/cast.rs:6:13: 6:18 - // + span: $DIR/cast.rs:6:13: 6:18
+ // + span: $DIR/cast.rs:4:13: 4:24 + // + span: $DIR/cast.rs:4:13: 4:24
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
+ StorageLive(_2); // bb0[2]: scope 1 at $DIR/cast.rs:6:9: 6:10 + StorageLive(_2); // scope 1 at $DIR/cast.rs:6:9: 6:10
+ _2 = const 42u8; // bb0[3]: scope 1 at $DIR/cast.rs:6:13: 6:24 + _2 = const 42u8; // scope 1 at $DIR/cast.rs:6:13: 6:24
+ // ty::Const + // ty::Const
+ // + ty: u8 + // + ty: u8
+ // + val: Value(Scalar(0x2a)) + // + val: Value(Scalar(0x2a))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/cast.rs:6:13: 6:24 + // + span: $DIR/cast.rs:6:13: 6:24
+ // + literal: Const { ty: u8, val: Value(Scalar(0x2a)) } + // + literal: Const { ty: u8, val: Value(Scalar(0x2a)) }
_0 = const (); // bb0[4]: scope 0 at $DIR/cast.rs:3:11: 7:2 _0 = const (); // scope 0 at $DIR/cast.rs:3:11: 7:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/cast.rs:3:11: 7:2 // + span: $DIR/cast.rs:3:11: 7:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_2); // bb0[5]: scope 1 at $DIR/cast.rs:7:1: 7:2 StorageDead(_2); // scope 1 at $DIR/cast.rs:7:1: 7:2
StorageDead(_1); // bb0[6]: scope 0 at $DIR/cast.rs:7:1: 7:2 StorageDead(_1); // scope 0 at $DIR/cast.rs:7:1: 7:2
return; // bb0[7]: scope 0 at $DIR/cast.rs:7:2: 7:2 return; // scope 0 at $DIR/cast.rs:7:2: 7:2
} }
} }

View file

@ -10,9 +10,9 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/checked_add.rs:5:9: 5:10 StorageLive(_1); // scope 0 at $DIR/checked_add.rs:5:9: 5:10
- _2 = CheckedAdd(const 1u32, const 1u32); // bb0[1]: scope 0 at $DIR/checked_add.rs:5:18: 5:23 - _2 = CheckedAdd(const 1u32, const 1u32); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
+ _2 = (const 2u32, const false); // bb0[1]: scope 0 at $DIR/checked_add.rs:5:18: 5:23 + _2 = (const 2u32, const false); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
- // + val: Value(Scalar(0x00000001)) - // + val: Value(Scalar(0x00000001))
@ -30,10 +30,10 @@
// mir::Constant // mir::Constant
- // + span: $DIR/checked_add.rs:5:22: 5:23 - // + span: $DIR/checked_add.rs:5:22: 5:23
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000001)) } - // + literal: Const { ty: u32, val: Value(Scalar(0x00000001)) }
- assert(!move (_2.1: bool), "attempt to add with overflow") -> bb1; // bb0[2]: scope 0 at $DIR/checked_add.rs:5:18: 5:23 - assert(!move (_2.1: bool), "attempt to add with overflow") -> bb1; // scope 0 at $DIR/checked_add.rs:5:18: 5:23
+ // + span: $DIR/checked_add.rs:5:18: 5:23 + // + span: $DIR/checked_add.rs:5:18: 5:23
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
+ assert(!const false, "attempt to add with overflow") -> bb1; // bb0[2]: scope 0 at $DIR/checked_add.rs:5:18: 5:23 + assert(!const false, "attempt to add with overflow") -> bb1; // scope 0 at $DIR/checked_add.rs:5:18: 5:23
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x00)) + // + val: Value(Scalar(0x00))
@ -43,23 +43,23 @@
} }
bb1: { bb1: {
- _1 = move (_2.0: u32); // bb1[0]: scope 0 at $DIR/checked_add.rs:5:18: 5:23 - _1 = move (_2.0: u32); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
+ _1 = const 2u32; // bb1[0]: scope 0 at $DIR/checked_add.rs:5:18: 5:23 + _1 = const 2u32; // scope 0 at $DIR/checked_add.rs:5:18: 5:23
+ // ty::Const + // ty::Const
+ // + ty: u32 + // + ty: u32
+ // + val: Value(Scalar(0x00000002)) + // + val: Value(Scalar(0x00000002))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/checked_add.rs:5:18: 5:23 + // + span: $DIR/checked_add.rs:5:18: 5:23
+ // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
_0 = const (); // bb1[1]: scope 0 at $DIR/checked_add.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/checked_add.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/checked_add.rs:4:11: 6:2 // + span: $DIR/checked_add.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb1[2]: scope 0 at $DIR/checked_add.rs:6:1: 6:2 StorageDead(_1); // scope 0 at $DIR/checked_add.rs:6:1: 6:2
return; // bb1[3]: scope 0 at $DIR/checked_add.rs:6:2: 6:2 return; // scope 0 at $DIR/checked_add.rs:6:2: 6:2
} }
} }

View file

@ -13,24 +13,24 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/const_prop_fails_gracefully.rs:7:9: 7:10 StorageLive(_1); // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:9: 7:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:30 StorageLive(_2); // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:30
StorageLive(_3); // bb0[2]: scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:16 StorageLive(_3); // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:16
_3 = const main::FOO; // bb0[3]: scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:16 _3 = const main::FOO; // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:16
// ty::Const // ty::Const
// + ty: &i32 // + ty: &i32
// + val: Unevaluated(DefId(0:5 ~ const_prop_fails_gracefully[317d]::main[0]::FOO[0]), [], None) // + val: Unevaluated(DefId(0:5 ~ const_prop_fails_gracefully[317d]::main[0]::FOO[0]), [], None)
// mir::Constant // mir::Constant
// + span: $DIR/const_prop_fails_gracefully.rs:7:13: 7:16 // + span: $DIR/const_prop_fails_gracefully.rs:7:13: 7:16
// + literal: Const { ty: &i32, val: Unevaluated(DefId(0:5 ~ const_prop_fails_gracefully[317d]::main[0]::FOO[0]), [], None) } // + literal: Const { ty: &i32, val: Unevaluated(DefId(0:5 ~ const_prop_fails_gracefully[317d]::main[0]::FOO[0]), [], None) }
_2 = &raw const (*_3); // bb0[4]: scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:16 _2 = &raw const (*_3); // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:16
_1 = move _2 as usize (Misc); // bb0[5]: scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:39 _1 = move _2 as usize (Misc); // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:13: 7:39
StorageDead(_2); // bb0[6]: scope 0 at $DIR/const_prop_fails_gracefully.rs:7:38: 7:39 StorageDead(_2); // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:38: 7:39
StorageDead(_3); // bb0[7]: scope 0 at $DIR/const_prop_fails_gracefully.rs:7:39: 7:40 StorageDead(_3); // scope 0 at $DIR/const_prop_fails_gracefully.rs:7:39: 7:40
StorageLive(_4); // bb0[8]: scope 1 at $DIR/const_prop_fails_gracefully.rs:8:5: 8:12 StorageLive(_4); // scope 1 at $DIR/const_prop_fails_gracefully.rs:8:5: 8:12
StorageLive(_5); // bb0[9]: scope 1 at $DIR/const_prop_fails_gracefully.rs:8:10: 8:11 StorageLive(_5); // scope 1 at $DIR/const_prop_fails_gracefully.rs:8:10: 8:11
_5 = _1; // bb0[10]: scope 1 at $DIR/const_prop_fails_gracefully.rs:8:10: 8:11 _5 = _1; // scope 1 at $DIR/const_prop_fails_gracefully.rs:8:10: 8:11
_4 = const read(move _5) -> bb1; // bb0[11]: scope 1 at $DIR/const_prop_fails_gracefully.rs:8:5: 8:12 _4 = const read(move _5) -> bb1; // scope 1 at $DIR/const_prop_fails_gracefully.rs:8:5: 8:12
// ty::Const // ty::Const
// + ty: fn(usize) {read} // + ty: fn(usize) {read}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -40,17 +40,17 @@
} }
bb1: { bb1: {
StorageDead(_5); // bb1[0]: scope 1 at $DIR/const_prop_fails_gracefully.rs:8:11: 8:12 StorageDead(_5); // scope 1 at $DIR/const_prop_fails_gracefully.rs:8:11: 8:12
StorageDead(_4); // bb1[1]: scope 1 at $DIR/const_prop_fails_gracefully.rs:8:12: 8:13 StorageDead(_4); // scope 1 at $DIR/const_prop_fails_gracefully.rs:8:12: 8:13
_0 = const (); // bb1[2]: scope 0 at $DIR/const_prop_fails_gracefully.rs:5:11: 9:2 _0 = const (); // scope 0 at $DIR/const_prop_fails_gracefully.rs:5:11: 9:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/const_prop_fails_gracefully.rs:5:11: 9:2 // + span: $DIR/const_prop_fails_gracefully.rs:5:11: 9:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb1[3]: scope 0 at $DIR/const_prop_fails_gracefully.rs:9:1: 9:2 StorageDead(_1); // scope 0 at $DIR/const_prop_fails_gracefully.rs:9:1: 9:2
return; // bb1[4]: scope 0 at $DIR/const_prop_fails_gracefully.rs:9:2: 9:2 return; // scope 0 at $DIR/const_prop_fails_gracefully.rs:9:2: 9:2
} }
} }

View file

@ -7,9 +7,9 @@
let mut _2: !; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL let mut _2: !; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21 StorageLive(_1); // scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21
- _1 = const <bool as NeedsDrop>::NEEDS; // bb0[1]: scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21 - _1 = const <bool as NeedsDrop>::NEEDS; // scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21
+ _1 = const false; // bb0[1]: scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21 + _1 = const false; // scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21
// ty::Const // ty::Const
// + ty: bool // + ty: bool
- // + val: Unevaluated(DefId(0:4 ~ control_flow_simplification[317d]::NeedsDrop[0]::NEEDS[0]), [bool], None) - // + val: Unevaluated(DefId(0:4 ~ control_flow_simplification[317d]::NeedsDrop[0]::NEEDS[0]), [bool], None)
@ -17,9 +17,9 @@
// mir::Constant // mir::Constant
// + span: $DIR/control-flow-simplification.rs:12:8: 12:21 // + span: $DIR/control-flow-simplification.rs:12:8: 12:21
- // + literal: Const { ty: bool, val: Unevaluated(DefId(0:4 ~ control_flow_simplification[317d]::NeedsDrop[0]::NEEDS[0]), [bool], None) } - // + literal: Const { ty: bool, val: Unevaluated(DefId(0:4 ~ control_flow_simplification[317d]::NeedsDrop[0]::NEEDS[0]), [bool], None) }
- switchInt(_1) -> [false: bb1, otherwise: bb2]; // bb0[2]: scope 0 at $DIR/control-flow-simplification.rs:12:5: 14:6 - switchInt(_1) -> [false: bb1, otherwise: bb2]; // scope 0 at $DIR/control-flow-simplification.rs:12:5: 14:6
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
+ switchInt(const false) -> [false: bb1, otherwise: bb2]; // bb0[2]: scope 0 at $DIR/control-flow-simplification.rs:12:5: 14:6 + switchInt(const false) -> [false: bb1, otherwise: bb2]; // scope 0 at $DIR/control-flow-simplification.rs:12:5: 14:6
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x00)) + // + val: Value(Scalar(0x00))
@ -29,20 +29,20 @@
} }
bb1: { bb1: {
_0 = const (); // bb1[0]: scope 0 at $DIR/control-flow-simplification.rs:12:5: 14:6 _0 = const (); // scope 0 at $DIR/control-flow-simplification.rs:12:5: 14:6
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/control-flow-simplification.rs:12:5: 14:6 // + span: $DIR/control-flow-simplification.rs:12:5: 14:6
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb1[1]: scope 0 at $DIR/control-flow-simplification.rs:15:1: 15:2 StorageDead(_1); // scope 0 at $DIR/control-flow-simplification.rs:15:1: 15:2
return; // bb1[2]: scope 0 at $DIR/control-flow-simplification.rs:15:2: 15:2 return; // scope 0 at $DIR/control-flow-simplification.rs:15:2: 15:2
} }
bb2: { bb2: {
StorageLive(_2); // bb2[0]: scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL StorageLive(_2); // scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL
const std::rt::begin_panic::<&str>(const "explicit panic"); // bb2[1]: scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL const std::rt::begin_panic::<&str>(const "explicit panic"); // scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL
// ty::Const // ty::Const
// + ty: fn(&str) -> ! {std::rt::begin_panic::<&str>} // + ty: fn(&str) -> ! {std::rt::begin_panic::<&str>}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))

View file

@ -4,13 +4,13 @@ fn hello() -> () {
let mut _0: (); // return place in scope 0 at $DIR/control-flow-simplification.rs:11:14: 11:14 let mut _0: (); // return place in scope 0 at $DIR/control-flow-simplification.rs:11:14: 11:14
bb0: { bb0: {
_0 = const (); // bb0[0]: scope 0 at $DIR/control-flow-simplification.rs:12:5: 14:6 _0 = const (); // scope 0 at $DIR/control-flow-simplification.rs:12:5: 14:6
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/control-flow-simplification.rs:12:5: 14:6 // + span: $DIR/control-flow-simplification.rs:12:5: 14:6
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb0[1]: scope 0 at $DIR/control-flow-simplification.rs:15:2: 15:2 return; // scope 0 at $DIR/control-flow-simplification.rs:15:2: 15:2
} }
} }

View file

@ -12,11 +12,11 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/discriminant.rs:6:9: 6:10 StorageLive(_1); // scope 0 at $DIR/discriminant.rs:6:9: 6:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/discriminant.rs:6:13: 6:64 StorageLive(_2); // scope 0 at $DIR/discriminant.rs:6:13: 6:64
StorageLive(_3); // bb0[2]: scope 0 at $DIR/discriminant.rs:6:34: 6:44 StorageLive(_3); // scope 0 at $DIR/discriminant.rs:6:34: 6:44
- _3 = std::option::Option::<bool>::Some(const true); // bb0[3]: scope 0 at $DIR/discriminant.rs:6:34: 6:44 - _3 = std::option::Option::<bool>::Some(const true); // scope 0 at $DIR/discriminant.rs:6:34: 6:44
+ _3 = const std::option::Option::<bool>::Some(true); // bb0[3]: scope 0 at $DIR/discriminant.rs:6:34: 6:44 + _3 = const std::option::Option::<bool>::Some(true); // scope 0 at $DIR/discriminant.rs:6:34: 6:44
// ty::Const // ty::Const
- // + ty: bool - // + ty: bool
+ // + ty: std::option::Option<bool> + // + ty: std::option::Option<bool>
@ -24,18 +24,18 @@
// mir::Constant // mir::Constant
- // + span: $DIR/discriminant.rs:6:39: 6:43 - // + span: $DIR/discriminant.rs:6:39: 6:43
- // + literal: Const { ty: bool, val: Value(Scalar(0x01)) } - // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
- _4 = discriminant(_3); // bb0[4]: scope 0 at $DIR/discriminant.rs:6:21: 6:31 - _4 = discriminant(_3); // scope 0 at $DIR/discriminant.rs:6:21: 6:31
- switchInt(move _4) -> [1isize: bb2, otherwise: bb1]; // bb0[5]: scope 0 at $DIR/discriminant.rs:6:21: 6:31 - switchInt(move _4) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:6:21: 6:31
+ // + span: $DIR/discriminant.rs:6:34: 6:44 + // + span: $DIR/discriminant.rs:6:34: 6:44
+ // + literal: Const { ty: std::option::Option<bool>, val: Value(Scalar(0x01)) } + // + literal: Const { ty: std::option::Option<bool>, val: Value(Scalar(0x01)) }
+ _4 = const 1isize; // bb0[4]: scope 0 at $DIR/discriminant.rs:6:21: 6:31 + _4 = const 1isize; // scope 0 at $DIR/discriminant.rs:6:21: 6:31
+ // ty::Const + // ty::Const
+ // + ty: isize + // + ty: isize
+ // + val: Value(Scalar(0x00000001)) + // + val: Value(Scalar(0x00000001))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/discriminant.rs:6:21: 6:31 + // + span: $DIR/discriminant.rs:6:21: 6:31
+ // + literal: Const { ty: isize, val: Value(Scalar(0x00000001)) } + // + literal: Const { ty: isize, val: Value(Scalar(0x00000001)) }
+ switchInt(const 1isize) -> [1isize: bb2, otherwise: bb1]; // bb0[5]: scope 0 at $DIR/discriminant.rs:6:21: 6:31 + switchInt(const 1isize) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:6:21: 6:31
+ // ty::Const + // ty::Const
+ // + ty: isize + // + ty: isize
+ // + val: Value(Scalar(0x00000001)) + // + val: Value(Scalar(0x00000001))
@ -45,19 +45,19 @@
} }
bb1: { bb1: {
_2 = const 10i32; // bb1[0]: scope 0 at $DIR/discriminant.rs:6:59: 6:61 _2 = const 10i32; // scope 0 at $DIR/discriminant.rs:6:59: 6:61
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x0000000a)) // + val: Value(Scalar(0x0000000a))
// mir::Constant // mir::Constant
// + span: $DIR/discriminant.rs:6:59: 6:61 // + span: $DIR/discriminant.rs:6:59: 6:61
// + literal: Const { ty: i32, val: Value(Scalar(0x0000000a)) } // + literal: Const { ty: i32, val: Value(Scalar(0x0000000a)) }
goto -> bb4; // bb1[1]: scope 0 at $DIR/discriminant.rs:6:13: 6:64 goto -> bb4; // scope 0 at $DIR/discriminant.rs:6:13: 6:64
} }
bb2: { bb2: {
- switchInt(((_3 as Some).0: bool)) -> [false: bb1, otherwise: bb3]; // bb2[0]: scope 0 at $DIR/discriminant.rs:6:26: 6:30 - switchInt(((_3 as Some).0: bool)) -> [false: bb1, otherwise: bb3]; // scope 0 at $DIR/discriminant.rs:6:26: 6:30
+ switchInt(const true) -> [false: bb1, otherwise: bb3]; // bb2[0]: scope 0 at $DIR/discriminant.rs:6:26: 6:30 + switchInt(const true) -> [false: bb1, otherwise: bb3]; // scope 0 at $DIR/discriminant.rs:6:26: 6:30
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
@ -67,35 +67,35 @@
} }
bb3: { bb3: {
_2 = const 42i32; // bb3[0]: scope 0 at $DIR/discriminant.rs:6:47: 6:49 _2 = const 42i32; // scope 0 at $DIR/discriminant.rs:6:47: 6:49
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x0000002a)) // + val: Value(Scalar(0x0000002a))
// mir::Constant // mir::Constant
// + span: $DIR/discriminant.rs:6:47: 6:49 // + span: $DIR/discriminant.rs:6:47: 6:49
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) } // + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
goto -> bb4; // bb3[1]: scope 0 at $DIR/discriminant.rs:6:13: 6:64 goto -> bb4; // scope 0 at $DIR/discriminant.rs:6:13: 6:64
} }
bb4: { bb4: {
_1 = Add(move _2, const 0i32); // bb4[0]: scope 0 at $DIR/discriminant.rs:6:13: 6:68 _1 = Add(move _2, const 0i32); // scope 0 at $DIR/discriminant.rs:6:13: 6:68
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/discriminant.rs:6:67: 6:68 // + span: $DIR/discriminant.rs:6:67: 6:68
// + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) }
StorageDead(_2); // bb4[1]: scope 0 at $DIR/discriminant.rs:6:67: 6:68 StorageDead(_2); // scope 0 at $DIR/discriminant.rs:6:67: 6:68
StorageDead(_3); // bb4[2]: scope 0 at $DIR/discriminant.rs:6:68: 6:69 StorageDead(_3); // scope 0 at $DIR/discriminant.rs:6:68: 6:69
_0 = const (); // bb4[3]: scope 0 at $DIR/discriminant.rs:5:11: 7:2 _0 = const (); // scope 0 at $DIR/discriminant.rs:5:11: 7:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/discriminant.rs:5:11: 7:2 // + span: $DIR/discriminant.rs:5:11: 7:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb4[4]: scope 0 at $DIR/discriminant.rs:7:1: 7:2 StorageDead(_1); // scope 0 at $DIR/discriminant.rs:7:1: 7:2
return; // bb4[5]: scope 0 at $DIR/discriminant.rs:7:2: 7:2 return; // scope 0 at $DIR/discriminant.rs:7:2: 7:2
} }
} }

View file

@ -12,11 +12,11 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/discriminant.rs:6:9: 6:10 StorageLive(_1); // scope 0 at $DIR/discriminant.rs:6:9: 6:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/discriminant.rs:6:13: 6:64 StorageLive(_2); // scope 0 at $DIR/discriminant.rs:6:13: 6:64
StorageLive(_3); // bb0[2]: scope 0 at $DIR/discriminant.rs:6:34: 6:44 StorageLive(_3); // scope 0 at $DIR/discriminant.rs:6:34: 6:44
- _3 = std::option::Option::<bool>::Some(const true); // bb0[3]: scope 0 at $DIR/discriminant.rs:6:34: 6:44 - _3 = std::option::Option::<bool>::Some(const true); // scope 0 at $DIR/discriminant.rs:6:34: 6:44
+ _3 = const std::option::Option::<bool>::Some(true); // bb0[3]: scope 0 at $DIR/discriminant.rs:6:34: 6:44 + _3 = const std::option::Option::<bool>::Some(true); // scope 0 at $DIR/discriminant.rs:6:34: 6:44
// ty::Const // ty::Const
- // + ty: bool - // + ty: bool
+ // + ty: std::option::Option<bool> + // + ty: std::option::Option<bool>
@ -24,18 +24,18 @@
// mir::Constant // mir::Constant
- // + span: $DIR/discriminant.rs:6:39: 6:43 - // + span: $DIR/discriminant.rs:6:39: 6:43
- // + literal: Const { ty: bool, val: Value(Scalar(0x01)) } - // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
- _4 = discriminant(_3); // bb0[4]: scope 0 at $DIR/discriminant.rs:6:21: 6:31 - _4 = discriminant(_3); // scope 0 at $DIR/discriminant.rs:6:21: 6:31
- switchInt(move _4) -> [1isize: bb2, otherwise: bb1]; // bb0[5]: scope 0 at $DIR/discriminant.rs:6:21: 6:31 - switchInt(move _4) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:6:21: 6:31
+ // + span: $DIR/discriminant.rs:6:34: 6:44 + // + span: $DIR/discriminant.rs:6:34: 6:44
+ // + literal: Const { ty: std::option::Option<bool>, val: Value(Scalar(0x01)) } + // + literal: Const { ty: std::option::Option<bool>, val: Value(Scalar(0x01)) }
+ _4 = const 1isize; // bb0[4]: scope 0 at $DIR/discriminant.rs:6:21: 6:31 + _4 = const 1isize; // scope 0 at $DIR/discriminant.rs:6:21: 6:31
+ // ty::Const + // ty::Const
+ // + ty: isize + // + ty: isize
+ // + val: Value(Scalar(0x0000000000000001)) + // + val: Value(Scalar(0x0000000000000001))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/discriminant.rs:6:21: 6:31 + // + span: $DIR/discriminant.rs:6:21: 6:31
+ // + literal: Const { ty: isize, val: Value(Scalar(0x0000000000000001)) } + // + literal: Const { ty: isize, val: Value(Scalar(0x0000000000000001)) }
+ switchInt(const 1isize) -> [1isize: bb2, otherwise: bb1]; // bb0[5]: scope 0 at $DIR/discriminant.rs:6:21: 6:31 + switchInt(const 1isize) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:6:21: 6:31
+ // ty::Const + // ty::Const
+ // + ty: isize + // + ty: isize
+ // + val: Value(Scalar(0x0000000000000001)) + // + val: Value(Scalar(0x0000000000000001))
@ -45,19 +45,19 @@
} }
bb1: { bb1: {
_2 = const 10i32; // bb1[0]: scope 0 at $DIR/discriminant.rs:6:59: 6:61 _2 = const 10i32; // scope 0 at $DIR/discriminant.rs:6:59: 6:61
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x0000000a)) // + val: Value(Scalar(0x0000000a))
// mir::Constant // mir::Constant
// + span: $DIR/discriminant.rs:6:59: 6:61 // + span: $DIR/discriminant.rs:6:59: 6:61
// + literal: Const { ty: i32, val: Value(Scalar(0x0000000a)) } // + literal: Const { ty: i32, val: Value(Scalar(0x0000000a)) }
goto -> bb4; // bb1[1]: scope 0 at $DIR/discriminant.rs:6:13: 6:64 goto -> bb4; // scope 0 at $DIR/discriminant.rs:6:13: 6:64
} }
bb2: { bb2: {
- switchInt(((_3 as Some).0: bool)) -> [false: bb1, otherwise: bb3]; // bb2[0]: scope 0 at $DIR/discriminant.rs:6:26: 6:30 - switchInt(((_3 as Some).0: bool)) -> [false: bb1, otherwise: bb3]; // scope 0 at $DIR/discriminant.rs:6:26: 6:30
+ switchInt(const true) -> [false: bb1, otherwise: bb3]; // bb2[0]: scope 0 at $DIR/discriminant.rs:6:26: 6:30 + switchInt(const true) -> [false: bb1, otherwise: bb3]; // scope 0 at $DIR/discriminant.rs:6:26: 6:30
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
@ -67,35 +67,35 @@
} }
bb3: { bb3: {
_2 = const 42i32; // bb3[0]: scope 0 at $DIR/discriminant.rs:6:47: 6:49 _2 = const 42i32; // scope 0 at $DIR/discriminant.rs:6:47: 6:49
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x0000002a)) // + val: Value(Scalar(0x0000002a))
// mir::Constant // mir::Constant
// + span: $DIR/discriminant.rs:6:47: 6:49 // + span: $DIR/discriminant.rs:6:47: 6:49
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) } // + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
goto -> bb4; // bb3[1]: scope 0 at $DIR/discriminant.rs:6:13: 6:64 goto -> bb4; // scope 0 at $DIR/discriminant.rs:6:13: 6:64
} }
bb4: { bb4: {
_1 = Add(move _2, const 0i32); // bb4[0]: scope 0 at $DIR/discriminant.rs:6:13: 6:68 _1 = Add(move _2, const 0i32); // scope 0 at $DIR/discriminant.rs:6:13: 6:68
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/discriminant.rs:6:67: 6:68 // + span: $DIR/discriminant.rs:6:67: 6:68
// + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) }
StorageDead(_2); // bb4[1]: scope 0 at $DIR/discriminant.rs:6:67: 6:68 StorageDead(_2); // scope 0 at $DIR/discriminant.rs:6:67: 6:68
StorageDead(_3); // bb4[2]: scope 0 at $DIR/discriminant.rs:6:68: 6:69 StorageDead(_3); // scope 0 at $DIR/discriminant.rs:6:68: 6:69
_0 = const (); // bb4[3]: scope 0 at $DIR/discriminant.rs:5:11: 7:2 _0 = const (); // scope 0 at $DIR/discriminant.rs:5:11: 7:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/discriminant.rs:5:11: 7:2 // + span: $DIR/discriminant.rs:5:11: 7:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb4[4]: scope 0 at $DIR/discriminant.rs:7:1: 7:2 StorageDead(_1); // scope 0 at $DIR/discriminant.rs:7:1: 7:2
return; // bb4[5]: scope 0 at $DIR/discriminant.rs:7:2: 7:2 return; // scope 0 at $DIR/discriminant.rs:7:2: 7:2
} }
} }

View file

@ -11,10 +11,10 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/indirect.rs:5:9: 5:10 StorageLive(_1); // scope 0 at $DIR/indirect.rs:5:9: 5:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/indirect.rs:5:13: 5:25 StorageLive(_2); // scope 0 at $DIR/indirect.rs:5:13: 5:25
- _2 = const 2u32 as u8 (Misc); // bb0[2]: scope 0 at $DIR/indirect.rs:5:13: 5:25 - _2 = const 2u32 as u8 (Misc); // scope 0 at $DIR/indirect.rs:5:13: 5:25
+ _2 = const 2u8; // bb0[2]: scope 0 at $DIR/indirect.rs:5:13: 5:25 + _2 = const 2u8; // scope 0 at $DIR/indirect.rs:5:13: 5:25
// ty::Const // ty::Const
- // + ty: u32 - // + ty: u32
- // + val: Value(Scalar(0x00000002)) - // + val: Value(Scalar(0x00000002))
@ -23,10 +23,10 @@
// mir::Constant // mir::Constant
- // + span: $DIR/indirect.rs:5:14: 5:18 - // + span: $DIR/indirect.rs:5:14: 5:18
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) } - // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
- _3 = CheckedAdd(move _2, const 1u8); // bb0[3]: scope 0 at $DIR/indirect.rs:5:13: 5:29 - _3 = CheckedAdd(move _2, const 1u8); // scope 0 at $DIR/indirect.rs:5:13: 5:29
+ // + span: $DIR/indirect.rs:5:13: 5:25 + // + span: $DIR/indirect.rs:5:13: 5:25
+ // + literal: Const { ty: u8, val: Value(Scalar(0x02)) } + // + literal: Const { ty: u8, val: Value(Scalar(0x02)) }
+ _3 = (const 3u8, const false); // bb0[3]: scope 0 at $DIR/indirect.rs:5:13: 5:29 + _3 = (const 3u8, const false); // scope 0 at $DIR/indirect.rs:5:13: 5:29
// ty::Const // ty::Const
// + ty: u8 // + ty: u8
- // + val: Value(Scalar(0x01)) - // + val: Value(Scalar(0x01))
@ -34,7 +34,7 @@
// mir::Constant // mir::Constant
- // + span: $DIR/indirect.rs:5:28: 5:29 - // + span: $DIR/indirect.rs:5:28: 5:29
- // + literal: Const { ty: u8, val: Value(Scalar(0x01)) } - // + literal: Const { ty: u8, val: Value(Scalar(0x01)) }
- assert(!move (_3.1: bool), "attempt to add with overflow") -> bb1; // bb0[4]: scope 0 at $DIR/indirect.rs:5:13: 5:29 - assert(!move (_3.1: bool), "attempt to add with overflow") -> bb1; // scope 0 at $DIR/indirect.rs:5:13: 5:29
+ // + span: $DIR/indirect.rs:5:13: 5:29 + // + span: $DIR/indirect.rs:5:13: 5:29
+ // + literal: Const { ty: u8, val: Value(Scalar(0x03)) } + // + literal: Const { ty: u8, val: Value(Scalar(0x03)) }
+ // ty::Const + // ty::Const
@ -43,7 +43,7 @@
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/indirect.rs:5:13: 5:29 + // + span: $DIR/indirect.rs:5:13: 5:29
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
+ assert(!const false, "attempt to add with overflow") -> bb1; // bb0[4]: scope 0 at $DIR/indirect.rs:5:13: 5:29 + assert(!const false, "attempt to add with overflow") -> bb1; // scope 0 at $DIR/indirect.rs:5:13: 5:29
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x00)) + // + val: Value(Scalar(0x00))
@ -53,24 +53,24 @@
} }
bb1: { bb1: {
- _1 = move (_3.0: u8); // bb1[0]: scope 0 at $DIR/indirect.rs:5:13: 5:29 - _1 = move (_3.0: u8); // scope 0 at $DIR/indirect.rs:5:13: 5:29
+ _1 = const 3u8; // bb1[0]: scope 0 at $DIR/indirect.rs:5:13: 5:29 + _1 = const 3u8; // scope 0 at $DIR/indirect.rs:5:13: 5:29
+ // ty::Const + // ty::Const
+ // + ty: u8 + // + ty: u8
+ // + val: Value(Scalar(0x03)) + // + val: Value(Scalar(0x03))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/indirect.rs:5:13: 5:29 + // + span: $DIR/indirect.rs:5:13: 5:29
+ // + literal: Const { ty: u8, val: Value(Scalar(0x03)) } + // + literal: Const { ty: u8, val: Value(Scalar(0x03)) }
StorageDead(_2); // bb1[1]: scope 0 at $DIR/indirect.rs:5:28: 5:29 StorageDead(_2); // scope 0 at $DIR/indirect.rs:5:28: 5:29
_0 = const (); // bb1[2]: scope 0 at $DIR/indirect.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/indirect.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/indirect.rs:4:11: 6:2 // + span: $DIR/indirect.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb1[3]: scope 0 at $DIR/indirect.rs:6:1: 6:2 StorageDead(_1); // scope 0 at $DIR/indirect.rs:6:1: 6:2
return; // bb1[4]: scope 0 at $DIR/indirect.rs:6:2: 6:2 return; // scope 0 at $DIR/indirect.rs:6:2: 6:2
} }
} }

View file

@ -8,18 +8,18 @@
let mut _3: (); // in scope 0 at $DIR/issue-66971.rs:16:13: 16:15 let mut _3: (); // in scope 0 at $DIR/issue-66971.rs:16:13: 16:15
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/issue-66971.rs:16:5: 16:23 StorageLive(_1); // scope 0 at $DIR/issue-66971.rs:16:5: 16:23
StorageLive(_2); // bb0[1]: scope 0 at $DIR/issue-66971.rs:16:12: 16:22 StorageLive(_2); // scope 0 at $DIR/issue-66971.rs:16:12: 16:22
StorageLive(_3); // bb0[2]: scope 0 at $DIR/issue-66971.rs:16:13: 16:15 StorageLive(_3); // scope 0 at $DIR/issue-66971.rs:16:13: 16:15
- _3 = (); // bb0[3]: scope 0 at $DIR/issue-66971.rs:16:13: 16:15 - _3 = (); // scope 0 at $DIR/issue-66971.rs:16:13: 16:15
+ _3 = const (); // bb0[3]: scope 0 at $DIR/issue-66971.rs:16:13: 16:15 + _3 = const (); // scope 0 at $DIR/issue-66971.rs:16:13: 16:15
+ // ty::Const + // ty::Const
+ // + ty: () + // + ty: ()
+ // + val: Value(Scalar(<ZST>)) + // + val: Value(Scalar(<ZST>))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/issue-66971.rs:16:13: 16:15 + // + span: $DIR/issue-66971.rs:16:13: 16:15
+ // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } + // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
_2 = (move _3, const 0u8, const 0u8); // bb0[4]: scope 0 at $DIR/issue-66971.rs:16:12: 16:22 _2 = (move _3, const 0u8, const 0u8); // scope 0 at $DIR/issue-66971.rs:16:12: 16:22
// ty::Const // ty::Const
// + ty: u8 // + ty: u8
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
@ -32,8 +32,8 @@
// mir::Constant // mir::Constant
// + span: $DIR/issue-66971.rs:16:20: 16:21 // + span: $DIR/issue-66971.rs:16:20: 16:21
// + literal: Const { ty: u8, val: Value(Scalar(0x00)) } // + literal: Const { ty: u8, val: Value(Scalar(0x00)) }
StorageDead(_3); // bb0[5]: scope 0 at $DIR/issue-66971.rs:16:21: 16:22 StorageDead(_3); // scope 0 at $DIR/issue-66971.rs:16:21: 16:22
_1 = const encode(move _2) -> bb1; // bb0[6]: scope 0 at $DIR/issue-66971.rs:16:5: 16:23 _1 = const encode(move _2) -> bb1; // scope 0 at $DIR/issue-66971.rs:16:5: 16:23
// ty::Const // ty::Const
// + ty: fn(((), u8, u8)) {encode} // + ty: fn(((), u8, u8)) {encode}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -43,16 +43,16 @@
} }
bb1: { bb1: {
StorageDead(_2); // bb1[0]: scope 0 at $DIR/issue-66971.rs:16:22: 16:23 StorageDead(_2); // scope 0 at $DIR/issue-66971.rs:16:22: 16:23
StorageDead(_1); // bb1[1]: scope 0 at $DIR/issue-66971.rs:16:23: 16:24 StorageDead(_1); // scope 0 at $DIR/issue-66971.rs:16:23: 16:24
_0 = const (); // bb1[2]: scope 0 at $DIR/issue-66971.rs:15:11: 17:2 _0 = const (); // scope 0 at $DIR/issue-66971.rs:15:11: 17:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-66971.rs:15:11: 17:2 // + span: $DIR/issue-66971.rs:15:11: 17:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb1[3]: scope 0 at $DIR/issue-66971.rs:17:2: 17:2 return; // scope 0 at $DIR/issue-66971.rs:17:2: 17:2
} }
} }

View file

@ -8,10 +8,10 @@
let mut _3: (u8, u8); // in scope 0 at $DIR/issue-67019.rs:11:11: 11:17 let mut _3: (u8, u8); // in scope 0 at $DIR/issue-67019.rs:11:11: 11:17
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/issue-67019.rs:11:5: 11:20 StorageLive(_1); // scope 0 at $DIR/issue-67019.rs:11:5: 11:20
StorageLive(_2); // bb0[1]: scope 0 at $DIR/issue-67019.rs:11:10: 11:19 StorageLive(_2); // scope 0 at $DIR/issue-67019.rs:11:10: 11:19
StorageLive(_3); // bb0[2]: scope 0 at $DIR/issue-67019.rs:11:11: 11:17 StorageLive(_3); // scope 0 at $DIR/issue-67019.rs:11:11: 11:17
_3 = (const 1u8, const 2u8); // bb0[3]: scope 0 at $DIR/issue-67019.rs:11:11: 11:17 _3 = (const 1u8, const 2u8); // scope 0 at $DIR/issue-67019.rs:11:11: 11:17
// ty::Const // ty::Const
// + ty: u8 // + ty: u8
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
@ -26,9 +26,9 @@
- // + span: $DIR/issue-67019.rs:11:15: 11:16 - // + span: $DIR/issue-67019.rs:11:15: 11:16
+ // + span: $DIR/issue-67019.rs:11:11: 11:17 + // + span: $DIR/issue-67019.rs:11:11: 11:17
// + literal: Const { ty: u8, val: Value(Scalar(0x02)) } // + literal: Const { ty: u8, val: Value(Scalar(0x02)) }
_2 = (move _3,); // bb0[4]: scope 0 at $DIR/issue-67019.rs:11:10: 11:19 _2 = (move _3,); // scope 0 at $DIR/issue-67019.rs:11:10: 11:19
StorageDead(_3); // bb0[5]: scope 0 at $DIR/issue-67019.rs:11:18: 11:19 StorageDead(_3); // scope 0 at $DIR/issue-67019.rs:11:18: 11:19
_1 = const test(move _2) -> bb1; // bb0[6]: scope 0 at $DIR/issue-67019.rs:11:5: 11:20 _1 = const test(move _2) -> bb1; // scope 0 at $DIR/issue-67019.rs:11:5: 11:20
// ty::Const // ty::Const
// + ty: fn(((u8, u8),)) {test} // + ty: fn(((u8, u8),)) {test}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -38,16 +38,16 @@
} }
bb1: { bb1: {
StorageDead(_2); // bb1[0]: scope 0 at $DIR/issue-67019.rs:11:19: 11:20 StorageDead(_2); // scope 0 at $DIR/issue-67019.rs:11:19: 11:20
StorageDead(_1); // bb1[1]: scope 0 at $DIR/issue-67019.rs:11:20: 11:21 StorageDead(_1); // scope 0 at $DIR/issue-67019.rs:11:20: 11:21
_0 = const (); // bb1[2]: scope 0 at $DIR/issue-67019.rs:10:11: 12:2 _0 = const (); // scope 0 at $DIR/issue-67019.rs:10:11: 12:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-67019.rs:10:11: 12:2 // + span: $DIR/issue-67019.rs:10:11: 12:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb1[3]: scope 0 at $DIR/issue-67019.rs:12:2: 12:2 return; // scope 0 at $DIR/issue-67019.rs:12:2: 12:2
} }
} }

View file

@ -23,9 +23,9 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10 StorageLive(_1); // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
- _2 = CheckedAdd(const 2i32, const 2i32); // bb0[1]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 - _2 = CheckedAdd(const 2i32, const 2i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+ _2 = (const 4i32, const false); // bb0[1]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 + _2 = (const 4i32, const false); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
- // + val: Value(Scalar(0x00000002)) - // + val: Value(Scalar(0x00000002))
@ -43,10 +43,10 @@
// mir::Constant // mir::Constant
- // + span: $DIR/optimizes_into_variable.rs:12:17: 12:18 - // + span: $DIR/optimizes_into_variable.rs:12:17: 12:18
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) } - // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
- assert(!move (_2.1: bool), "attempt to add with overflow") -> bb1; // bb0[2]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 - assert(!move (_2.1: bool), "attempt to add with overflow") -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18 + // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
+ assert(!const false, "attempt to add with overflow") -> bb1; // bb0[2]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 + assert(!const false, "attempt to add with overflow") -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x00)) + // + val: Value(Scalar(0x00))
@ -56,17 +56,17 @@
} }
bb1: { bb1: {
- _1 = move (_2.0: i32); // bb1[0]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 - _1 = move (_2.0: i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+ _1 = const 4i32; // bb1[0]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 + _1 = const 4i32; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+ // ty::Const + // ty::Const
+ // + ty: i32 + // + ty: i32
+ // + val: Value(Scalar(0x00000004)) + // + val: Value(Scalar(0x00000004))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18 + // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) } + // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
StorageLive(_3); // bb1[1]: scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10 StorageLive(_3); // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
StorageLive(_4); // bb1[2]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31 StorageLive(_4); // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
_4 = [const 0i32, const 1i32, const 2i32, const 3i32, const 4i32, const 5i32]; // bb1[3]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31 _4 = [const 0i32, const 1i32, const 2i32, const 3i32, const 4i32, const 5i32]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
@ -103,31 +103,31 @@
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:13:29: 13:30 // + span: $DIR/optimizes_into_variable.rs:13:29: 13:30
// + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) }
StorageLive(_5); // bb1[4]: scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33 StorageLive(_5); // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
_5 = const 3usize; // bb1[5]: scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33 _5 = const 3usize; // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000003)) // + val: Value(Scalar(0x00000003))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:13:32: 13:33 // + span: $DIR/optimizes_into_variable.rs:13:32: 13:33
// + literal: Const { ty: usize, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000003)) }
_6 = const 6usize; // bb1[6]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 _6 = const 6usize; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000006)) // + val: Value(Scalar(0x00000006))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:13:13: 13:34 // + span: $DIR/optimizes_into_variable.rs:13:13: 13:34
// + literal: Const { ty: usize, val: Value(Scalar(0x00000006)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000006)) }
- _7 = Lt(_5, _6); // bb1[7]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 - _7 = Lt(_5, _6); // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
- assert(move _7, "index out of bounds: the len is {} but the index is {}", move _6, _5) -> bb2; // bb1[8]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 - assert(move _7, "index out of bounds: the len is {} but the index is {}", move _6, _5) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ _7 = const true; // bb1[7]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 + _7 = const true; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/optimizes_into_variable.rs:13:13: 13:34 + // + span: $DIR/optimizes_into_variable.rs:13:13: 13:34
+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
+ assert(const true, "index out of bounds: the len is {} but the index is {}", move _6, _5) -> bb2; // bb1[8]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 + assert(const true, "index out of bounds: the len is {} but the index is {}", move _6, _5) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
@ -137,19 +137,19 @@
} }
bb2: { bb2: {
- _3 = _4[_5]; // bb2[0]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 - _3 = _4[_5]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ _3 = const 3i32; // bb2[0]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 + _3 = const 3i32; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ // ty::Const + // ty::Const
+ // + ty: i32 + // + ty: i32
+ // + val: Value(Scalar(0x00000003)) + // + val: Value(Scalar(0x00000003))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/optimizes_into_variable.rs:13:13: 13:34 + // + span: $DIR/optimizes_into_variable.rs:13:13: 13:34
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } + // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
StorageDead(_5); // bb2[1]: scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35 StorageDead(_5); // scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35
StorageDead(_4); // bb2[2]: scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35 StorageDead(_4); // scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35
StorageLive(_8); // bb2[3]: scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10 StorageLive(_8); // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
StorageLive(_9); // bb2[4]: scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36 StorageLive(_9); // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
_9 = Point { x: const 12u32, y: const 42u32 }; // bb2[5]: scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36 _9 = Point { x: const 12u32, y: const 42u32 }; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x0000000c)) // + val: Value(Scalar(0x0000000c))
@ -162,26 +162,26 @@
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:14:32: 14:34 // + span: $DIR/optimizes_into_variable.rs:14:32: 14:34
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
- _8 = (_9.1: u32); // bb2[6]: scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38 - _8 = (_9.1: u32); // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
+ _8 = const 42u32; // bb2[6]: scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38 + _8 = const 42u32; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
+ // ty::Const + // ty::Const
+ // + ty: u32 + // + ty: u32
+ // + val: Value(Scalar(0x0000002a)) + // + val: Value(Scalar(0x0000002a))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/optimizes_into_variable.rs:14:13: 14:38 + // + span: $DIR/optimizes_into_variable.rs:14:13: 14:38
+ // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
StorageDead(_9); // bb2[7]: scope 2 at $DIR/optimizes_into_variable.rs:14:38: 14:39 StorageDead(_9); // scope 2 at $DIR/optimizes_into_variable.rs:14:38: 14:39
_0 = const (); // bb2[8]: scope 0 at $DIR/optimizes_into_variable.rs:11:11: 15:2 _0 = const (); // scope 0 at $DIR/optimizes_into_variable.rs:11:11: 15:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:11:11: 15:2 // + span: $DIR/optimizes_into_variable.rs:11:11: 15:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_8); // bb2[9]: scope 2 at $DIR/optimizes_into_variable.rs:15:1: 15:2 StorageDead(_8); // scope 2 at $DIR/optimizes_into_variable.rs:15:1: 15:2
StorageDead(_3); // bb2[10]: scope 1 at $DIR/optimizes_into_variable.rs:15:1: 15:2 StorageDead(_3); // scope 1 at $DIR/optimizes_into_variable.rs:15:1: 15:2
StorageDead(_1); // bb2[11]: scope 0 at $DIR/optimizes_into_variable.rs:15:1: 15:2 StorageDead(_1); // scope 0 at $DIR/optimizes_into_variable.rs:15:1: 15:2
return; // bb2[12]: scope 0 at $DIR/optimizes_into_variable.rs:15:2: 15:2 return; // scope 0 at $DIR/optimizes_into_variable.rs:15:2: 15:2
} }
} }

View file

@ -16,40 +16,40 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10 StorageLive(_1); // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
_1 = const 4i32; // bb0[1]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 _1 = const 4i32; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000004)) // + val: Value(Scalar(0x00000004))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:12:13: 12:18 // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
// + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
StorageLive(_2); // bb0[2]: scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10 StorageLive(_2); // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
_2 = const 3i32; // bb0[3]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 _2 = const 3i32; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000003)) // + val: Value(Scalar(0x00000003))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:13:13: 13:34 // + span: $DIR/optimizes_into_variable.rs:13:13: 13:34
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
StorageLive(_3); // bb0[4]: scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10 StorageLive(_3); // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
_3 = const 42u32; // bb0[5]: scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38 _3 = const 42u32; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x0000002a)) // + val: Value(Scalar(0x0000002a))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:14:13: 14:38 // + span: $DIR/optimizes_into_variable.rs:14:13: 14:38
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
_0 = const (); // bb0[6]: scope 0 at $DIR/optimizes_into_variable.rs:11:11: 15:2 _0 = const (); // scope 0 at $DIR/optimizes_into_variable.rs:11:11: 15:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:11:11: 15:2 // + span: $DIR/optimizes_into_variable.rs:11:11: 15:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_3); // bb0[7]: scope 2 at $DIR/optimizes_into_variable.rs:15:1: 15:2 StorageDead(_3); // scope 2 at $DIR/optimizes_into_variable.rs:15:1: 15:2
StorageDead(_2); // bb0[8]: scope 1 at $DIR/optimizes_into_variable.rs:15:1: 15:2 StorageDead(_2); // scope 1 at $DIR/optimizes_into_variable.rs:15:1: 15:2
StorageDead(_1); // bb0[9]: scope 0 at $DIR/optimizes_into_variable.rs:15:1: 15:2 StorageDead(_1); // scope 0 at $DIR/optimizes_into_variable.rs:15:1: 15:2
return; // bb0[10]: scope 0 at $DIR/optimizes_into_variable.rs:15:2: 15:2 return; // scope 0 at $DIR/optimizes_into_variable.rs:15:2: 15:2
} }
} }

View file

@ -23,9 +23,9 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10 StorageLive(_1); // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
- _2 = CheckedAdd(const 2i32, const 2i32); // bb0[1]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 - _2 = CheckedAdd(const 2i32, const 2i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+ _2 = (const 4i32, const false); // bb0[1]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 + _2 = (const 4i32, const false); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
- // + val: Value(Scalar(0x00000002)) - // + val: Value(Scalar(0x00000002))
@ -43,10 +43,10 @@
// mir::Constant // mir::Constant
- // + span: $DIR/optimizes_into_variable.rs:12:17: 12:18 - // + span: $DIR/optimizes_into_variable.rs:12:17: 12:18
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) } - // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
- assert(!move (_2.1: bool), "attempt to add with overflow") -> bb1; // bb0[2]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 - assert(!move (_2.1: bool), "attempt to add with overflow") -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18 + // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
+ assert(!const false, "attempt to add with overflow") -> bb1; // bb0[2]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 + assert(!const false, "attempt to add with overflow") -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x00)) + // + val: Value(Scalar(0x00))
@ -56,17 +56,17 @@
} }
bb1: { bb1: {
- _1 = move (_2.0: i32); // bb1[0]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 - _1 = move (_2.0: i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+ _1 = const 4i32; // bb1[0]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 + _1 = const 4i32; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+ // ty::Const + // ty::Const
+ // + ty: i32 + // + ty: i32
+ // + val: Value(Scalar(0x00000004)) + // + val: Value(Scalar(0x00000004))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18 + // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) } + // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
StorageLive(_3); // bb1[1]: scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10 StorageLive(_3); // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
StorageLive(_4); // bb1[2]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31 StorageLive(_4); // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
_4 = [const 0i32, const 1i32, const 2i32, const 3i32, const 4i32, const 5i32]; // bb1[3]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31 _4 = [const 0i32, const 1i32, const 2i32, const 3i32, const 4i32, const 5i32]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
@ -103,31 +103,31 @@
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:13:29: 13:30 // + span: $DIR/optimizes_into_variable.rs:13:29: 13:30
// + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) }
StorageLive(_5); // bb1[4]: scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33 StorageLive(_5); // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
_5 = const 3usize; // bb1[5]: scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33 _5 = const 3usize; // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000003)) // + val: Value(Scalar(0x0000000000000003))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:13:32: 13:33 // + span: $DIR/optimizes_into_variable.rs:13:32: 13:33
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000003)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000003)) }
_6 = const 6usize; // bb1[6]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 _6 = const 6usize; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000006)) // + val: Value(Scalar(0x0000000000000006))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:13:13: 13:34 // + span: $DIR/optimizes_into_variable.rs:13:13: 13:34
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000006)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000006)) }
- _7 = Lt(_5, _6); // bb1[7]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 - _7 = Lt(_5, _6); // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
- assert(move _7, "index out of bounds: the len is {} but the index is {}", move _6, _5) -> bb2; // bb1[8]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 - assert(move _7, "index out of bounds: the len is {} but the index is {}", move _6, _5) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ _7 = const true; // bb1[7]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 + _7 = const true; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/optimizes_into_variable.rs:13:13: 13:34 + // + span: $DIR/optimizes_into_variable.rs:13:13: 13:34
+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
+ assert(const true, "index out of bounds: the len is {} but the index is {}", move _6, _5) -> bb2; // bb1[8]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 + assert(const true, "index out of bounds: the len is {} but the index is {}", move _6, _5) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
@ -137,19 +137,19 @@
} }
bb2: { bb2: {
- _3 = _4[_5]; // bb2[0]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 - _3 = _4[_5]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ _3 = const 3i32; // bb2[0]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 + _3 = const 3i32; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ // ty::Const + // ty::Const
+ // + ty: i32 + // + ty: i32
+ // + val: Value(Scalar(0x00000003)) + // + val: Value(Scalar(0x00000003))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/optimizes_into_variable.rs:13:13: 13:34 + // + span: $DIR/optimizes_into_variable.rs:13:13: 13:34
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } + // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
StorageDead(_5); // bb2[1]: scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35 StorageDead(_5); // scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35
StorageDead(_4); // bb2[2]: scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35 StorageDead(_4); // scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35
StorageLive(_8); // bb2[3]: scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10 StorageLive(_8); // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
StorageLive(_9); // bb2[4]: scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36 StorageLive(_9); // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
_9 = Point { x: const 12u32, y: const 42u32 }; // bb2[5]: scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36 _9 = Point { x: const 12u32, y: const 42u32 }; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x0000000c)) // + val: Value(Scalar(0x0000000c))
@ -162,26 +162,26 @@
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:14:32: 14:34 // + span: $DIR/optimizes_into_variable.rs:14:32: 14:34
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
- _8 = (_9.1: u32); // bb2[6]: scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38 - _8 = (_9.1: u32); // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
+ _8 = const 42u32; // bb2[6]: scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38 + _8 = const 42u32; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
+ // ty::Const + // ty::Const
+ // + ty: u32 + // + ty: u32
+ // + val: Value(Scalar(0x0000002a)) + // + val: Value(Scalar(0x0000002a))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/optimizes_into_variable.rs:14:13: 14:38 + // + span: $DIR/optimizes_into_variable.rs:14:13: 14:38
+ // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
StorageDead(_9); // bb2[7]: scope 2 at $DIR/optimizes_into_variable.rs:14:38: 14:39 StorageDead(_9); // scope 2 at $DIR/optimizes_into_variable.rs:14:38: 14:39
_0 = const (); // bb2[8]: scope 0 at $DIR/optimizes_into_variable.rs:11:11: 15:2 _0 = const (); // scope 0 at $DIR/optimizes_into_variable.rs:11:11: 15:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:11:11: 15:2 // + span: $DIR/optimizes_into_variable.rs:11:11: 15:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_8); // bb2[9]: scope 2 at $DIR/optimizes_into_variable.rs:15:1: 15:2 StorageDead(_8); // scope 2 at $DIR/optimizes_into_variable.rs:15:1: 15:2
StorageDead(_3); // bb2[10]: scope 1 at $DIR/optimizes_into_variable.rs:15:1: 15:2 StorageDead(_3); // scope 1 at $DIR/optimizes_into_variable.rs:15:1: 15:2
StorageDead(_1); // bb2[11]: scope 0 at $DIR/optimizes_into_variable.rs:15:1: 15:2 StorageDead(_1); // scope 0 at $DIR/optimizes_into_variable.rs:15:1: 15:2
return; // bb2[12]: scope 0 at $DIR/optimizes_into_variable.rs:15:2: 15:2 return; // scope 0 at $DIR/optimizes_into_variable.rs:15:2: 15:2
} }
} }

View file

@ -16,40 +16,40 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10 StorageLive(_1); // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
_1 = const 4i32; // bb0[1]: scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 _1 = const 4i32; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000004)) // + val: Value(Scalar(0x00000004))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:12:13: 12:18 // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
// + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
StorageLive(_2); // bb0[2]: scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10 StorageLive(_2); // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
_2 = const 3i32; // bb0[3]: scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 _2 = const 3i32; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000003)) // + val: Value(Scalar(0x00000003))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:13:13: 13:34 // + span: $DIR/optimizes_into_variable.rs:13:13: 13:34
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
StorageLive(_3); // bb0[4]: scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10 StorageLive(_3); // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
_3 = const 42u32; // bb0[5]: scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38 _3 = const 42u32; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x0000002a)) // + val: Value(Scalar(0x0000002a))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:14:13: 14:38 // + span: $DIR/optimizes_into_variable.rs:14:13: 14:38
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
_0 = const (); // bb0[6]: scope 0 at $DIR/optimizes_into_variable.rs:11:11: 15:2 _0 = const (); // scope 0 at $DIR/optimizes_into_variable.rs:11:11: 15:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/optimizes_into_variable.rs:11:11: 15:2 // + span: $DIR/optimizes_into_variable.rs:11:11: 15:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_3); // bb0[7]: scope 2 at $DIR/optimizes_into_variable.rs:15:1: 15:2 StorageDead(_3); // scope 2 at $DIR/optimizes_into_variable.rs:15:1: 15:2
StorageDead(_2); // bb0[8]: scope 1 at $DIR/optimizes_into_variable.rs:15:1: 15:2 StorageDead(_2); // scope 1 at $DIR/optimizes_into_variable.rs:15:1: 15:2
StorageDead(_1); // bb0[9]: scope 0 at $DIR/optimizes_into_variable.rs:15:1: 15:2 StorageDead(_1); // scope 0 at $DIR/optimizes_into_variable.rs:15:1: 15:2
return; // bb0[10]: scope 0 at $DIR/optimizes_into_variable.rs:15:2: 15:2 return; // scope 0 at $DIR/optimizes_into_variable.rs:15:2: 15:2
} }
} }

View file

@ -13,62 +13,62 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/read_immutable_static.rs:7:9: 7:10 StorageLive(_1); // scope 0 at $DIR/read_immutable_static.rs:7:9: 7:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16 StorageLive(_2); // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
StorageLive(_3); // bb0[2]: scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16 StorageLive(_3); // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
_3 = const {alloc0+0x0: &u8}; // bb0[3]: scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16 _3 = const {alloc0+0x0: &u8}; // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
// ty::Const // ty::Const
// + ty: &u8 // + ty: &u8
// + val: Value(Scalar(alloc0+0x0)) // + val: Value(Scalar(alloc0+0x0))
// mir::Constant // mir::Constant
// + span: $DIR/read_immutable_static.rs:7:13: 7:16 // + span: $DIR/read_immutable_static.rs:7:13: 7:16
// + literal: Const { ty: &u8, val: Value(Scalar(alloc0+0x0)) } // + literal: Const { ty: &u8, val: Value(Scalar(alloc0+0x0)) }
- _2 = (*_3); // bb0[4]: scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16 - _2 = (*_3); // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
+ _2 = const 2u8; // bb0[4]: scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16 + _2 = const 2u8; // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
+ // ty::Const + // ty::Const
+ // + ty: u8 + // + ty: u8
+ // + val: Value(Scalar(0x02)) + // + val: Value(Scalar(0x02))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/read_immutable_static.rs:7:13: 7:16 + // + span: $DIR/read_immutable_static.rs:7:13: 7:16
+ // + literal: Const { ty: u8, val: Value(Scalar(0x02)) } + // + literal: Const { ty: u8, val: Value(Scalar(0x02)) }
StorageLive(_4); // bb0[5]: scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22 StorageLive(_4); // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
StorageLive(_5); // bb0[6]: scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22 StorageLive(_5); // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
_5 = const {alloc0+0x0: &u8}; // bb0[7]: scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22 _5 = const {alloc0+0x0: &u8}; // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
// ty::Const // ty::Const
// + ty: &u8 // + ty: &u8
// + val: Value(Scalar(alloc0+0x0)) // + val: Value(Scalar(alloc0+0x0))
// mir::Constant // mir::Constant
// + span: $DIR/read_immutable_static.rs:7:19: 7:22 // + span: $DIR/read_immutable_static.rs:7:19: 7:22
// + literal: Const { ty: &u8, val: Value(Scalar(alloc0+0x0)) } // + literal: Const { ty: &u8, val: Value(Scalar(alloc0+0x0)) }
- _4 = (*_5); // bb0[8]: scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22 - _4 = (*_5); // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
- _1 = Add(move _2, move _4); // bb0[9]: scope 0 at $DIR/read_immutable_static.rs:7:13: 7:22 - _1 = Add(move _2, move _4); // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:22
+ _4 = const 2u8; // bb0[8]: scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22 + _4 = const 2u8; // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
+ // ty::Const + // ty::Const
+ // + ty: u8 + // + ty: u8
+ // + val: Value(Scalar(0x02)) + // + val: Value(Scalar(0x02))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/read_immutable_static.rs:7:19: 7:22 + // + span: $DIR/read_immutable_static.rs:7:19: 7:22
+ // + literal: Const { ty: u8, val: Value(Scalar(0x02)) } + // + literal: Const { ty: u8, val: Value(Scalar(0x02)) }
+ _1 = const 4u8; // bb0[9]: scope 0 at $DIR/read_immutable_static.rs:7:13: 7:22 + _1 = const 4u8; // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:22
+ // ty::Const + // ty::Const
+ // + ty: u8 + // + ty: u8
+ // + val: Value(Scalar(0x04)) + // + val: Value(Scalar(0x04))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/read_immutable_static.rs:7:13: 7:22 + // + span: $DIR/read_immutable_static.rs:7:13: 7:22
+ // + literal: Const { ty: u8, val: Value(Scalar(0x04)) } + // + literal: Const { ty: u8, val: Value(Scalar(0x04)) }
StorageDead(_4); // bb0[10]: scope 0 at $DIR/read_immutable_static.rs:7:21: 7:22 StorageDead(_4); // scope 0 at $DIR/read_immutable_static.rs:7:21: 7:22
StorageDead(_2); // bb0[11]: scope 0 at $DIR/read_immutable_static.rs:7:21: 7:22 StorageDead(_2); // scope 0 at $DIR/read_immutable_static.rs:7:21: 7:22
StorageDead(_5); // bb0[12]: scope 0 at $DIR/read_immutable_static.rs:7:22: 7:23 StorageDead(_5); // scope 0 at $DIR/read_immutable_static.rs:7:22: 7:23
StorageDead(_3); // bb0[13]: scope 0 at $DIR/read_immutable_static.rs:7:22: 7:23 StorageDead(_3); // scope 0 at $DIR/read_immutable_static.rs:7:22: 7:23
_0 = const (); // bb0[14]: scope 0 at $DIR/read_immutable_static.rs:6:11: 8:2 _0 = const (); // scope 0 at $DIR/read_immutable_static.rs:6:11: 8:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/read_immutable_static.rs:6:11: 8:2 // + span: $DIR/read_immutable_static.rs:6:11: 8:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb0[15]: scope 0 at $DIR/read_immutable_static.rs:8:1: 8:2 StorageDead(_1); // scope 0 at $DIR/read_immutable_static.rs:8:1: 8:2
return; // bb0[16]: scope 0 at $DIR/read_immutable_static.rs:8:2: 8:2 return; // scope 0 at $DIR/read_immutable_static.rs:8:2: 8:2
} }
} }

View file

@ -9,34 +9,34 @@
let mut _4: &i32; // in scope 0 at $DIR/ref_deref.rs:5:6: 5:10 let mut _4: &i32; // in scope 0 at $DIR/ref_deref.rs:5:6: 5:10
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/ref_deref.rs:5:5: 5:10 StorageLive(_1); // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/ref_deref.rs:5:6: 5:10 StorageLive(_2); // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
_4 = const main::promoted[0]; // bb0[2]: scope 0 at $DIR/ref_deref.rs:5:6: 5:10 _4 = const main::promoted[0]; // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
// ty::Const // ty::Const
// + ty: &i32 // + ty: &i32
// + val: Unevaluated(DefId(0:3 ~ ref_deref[317d]::main[0]), [], Some(promoted[0])) // + val: Unevaluated(DefId(0:3 ~ ref_deref[317d]::main[0]), [], Some(promoted[0]))
// mir::Constant // mir::Constant
// + span: $DIR/ref_deref.rs:5:6: 5:10 // + span: $DIR/ref_deref.rs:5:6: 5:10
// + literal: Const { ty: &i32, val: Unevaluated(DefId(0:3 ~ ref_deref[317d]::main[0]), [], Some(promoted[0])) } // + literal: Const { ty: &i32, val: Unevaluated(DefId(0:3 ~ ref_deref[317d]::main[0]), [], Some(promoted[0])) }
_2 = _4; // bb0[3]: scope 0 at $DIR/ref_deref.rs:5:6: 5:10 _2 = _4; // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
- _1 = (*_2); // bb0[4]: scope 0 at $DIR/ref_deref.rs:5:5: 5:10 - _1 = (*_2); // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
+ _1 = const 4i32; // bb0[4]: scope 0 at $DIR/ref_deref.rs:5:5: 5:10 + _1 = const 4i32; // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
+ // ty::Const + // ty::Const
+ // + ty: i32 + // + ty: i32
+ // + val: Value(Scalar(0x00000004)) + // + val: Value(Scalar(0x00000004))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/ref_deref.rs:5:5: 5:10 + // + span: $DIR/ref_deref.rs:5:5: 5:10
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) } + // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
StorageDead(_2); // bb0[5]: scope 0 at $DIR/ref_deref.rs:5:10: 5:11 StorageDead(_2); // scope 0 at $DIR/ref_deref.rs:5:10: 5:11
StorageDead(_1); // bb0[6]: scope 0 at $DIR/ref_deref.rs:5:10: 5:11 StorageDead(_1); // scope 0 at $DIR/ref_deref.rs:5:10: 5:11
_0 = const (); // bb0[7]: scope 0 at $DIR/ref_deref.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/ref_deref.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/ref_deref.rs:4:11: 6:2 // + span: $DIR/ref_deref.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb0[8]: scope 0 at $DIR/ref_deref.rs:6:2: 6:2 return; // scope 0 at $DIR/ref_deref.rs:6:2: 6:2
} }
} }

View file

@ -9,11 +9,11 @@
+ let mut _4: &i32; // in scope 0 at $DIR/ref_deref.rs:5:6: 5:10 + let mut _4: &i32; // in scope 0 at $DIR/ref_deref.rs:5:6: 5:10
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/ref_deref.rs:5:5: 5:10 StorageLive(_1); // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/ref_deref.rs:5:6: 5:10 StorageLive(_2); // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
- StorageLive(_3); // bb0[2]: scope 0 at $DIR/ref_deref.rs:5:8: 5:9 - StorageLive(_3); // scope 0 at $DIR/ref_deref.rs:5:8: 5:9
- _3 = const 4i32; // bb0[3]: scope 0 at $DIR/ref_deref.rs:5:8: 5:9 - _3 = const 4i32; // scope 0 at $DIR/ref_deref.rs:5:8: 5:9
+ _4 = const main::promoted[0]; // bb0[2]: scope 0 at $DIR/ref_deref.rs:5:6: 5:10 + _4 = const main::promoted[0]; // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
// ty::Const // ty::Const
- // + ty: i32 - // + ty: i32
- // + val: Value(Scalar(0x00000004)) - // + val: Value(Scalar(0x00000004))
@ -22,27 +22,22 @@
// mir::Constant // mir::Constant
- // + span: $DIR/ref_deref.rs:5:8: 5:9 - // + span: $DIR/ref_deref.rs:5:8: 5:9
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) } - // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
- _2 = &_3; // bb0[4]: scope 0 at $DIR/ref_deref.rs:5:6: 5:10 - _2 = &_3; // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
- _1 = (*_2); // bb0[5]: scope 0 at $DIR/ref_deref.rs:5:5: 5:10
- StorageDead(_3); // bb0[6]: scope 0 at $DIR/ref_deref.rs:5:10: 5:11
- StorageDead(_2); // bb0[7]: scope 0 at $DIR/ref_deref.rs:5:10: 5:11
- StorageDead(_1); // bb0[8]: scope 0 at $DIR/ref_deref.rs:5:10: 5:11
- _0 = const (); // bb0[9]: scope 0 at $DIR/ref_deref.rs:4:11: 6:2
+ // + span: $DIR/ref_deref.rs:5:6: 5:10 + // + span: $DIR/ref_deref.rs:5:6: 5:10
+ // + literal: Const { ty: &i32, val: Unevaluated(DefId(0:3 ~ ref_deref[317d]::main[0]), [], Some(promoted[0])) } + // + literal: Const { ty: &i32, val: Unevaluated(DefId(0:3 ~ ref_deref[317d]::main[0]), [], Some(promoted[0])) }
+ _2 = &(*_4); // bb0[3]: scope 0 at $DIR/ref_deref.rs:5:6: 5:10 + _2 = &(*_4); // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
+ _1 = (*_2); // bb0[4]: scope 0 at $DIR/ref_deref.rs:5:5: 5:10 _1 = (*_2); // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
+ StorageDead(_2); // bb0[5]: scope 0 at $DIR/ref_deref.rs:5:10: 5:11 - StorageDead(_3); // scope 0 at $DIR/ref_deref.rs:5:10: 5:11
+ StorageDead(_1); // bb0[6]: scope 0 at $DIR/ref_deref.rs:5:10: 5:11 StorageDead(_2); // scope 0 at $DIR/ref_deref.rs:5:10: 5:11
+ _0 = const (); // bb0[7]: scope 0 at $DIR/ref_deref.rs:4:11: 6:2 StorageDead(_1); // scope 0 at $DIR/ref_deref.rs:5:10: 5:11
_0 = const (); // scope 0 at $DIR/ref_deref.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/ref_deref.rs:4:11: 6:2 // + span: $DIR/ref_deref.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
- return; // bb0[10]: scope 0 at $DIR/ref_deref.rs:6:2: 6:2 return; // scope 0 at $DIR/ref_deref.rs:6:2: 6:2
+ return; // bb0[8]: scope 0 at $DIR/ref_deref.rs:6:2: 6:2
} }
} }

View file

@ -9,27 +9,27 @@
let mut _4: &(i32, i32); // in scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17 let mut _4: &(i32, i32); // in scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17 StorageLive(_1); // scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
StorageLive(_2); // bb0[1]: scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17 StorageLive(_2); // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
_4 = const main::promoted[0]; // bb0[2]: scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17 _4 = const main::promoted[0]; // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
// ty::Const // ty::Const
// + ty: &(i32, i32) // + ty: &(i32, i32)
// + val: Unevaluated(DefId(0:3 ~ ref_deref_project[317d]::main[0]), [], Some(promoted[0])) // + val: Unevaluated(DefId(0:3 ~ ref_deref_project[317d]::main[0]), [], Some(promoted[0]))
// mir::Constant // mir::Constant
// + span: $DIR/ref_deref_project.rs:5:6: 5:17 // + span: $DIR/ref_deref_project.rs:5:6: 5:17
// + literal: Const { ty: &(i32, i32), val: Unevaluated(DefId(0:3 ~ ref_deref_project[317d]::main[0]), [], Some(promoted[0])) } // + literal: Const { ty: &(i32, i32), val: Unevaluated(DefId(0:3 ~ ref_deref_project[317d]::main[0]), [], Some(promoted[0])) }
_2 = &((*_4).1: i32); // bb0[3]: scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17 _2 = &((*_4).1: i32); // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
_1 = (*_2); // bb0[4]: scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17 _1 = (*_2); // scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
StorageDead(_2); // bb0[5]: scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18 StorageDead(_2); // scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18
StorageDead(_1); // bb0[6]: scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18 StorageDead(_1); // scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18
_0 = const (); // bb0[7]: scope 0 at $DIR/ref_deref_project.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/ref_deref_project.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/ref_deref_project.rs:4:11: 6:2 // + span: $DIR/ref_deref_project.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb0[8]: scope 0 at $DIR/ref_deref_project.rs:6:2: 6:2 return; // scope 0 at $DIR/ref_deref_project.rs:6:2: 6:2
} }
} }

View file

@ -9,11 +9,11 @@
+ let mut _4: &(i32, i32); // in scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17 + let mut _4: &(i32, i32); // in scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17 StorageLive(_1); // scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
StorageLive(_2); // bb0[1]: scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17 StorageLive(_2); // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
- StorageLive(_3); // bb0[2]: scope 0 at $DIR/ref_deref_project.rs:5:8: 5:14 - StorageLive(_3); // scope 0 at $DIR/ref_deref_project.rs:5:8: 5:14
- _3 = (const 4i32, const 5i32); // bb0[3]: scope 0 at $DIR/ref_deref_project.rs:5:8: 5:14 - _3 = (const 4i32, const 5i32); // scope 0 at $DIR/ref_deref_project.rs:5:8: 5:14
+ _4 = const main::promoted[0]; // bb0[2]: scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17 + _4 = const main::promoted[0]; // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
// ty::Const // ty::Const
- // + ty: i32 - // + ty: i32
- // + val: Value(Scalar(0x00000004)) - // + val: Value(Scalar(0x00000004))
@ -22,33 +22,28 @@
// mir::Constant // mir::Constant
- // + span: $DIR/ref_deref_project.rs:5:9: 5:10 - // + span: $DIR/ref_deref_project.rs:5:9: 5:10
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) } - // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
+ // + span: $DIR/ref_deref_project.rs:5:6: 5:17 - // ty::Const
+ // + literal: Const { ty: &(i32, i32), val: Unevaluated(DefId(0:3 ~ ref_deref_project[317d]::main[0]), [], Some(promoted[0])) }
+ _2 = &((*_4).1: i32); // bb0[3]: scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
+ _1 = (*_2); // bb0[4]: scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
+ StorageDead(_2); // bb0[5]: scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18
+ StorageDead(_1); // bb0[6]: scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18
+ _0 = const (); // bb0[7]: scope 0 at $DIR/ref_deref_project.rs:4:11: 6:2
// ty::Const
- // + ty: i32 - // + ty: i32
- // + val: Value(Scalar(0x00000005)) - // + val: Value(Scalar(0x00000005))
- // mir::Constant - // mir::Constant
- // + span: $DIR/ref_deref_project.rs:5:12: 5:13 - // + span: $DIR/ref_deref_project.rs:5:12: 5:13
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) } - // + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) }
- _2 = &(_3.1: i32); // bb0[4]: scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17 - _2 = &(_3.1: i32); // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
- _1 = (*_2); // bb0[5]: scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17 + // + span: $DIR/ref_deref_project.rs:5:6: 5:17
- StorageDead(_3); // bb0[6]: scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18 + // + literal: Const { ty: &(i32, i32), val: Unevaluated(DefId(0:3 ~ ref_deref_project[317d]::main[0]), [], Some(promoted[0])) }
- StorageDead(_2); // bb0[7]: scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18 + _2 = &((*_4).1: i32); // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
- StorageDead(_1); // bb0[8]: scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18 _1 = (*_2); // scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
- _0 = const (); // bb0[9]: scope 0 at $DIR/ref_deref_project.rs:4:11: 6:2 - StorageDead(_3); // scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18
- // ty::Const StorageDead(_2); // scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18
StorageDead(_1); // scope 0 at $DIR/ref_deref_project.rs:5:17: 5:18
_0 = const (); // scope 0 at $DIR/ref_deref_project.rs:4:11: 6:2
// ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/ref_deref_project.rs:4:11: 6:2 // + span: $DIR/ref_deref_project.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
- return; // bb0[10]: scope 0 at $DIR/ref_deref_project.rs:6:2: 6:2 return; // scope 0 at $DIR/ref_deref_project.rs:6:2: 6:2
+ return; // bb0[8]: scope 0 at $DIR/ref_deref_project.rs:6:2: 6:2
} }
} }

View file

@ -10,29 +10,29 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:41 StorageLive(_1); // scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:41
StorageLive(_2); // bb0[1]: scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:26 StorageLive(_2); // scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:26
StorageLive(_3); // bb0[2]: scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:17 StorageLive(_3); // scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:17
_3 = const main as fn() (Pointer(ReifyFnPointer)); // bb0[3]: scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:17 _3 = const main as fn() (Pointer(ReifyFnPointer)); // scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:17
// ty::Const // ty::Const
// + ty: fn() {main} // + ty: fn() {main}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/reify_fn_ptr.rs:4:13: 4:17 // + span: $DIR/reify_fn_ptr.rs:4:13: 4:17
// + literal: Const { ty: fn() {main}, val: Value(Scalar(<ZST>)) } // + literal: Const { ty: fn() {main}, val: Value(Scalar(<ZST>)) }
_2 = move _3 as usize (Misc); // bb0[4]: scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:26 _2 = move _3 as usize (Misc); // scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:26
StorageDead(_3); // bb0[5]: scope 0 at $DIR/reify_fn_ptr.rs:4:25: 4:26 StorageDead(_3); // scope 0 at $DIR/reify_fn_ptr.rs:4:25: 4:26
_1 = move _2 as *const fn() (Misc); // bb0[6]: scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:41 _1 = move _2 as *const fn() (Misc); // scope 0 at $DIR/reify_fn_ptr.rs:4:13: 4:41
StorageDead(_2); // bb0[7]: scope 0 at $DIR/reify_fn_ptr.rs:4:40: 4:41 StorageDead(_2); // scope 0 at $DIR/reify_fn_ptr.rs:4:40: 4:41
StorageDead(_1); // bb0[8]: scope 0 at $DIR/reify_fn_ptr.rs:4:41: 4:42 StorageDead(_1); // scope 0 at $DIR/reify_fn_ptr.rs:4:41: 4:42
_0 = const (); // bb0[9]: scope 0 at $DIR/reify_fn_ptr.rs:3:11: 5:2 _0 = const (); // scope 0 at $DIR/reify_fn_ptr.rs:3:11: 5:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/reify_fn_ptr.rs:3:11: 5:2 // + span: $DIR/reify_fn_ptr.rs:3:11: 5:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb0[10]: scope 0 at $DIR/reify_fn_ptr.rs:5:2: 5:2 return; // scope 0 at $DIR/reify_fn_ptr.rs:5:2: 5:2
} }
} }

View file

@ -14,41 +14,41 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/repeat.rs:6:9: 6:10 StorageLive(_1); // scope 0 at $DIR/repeat.rs:6:9: 6:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/repeat.rs:6:18: 6:28 StorageLive(_2); // scope 0 at $DIR/repeat.rs:6:18: 6:28
StorageLive(_3); // bb0[2]: scope 0 at $DIR/repeat.rs:6:18: 6:25 StorageLive(_3); // scope 0 at $DIR/repeat.rs:6:18: 6:25
_3 = [const 42u32; 8]; // bb0[3]: scope 0 at $DIR/repeat.rs:6:18: 6:25 _3 = [const 42u32; 8]; // scope 0 at $DIR/repeat.rs:6:18: 6:25
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x0000002a)) // + val: Value(Scalar(0x0000002a))
// mir::Constant // mir::Constant
// + span: $DIR/repeat.rs:6:19: 6:21 // + span: $DIR/repeat.rs:6:19: 6:21
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
StorageLive(_4); // bb0[4]: scope 0 at $DIR/repeat.rs:6:26: 6:27 StorageLive(_4); // scope 0 at $DIR/repeat.rs:6:26: 6:27
_4 = const 2usize; // bb0[5]: scope 0 at $DIR/repeat.rs:6:26: 6:27 _4 = const 2usize; // scope 0 at $DIR/repeat.rs:6:26: 6:27
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000002)) // + val: Value(Scalar(0x00000002))
// mir::Constant // mir::Constant
// + span: $DIR/repeat.rs:6:26: 6:27 // + span: $DIR/repeat.rs:6:26: 6:27
// + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) }
_5 = const 8usize; // bb0[6]: scope 0 at $DIR/repeat.rs:6:18: 6:28 _5 = const 8usize; // scope 0 at $DIR/repeat.rs:6:18: 6:28
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000008)) // + val: Value(Scalar(0x00000008))
// mir::Constant // mir::Constant
// + span: $DIR/repeat.rs:6:18: 6:28 // + span: $DIR/repeat.rs:6:18: 6:28
// + literal: Const { ty: usize, val: Value(Scalar(0x00000008)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000008)) }
- _6 = Lt(_4, _5); // bb0[7]: scope 0 at $DIR/repeat.rs:6:18: 6:28 - _6 = Lt(_4, _5); // scope 0 at $DIR/repeat.rs:6:18: 6:28
- assert(move _6, "index out of bounds: the len is {} but the index is {}", move _5, _4) -> bb1; // bb0[8]: scope 0 at $DIR/repeat.rs:6:18: 6:28 - assert(move _6, "index out of bounds: the len is {} but the index is {}", move _5, _4) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28
+ _6 = const true; // bb0[7]: scope 0 at $DIR/repeat.rs:6:18: 6:28 + _6 = const true; // scope 0 at $DIR/repeat.rs:6:18: 6:28
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/repeat.rs:6:18: 6:28 + // + span: $DIR/repeat.rs:6:18: 6:28
+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
+ assert(const true, "index out of bounds: the len is {} but the index is {}", move _5, _4) -> bb1; // bb0[8]: scope 0 at $DIR/repeat.rs:6:18: 6:28 + assert(const true, "index out of bounds: the len is {} but the index is {}", move _5, _4) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
@ -58,9 +58,9 @@
} }
bb1: { bb1: {
- _2 = _3[_4]; // bb1[0]: scope 0 at $DIR/repeat.rs:6:18: 6:28 - _2 = _3[_4]; // scope 0 at $DIR/repeat.rs:6:18: 6:28
- _1 = Add(move _2, const 0u32); // bb1[1]: scope 0 at $DIR/repeat.rs:6:18: 6:32 - _1 = Add(move _2, const 0u32); // scope 0 at $DIR/repeat.rs:6:18: 6:32
+ _2 = const 42u32; // bb1[0]: scope 0 at $DIR/repeat.rs:6:18: 6:28 + _2 = const 42u32; // scope 0 at $DIR/repeat.rs:6:18: 6:28
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
- // + val: Value(Scalar(0x00000000)) - // + val: Value(Scalar(0x00000000))
@ -70,25 +70,25 @@
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000000)) } - // + literal: Const { ty: u32, val: Value(Scalar(0x00000000)) }
+ // + span: $DIR/repeat.rs:6:18: 6:28 + // + span: $DIR/repeat.rs:6:18: 6:28
+ // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
+ _1 = const 42u32; // bb1[1]: scope 0 at $DIR/repeat.rs:6:18: 6:32 + _1 = const 42u32; // scope 0 at $DIR/repeat.rs:6:18: 6:32
+ // ty::Const + // ty::Const
+ // + ty: u32 + // + ty: u32
+ // + val: Value(Scalar(0x0000002a)) + // + val: Value(Scalar(0x0000002a))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/repeat.rs:6:18: 6:32 + // + span: $DIR/repeat.rs:6:18: 6:32
+ // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
StorageDead(_2); // bb1[2]: scope 0 at $DIR/repeat.rs:6:31: 6:32 StorageDead(_2); // scope 0 at $DIR/repeat.rs:6:31: 6:32
StorageDead(_4); // bb1[3]: scope 0 at $DIR/repeat.rs:6:32: 6:33 StorageDead(_4); // scope 0 at $DIR/repeat.rs:6:32: 6:33
StorageDead(_3); // bb1[4]: scope 0 at $DIR/repeat.rs:6:32: 6:33 StorageDead(_3); // scope 0 at $DIR/repeat.rs:6:32: 6:33
_0 = const (); // bb1[5]: scope 0 at $DIR/repeat.rs:5:11: 7:2 _0 = const (); // scope 0 at $DIR/repeat.rs:5:11: 7:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/repeat.rs:5:11: 7:2 // + span: $DIR/repeat.rs:5:11: 7:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb1[6]: scope 0 at $DIR/repeat.rs:7:1: 7:2 StorageDead(_1); // scope 0 at $DIR/repeat.rs:7:1: 7:2
return; // bb1[7]: scope 0 at $DIR/repeat.rs:7:2: 7:2 return; // scope 0 at $DIR/repeat.rs:7:2: 7:2
} }
} }

View file

@ -14,41 +14,41 @@
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/repeat.rs:6:9: 6:10 StorageLive(_1); // scope 0 at $DIR/repeat.rs:6:9: 6:10
StorageLive(_2); // bb0[1]: scope 0 at $DIR/repeat.rs:6:18: 6:28 StorageLive(_2); // scope 0 at $DIR/repeat.rs:6:18: 6:28
StorageLive(_3); // bb0[2]: scope 0 at $DIR/repeat.rs:6:18: 6:25 StorageLive(_3); // scope 0 at $DIR/repeat.rs:6:18: 6:25
_3 = [const 42u32; 8]; // bb0[3]: scope 0 at $DIR/repeat.rs:6:18: 6:25 _3 = [const 42u32; 8]; // scope 0 at $DIR/repeat.rs:6:18: 6:25
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x0000002a)) // + val: Value(Scalar(0x0000002a))
// mir::Constant // mir::Constant
// + span: $DIR/repeat.rs:6:19: 6:21 // + span: $DIR/repeat.rs:6:19: 6:21
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
StorageLive(_4); // bb0[4]: scope 0 at $DIR/repeat.rs:6:26: 6:27 StorageLive(_4); // scope 0 at $DIR/repeat.rs:6:26: 6:27
_4 = const 2usize; // bb0[5]: scope 0 at $DIR/repeat.rs:6:26: 6:27 _4 = const 2usize; // scope 0 at $DIR/repeat.rs:6:26: 6:27
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000002)) // + val: Value(Scalar(0x0000000000000002))
// mir::Constant // mir::Constant
// + span: $DIR/repeat.rs:6:26: 6:27 // + span: $DIR/repeat.rs:6:26: 6:27
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) }
_5 = const 8usize; // bb0[6]: scope 0 at $DIR/repeat.rs:6:18: 6:28 _5 = const 8usize; // scope 0 at $DIR/repeat.rs:6:18: 6:28
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000008)) // + val: Value(Scalar(0x0000000000000008))
// mir::Constant // mir::Constant
// + span: $DIR/repeat.rs:6:18: 6:28 // + span: $DIR/repeat.rs:6:18: 6:28
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000008)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000008)) }
- _6 = Lt(_4, _5); // bb0[7]: scope 0 at $DIR/repeat.rs:6:18: 6:28 - _6 = Lt(_4, _5); // scope 0 at $DIR/repeat.rs:6:18: 6:28
- assert(move _6, "index out of bounds: the len is {} but the index is {}", move _5, _4) -> bb1; // bb0[8]: scope 0 at $DIR/repeat.rs:6:18: 6:28 - assert(move _6, "index out of bounds: the len is {} but the index is {}", move _5, _4) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28
+ _6 = const true; // bb0[7]: scope 0 at $DIR/repeat.rs:6:18: 6:28 + _6 = const true; // scope 0 at $DIR/repeat.rs:6:18: 6:28
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/repeat.rs:6:18: 6:28 + // + span: $DIR/repeat.rs:6:18: 6:28
+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
+ assert(const true, "index out of bounds: the len is {} but the index is {}", move _5, _4) -> bb1; // bb0[8]: scope 0 at $DIR/repeat.rs:6:18: 6:28 + assert(const true, "index out of bounds: the len is {} but the index is {}", move _5, _4) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
@ -58,9 +58,9 @@
} }
bb1: { bb1: {
- _2 = _3[_4]; // bb1[0]: scope 0 at $DIR/repeat.rs:6:18: 6:28 - _2 = _3[_4]; // scope 0 at $DIR/repeat.rs:6:18: 6:28
- _1 = Add(move _2, const 0u32); // bb1[1]: scope 0 at $DIR/repeat.rs:6:18: 6:32 - _1 = Add(move _2, const 0u32); // scope 0 at $DIR/repeat.rs:6:18: 6:32
+ _2 = const 42u32; // bb1[0]: scope 0 at $DIR/repeat.rs:6:18: 6:28 + _2 = const 42u32; // scope 0 at $DIR/repeat.rs:6:18: 6:28
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
- // + val: Value(Scalar(0x00000000)) - // + val: Value(Scalar(0x00000000))
@ -70,25 +70,25 @@
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000000)) } - // + literal: Const { ty: u32, val: Value(Scalar(0x00000000)) }
+ // + span: $DIR/repeat.rs:6:18: 6:28 + // + span: $DIR/repeat.rs:6:18: 6:28
+ // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
+ _1 = const 42u32; // bb1[1]: scope 0 at $DIR/repeat.rs:6:18: 6:32 + _1 = const 42u32; // scope 0 at $DIR/repeat.rs:6:18: 6:32
+ // ty::Const + // ty::Const
+ // + ty: u32 + // + ty: u32
+ // + val: Value(Scalar(0x0000002a)) + // + val: Value(Scalar(0x0000002a))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/repeat.rs:6:18: 6:32 + // + span: $DIR/repeat.rs:6:18: 6:32
+ // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
StorageDead(_2); // bb1[2]: scope 0 at $DIR/repeat.rs:6:31: 6:32 StorageDead(_2); // scope 0 at $DIR/repeat.rs:6:31: 6:32
StorageDead(_4); // bb1[3]: scope 0 at $DIR/repeat.rs:6:32: 6:33 StorageDead(_4); // scope 0 at $DIR/repeat.rs:6:32: 6:33
StorageDead(_3); // bb1[4]: scope 0 at $DIR/repeat.rs:6:32: 6:33 StorageDead(_3); // scope 0 at $DIR/repeat.rs:6:32: 6:33
_0 = const (); // bb1[5]: scope 0 at $DIR/repeat.rs:5:11: 7:2 _0 = const (); // scope 0 at $DIR/repeat.rs:5:11: 7:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/repeat.rs:5:11: 7:2 // + span: $DIR/repeat.rs:5:11: 7:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb1[6]: scope 0 at $DIR/repeat.rs:7:1: 7:2 StorageDead(_1); // scope 0 at $DIR/repeat.rs:7:1: 7:2
return; // bb1[7]: scope 0 at $DIR/repeat.rs:7:2: 7:2 return; // scope 0 at $DIR/repeat.rs:7:2: 7:2
} }
} }

View file

@ -6,8 +6,8 @@
let mut _1: (u32, bool); // in scope 0 at $DIR/return_place.rs:6:5: 6:10 let mut _1: (u32, bool); // in scope 0 at $DIR/return_place.rs:6:5: 6:10
bb0: { bb0: {
- _1 = CheckedAdd(const 2u32, const 2u32); // bb0[0]: scope 0 at $DIR/return_place.rs:6:5: 6:10 - _1 = CheckedAdd(const 2u32, const 2u32); // scope 0 at $DIR/return_place.rs:6:5: 6:10
+ _1 = (const 4u32, const false); // bb0[0]: scope 0 at $DIR/return_place.rs:6:5: 6:10 + _1 = (const 4u32, const false); // scope 0 at $DIR/return_place.rs:6:5: 6:10
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
- // + val: Value(Scalar(0x00000002)) - // + val: Value(Scalar(0x00000002))
@ -25,10 +25,10 @@
// mir::Constant // mir::Constant
- // + span: $DIR/return_place.rs:6:9: 6:10 - // + span: $DIR/return_place.rs:6:9: 6:10
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) } - // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
- assert(!move (_1.1: bool), "attempt to add with overflow") -> bb1; // bb0[1]: scope 0 at $DIR/return_place.rs:6:5: 6:10 - assert(!move (_1.1: bool), "attempt to add with overflow") -> bb1; // scope 0 at $DIR/return_place.rs:6:5: 6:10
+ // + span: $DIR/return_place.rs:6:5: 6:10 + // + span: $DIR/return_place.rs:6:5: 6:10
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
+ assert(!const false, "attempt to add with overflow") -> bb1; // bb0[1]: scope 0 at $DIR/return_place.rs:6:5: 6:10 + assert(!const false, "attempt to add with overflow") -> bb1; // scope 0 at $DIR/return_place.rs:6:5: 6:10
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x00)) + // + val: Value(Scalar(0x00))
@ -38,15 +38,15 @@
} }
bb1: { bb1: {
- _0 = move (_1.0: u32); // bb1[0]: scope 0 at $DIR/return_place.rs:6:5: 6:10 - _0 = move (_1.0: u32); // scope 0 at $DIR/return_place.rs:6:5: 6:10
+ _0 = const 4u32; // bb1[0]: scope 0 at $DIR/return_place.rs:6:5: 6:10 + _0 = const 4u32; // scope 0 at $DIR/return_place.rs:6:5: 6:10
+ // ty::Const + // ty::Const
+ // + ty: u32 + // + ty: u32
+ // + val: Value(Scalar(0x00000004)) + // + val: Value(Scalar(0x00000004))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/return_place.rs:6:5: 6:10 + // + span: $DIR/return_place.rs:6:5: 6:10
+ // + literal: Const { ty: u32, val: Value(Scalar(0x00000004)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x00000004)) }
return; // bb1[1]: scope 0 at $DIR/return_place.rs:7:2: 7:2 return; // scope 0 at $DIR/return_place.rs:7:2: 7:2
} }
} }

View file

@ -4,13 +4,13 @@ fn add() -> u32 {
let mut _0: u32; // return place in scope 0 at $DIR/return_place.rs:5:13: 5:16 let mut _0: u32; // return place in scope 0 at $DIR/return_place.rs:5:13: 5:16
bb0: { bb0: {
_0 = const 4u32; // bb0[0]: scope 0 at $DIR/return_place.rs:6:5: 6:10 _0 = const 4u32; // scope 0 at $DIR/return_place.rs:6:5: 6:10
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x00000004)) // + val: Value(Scalar(0x00000004))
// mir::Constant // mir::Constant
// + span: $DIR/return_place.rs:6:5: 6:10 // + span: $DIR/return_place.rs:6:5: 6:10
// + literal: Const { ty: u32, val: Value(Scalar(0x00000004)) } // + literal: Const { ty: u32, val: Value(Scalar(0x00000004)) }
return; // bb0[1]: scope 0 at $DIR/return_place.rs:7:2: 7:2 return; // scope 0 at $DIR/return_place.rs:7:2: 7:2
} }
} }

View file

@ -14,47 +14,47 @@
let mut _9: &[u32; 3]; // in scope 0 at $DIR/slice_len.rs:5:6: 5:19 let mut _9: &[u32; 3]; // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 StorageLive(_1); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
StorageLive(_2); // bb0[1]: scope 0 at $DIR/slice_len.rs:5:5: 5:30 StorageLive(_2); // scope 0 at $DIR/slice_len.rs:5:5: 5:30
StorageLive(_3); // bb0[2]: scope 0 at $DIR/slice_len.rs:5:6: 5:19 StorageLive(_3); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
StorageLive(_4); // bb0[3]: scope 0 at $DIR/slice_len.rs:5:6: 5:19 StorageLive(_4); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
_9 = const main::promoted[0]; // bb0[4]: scope 0 at $DIR/slice_len.rs:5:6: 5:19 _9 = const main::promoted[0]; // scope 0 at $DIR/slice_len.rs:5:6: 5:19
// ty::Const // ty::Const
// + ty: &[u32; 3] // + ty: &[u32; 3]
// + val: Unevaluated(DefId(0:3 ~ slice_len[317d]::main[0]), [], Some(promoted[0])) // + val: Unevaluated(DefId(0:3 ~ slice_len[317d]::main[0]), [], Some(promoted[0]))
// mir::Constant // mir::Constant
// + span: $DIR/slice_len.rs:5:6: 5:19 // + span: $DIR/slice_len.rs:5:6: 5:19
// + literal: Const { ty: &[u32; 3], val: Unevaluated(DefId(0:3 ~ slice_len[317d]::main[0]), [], Some(promoted[0])) } // + literal: Const { ty: &[u32; 3], val: Unevaluated(DefId(0:3 ~ slice_len[317d]::main[0]), [], Some(promoted[0])) }
_4 = _9; // bb0[5]: scope 0 at $DIR/slice_len.rs:5:6: 5:19 _4 = _9; // scope 0 at $DIR/slice_len.rs:5:6: 5:19
_3 = _4; // bb0[6]: scope 0 at $DIR/slice_len.rs:5:6: 5:19 _3 = _4; // scope 0 at $DIR/slice_len.rs:5:6: 5:19
_2 = move _3 as &[u32] (Pointer(Unsize)); // bb0[7]: scope 0 at $DIR/slice_len.rs:5:6: 5:19 _2 = move _3 as &[u32] (Pointer(Unsize)); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
StorageDead(_3); // bb0[8]: scope 0 at $DIR/slice_len.rs:5:18: 5:19 StorageDead(_3); // scope 0 at $DIR/slice_len.rs:5:18: 5:19
StorageLive(_6); // bb0[9]: scope 0 at $DIR/slice_len.rs:5:31: 5:32 StorageLive(_6); // scope 0 at $DIR/slice_len.rs:5:31: 5:32
_6 = const 1usize; // bb0[10]: scope 0 at $DIR/slice_len.rs:5:31: 5:32 _6 = const 1usize; // scope 0 at $DIR/slice_len.rs:5:31: 5:32
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/slice_len.rs:5:31: 5:32 // + span: $DIR/slice_len.rs:5:31: 5:32
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
- _7 = Len((*_2)); // bb0[11]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 - _7 = Len((*_2)); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
- _8 = Lt(_6, _7); // bb0[12]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 - _8 = Lt(_6, _7); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
- assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // bb0[13]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 - assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ _7 = const 3usize; // bb0[11]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 + _7 = const 3usize; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ // ty::Const + // ty::Const
+ // + ty: usize + // + ty: usize
+ // + val: Value(Scalar(0x00000003)) + // + val: Value(Scalar(0x00000003))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/slice_len.rs:5:5: 5:33 + // + span: $DIR/slice_len.rs:5:5: 5:33
+ // + literal: Const { ty: usize, val: Value(Scalar(0x00000003)) } + // + literal: Const { ty: usize, val: Value(Scalar(0x00000003)) }
+ _8 = const true; // bb0[12]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 + _8 = const true; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/slice_len.rs:5:5: 5:33 + // + span: $DIR/slice_len.rs:5:5: 5:33
+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
+ assert(const true, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // bb0[13]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 + assert(const true, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
@ -64,26 +64,26 @@
} }
bb1: { bb1: {
- _1 = (*_2)[_6]; // bb1[0]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 - _1 = (*_2)[_6]; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ _1 = const 2u32; // bb1[0]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 + _1 = const 2u32; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ // ty::Const + // ty::Const
+ // + ty: u32 + // + ty: u32
+ // + val: Value(Scalar(0x00000002)) + // + val: Value(Scalar(0x00000002))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/slice_len.rs:5:5: 5:33 + // + span: $DIR/slice_len.rs:5:5: 5:33
+ // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
StorageDead(_6); // bb1[1]: scope 0 at $DIR/slice_len.rs:5:33: 5:34 StorageDead(_6); // scope 0 at $DIR/slice_len.rs:5:33: 5:34
StorageDead(_4); // bb1[2]: scope 0 at $DIR/slice_len.rs:5:33: 5:34 StorageDead(_4); // scope 0 at $DIR/slice_len.rs:5:33: 5:34
StorageDead(_2); // bb1[3]: scope 0 at $DIR/slice_len.rs:5:33: 5:34 StorageDead(_2); // scope 0 at $DIR/slice_len.rs:5:33: 5:34
StorageDead(_1); // bb1[4]: scope 0 at $DIR/slice_len.rs:5:33: 5:34 StorageDead(_1); // scope 0 at $DIR/slice_len.rs:5:33: 5:34
_0 = const (); // bb1[5]: scope 0 at $DIR/slice_len.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/slice_len.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/slice_len.rs:4:11: 6:2 // + span: $DIR/slice_len.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb1[6]: scope 0 at $DIR/slice_len.rs:6:2: 6:2 return; // scope 0 at $DIR/slice_len.rs:6:2: 6:2
} }
} }

View file

@ -14,47 +14,47 @@
let mut _9: &[u32; 3]; // in scope 0 at $DIR/slice_len.rs:5:6: 5:19 let mut _9: &[u32; 3]; // in scope 0 at $DIR/slice_len.rs:5:6: 5:19
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 StorageLive(_1); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
StorageLive(_2); // bb0[1]: scope 0 at $DIR/slice_len.rs:5:5: 5:30 StorageLive(_2); // scope 0 at $DIR/slice_len.rs:5:5: 5:30
StorageLive(_3); // bb0[2]: scope 0 at $DIR/slice_len.rs:5:6: 5:19 StorageLive(_3); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
StorageLive(_4); // bb0[3]: scope 0 at $DIR/slice_len.rs:5:6: 5:19 StorageLive(_4); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
_9 = const main::promoted[0]; // bb0[4]: scope 0 at $DIR/slice_len.rs:5:6: 5:19 _9 = const main::promoted[0]; // scope 0 at $DIR/slice_len.rs:5:6: 5:19
// ty::Const // ty::Const
// + ty: &[u32; 3] // + ty: &[u32; 3]
// + val: Unevaluated(DefId(0:3 ~ slice_len[317d]::main[0]), [], Some(promoted[0])) // + val: Unevaluated(DefId(0:3 ~ slice_len[317d]::main[0]), [], Some(promoted[0]))
// mir::Constant // mir::Constant
// + span: $DIR/slice_len.rs:5:6: 5:19 // + span: $DIR/slice_len.rs:5:6: 5:19
// + literal: Const { ty: &[u32; 3], val: Unevaluated(DefId(0:3 ~ slice_len[317d]::main[0]), [], Some(promoted[0])) } // + literal: Const { ty: &[u32; 3], val: Unevaluated(DefId(0:3 ~ slice_len[317d]::main[0]), [], Some(promoted[0])) }
_4 = _9; // bb0[5]: scope 0 at $DIR/slice_len.rs:5:6: 5:19 _4 = _9; // scope 0 at $DIR/slice_len.rs:5:6: 5:19
_3 = _4; // bb0[6]: scope 0 at $DIR/slice_len.rs:5:6: 5:19 _3 = _4; // scope 0 at $DIR/slice_len.rs:5:6: 5:19
_2 = move _3 as &[u32] (Pointer(Unsize)); // bb0[7]: scope 0 at $DIR/slice_len.rs:5:6: 5:19 _2 = move _3 as &[u32] (Pointer(Unsize)); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
StorageDead(_3); // bb0[8]: scope 0 at $DIR/slice_len.rs:5:18: 5:19 StorageDead(_3); // scope 0 at $DIR/slice_len.rs:5:18: 5:19
StorageLive(_6); // bb0[9]: scope 0 at $DIR/slice_len.rs:5:31: 5:32 StorageLive(_6); // scope 0 at $DIR/slice_len.rs:5:31: 5:32
_6 = const 1usize; // bb0[10]: scope 0 at $DIR/slice_len.rs:5:31: 5:32 _6 = const 1usize; // scope 0 at $DIR/slice_len.rs:5:31: 5:32
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000001)) // + val: Value(Scalar(0x0000000000000001))
// mir::Constant // mir::Constant
// + span: $DIR/slice_len.rs:5:31: 5:32 // + span: $DIR/slice_len.rs:5:31: 5:32
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
- _7 = Len((*_2)); // bb0[11]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 - _7 = Len((*_2)); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
- _8 = Lt(_6, _7); // bb0[12]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 - _8 = Lt(_6, _7); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
- assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // bb0[13]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 - assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ _7 = const 3usize; // bb0[11]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 + _7 = const 3usize; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ // ty::Const + // ty::Const
+ // + ty: usize + // + ty: usize
+ // + val: Value(Scalar(0x0000000000000003)) + // + val: Value(Scalar(0x0000000000000003))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/slice_len.rs:5:5: 5:33 + // + span: $DIR/slice_len.rs:5:5: 5:33
+ // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000003)) } + // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000003)) }
+ _8 = const true; // bb0[12]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 + _8 = const true; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/slice_len.rs:5:5: 5:33 + // + span: $DIR/slice_len.rs:5:5: 5:33
+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) } + // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
+ assert(const true, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // bb0[13]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 + assert(const true, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ // ty::Const + // ty::Const
+ // + ty: bool + // + ty: bool
+ // + val: Value(Scalar(0x01)) + // + val: Value(Scalar(0x01))
@ -64,26 +64,26 @@
} }
bb1: { bb1: {
- _1 = (*_2)[_6]; // bb1[0]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 - _1 = (*_2)[_6]; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ _1 = const 2u32; // bb1[0]: scope 0 at $DIR/slice_len.rs:5:5: 5:33 + _1 = const 2u32; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ // ty::Const + // ty::Const
+ // + ty: u32 + // + ty: u32
+ // + val: Value(Scalar(0x00000002)) + // + val: Value(Scalar(0x00000002))
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/slice_len.rs:5:5: 5:33 + // + span: $DIR/slice_len.rs:5:5: 5:33
+ // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
StorageDead(_6); // bb1[1]: scope 0 at $DIR/slice_len.rs:5:33: 5:34 StorageDead(_6); // scope 0 at $DIR/slice_len.rs:5:33: 5:34
StorageDead(_4); // bb1[2]: scope 0 at $DIR/slice_len.rs:5:33: 5:34 StorageDead(_4); // scope 0 at $DIR/slice_len.rs:5:33: 5:34
StorageDead(_2); // bb1[3]: scope 0 at $DIR/slice_len.rs:5:33: 5:34 StorageDead(_2); // scope 0 at $DIR/slice_len.rs:5:33: 5:34
StorageDead(_1); // bb1[4]: scope 0 at $DIR/slice_len.rs:5:33: 5:34 StorageDead(_1); // scope 0 at $DIR/slice_len.rs:5:33: 5:34
_0 = const (); // bb1[5]: scope 0 at $DIR/slice_len.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/slice_len.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/slice_len.rs:4:11: 6:2 // + span: $DIR/slice_len.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb1[6]: scope 0 at $DIR/slice_len.rs:6:2: 6:2 return; // scope 0 at $DIR/slice_len.rs:6:2: 6:2
} }
} }

View file

@ -6,16 +6,16 @@
let mut _1: i32; // in scope 0 at $DIR/switch_int.rs:7:11: 7:12 let mut _1: i32; // in scope 0 at $DIR/switch_int.rs:7:11: 7:12
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/switch_int.rs:7:11: 7:12 StorageLive(_1); // scope 0 at $DIR/switch_int.rs:7:11: 7:12
_1 = const 1i32; // bb0[1]: scope 0 at $DIR/switch_int.rs:7:11: 7:12 _1 = const 1i32; // scope 0 at $DIR/switch_int.rs:7:11: 7:12
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/switch_int.rs:7:11: 7:12 // + span: $DIR/switch_int.rs:7:11: 7:12
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
- switchInt(_1) -> [1i32: bb2, otherwise: bb1]; // bb0[2]: scope 0 at $DIR/switch_int.rs:8:9: 8:10 - switchInt(_1) -> [1i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:8:9: 8:10
+ switchInt(const 1i32) -> [1i32: bb2, otherwise: bb1]; // bb0[2]: scope 0 at $DIR/switch_int.rs:8:9: 8:10 + switchInt(const 1i32) -> [1i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:8:9: 8:10
+ // ty::Const + // ty::Const
+ // + ty: i32 + // + ty: i32
+ // + val: Value(Scalar(0x00000001)) + // + val: Value(Scalar(0x00000001))
@ -25,7 +25,7 @@
} }
bb1: { bb1: {
_0 = const foo(const -1i32) -> bb3; // bb1[0]: scope 0 at $DIR/switch_int.rs:9:14: 9:21 _0 = const foo(const -1i32) -> bb3; // scope 0 at $DIR/switch_int.rs:9:14: 9:21
// ty::Const // ty::Const
// + ty: fn(i32) {foo} // + ty: fn(i32) {foo}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -41,7 +41,7 @@
} }
bb2: { bb2: {
_0 = const foo(const 0i32) -> bb3; // bb2[0]: scope 0 at $DIR/switch_int.rs:8:14: 8:20 _0 = const foo(const 0i32) -> bb3; // scope 0 at $DIR/switch_int.rs:8:14: 8:20
// ty::Const // ty::Const
// + ty: fn(i32) {foo} // + ty: fn(i32) {foo}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -57,8 +57,8 @@
} }
bb3: { bb3: {
StorageDead(_1); // bb3[0]: scope 0 at $DIR/switch_int.rs:11:1: 11:2 StorageDead(_1); // scope 0 at $DIR/switch_int.rs:11:1: 11:2
return; // bb3[1]: scope 0 at $DIR/switch_int.rs:11:2: 11:2 return; // scope 0 at $DIR/switch_int.rs:11:2: 11:2
} }
} }

View file

@ -6,26 +6,26 @@
let mut _1: i32; // in scope 0 at $DIR/switch_int.rs:7:11: 7:12 let mut _1: i32; // in scope 0 at $DIR/switch_int.rs:7:11: 7:12
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/switch_int.rs:7:11: 7:12 StorageLive(_1); // scope 0 at $DIR/switch_int.rs:7:11: 7:12
_1 = const 1i32; // bb0[1]: scope 0 at $DIR/switch_int.rs:7:11: 7:12 _1 = const 1i32; // scope 0 at $DIR/switch_int.rs:7:11: 7:12
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/switch_int.rs:7:11: 7:12 // + span: $DIR/switch_int.rs:7:11: 7:12
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
- switchInt(const 1i32) -> [1i32: bb2, otherwise: bb1]; // bb0[2]: scope 0 at $DIR/switch_int.rs:8:9: 8:10 - switchInt(const 1i32) -> [1i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:8:9: 8:10
- // ty::Const - // ty::Const
- // + ty: i32 - // + ty: i32
- // + val: Value(Scalar(0x00000001)) - // + val: Value(Scalar(0x00000001))
- // mir::Constant - // mir::Constant
- // + span: $DIR/switch_int.rs:8:9: 8:10 - // + span: $DIR/switch_int.rs:8:9: 8:10
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } - // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
+ goto -> bb2; // bb0[2]: scope 0 at $DIR/switch_int.rs:8:9: 8:10 + goto -> bb2; // scope 0 at $DIR/switch_int.rs:8:9: 8:10
} }
bb1: { bb1: {
_0 = const foo(const -1i32) -> bb3; // bb1[0]: scope 0 at $DIR/switch_int.rs:9:14: 9:21 _0 = const foo(const -1i32) -> bb3; // scope 0 at $DIR/switch_int.rs:9:14: 9:21
// ty::Const // ty::Const
// + ty: fn(i32) {foo} // + ty: fn(i32) {foo}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -41,7 +41,7 @@
} }
bb2: { bb2: {
_0 = const foo(const 0i32) -> bb3; // bb2[0]: scope 0 at $DIR/switch_int.rs:8:14: 8:20 _0 = const foo(const 0i32) -> bb3; // scope 0 at $DIR/switch_int.rs:8:14: 8:20
// ty::Const // ty::Const
// + ty: fn(i32) {foo} // + ty: fn(i32) {foo}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -57,8 +57,8 @@
} }
bb3: { bb3: {
StorageDead(_1); // bb3[0]: scope 0 at $DIR/switch_int.rs:11:1: 11:2 StorageDead(_1); // scope 0 at $DIR/switch_int.rs:11:1: 11:2
return; // bb3[1]: scope 0 at $DIR/switch_int.rs:11:2: 11:2 return; // scope 0 at $DIR/switch_int.rs:11:2: 11:2
} }
} }

View file

@ -11,15 +11,15 @@
} }
bb0: { bb0: {
- StorageLive(_2); // bb0[0]: scope 0 at $DIR/copy_propagation.rs:4:9: 4:10 - StorageLive(_2); // scope 0 at $DIR/copy_propagation.rs:4:9: 4:10
- _2 = _1; // bb0[1]: scope 0 at $DIR/copy_propagation.rs:4:13: 4:14 - _2 = _1; // scope 0 at $DIR/copy_propagation.rs:4:13: 4:14
- _0 = _2; // bb0[2]: scope 1 at $DIR/copy_propagation.rs:5:5: 5:6 - _0 = _2; // scope 1 at $DIR/copy_propagation.rs:5:5: 5:6
- StorageDead(_2); // bb0[3]: scope 0 at $DIR/copy_propagation.rs:6:1: 6:2 - StorageDead(_2); // scope 0 at $DIR/copy_propagation.rs:6:1: 6:2
+ nop; // bb0[0]: scope 0 at $DIR/copy_propagation.rs:4:9: 4:10 + nop; // scope 0 at $DIR/copy_propagation.rs:4:9: 4:10
+ nop; // bb0[1]: scope 0 at $DIR/copy_propagation.rs:4:13: 4:14 + nop; // scope 0 at $DIR/copy_propagation.rs:4:13: 4:14
+ _0 = _1; // bb0[2]: scope 1 at $DIR/copy_propagation.rs:5:5: 5:6 + _0 = _1; // scope 1 at $DIR/copy_propagation.rs:5:5: 5:6
+ nop; // bb0[3]: scope 0 at $DIR/copy_propagation.rs:6:1: 6:2 + nop; // scope 0 at $DIR/copy_propagation.rs:6:1: 6:2
return; // bb0[4]: scope 0 at $DIR/copy_propagation.rs:6:2: 6:2 return; // scope 0 at $DIR/copy_propagation.rs:6:2: 6:2
} }
} }

View file

@ -10,18 +10,18 @@
} }
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/copy_propagation_arg.rs:28:9: 28:10 StorageLive(_2); // scope 0 at $DIR/copy_propagation_arg.rs:28:9: 28:10
_2 = _1; // bb0[1]: scope 0 at $DIR/copy_propagation_arg.rs:28:13: 28:14 _2 = _1; // scope 0 at $DIR/copy_propagation_arg.rs:28:13: 28:14
_1 = const 123i32; // bb0[2]: scope 1 at $DIR/copy_propagation_arg.rs:29:5: 29:12 _1 = const 123i32; // scope 1 at $DIR/copy_propagation_arg.rs:29:5: 29:12
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x0000007b)) // + val: Value(Scalar(0x0000007b))
// mir::Constant // mir::Constant
// + span: $DIR/copy_propagation_arg.rs:29:5: 29:12 // + span: $DIR/copy_propagation_arg.rs:29:5: 29:12
// + literal: Const { ty: i32, val: Value(Scalar(0x0000007b)) } // + literal: Const { ty: i32, val: Value(Scalar(0x0000007b)) }
_0 = _2; // bb0[3]: scope 1 at $DIR/copy_propagation_arg.rs:30:5: 30:6 _0 = _2; // scope 1 at $DIR/copy_propagation_arg.rs:30:5: 30:6
StorageDead(_2); // bb0[4]: scope 0 at $DIR/copy_propagation_arg.rs:31:1: 31:2 StorageDead(_2); // scope 0 at $DIR/copy_propagation_arg.rs:31:1: 31:2
return; // bb0[5]: scope 0 at $DIR/copy_propagation_arg.rs:31:2: 31:2 return; // scope 0 at $DIR/copy_propagation_arg.rs:31:2: 31:2
} }
} }

View file

@ -8,10 +8,10 @@
let mut _3: u8; // in scope 0 at $DIR/copy_propagation_arg.rs:16:11: 16:12 let mut _3: u8; // in scope 0 at $DIR/copy_propagation_arg.rs:16:11: 16:12
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/copy_propagation_arg.rs:16:5: 16:13 StorageLive(_2); // scope 0 at $DIR/copy_propagation_arg.rs:16:5: 16:13
StorageLive(_3); // bb0[1]: scope 0 at $DIR/copy_propagation_arg.rs:16:11: 16:12 StorageLive(_3); // scope 0 at $DIR/copy_propagation_arg.rs:16:11: 16:12
_3 = _1; // bb0[2]: scope 0 at $DIR/copy_propagation_arg.rs:16:11: 16:12 _3 = _1; // scope 0 at $DIR/copy_propagation_arg.rs:16:11: 16:12
_2 = const dummy(move _3) -> bb1; // bb0[3]: scope 0 at $DIR/copy_propagation_arg.rs:16:5: 16:13 _2 = const dummy(move _3) -> bb1; // scope 0 at $DIR/copy_propagation_arg.rs:16:5: 16:13
// ty::Const // ty::Const
// + ty: fn(u8) -> u8 {dummy} // + ty: fn(u8) -> u8 {dummy}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -21,23 +21,23 @@
} }
bb1: { bb1: {
StorageDead(_3); // bb1[0]: scope 0 at $DIR/copy_propagation_arg.rs:16:12: 16:13 StorageDead(_3); // scope 0 at $DIR/copy_propagation_arg.rs:16:12: 16:13
StorageDead(_2); // bb1[1]: scope 0 at $DIR/copy_propagation_arg.rs:16:13: 16:14 StorageDead(_2); // scope 0 at $DIR/copy_propagation_arg.rs:16:13: 16:14
_1 = const 5u8; // bb1[2]: scope 0 at $DIR/copy_propagation_arg.rs:17:5: 17:10 _1 = const 5u8; // scope 0 at $DIR/copy_propagation_arg.rs:17:5: 17:10
// ty::Const // ty::Const
// + ty: u8 // + ty: u8
// + val: Value(Scalar(0x05)) // + val: Value(Scalar(0x05))
// mir::Constant // mir::Constant
// + span: $DIR/copy_propagation_arg.rs:17:5: 17:10 // + span: $DIR/copy_propagation_arg.rs:17:5: 17:10
// + literal: Const { ty: u8, val: Value(Scalar(0x05)) } // + literal: Const { ty: u8, val: Value(Scalar(0x05)) }
_0 = const (); // bb1[3]: scope 0 at $DIR/copy_propagation_arg.rs:15:19: 18:2 _0 = const (); // scope 0 at $DIR/copy_propagation_arg.rs:15:19: 18:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/copy_propagation_arg.rs:15:19: 18:2 // + span: $DIR/copy_propagation_arg.rs:15:19: 18:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb1[4]: scope 0 at $DIR/copy_propagation_arg.rs:18:2: 18:2 return; // scope 0 at $DIR/copy_propagation_arg.rs:18:2: 18:2
} }
} }

View file

@ -7,18 +7,18 @@
let mut _2: i32; // in scope 0 at $DIR/copy_propagation_arg.rs:23:9: 23:10 let mut _2: i32; // in scope 0 at $DIR/copy_propagation_arg.rs:23:9: 23:10
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/copy_propagation_arg.rs:23:9: 23:10 StorageLive(_2); // scope 0 at $DIR/copy_propagation_arg.rs:23:9: 23:10
_2 = _1; // bb0[1]: scope 0 at $DIR/copy_propagation_arg.rs:23:9: 23:10 _2 = _1; // scope 0 at $DIR/copy_propagation_arg.rs:23:9: 23:10
_1 = move _2; // bb0[2]: scope 0 at $DIR/copy_propagation_arg.rs:23:5: 23:10 _1 = move _2; // scope 0 at $DIR/copy_propagation_arg.rs:23:5: 23:10
StorageDead(_2); // bb0[3]: scope 0 at $DIR/copy_propagation_arg.rs:23:9: 23:10 StorageDead(_2); // scope 0 at $DIR/copy_propagation_arg.rs:23:9: 23:10
_0 = const (); // bb0[4]: scope 0 at $DIR/copy_propagation_arg.rs:21:20: 24:2 _0 = const (); // scope 0 at $DIR/copy_propagation_arg.rs:21:20: 24:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/copy_propagation_arg.rs:21:20: 24:2 // + span: $DIR/copy_propagation_arg.rs:21:20: 24:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb0[5]: scope 0 at $DIR/copy_propagation_arg.rs:24:2: 24:2 return; // scope 0 at $DIR/copy_propagation_arg.rs:24:2: 24:2
} }
} }

View file

@ -8,10 +8,10 @@
let mut _3: u8; // in scope 0 at $DIR/copy_propagation_arg.rs:11:15: 11:16 let mut _3: u8; // in scope 0 at $DIR/copy_propagation_arg.rs:11:15: 11:16
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/copy_propagation_arg.rs:11:9: 11:17 StorageLive(_2); // scope 0 at $DIR/copy_propagation_arg.rs:11:9: 11:17
StorageLive(_3); // bb0[1]: scope 0 at $DIR/copy_propagation_arg.rs:11:15: 11:16 StorageLive(_3); // scope 0 at $DIR/copy_propagation_arg.rs:11:15: 11:16
_3 = _1; // bb0[2]: scope 0 at $DIR/copy_propagation_arg.rs:11:15: 11:16 _3 = _1; // scope 0 at $DIR/copy_propagation_arg.rs:11:15: 11:16
_2 = const dummy(move _3) -> bb1; // bb0[3]: scope 0 at $DIR/copy_propagation_arg.rs:11:9: 11:17 _2 = const dummy(move _3) -> bb1; // scope 0 at $DIR/copy_propagation_arg.rs:11:9: 11:17
// ty::Const // ty::Const
// + ty: fn(u8) -> u8 {dummy} // + ty: fn(u8) -> u8 {dummy}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -21,17 +21,17 @@
} }
bb1: { bb1: {
StorageDead(_3); // bb1[0]: scope 0 at $DIR/copy_propagation_arg.rs:11:16: 11:17 StorageDead(_3); // scope 0 at $DIR/copy_propagation_arg.rs:11:16: 11:17
_1 = move _2; // bb1[1]: scope 0 at $DIR/copy_propagation_arg.rs:11:5: 11:17 _1 = move _2; // scope 0 at $DIR/copy_propagation_arg.rs:11:5: 11:17
StorageDead(_2); // bb1[2]: scope 0 at $DIR/copy_propagation_arg.rs:11:16: 11:17 StorageDead(_2); // scope 0 at $DIR/copy_propagation_arg.rs:11:16: 11:17
_0 = const (); // bb1[3]: scope 0 at $DIR/copy_propagation_arg.rs:9:19: 12:2 _0 = const (); // scope 0 at $DIR/copy_propagation_arg.rs:9:19: 12:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/copy_propagation_arg.rs:9:19: 12:2 // + span: $DIR/copy_propagation_arg.rs:9:19: 12:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb1[4]: scope 0 at $DIR/copy_propagation_arg.rs:12:2: 12:2 return; // scope 0 at $DIR/copy_propagation_arg.rs:12:2: 12:2
} }
} }

View file

@ -7,28 +7,26 @@
let mut _2: usize; // in scope 0 at $DIR/deaggregator_test.rs:9:14: 9:15 let mut _2: usize; // in scope 0 at $DIR/deaggregator_test.rs:9:14: 9:15
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/deaggregator_test.rs:9:14: 9:15 StorageLive(_2); // scope 0 at $DIR/deaggregator_test.rs:9:14: 9:15
_2 = _1; // bb0[1]: scope 0 at $DIR/deaggregator_test.rs:9:14: 9:15 _2 = _1; // scope 0 at $DIR/deaggregator_test.rs:9:14: 9:15
- _0 = Baz { x: move _2, y: const 0f32, z: const false }; // bb0[2]: scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35 - _0 = Baz { x: move _2, y: const 0f32, z: const false }; // scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35
+ (_0.0: usize) = move _2; // bb0[2]: scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35 + (_0.0: usize) = move _2; // scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35
+ (_0.1: f32) = const 0f32; // bb0[3]: scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35 + (_0.1: f32) = const 0f32; // scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35
// ty::Const // ty::Const
// + ty: f32 // + ty: f32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/deaggregator_test.rs:9:20: 9:23 // + span: $DIR/deaggregator_test.rs:9:20: 9:23
// + literal: Const { ty: f32, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: f32, val: Value(Scalar(0x00000000)) }
+ (_0.2: bool) = const false; // bb0[4]: scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35 + (_0.2: bool) = const false; // scope 0 at $DIR/deaggregator_test.rs:9:5: 9:35
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/deaggregator_test.rs:9:28: 9:33 // + span: $DIR/deaggregator_test.rs:9:28: 9:33
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
- StorageDead(_2); // bb0[3]: scope 0 at $DIR/deaggregator_test.rs:9:34: 9:35 StorageDead(_2); // scope 0 at $DIR/deaggregator_test.rs:9:34: 9:35
- return; // bb0[4]: scope 0 at $DIR/deaggregator_test.rs:10:2: 10:2 return; // scope 0 at $DIR/deaggregator_test.rs:10:2: 10:2
+ StorageDead(_2); // bb0[5]: scope 0 at $DIR/deaggregator_test.rs:9:34: 9:35
+ return; // bb0[6]: scope 0 at $DIR/deaggregator_test.rs:10:2: 10:2
} }
} }

View file

@ -7,15 +7,13 @@
let mut _2: usize; // in scope 0 at $DIR/deaggregator_test_enum.rs:8:19: 8:20 let mut _2: usize; // in scope 0 at $DIR/deaggregator_test_enum.rs:8:19: 8:20
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/deaggregator_test_enum.rs:8:19: 8:20 StorageLive(_2); // scope 0 at $DIR/deaggregator_test_enum.rs:8:19: 8:20
_2 = _1; // bb0[1]: scope 0 at $DIR/deaggregator_test_enum.rs:8:19: 8:20 _2 = _1; // scope 0 at $DIR/deaggregator_test_enum.rs:8:19: 8:20
- _0 = Baz::Foo { x: move _2 }; // bb0[2]: scope 0 at $DIR/deaggregator_test_enum.rs:8:5: 8:22 - _0 = Baz::Foo { x: move _2 }; // scope 0 at $DIR/deaggregator_test_enum.rs:8:5: 8:22
- StorageDead(_2); // bb0[3]: scope 0 at $DIR/deaggregator_test_enum.rs:8:21: 8:22 + ((_0 as Foo).0: usize) = move _2; // scope 0 at $DIR/deaggregator_test_enum.rs:8:5: 8:22
- return; // bb0[4]: scope 0 at $DIR/deaggregator_test_enum.rs:9:2: 9:2 + discriminant(_0) = 1; // scope 0 at $DIR/deaggregator_test_enum.rs:8:5: 8:22
+ ((_0 as Foo).0: usize) = move _2; // bb0[2]: scope 0 at $DIR/deaggregator_test_enum.rs:8:5: 8:22 StorageDead(_2); // scope 0 at $DIR/deaggregator_test_enum.rs:8:21: 8:22
+ discriminant(_0) = 1; // bb0[3]: scope 0 at $DIR/deaggregator_test_enum.rs:8:5: 8:22 return; // scope 0 at $DIR/deaggregator_test_enum.rs:9:2: 9:2
+ StorageDead(_2); // bb0[4]: scope 0 at $DIR/deaggregator_test_enum.rs:8:21: 8:22
+ return; // bb0[5]: scope 0 at $DIR/deaggregator_test_enum.rs:9:2: 9:2
} }
} }

View file

@ -10,38 +10,34 @@
let mut _5: i32; // in scope 0 at $DIR/deaggregator_test_enum_2.rs:13:16: 13:17 let mut _5: i32; // in scope 0 at $DIR/deaggregator_test_enum_2.rs:13:16: 13:17
bb0: { bb0: {
StorageLive(_3); // bb0[0]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:8: 10:9 StorageLive(_3); // scope 0 at $DIR/deaggregator_test_enum_2.rs:10:8: 10:9
_3 = _1; // bb0[1]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:8: 10:9 _3 = _1; // scope 0 at $DIR/deaggregator_test_enum_2.rs:10:8: 10:9
switchInt(_3) -> [false: bb1, otherwise: bb2]; // bb0[2]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6 switchInt(_3) -> [false: bb1, otherwise: bb2]; // scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6
} }
bb1: { bb1: {
StorageLive(_5); // bb1[0]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:16: 13:17 StorageLive(_5); // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:16: 13:17
_5 = _2; // bb1[1]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:16: 13:17 _5 = _2; // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:16: 13:17
- _0 = Foo::B(move _5); // bb1[2]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18 - _0 = Foo::B(move _5); // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18
- StorageDead(_5); // bb1[3]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:17: 13:18 + ((_0 as B).0: i32) = move _5; // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18
- goto -> bb3; // bb1[4]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6 + discriminant(_0) = 1; // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18
+ ((_0 as B).0: i32) = move _5; // bb1[2]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18 StorageDead(_5); // scope 0 at $DIR/deaggregator_test_enum_2.rs:13:17: 13:18
+ discriminant(_0) = 1; // bb1[3]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18 goto -> bb3; // scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6
+ StorageDead(_5); // bb1[4]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:17: 13:18
+ goto -> bb3; // bb1[5]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6
} }
bb2: { bb2: {
StorageLive(_4); // bb2[0]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:16: 11:17 StorageLive(_4); // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:16: 11:17
_4 = _2; // bb2[1]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:16: 11:17 _4 = _2; // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:16: 11:17
- _0 = Foo::A(move _4); // bb2[2]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18 - _0 = Foo::A(move _4); // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18
- StorageDead(_4); // bb2[3]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:17: 11:18 + ((_0 as A).0: i32) = move _4; // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18
- goto -> bb3; // bb2[4]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6 + discriminant(_0) = 0; // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18
+ ((_0 as A).0: i32) = move _4; // bb2[2]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18 StorageDead(_4); // scope 0 at $DIR/deaggregator_test_enum_2.rs:11:17: 11:18
+ discriminant(_0) = 0; // bb2[3]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18 goto -> bb3; // scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6
+ StorageDead(_4); // bb2[4]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:17: 11:18
+ goto -> bb3; // bb2[5]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6
} }
bb3: { bb3: {
StorageDead(_3); // bb3[0]: scope 0 at $DIR/deaggregator_test_enum_2.rs:15:1: 15:2 StorageDead(_3); // scope 0 at $DIR/deaggregator_test_enum_2.rs:15:1: 15:2
return; // bb3[1]: scope 0 at $DIR/deaggregator_test_enum_2.rs:15:2: 15:2 return; // scope 0 at $DIR/deaggregator_test_enum_2.rs:15:2: 15:2
} }
} }

View file

@ -10,33 +10,24 @@
let mut _5: i32; // in scope 0 at $DIR/deaggregator_test_multiple.rs:10:24: 10:25 let mut _5: i32; // in scope 0 at $DIR/deaggregator_test_multiple.rs:10:24: 10:25
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15 StorageLive(_2); // scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15
StorageLive(_3); // bb0[1]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:13: 10:14 StorageLive(_3); // scope 0 at $DIR/deaggregator_test_multiple.rs:10:13: 10:14
_3 = _1; // bb0[2]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:13: 10:14 _3 = _1; // scope 0 at $DIR/deaggregator_test_multiple.rs:10:13: 10:14
- _2 = Foo::A(move _3); // bb0[3]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15 - _2 = Foo::A(move _3); // scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15
- StorageDead(_3); // bb0[4]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:14: 10:15 + ((_2 as A).0: i32) = move _3; // scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15
- StorageLive(_4); // bb0[5]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26 + discriminant(_2) = 0; // scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15
- StorageLive(_5); // bb0[6]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:24: 10:25 StorageDead(_3); // scope 0 at $DIR/deaggregator_test_multiple.rs:10:14: 10:15
- _5 = _1; // bb0[7]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:24: 10:25 StorageLive(_4); // scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26
- _4 = Foo::A(move _5); // bb0[8]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26 StorageLive(_5); // scope 0 at $DIR/deaggregator_test_multiple.rs:10:24: 10:25
- StorageDead(_5); // bb0[9]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:25: 10:26 _5 = _1; // scope 0 at $DIR/deaggregator_test_multiple.rs:10:24: 10:25
- _0 = [move _2, move _4]; // bb0[10]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:5: 10:27 - _4 = Foo::A(move _5); // scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26
- StorageDead(_4); // bb0[11]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:26: 10:27 + ((_4 as A).0: i32) = move _5; // scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26
- StorageDead(_2); // bb0[12]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:26: 10:27 + discriminant(_4) = 0; // scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26
- return; // bb0[13]: scope 0 at $DIR/deaggregator_test_multiple.rs:11:2: 11:2 StorageDead(_5); // scope 0 at $DIR/deaggregator_test_multiple.rs:10:25: 10:26
+ ((_2 as A).0: i32) = move _3; // bb0[3]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15 _0 = [move _2, move _4]; // scope 0 at $DIR/deaggregator_test_multiple.rs:10:5: 10:27
+ discriminant(_2) = 0; // bb0[4]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:6: 10:15 StorageDead(_4); // scope 0 at $DIR/deaggregator_test_multiple.rs:10:26: 10:27
+ StorageDead(_3); // bb0[5]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:14: 10:15 StorageDead(_2); // scope 0 at $DIR/deaggregator_test_multiple.rs:10:26: 10:27
+ StorageLive(_4); // bb0[6]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26 return; // scope 0 at $DIR/deaggregator_test_multiple.rs:11:2: 11:2
+ StorageLive(_5); // bb0[7]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:24: 10:25
+ _5 = _1; // bb0[8]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:24: 10:25
+ ((_4 as A).0: i32) = move _5; // bb0[9]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26
+ discriminant(_4) = 0; // bb0[10]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:17: 10:26
+ StorageDead(_5); // bb0[11]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:25: 10:26
+ _0 = [move _2, move _4]; // bb0[12]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:5: 10:27
+ StorageDead(_4); // bb0[13]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:26: 10:27
+ StorageDead(_2); // bb0[14]: scope 0 at $DIR/deaggregator_test_multiple.rs:10:26: 10:27
+ return; // bb0[15]: scope 0 at $DIR/deaggregator_test_multiple.rs:11:2: 11:2
} }
} }

View file

@ -18,96 +18,96 @@ fn match_tuple(_1: (u32, bool, std::option::Option<i32>, u32)) -> u32 {
} }
bb0: { bb0: {
FakeRead(ForMatchedPlace, _1); // bb0[0]: scope 0 at $DIR/exponential-or.rs:7:11: 7:12 FakeRead(ForMatchedPlace, _1); // scope 0 at $DIR/exponential-or.rs:7:11: 7:12
switchInt((_1.0: u32)) -> [1u32: bb2, 4u32: bb2, otherwise: bb1]; // bb0[1]: scope 0 at $DIR/exponential-or.rs:8:15: 8:16 switchInt((_1.0: u32)) -> [1u32: bb2, 4u32: bb2, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:8:15: 8:16
} }
bb1: { bb1: {
_0 = const 0u32; // bb1[0]: scope 0 at $DIR/exponential-or.rs:9:14: 9:15 _0 = const 0u32; // scope 0 at $DIR/exponential-or.rs:9:14: 9:15
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/exponential-or.rs:9:14: 9:15 // + span: $DIR/exponential-or.rs:9:14: 9:15
// + literal: Const { ty: u32, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: u32, val: Value(Scalar(0x00000000)) }
goto -> bb10; // bb1[1]: scope 0 at $DIR/exponential-or.rs:7:5: 10:6 goto -> bb10; // scope 0 at $DIR/exponential-or.rs:7:5: 10:6
} }
bb2: { bb2: {
_2 = discriminant((_1.2: std::option::Option<i32>)); // bb2[0]: scope 0 at $DIR/exponential-or.rs:8:37: 8:48 _2 = discriminant((_1.2: std::option::Option<i32>)); // scope 0 at $DIR/exponential-or.rs:8:37: 8:48
switchInt(move _2) -> [0isize: bb4, 1isize: bb3, otherwise: bb1]; // bb2[1]: scope 0 at $DIR/exponential-or.rs:8:37: 8:48 switchInt(move _2) -> [0isize: bb4, 1isize: bb3, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:8:37: 8:48
} }
bb3: { bb3: {
switchInt((((_1.2: std::option::Option<i32>) as Some).0: i32)) -> [1i32: bb4, 8i32: bb4, otherwise: bb1]; // bb3[0]: scope 0 at $DIR/exponential-or.rs:8:42: 8:43 switchInt((((_1.2: std::option::Option<i32>) as Some).0: i32)) -> [1i32: bb4, 8i32: bb4, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:8:42: 8:43
} }
bb4: { bb4: {
_5 = Le(const 6u32, (_1.3: u32)); // bb4[0]: scope 0 at $DIR/exponential-or.rs:8:62: 8:67 _5 = Le(const 6u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:8:62: 8:67
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x00000006)) // + val: Value(Scalar(0x00000006))
// mir::Constant // mir::Constant
// + span: $DIR/exponential-or.rs:8:62: 8:67 // + span: $DIR/exponential-or.rs:8:62: 8:67
// + literal: Const { ty: u32, val: Value(Scalar(0x00000006)) } // + literal: Const { ty: u32, val: Value(Scalar(0x00000006)) }
switchInt(move _5) -> [false: bb6, otherwise: bb5]; // bb4[1]: scope 0 at $DIR/exponential-or.rs:8:62: 8:67 switchInt(move _5) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/exponential-or.rs:8:62: 8:67
} }
bb5: { bb5: {
_6 = Le((_1.3: u32), const 9u32); // bb5[0]: scope 0 at $DIR/exponential-or.rs:8:62: 8:67 _6 = Le((_1.3: u32), const 9u32); // scope 0 at $DIR/exponential-or.rs:8:62: 8:67
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x00000009)) // + val: Value(Scalar(0x00000009))
// mir::Constant // mir::Constant
// + span: $DIR/exponential-or.rs:8:62: 8:67 // + span: $DIR/exponential-or.rs:8:62: 8:67
// + literal: Const { ty: u32, val: Value(Scalar(0x00000009)) } // + literal: Const { ty: u32, val: Value(Scalar(0x00000009)) }
switchInt(move _6) -> [false: bb6, otherwise: bb8]; // bb5[1]: scope 0 at $DIR/exponential-or.rs:8:62: 8:67 switchInt(move _6) -> [false: bb6, otherwise: bb8]; // scope 0 at $DIR/exponential-or.rs:8:62: 8:67
} }
bb6: { bb6: {
_3 = Le(const 13u32, (_1.3: u32)); // bb6[0]: scope 0 at $DIR/exponential-or.rs:8:70: 8:77 _3 = Le(const 13u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:8:70: 8:77
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x0000000d)) // + val: Value(Scalar(0x0000000d))
// mir::Constant // mir::Constant
// + span: $DIR/exponential-or.rs:8:70: 8:77 // + span: $DIR/exponential-or.rs:8:70: 8:77
// + literal: Const { ty: u32, val: Value(Scalar(0x0000000d)) } // + literal: Const { ty: u32, val: Value(Scalar(0x0000000d)) }
switchInt(move _3) -> [false: bb1, otherwise: bb7]; // bb6[1]: scope 0 at $DIR/exponential-or.rs:8:70: 8:77 switchInt(move _3) -> [false: bb1, otherwise: bb7]; // scope 0 at $DIR/exponential-or.rs:8:70: 8:77
} }
bb7: { bb7: {
_4 = Le((_1.3: u32), const 16u32); // bb7[0]: scope 0 at $DIR/exponential-or.rs:8:70: 8:77 _4 = Le((_1.3: u32), const 16u32); // scope 0 at $DIR/exponential-or.rs:8:70: 8:77
// ty::Const // ty::Const
// + ty: u32 // + ty: u32
// + val: Value(Scalar(0x00000010)) // + val: Value(Scalar(0x00000010))
// mir::Constant // mir::Constant
// + span: $DIR/exponential-or.rs:8:70: 8:77 // + span: $DIR/exponential-or.rs:8:70: 8:77
// + literal: Const { ty: u32, val: Value(Scalar(0x00000010)) } // + literal: Const { ty: u32, val: Value(Scalar(0x00000010)) }
switchInt(move _4) -> [false: bb1, otherwise: bb8]; // bb7[1]: scope 0 at $DIR/exponential-or.rs:8:70: 8:77 switchInt(move _4) -> [false: bb1, otherwise: bb8]; // scope 0 at $DIR/exponential-or.rs:8:70: 8:77
} }
bb8: { bb8: {
falseEdges -> [real: bb9, imaginary: bb1]; // bb8[0]: scope 0 at $DIR/exponential-or.rs:8:9: 8:79 falseEdges -> [real: bb9, imaginary: bb1]; // scope 0 at $DIR/exponential-or.rs:8:9: 8:79
} }
bb9: { bb9: {
StorageLive(_7); // bb9[0]: scope 0 at $DIR/exponential-or.rs:8:10: 8:21 StorageLive(_7); // scope 0 at $DIR/exponential-or.rs:8:10: 8:21
_7 = (_1.0: u32); // bb9[1]: scope 0 at $DIR/exponential-or.rs:8:10: 8:21 _7 = (_1.0: u32); // scope 0 at $DIR/exponential-or.rs:8:10: 8:21
StorageLive(_8); // bb9[2]: scope 0 at $DIR/exponential-or.rs:8:57: 8:78 StorageLive(_8); // scope 0 at $DIR/exponential-or.rs:8:57: 8:78
_8 = (_1.3: u32); // bb9[3]: scope 0 at $DIR/exponential-or.rs:8:57: 8:78 _8 = (_1.3: u32); // scope 0 at $DIR/exponential-or.rs:8:57: 8:78
StorageLive(_9); // bb9[4]: scope 1 at $DIR/exponential-or.rs:8:83: 8:84 StorageLive(_9); // scope 1 at $DIR/exponential-or.rs:8:83: 8:84
_9 = _7; // bb9[5]: scope 1 at $DIR/exponential-or.rs:8:83: 8:84 _9 = _7; // scope 1 at $DIR/exponential-or.rs:8:83: 8:84
StorageLive(_10); // bb9[6]: scope 1 at $DIR/exponential-or.rs:8:87: 8:88 StorageLive(_10); // scope 1 at $DIR/exponential-or.rs:8:87: 8:88
_10 = _8; // bb9[7]: scope 1 at $DIR/exponential-or.rs:8:87: 8:88 _10 = _8; // scope 1 at $DIR/exponential-or.rs:8:87: 8:88
_0 = BitXor(move _9, move _10); // bb9[8]: scope 1 at $DIR/exponential-or.rs:8:83: 8:88 _0 = BitXor(move _9, move _10); // scope 1 at $DIR/exponential-or.rs:8:83: 8:88
StorageDead(_10); // bb9[9]: scope 1 at $DIR/exponential-or.rs:8:87: 8:88 StorageDead(_10); // scope 1 at $DIR/exponential-or.rs:8:87: 8:88
StorageDead(_9); // bb9[10]: scope 1 at $DIR/exponential-or.rs:8:87: 8:88 StorageDead(_9); // scope 1 at $DIR/exponential-or.rs:8:87: 8:88
StorageDead(_8); // bb9[11]: scope 0 at $DIR/exponential-or.rs:8:88: 8:89 StorageDead(_8); // scope 0 at $DIR/exponential-or.rs:8:88: 8:89
StorageDead(_7); // bb9[12]: scope 0 at $DIR/exponential-or.rs:8:88: 8:89 StorageDead(_7); // scope 0 at $DIR/exponential-or.rs:8:88: 8:89
goto -> bb10; // bb9[13]: scope 0 at $DIR/exponential-or.rs:7:5: 10:6 goto -> bb10; // scope 0 at $DIR/exponential-or.rs:7:5: 10:6
} }
bb10: { bb10: {
return; // bb10[0]: scope 0 at $DIR/exponential-or.rs:11:2: 11:2 return; // scope 0 at $DIR/exponential-or.rs:11:2: 11:2
} }
} }

View file

@ -20,61 +20,61 @@ fn main::{{closure}}#0(_1: *mut [generator@$DIR/generator-drop-cleanup.rs:10:15:
} }
bb0: { bb0: {
_9 = discriminant((*_1)); // bb0[0]: scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6 _9 = discriminant((*_1)); // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
switchInt(move _9) -> [0u32: bb7, 3u32: bb11, otherwise: bb12]; // bb0[1]: scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6 switchInt(move _9) -> [0u32: bb7, 3u32: bb11, otherwise: bb12]; // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6 resume; // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
} }
bb2 (cleanup): { bb2 (cleanup): {
nop; // bb2[0]: scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6 nop; // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
goto -> bb8; // bb2[1]: scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6 goto -> bb8; // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
} }
bb3: { bb3: {
StorageDead(_5); // bb3[0]: scope 1 at $DIR/generator-drop-cleanup.rs:12:13: 12:14 StorageDead(_5); // scope 1 at $DIR/generator-drop-cleanup.rs:12:13: 12:14
StorageDead(_4); // bb3[1]: scope 1 at $DIR/generator-drop-cleanup.rs:12:14: 12:15 StorageDead(_4); // scope 1 at $DIR/generator-drop-cleanup.rs:12:14: 12:15
drop((((*_1) as variant#3).0: std::string::String)) -> [return: bb4, unwind: bb2]; // bb3[2]: scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6 drop((((*_1) as variant#3).0: std::string::String)) -> [return: bb4, unwind: bb2]; // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
} }
bb4: { bb4: {
nop; // bb4[0]: scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6 nop; // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
goto -> bb9; // bb4[1]: scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6 goto -> bb9; // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
} }
bb5: { bb5: {
return; // bb5[0]: scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6 return; // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
} }
bb6: { bb6: {
return; // bb6[0]: scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6 return; // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
} }
bb7: { bb7: {
goto -> bb10; // bb7[0]: scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6 goto -> bb10; // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
} }
bb8 (cleanup): { bb8 (cleanup): {
goto -> bb1; // bb8[0]: scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6 goto -> bb1; // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
} }
bb9: { bb9: {
goto -> bb5; // bb9[0]: scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6 goto -> bb5; // scope 0 at $DIR/generator-drop-cleanup.rs:13:5: 13:6
} }
bb10: { bb10: {
goto -> bb6; // bb10[0]: scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6 goto -> bb6; // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
} }
bb11: { bb11: {
StorageLive(_4); // bb11[0]: scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6 StorageLive(_4); // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
StorageLive(_5); // bb11[1]: scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6 StorageLive(_5); // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
goto -> bb3; // bb11[2]: scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6 goto -> bb3; // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
} }
bb12: { bb12: {
return; // bb12[0]: scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6 return; // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
} }
} }

View file

@ -20,39 +20,39 @@ yields ()
} }
bb0: { bb0: {
StorageLive(_3); // bb0[0]: scope 0 at $DIR/generator-storage-dead-unwind.rs:23:13: 23:14 StorageLive(_3); // scope 0 at $DIR/generator-storage-dead-unwind.rs:23:13: 23:14
_3 = Foo(const 5i32); // bb0[1]: scope 0 at $DIR/generator-storage-dead-unwind.rs:23:17: 23:23 _3 = Foo(const 5i32); // scope 0 at $DIR/generator-storage-dead-unwind.rs:23:17: 23:23
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000005)) // + val: Value(Scalar(0x00000005))
// mir::Constant // mir::Constant
// + span: $DIR/generator-storage-dead-unwind.rs:23:21: 23:22 // + span: $DIR/generator-storage-dead-unwind.rs:23:21: 23:22
// + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) }
StorageLive(_4); // bb0[2]: scope 1 at $DIR/generator-storage-dead-unwind.rs:24:13: 24:14 StorageLive(_4); // scope 1 at $DIR/generator-storage-dead-unwind.rs:24:13: 24:14
_4 = Bar(const 6i32); // bb0[3]: scope 1 at $DIR/generator-storage-dead-unwind.rs:24:17: 24:23 _4 = Bar(const 6i32); // scope 1 at $DIR/generator-storage-dead-unwind.rs:24:17: 24:23
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000006)) // + val: Value(Scalar(0x00000006))
// mir::Constant // mir::Constant
// + span: $DIR/generator-storage-dead-unwind.rs:24:21: 24:22 // + span: $DIR/generator-storage-dead-unwind.rs:24:21: 24:22
// + literal: Const { ty: i32, val: Value(Scalar(0x00000006)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000006)) }
StorageLive(_5); // bb0[4]: scope 2 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14 StorageLive(_5); // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14
StorageLive(_6); // bb0[5]: scope 2 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14 StorageLive(_6); // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14
_6 = (); // bb0[6]: scope 2 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14 _6 = (); // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14
_5 = yield(move _6) -> [resume: bb2, drop: bb4]; // bb0[7]: scope 2 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14 _5 = yield(move _6) -> [resume: bb2, drop: bb4]; // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:9: 25:14
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/generator-storage-dead-unwind.rs:22:16: 28:6 resume; // scope 0 at $DIR/generator-storage-dead-unwind.rs:22:16: 28:6
} }
bb2: { bb2: {
StorageDead(_6); // bb2[0]: scope 2 at $DIR/generator-storage-dead-unwind.rs:25:13: 25:14 StorageDead(_6); // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:13: 25:14
StorageDead(_5); // bb2[1]: scope 2 at $DIR/generator-storage-dead-unwind.rs:25:14: 25:15 StorageDead(_5); // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:14: 25:15
StorageLive(_7); // bb2[2]: scope 2 at $DIR/generator-storage-dead-unwind.rs:26:9: 26:16 StorageLive(_7); // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:9: 26:16
StorageLive(_8); // bb2[3]: scope 2 at $DIR/generator-storage-dead-unwind.rs:26:14: 26:15 StorageLive(_8); // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:14: 26:15
_8 = move _3; // bb2[4]: scope 2 at $DIR/generator-storage-dead-unwind.rs:26:14: 26:15 _8 = move _3; // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:14: 26:15
_7 = const take::<Foo>(move _8) -> [return: bb7, unwind: bb9]; // bb2[5]: scope 2 at $DIR/generator-storage-dead-unwind.rs:26:9: 26:16 _7 = const take::<Foo>(move _8) -> [return: bb7, unwind: bb9]; // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:9: 26:16
// ty::Const // ty::Const
// + ty: fn(Foo) {take::<Foo>} // + ty: fn(Foo) {take::<Foo>}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -62,33 +62,33 @@ yields ()
} }
bb3 (cleanup): { bb3 (cleanup): {
StorageDead(_3); // bb3[0]: scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6 StorageDead(_3); // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
drop(_1) -> bb1; // bb3[1]: scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6 drop(_1) -> bb1; // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
} }
bb4: { bb4: {
StorageDead(_6); // bb4[0]: scope 2 at $DIR/generator-storage-dead-unwind.rs:25:13: 25:14 StorageDead(_6); // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:13: 25:14
StorageDead(_5); // bb4[1]: scope 2 at $DIR/generator-storage-dead-unwind.rs:25:14: 25:15 StorageDead(_5); // scope 2 at $DIR/generator-storage-dead-unwind.rs:25:14: 25:15
StorageDead(_4); // bb4[2]: scope 1 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6 StorageDead(_4); // scope 1 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
drop(_3) -> [return: bb5, unwind: bb3]; // bb4[3]: scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6 drop(_3) -> [return: bb5, unwind: bb3]; // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
} }
bb5: { bb5: {
StorageDead(_3); // bb5[0]: scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6 StorageDead(_3); // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
drop(_1) -> [return: bb6, unwind: bb1]; // bb5[1]: scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6 drop(_1) -> [return: bb6, unwind: bb1]; // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
} }
bb6: { bb6: {
generator_drop; // bb6[0]: scope 0 at $DIR/generator-storage-dead-unwind.rs:22:16: 28:6 generator_drop; // scope 0 at $DIR/generator-storage-dead-unwind.rs:22:16: 28:6
} }
bb7: { bb7: {
StorageDead(_8); // bb7[0]: scope 2 at $DIR/generator-storage-dead-unwind.rs:26:15: 26:16 StorageDead(_8); // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:15: 26:16
StorageDead(_7); // bb7[1]: scope 2 at $DIR/generator-storage-dead-unwind.rs:26:16: 26:17 StorageDead(_7); // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:16: 26:17
StorageLive(_9); // bb7[2]: scope 2 at $DIR/generator-storage-dead-unwind.rs:27:9: 27:16 StorageLive(_9); // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:9: 27:16
StorageLive(_10); // bb7[3]: scope 2 at $DIR/generator-storage-dead-unwind.rs:27:14: 27:15 StorageLive(_10); // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:14: 27:15
_10 = move _4; // bb7[4]: scope 2 at $DIR/generator-storage-dead-unwind.rs:27:14: 27:15 _10 = move _4; // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:14: 27:15
_9 = const take::<Bar>(move _10) -> [return: bb10, unwind: bb11]; // bb7[5]: scope 2 at $DIR/generator-storage-dead-unwind.rs:27:9: 27:16 _9 = const take::<Bar>(move _10) -> [return: bb10, unwind: bb11]; // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:9: 27:16
// ty::Const // ty::Const
// + ty: fn(Bar) {take::<Bar>} // + ty: fn(Bar) {take::<Bar>}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -98,39 +98,39 @@ yields ()
} }
bb8 (cleanup): { bb8 (cleanup): {
StorageDead(_4); // bb8[0]: scope 1 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6 StorageDead(_4); // scope 1 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
StorageDead(_3); // bb8[1]: scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6 StorageDead(_3); // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
drop(_1) -> bb1; // bb8[2]: scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6 drop(_1) -> bb1; // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
} }
bb9 (cleanup): { bb9 (cleanup): {
StorageDead(_8); // bb9[0]: scope 2 at $DIR/generator-storage-dead-unwind.rs:26:15: 26:16 StorageDead(_8); // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:15: 26:16
StorageDead(_7); // bb9[1]: scope 2 at $DIR/generator-storage-dead-unwind.rs:26:16: 26:17 StorageDead(_7); // scope 2 at $DIR/generator-storage-dead-unwind.rs:26:16: 26:17
goto -> bb8; // bb9[2]: scope 2 at $DIR/generator-storage-dead-unwind.rs:1:1: 1:1 goto -> bb8; // scope 2 at $DIR/generator-storage-dead-unwind.rs:1:1: 1:1
} }
bb10: { bb10: {
StorageDead(_10); // bb10[0]: scope 2 at $DIR/generator-storage-dead-unwind.rs:27:15: 27:16 StorageDead(_10); // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:15: 27:16
StorageDead(_9); // bb10[1]: scope 2 at $DIR/generator-storage-dead-unwind.rs:27:16: 27:17 StorageDead(_9); // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:16: 27:17
_0 = const (); // bb10[2]: scope 0 at $DIR/generator-storage-dead-unwind.rs:22:19: 28:6 _0 = const (); // scope 0 at $DIR/generator-storage-dead-unwind.rs:22:19: 28:6
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/generator-storage-dead-unwind.rs:22:19: 28:6 // + span: $DIR/generator-storage-dead-unwind.rs:22:19: 28:6
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_4); // bb10[3]: scope 1 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6 StorageDead(_4); // scope 1 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
StorageDead(_3); // bb10[4]: scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6 StorageDead(_3); // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
drop(_1) -> [return: bb12, unwind: bb1]; // bb10[5]: scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6 drop(_1) -> [return: bb12, unwind: bb1]; // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:5: 28:6
} }
bb11 (cleanup): { bb11 (cleanup): {
StorageDead(_10); // bb11[0]: scope 2 at $DIR/generator-storage-dead-unwind.rs:27:15: 27:16 StorageDead(_10); // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:15: 27:16
StorageDead(_9); // bb11[1]: scope 2 at $DIR/generator-storage-dead-unwind.rs:27:16: 27:17 StorageDead(_9); // scope 2 at $DIR/generator-storage-dead-unwind.rs:27:16: 27:17
goto -> bb8; // bb11[2]: scope 2 at $DIR/generator-storage-dead-unwind.rs:1:1: 1:1 goto -> bb8; // scope 2 at $DIR/generator-storage-dead-unwind.rs:1:1: 1:1
} }
bb12: { bb12: {
return; // bb12[0]: scope 0 at $DIR/generator-storage-dead-unwind.rs:28:6: 28:6 return; // scope 0 at $DIR/generator-storage-dead-unwind.rs:28:6: 28:6
} }
} }

View file

@ -18,32 +18,32 @@ fn main::{{closure}}#0(_1: std::pin::Pin<&mut [generator@$DIR/generator-tiny.rs:
} }
bb0: { bb0: {
_11 = discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:18:16: 24:6 {u8, HasDrop, ()}]))); // bb0[0]: scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 _11 = discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:18:16: 24:6 {u8, HasDrop, ()}]))); // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6
switchInt(move _11) -> [0u32: bb1, 3u32: bb5, otherwise: bb6]; // bb0[1]: scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 switchInt(move _11) -> [0u32: bb1, 3u32: bb5, otherwise: bb6]; // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6
} }
bb1: { bb1: {
_10 = move _2; // bb1[0]: scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 _10 = move _2; // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6
nop; // bb1[1]: scope 0 at $DIR/generator-tiny.rs:19:13: 19:15 nop; // scope 0 at $DIR/generator-tiny.rs:19:13: 19:15
(((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:18:16: 24:6 {u8, HasDrop, ()}])) as variant#3).0: HasDrop) = HasDrop; // bb1[2]: scope 0 at $DIR/generator-tiny.rs:19:18: 19:25 (((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:18:16: 24:6 {u8, HasDrop, ()}])) as variant#3).0: HasDrop) = HasDrop; // scope 0 at $DIR/generator-tiny.rs:19:18: 19:25
StorageLive(_4); // bb1[3]: scope 1 at $DIR/generator-tiny.rs:20:9: 23:10 StorageLive(_4); // scope 1 at $DIR/generator-tiny.rs:20:9: 23:10
goto -> bb2; // bb1[4]: scope 1 at $DIR/generator-tiny.rs:20:9: 23:10 goto -> bb2; // scope 1 at $DIR/generator-tiny.rs:20:9: 23:10
} }
bb2: { bb2: {
StorageLive(_6); // bb2[0]: scope 1 at $DIR/generator-tiny.rs:21:13: 21:18 StorageLive(_6); // scope 1 at $DIR/generator-tiny.rs:21:13: 21:18
StorageLive(_7); // bb2[1]: scope 1 at $DIR/generator-tiny.rs:21:13: 21:18 StorageLive(_7); // scope 1 at $DIR/generator-tiny.rs:21:13: 21:18
_7 = (); // bb2[2]: scope 1 at $DIR/generator-tiny.rs:21:13: 21:18 _7 = (); // scope 1 at $DIR/generator-tiny.rs:21:13: 21:18
_0 = std::ops::GeneratorState::<(), ()>::Yielded(move _7); // bb2[3]: scope 1 at $DIR/generator-tiny.rs:21:13: 21:18 _0 = std::ops::GeneratorState::<(), ()>::Yielded(move _7); // scope 1 at $DIR/generator-tiny.rs:21:13: 21:18
discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:18:16: 24:6 {u8, HasDrop, ()}]))) = 3; // bb2[4]: scope 1 at $DIR/generator-tiny.rs:21:13: 21:18 discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:18:16: 24:6 {u8, HasDrop, ()}]))) = 3; // scope 1 at $DIR/generator-tiny.rs:21:13: 21:18
return; // bb2[5]: scope 1 at $DIR/generator-tiny.rs:21:13: 21:18 return; // scope 1 at $DIR/generator-tiny.rs:21:13: 21:18
} }
bb3: { bb3: {
StorageDead(_7); // bb3[0]: scope 1 at $DIR/generator-tiny.rs:21:17: 21:18 StorageDead(_7); // scope 1 at $DIR/generator-tiny.rs:21:17: 21:18
StorageDead(_6); // bb3[1]: scope 1 at $DIR/generator-tiny.rs:21:18: 21:19 StorageDead(_6); // scope 1 at $DIR/generator-tiny.rs:21:18: 21:19
StorageLive(_8); // bb3[2]: scope 1 at $DIR/generator-tiny.rs:22:13: 22:21 StorageLive(_8); // scope 1 at $DIR/generator-tiny.rs:22:13: 22:21
_8 = const callee() -> bb4; // bb3[3]: scope 1 at $DIR/generator-tiny.rs:22:13: 22:21 _8 = const callee() -> bb4; // scope 1 at $DIR/generator-tiny.rs:22:13: 22:21
// ty::Const // ty::Const
// + ty: fn() {callee} // + ty: fn() {callee}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -53,26 +53,26 @@ fn main::{{closure}}#0(_1: std::pin::Pin<&mut [generator@$DIR/generator-tiny.rs:
} }
bb4: { bb4: {
StorageDead(_8); // bb4[0]: scope 1 at $DIR/generator-tiny.rs:22:21: 22:22 StorageDead(_8); // scope 1 at $DIR/generator-tiny.rs:22:21: 22:22
_5 = const (); // bb4[1]: scope 1 at $DIR/generator-tiny.rs:20:14: 23:10 _5 = const (); // scope 1 at $DIR/generator-tiny.rs:20:14: 23:10
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/generator-tiny.rs:20:14: 23:10 // + span: $DIR/generator-tiny.rs:20:14: 23:10
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
goto -> bb2; // bb4[2]: scope 1 at $DIR/generator-tiny.rs:20:9: 23:10 goto -> bb2; // scope 1 at $DIR/generator-tiny.rs:20:9: 23:10
} }
bb5: { bb5: {
StorageLive(_4); // bb5[0]: scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 StorageLive(_4); // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6
StorageLive(_6); // bb5[1]: scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 StorageLive(_6); // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6
StorageLive(_7); // bb5[2]: scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 StorageLive(_7); // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6
_6 = move _2; // bb5[3]: scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 _6 = move _2; // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6
goto -> bb3; // bb5[4]: scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 goto -> bb3; // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6
} }
bb6: { bb6: {
unreachable; // bb6[0]: scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 unreachable; // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6
} }
} }

View file

@ -15,33 +15,33 @@ fn bar() -> bool {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/inline-any-operand.rs:11:9: 11:10 StorageLive(_1); // scope 0 at $DIR/inline-any-operand.rs:11:9: 11:10
_1 = const foo; // bb0[1]: scope 0 at $DIR/inline-any-operand.rs:11:13: 11:16 _1 = const foo; // scope 0 at $DIR/inline-any-operand.rs:11:13: 11:16
// ty::Const // ty::Const
// + ty: fn(i32, i32) -> bool {foo} // + ty: fn(i32, i32) -> bool {foo}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/inline-any-operand.rs:11:13: 11:16 // + span: $DIR/inline-any-operand.rs:11:13: 11:16
// + literal: Const { ty: fn(i32, i32) -> bool {foo}, val: Value(Scalar(<ZST>)) } // + literal: Const { ty: fn(i32, i32) -> bool {foo}, val: Value(Scalar(<ZST>)) }
StorageLive(_2); // bb0[2]: scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6 StorageLive(_2); // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6
_2 = _1; // bb0[3]: scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6 _2 = _1; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6
_3 = const 1i32; // bb0[4]: scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13 _3 = const 1i32; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/inline-any-operand.rs:12:7: 12:8 // + span: $DIR/inline-any-operand.rs:12:7: 12:8
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
_4 = const -1i32; // bb0[5]: scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13 _4 = const -1i32; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0xffffffff)) // + val: Value(Scalar(0xffffffff))
// mir::Constant // mir::Constant
// + span: $DIR/inline-any-operand.rs:12:10: 12:12 // + span: $DIR/inline-any-operand.rs:12:10: 12:12
// + literal: Const { ty: i32, val: Value(Scalar(0xffffffff)) } // + literal: Const { ty: i32, val: Value(Scalar(0xffffffff)) }
_0 = Eq(move _3, move _4); // bb0[6]: scope 2 at $DIR/inline-any-operand.rs:17:5: 17:11 _0 = Eq(move _3, move _4); // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:11
StorageDead(_2); // bb0[7]: scope 1 at $DIR/inline-any-operand.rs:12:12: 12:13 StorageDead(_2); // scope 1 at $DIR/inline-any-operand.rs:12:12: 12:13
StorageDead(_1); // bb0[8]: scope 0 at $DIR/inline-any-operand.rs:13:1: 13:2 StorageDead(_1); // scope 0 at $DIR/inline-any-operand.rs:13:1: 13:2
return; // bb0[9]: scope 0 at $DIR/inline-any-operand.rs:13:2: 13:2 return; // scope 0 at $DIR/inline-any-operand.rs:13:2: 13:2
} }
} }

View file

@ -23,8 +23,8 @@ fn foo(_1: T, _2: &i32) -> i32 {
} }
bb0: { bb0: {
StorageLive(_3); // bb0[0]: scope 0 at $DIR/inline-closure-borrows-arg.rs:12:9: 12:10 StorageLive(_3); // scope 0 at $DIR/inline-closure-borrows-arg.rs:12:9: 12:10
_3 = [closure@foo::<T>::{{closure}}#0]; // bb0[1]: scope 0 at $DIR/inline-closure-borrows-arg.rs:12:13: 15:6 _3 = [closure@foo::<T>::{{closure}}#0]; // scope 0 at $DIR/inline-closure-borrows-arg.rs:12:13: 15:6
// closure // closure
// + def_id: DefId(0:6 ~ inline_closure_borrows_arg[317d]::foo[0]::{{closure}}[0]) // + def_id: DefId(0:6 ~ inline_closure_borrows_arg[317d]::foo[0]::{{closure}}[0])
// + substs: [ // + substs: [
@ -33,22 +33,22 @@ fn foo(_1: T, _2: &i32) -> i32 {
// for<'r, 's> extern "rust-call" fn((&'r i32, &'s i32)) -> i32, // for<'r, 's> extern "rust-call" fn((&'r i32, &'s i32)) -> i32,
// (), // (),
// ] // ]
StorageLive(_4); // bb0[2]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:6 StorageLive(_4); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:6
_4 = &_3; // bb0[3]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:6 _4 = &_3; // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:6
StorageLive(_5); // bb0[4]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12 StorageLive(_5); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
StorageLive(_6); // bb0[5]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:7: 16:8 StorageLive(_6); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:7: 16:8
_6 = &(*_2); // bb0[6]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:7: 16:8 _6 = &(*_2); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:7: 16:8
StorageLive(_7); // bb0[7]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:10: 16:11 StorageLive(_7); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:10: 16:11
_7 = &(*_2); // bb0[8]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:10: 16:11 _7 = &(*_2); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:10: 16:11
_5 = (move _6, move _7); // bb0[9]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12 _5 = (move _6, move _7); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
_8 = move (_5.0: &i32); // bb0[10]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12 _8 = move (_5.0: &i32); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
_9 = move (_5.1: &i32); // bb0[11]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12 _9 = move (_5.1: &i32); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
_0 = (*_8); // bb0[12]: scope 3 at $DIR/inline-closure-borrows-arg.rs:14:9: 14:18 _0 = (*_8); // scope 3 at $DIR/inline-closure-borrows-arg.rs:14:9: 14:18
StorageDead(_7); // bb0[13]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12 StorageDead(_7); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12
StorageDead(_6); // bb0[14]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12 StorageDead(_6); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12
StorageDead(_5); // bb0[15]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12 StorageDead(_5); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12
StorageDead(_4); // bb0[16]: scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12 StorageDead(_4); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12
StorageDead(_3); // bb0[17]: scope 0 at $DIR/inline-closure-borrows-arg.rs:17:1: 17:2 StorageDead(_3); // scope 0 at $DIR/inline-closure-borrows-arg.rs:17:1: 17:2
return; // bb0[18]: scope 0 at $DIR/inline-closure-borrows-arg.rs:17:2: 17:2 return; // scope 0 at $DIR/inline-closure-borrows-arg.rs:17:2: 17:2
} }
} }

View file

@ -23,12 +23,12 @@ fn foo(_1: T, _2: i32) -> (i32, T) {
} }
bb0: { bb0: {
StorageLive(_3); // bb0[0]: scope 0 at $DIR/inline-closure-captures.rs:11:9: 11:10 StorageLive(_3); // scope 0 at $DIR/inline-closure-captures.rs:11:9: 11:10
StorageLive(_4); // bb0[1]: scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24 StorageLive(_4); // scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
_4 = &_2; // bb0[2]: scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24 _4 = &_2; // scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
StorageLive(_5); // bb0[3]: scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24 StorageLive(_5); // scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
_5 = &_1; // bb0[4]: scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24 _5 = &_1; // scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
_3 = [closure@foo::<T>::{{closure}}#0] { q: move _4, t: move _5 }; // bb0[5]: scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24 _3 = [closure@foo::<T>::{{closure}}#0] { q: move _4, t: move _5 }; // scope 0 at $DIR/inline-closure-captures.rs:11:13: 11:24
// closure // closure
// + def_id: DefId(0:6 ~ inline_closure_captures[317d]::foo[0]::{{closure}}[0]) // + def_id: DefId(0:6 ~ inline_closure_captures[317d]::foo[0]::{{closure}}[0])
// + substs: [ // + substs: [
@ -37,27 +37,27 @@ fn foo(_1: T, _2: i32) -> (i32, T) {
// extern "rust-call" fn((i32,)) -> (i32, T), // extern "rust-call" fn((i32,)) -> (i32, T),
// (&i32, &T), // (&i32, &T),
// ] // ]
StorageDead(_5); // bb0[6]: scope 0 at $DIR/inline-closure-captures.rs:11:23: 11:24 StorageDead(_5); // scope 0 at $DIR/inline-closure-captures.rs:11:23: 11:24
StorageDead(_4); // bb0[7]: scope 0 at $DIR/inline-closure-captures.rs:11:23: 11:24 StorageDead(_4); // scope 0 at $DIR/inline-closure-captures.rs:11:23: 11:24
StorageLive(_6); // bb0[8]: scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:6 StorageLive(_6); // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:6
_6 = &_3; // bb0[9]: scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:6 _6 = &_3; // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:6
StorageLive(_7); // bb0[10]: scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9 StorageLive(_7); // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
StorageLive(_8); // bb0[11]: scope 1 at $DIR/inline-closure-captures.rs:12:7: 12:8 StorageLive(_8); // scope 1 at $DIR/inline-closure-captures.rs:12:7: 12:8
_8 = _2; // bb0[12]: scope 1 at $DIR/inline-closure-captures.rs:12:7: 12:8 _8 = _2; // scope 1 at $DIR/inline-closure-captures.rs:12:7: 12:8
_7 = (move _8,); // bb0[13]: scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9 _7 = (move _8,); // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
_11 = move (_7.0: i32); // bb0[14]: scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9 _11 = move (_7.0: i32); // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
StorageLive(_9); // bb0[15]: scope 2 at $DIR/inline-closure-captures.rs:11:19: 11:20 StorageLive(_9); // scope 2 at $DIR/inline-closure-captures.rs:11:19: 11:20
_9 = (*((*_6).0: &i32)); // bb0[16]: scope 2 at $DIR/inline-closure-captures.rs:11:19: 11:20 _9 = (*((*_6).0: &i32)); // scope 2 at $DIR/inline-closure-captures.rs:11:19: 11:20
StorageLive(_10); // bb0[17]: scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23 StorageLive(_10); // scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
_10 = (*((*_6).1: &T)); // bb0[18]: scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23 _10 = (*((*_6).1: &T)); // scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
(_0.0: i32) = move _9; // bb0[19]: scope 2 at $DIR/inline-closure-captures.rs:11:18: 11:24 (_0.0: i32) = move _9; // scope 2 at $DIR/inline-closure-captures.rs:11:18: 11:24
(_0.1: T) = move _10; // bb0[20]: scope 2 at $DIR/inline-closure-captures.rs:11:18: 11:24 (_0.1: T) = move _10; // scope 2 at $DIR/inline-closure-captures.rs:11:18: 11:24
StorageDead(_10); // bb0[21]: scope 2 at $DIR/inline-closure-captures.rs:11:23: 11:24 StorageDead(_10); // scope 2 at $DIR/inline-closure-captures.rs:11:23: 11:24
StorageDead(_9); // bb0[22]: scope 2 at $DIR/inline-closure-captures.rs:11:23: 11:24 StorageDead(_9); // scope 2 at $DIR/inline-closure-captures.rs:11:23: 11:24
StorageDead(_8); // bb0[23]: scope 1 at $DIR/inline-closure-captures.rs:12:8: 12:9 StorageDead(_8); // scope 1 at $DIR/inline-closure-captures.rs:12:8: 12:9
StorageDead(_7); // bb0[24]: scope 1 at $DIR/inline-closure-captures.rs:12:8: 12:9 StorageDead(_7); // scope 1 at $DIR/inline-closure-captures.rs:12:8: 12:9
StorageDead(_6); // bb0[25]: scope 1 at $DIR/inline-closure-captures.rs:12:8: 12:9 StorageDead(_6); // scope 1 at $DIR/inline-closure-captures.rs:12:8: 12:9
StorageDead(_3); // bb0[26]: scope 0 at $DIR/inline-closure-captures.rs:13:1: 13:2 StorageDead(_3); // scope 0 at $DIR/inline-closure-captures.rs:13:1: 13:2
return; // bb0[27]: scope 0 at $DIR/inline-closure-captures.rs:13:2: 13:2 return; // scope 0 at $DIR/inline-closure-captures.rs:13:2: 13:2
} }
} }

View file

@ -20,8 +20,8 @@ fn foo(_1: T, _2: i32) -> i32 {
} }
bb0: { bb0: {
StorageLive(_3); // bb0[0]: scope 0 at $DIR/inline-closure.rs:11:9: 11:10 StorageLive(_3); // scope 0 at $DIR/inline-closure.rs:11:9: 11:10
_3 = [closure@foo::<T>::{{closure}}#0]; // bb0[1]: scope 0 at $DIR/inline-closure.rs:11:13: 11:24 _3 = [closure@foo::<T>::{{closure}}#0]; // scope 0 at $DIR/inline-closure.rs:11:13: 11:24
// closure // closure
// + def_id: DefId(0:6 ~ inline_closure[317d]::foo[0]::{{closure}}[0]) // + def_id: DefId(0:6 ~ inline_closure[317d]::foo[0]::{{closure}}[0])
// + substs: [ // + substs: [
@ -30,22 +30,22 @@ fn foo(_1: T, _2: i32) -> i32 {
// extern "rust-call" fn((i32, i32)) -> i32, // extern "rust-call" fn((i32, i32)) -> i32,
// (), // (),
// ] // ]
StorageLive(_4); // bb0[2]: scope 1 at $DIR/inline-closure.rs:12:5: 12:6 StorageLive(_4); // scope 1 at $DIR/inline-closure.rs:12:5: 12:6
_4 = &_3; // bb0[3]: scope 1 at $DIR/inline-closure.rs:12:5: 12:6 _4 = &_3; // scope 1 at $DIR/inline-closure.rs:12:5: 12:6
StorageLive(_5); // bb0[4]: scope 1 at $DIR/inline-closure.rs:12:5: 12:12 StorageLive(_5); // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
StorageLive(_6); // bb0[5]: scope 1 at $DIR/inline-closure.rs:12:7: 12:8 StorageLive(_6); // scope 1 at $DIR/inline-closure.rs:12:7: 12:8
_6 = _2; // bb0[6]: scope 1 at $DIR/inline-closure.rs:12:7: 12:8 _6 = _2; // scope 1 at $DIR/inline-closure.rs:12:7: 12:8
StorageLive(_7); // bb0[7]: scope 1 at $DIR/inline-closure.rs:12:10: 12:11 StorageLive(_7); // scope 1 at $DIR/inline-closure.rs:12:10: 12:11
_7 = _2; // bb0[8]: scope 1 at $DIR/inline-closure.rs:12:10: 12:11 _7 = _2; // scope 1 at $DIR/inline-closure.rs:12:10: 12:11
_5 = (move _6, move _7); // bb0[9]: scope 1 at $DIR/inline-closure.rs:12:5: 12:12 _5 = (move _6, move _7); // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
_8 = move (_5.0: i32); // bb0[10]: scope 1 at $DIR/inline-closure.rs:12:5: 12:12 _8 = move (_5.0: i32); // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
_9 = move (_5.1: i32); // bb0[11]: scope 1 at $DIR/inline-closure.rs:12:5: 12:12 _9 = move (_5.1: i32); // scope 1 at $DIR/inline-closure.rs:12:5: 12:12
_0 = _8; // bb0[12]: scope 2 at $DIR/inline-closure.rs:11:22: 11:24 _0 = _8; // scope 2 at $DIR/inline-closure.rs:11:22: 11:24
StorageDead(_7); // bb0[13]: scope 1 at $DIR/inline-closure.rs:12:11: 12:12 StorageDead(_7); // scope 1 at $DIR/inline-closure.rs:12:11: 12:12
StorageDead(_6); // bb0[14]: scope 1 at $DIR/inline-closure.rs:12:11: 12:12 StorageDead(_6); // scope 1 at $DIR/inline-closure.rs:12:11: 12:12
StorageDead(_5); // bb0[15]: scope 1 at $DIR/inline-closure.rs:12:11: 12:12 StorageDead(_5); // scope 1 at $DIR/inline-closure.rs:12:11: 12:12
StorageDead(_4); // bb0[16]: scope 1 at $DIR/inline-closure.rs:12:11: 12:12 StorageDead(_4); // scope 1 at $DIR/inline-closure.rs:12:11: 12:12
StorageDead(_3); // bb0[17]: scope 0 at $DIR/inline-closure.rs:13:1: 13:2 StorageDead(_3); // scope 0 at $DIR/inline-closure.rs:13:1: 13:2
return; // bb0[18]: scope 0 at $DIR/inline-closure.rs:13:2: 13:2 return; // scope 0 at $DIR/inline-closure.rs:13:2: 13:2
} }
} }

View file

@ -14,12 +14,12 @@
+ } + }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/inline-into-box-place.rs:8:9: 8:11 StorageLive(_1); // scope 0 at $DIR/inline-into-box-place.rs:8:9: 8:11
StorageLive(_2); // bb0[1]: scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43 StorageLive(_2); // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
_2 = Box(std::vec::Vec<u32>); // bb0[2]: scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43 _2 = Box(std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
- (*_2) = const std::vec::Vec::<u32>::new() -> [return: bb2, unwind: bb4]; // bb0[3]: scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43 - (*_2) = const std::vec::Vec::<u32>::new() -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
+ _4 = &mut (*_2); // bb0[3]: scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43 + _4 = &mut (*_2); // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
+ ((*_4).0: alloc::raw_vec::RawVec<u32>) = const alloc::raw_vec::RawVec::<u32> { ptr: std::ptr::Unique::<u32> { pointer: {0x4 as *const u32}, _marker: std::marker::PhantomData::<u32> }, cap: 0usize, alloc: std::alloc::Global }; // bb0[4]: scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL + ((*_4).0: alloc::raw_vec::RawVec<u32>) = const alloc::raw_vec::RawVec::<u32> { ptr: std::ptr::Unique::<u32> { pointer: {0x4 as *const u32}, _marker: std::marker::PhantomData::<u32> }, cap: 0usize, alloc: std::alloc::Global }; // scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL
// ty::Const // ty::Const
- // + ty: fn() -> std::vec::Vec<u32> {std::vec::Vec::<u32>::new} - // + ty: fn() -> std::vec::Vec<u32> {std::vec::Vec::<u32>::new}
- // + val: Value(Scalar(<ZST>)) - // + val: Value(Scalar(<ZST>))
@ -32,45 +32,42 @@
- } - }
- -
- bb1 (cleanup): { - bb1 (cleanup): {
- resume; // bb1[0]: scope 0 at $DIR/inline-into-box-place.rs:7:1: 9:2 - resume; // scope 0 at $DIR/inline-into-box-place.rs:7:1: 9:2
- } - }
- -
- bb2: { - bb2: {
- _1 = move _2; // bb2[0]: scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
- StorageDead(_2); // bb2[1]: scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43
- _0 = const (); // bb2[2]: scope 0 at $DIR/inline-into-box-place.rs:7:11: 9:2
+ // + span: $SRC_DIR/liballoc/vec.rs:LL:COL + // + span: $SRC_DIR/liballoc/vec.rs:LL:COL
+ // + user_ty: UserType(0) + // + user_ty: UserType(0)
+ // + literal: Const { ty: alloc::raw_vec::RawVec<u32>, val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [255], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) } + // + literal: Const { ty: alloc::raw_vec::RawVec<u32>, val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [255], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
+ ((*_4).1: usize) = const 0usize; // bb0[5]: scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL + ((*_4).1: usize) = const 0usize; // scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL
// ty::Const + // ty::Const
+ // + ty: usize + // + ty: usize
+ // + val: Value(Scalar(0x00000000)) + // + val: Value(Scalar(0x00000000))
+ // mir::Constant + // mir::Constant
+ // + span: $SRC_DIR/liballoc/vec.rs:LL:COL + // + span: $SRC_DIR/liballoc/vec.rs:LL:COL
+ // + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) } + // + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) }
+ _1 = move _2; // bb0[6]: scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43 _1 = move _2; // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
+ StorageDead(_2); // bb0[7]: scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43 StorageDead(_2); // scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43
+ _0 = const (); // bb0[8]: scope 0 at $DIR/inline-into-box-place.rs:7:11: 9:2 _0 = const (); // scope 0 at $DIR/inline-into-box-place.rs:7:11: 9:2
+ // ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/inline-into-box-place.rs:7:11: 9:2 // + span: $DIR/inline-into-box-place.rs:7:11: 9:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
- drop(_1) -> [return: bb3, unwind: bb1]; // bb2[3]: scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2 - drop(_1) -> [return: bb3, unwind: bb1]; // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
+ drop(_1) -> [return: bb2, unwind: bb1]; // bb0[9]: scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2 + drop(_1) -> [return: bb2, unwind: bb1]; // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
} }
- bb3: { - bb3: {
- StorageDead(_1); // bb3[0]: scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2 - StorageDead(_1); // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
- return; // bb3[1]: scope 0 at $DIR/inline-into-box-place.rs:9:2: 9:2 - return; // scope 0 at $DIR/inline-into-box-place.rs:9:2: 9:2
+ bb1 (cleanup): { + bb1 (cleanup): {
+ resume; // bb1[0]: scope 0 at $DIR/inline-into-box-place.rs:7:1: 9:2 + resume; // scope 0 at $DIR/inline-into-box-place.rs:7:1: 9:2
} }
- bb4 (cleanup): { - bb4 (cleanup): {
- _3 = const alloc::alloc::box_free::<std::vec::Vec<u32>>(move (_2.0: std::ptr::Unique<std::vec::Vec<u32>>)) -> bb1; // bb4[0]: scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43 - _3 = const alloc::alloc::box_free::<std::vec::Vec<u32>>(move (_2.0: std::ptr::Unique<std::vec::Vec<u32>>)) -> bb1; // scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43
- // ty::Const - // ty::Const
- // + ty: unsafe fn(std::ptr::Unique<std::vec::Vec<u32>>) {alloc::alloc::box_free::<std::vec::Vec<u32>>} - // + ty: unsafe fn(std::ptr::Unique<std::vec::Vec<u32>>) {alloc::alloc::box_free::<std::vec::Vec<u32>>}
- // + val: Value(Scalar(<ZST>)) - // + val: Value(Scalar(<ZST>))
@ -78,8 +75,8 @@
- // + span: $DIR/inline-into-box-place.rs:8:42: 8:43 - // + span: $DIR/inline-into-box-place.rs:8:42: 8:43
- // + literal: Const { ty: unsafe fn(std::ptr::Unique<std::vec::Vec<u32>>) {alloc::alloc::box_free::<std::vec::Vec<u32>>}, val: Value(Scalar(<ZST>)) } - // + literal: Const { ty: unsafe fn(std::ptr::Unique<std::vec::Vec<u32>>) {alloc::alloc::box_free::<std::vec::Vec<u32>>}, val: Value(Scalar(<ZST>)) }
+ bb2: { + bb2: {
+ StorageDead(_1); // bb2[0]: scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2 + StorageDead(_1); // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
+ return; // bb2[1]: scope 0 at $DIR/inline-into-box-place.rs:9:2: 9:2 + return; // scope 0 at $DIR/inline-into-box-place.rs:9:2: 9:2
} }
} }

View file

@ -14,12 +14,12 @@
+ } + }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/inline-into-box-place.rs:8:9: 8:11 StorageLive(_1); // scope 0 at $DIR/inline-into-box-place.rs:8:9: 8:11
StorageLive(_2); // bb0[1]: scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43 StorageLive(_2); // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
_2 = Box(std::vec::Vec<u32>); // bb0[2]: scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43 _2 = Box(std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
- (*_2) = const std::vec::Vec::<u32>::new() -> [return: bb2, unwind: bb4]; // bb0[3]: scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43 - (*_2) = const std::vec::Vec::<u32>::new() -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
+ _4 = &mut (*_2); // bb0[3]: scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43 + _4 = &mut (*_2); // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
+ ((*_4).0: alloc::raw_vec::RawVec<u32>) = const alloc::raw_vec::RawVec::<u32> { ptr: std::ptr::Unique::<u32> { pointer: {0x4 as *const u32}, _marker: std::marker::PhantomData::<u32> }, cap: 0usize, alloc: std::alloc::Global }; // bb0[4]: scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL + ((*_4).0: alloc::raw_vec::RawVec<u32>) = const alloc::raw_vec::RawVec::<u32> { ptr: std::ptr::Unique::<u32> { pointer: {0x4 as *const u32}, _marker: std::marker::PhantomData::<u32> }, cap: 0usize, alloc: std::alloc::Global }; // scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL
// ty::Const // ty::Const
- // + ty: fn() -> std::vec::Vec<u32> {std::vec::Vec::<u32>::new} - // + ty: fn() -> std::vec::Vec<u32> {std::vec::Vec::<u32>::new}
- // + val: Value(Scalar(<ZST>)) - // + val: Value(Scalar(<ZST>))
@ -32,45 +32,42 @@
- } - }
- -
- bb1 (cleanup): { - bb1 (cleanup): {
- resume; // bb1[0]: scope 0 at $DIR/inline-into-box-place.rs:7:1: 9:2 - resume; // scope 0 at $DIR/inline-into-box-place.rs:7:1: 9:2
- } - }
- -
- bb2: { - bb2: {
- _1 = move _2; // bb2[0]: scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
- StorageDead(_2); // bb2[1]: scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43
- _0 = const (); // bb2[2]: scope 0 at $DIR/inline-into-box-place.rs:7:11: 9:2
+ // + span: $SRC_DIR/liballoc/vec.rs:LL:COL + // + span: $SRC_DIR/liballoc/vec.rs:LL:COL
+ // + user_ty: UserType(0) + // + user_ty: UserType(0)
+ // + literal: Const { ty: alloc::raw_vec::RawVec<u32>, val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [65535], len: Size { raw: 16 } }, size: Size { raw: 16 }, align: Align { pow2: 3 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) } + // + literal: Const { ty: alloc::raw_vec::RawVec<u32>, val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [65535], len: Size { raw: 16 } }, size: Size { raw: 16 }, align: Align { pow2: 3 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
+ ((*_4).1: usize) = const 0usize; // bb0[5]: scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL + ((*_4).1: usize) = const 0usize; // scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL
// ty::Const + // ty::Const
+ // + ty: usize + // + ty: usize
+ // + val: Value(Scalar(0x0000000000000000)) + // + val: Value(Scalar(0x0000000000000000))
+ // mir::Constant + // mir::Constant
+ // + span: $SRC_DIR/liballoc/vec.rs:LL:COL + // + span: $SRC_DIR/liballoc/vec.rs:LL:COL
+ // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) } + // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
+ _1 = move _2; // bb0[6]: scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43 _1 = move _2; // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
+ StorageDead(_2); // bb0[7]: scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43 StorageDead(_2); // scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43
+ _0 = const (); // bb0[8]: scope 0 at $DIR/inline-into-box-place.rs:7:11: 9:2 _0 = const (); // scope 0 at $DIR/inline-into-box-place.rs:7:11: 9:2
+ // ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/inline-into-box-place.rs:7:11: 9:2 // + span: $DIR/inline-into-box-place.rs:7:11: 9:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
- drop(_1) -> [return: bb3, unwind: bb1]; // bb2[3]: scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2 - drop(_1) -> [return: bb3, unwind: bb1]; // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
+ drop(_1) -> [return: bb2, unwind: bb1]; // bb0[9]: scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2 + drop(_1) -> [return: bb2, unwind: bb1]; // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
} }
- bb3: { - bb3: {
- StorageDead(_1); // bb3[0]: scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2 - StorageDead(_1); // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
- return; // bb3[1]: scope 0 at $DIR/inline-into-box-place.rs:9:2: 9:2 - return; // scope 0 at $DIR/inline-into-box-place.rs:9:2: 9:2
+ bb1 (cleanup): { + bb1 (cleanup): {
+ resume; // bb1[0]: scope 0 at $DIR/inline-into-box-place.rs:7:1: 9:2 + resume; // scope 0 at $DIR/inline-into-box-place.rs:7:1: 9:2
} }
- bb4 (cleanup): { - bb4 (cleanup): {
- _3 = const alloc::alloc::box_free::<std::vec::Vec<u32>>(move (_2.0: std::ptr::Unique<std::vec::Vec<u32>>)) -> bb1; // bb4[0]: scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43 - _3 = const alloc::alloc::box_free::<std::vec::Vec<u32>>(move (_2.0: std::ptr::Unique<std::vec::Vec<u32>>)) -> bb1; // scope 0 at $DIR/inline-into-box-place.rs:8:42: 8:43
- // ty::Const - // ty::Const
- // + ty: unsafe fn(std::ptr::Unique<std::vec::Vec<u32>>) {alloc::alloc::box_free::<std::vec::Vec<u32>>} - // + ty: unsafe fn(std::ptr::Unique<std::vec::Vec<u32>>) {alloc::alloc::box_free::<std::vec::Vec<u32>>}
- // + val: Value(Scalar(<ZST>)) - // + val: Value(Scalar(<ZST>))
@ -78,8 +75,8 @@
- // + span: $DIR/inline-into-box-place.rs:8:42: 8:43 - // + span: $DIR/inline-into-box-place.rs:8:42: 8:43
- // + literal: Const { ty: unsafe fn(std::ptr::Unique<std::vec::Vec<u32>>) {alloc::alloc::box_free::<std::vec::Vec<u32>>}, val: Value(Scalar(<ZST>)) } - // + literal: Const { ty: unsafe fn(std::ptr::Unique<std::vec::Vec<u32>>) {alloc::alloc::box_free::<std::vec::Vec<u32>>}, val: Value(Scalar(<ZST>)) }
+ bb2: { + bb2: {
+ StorageDead(_1); // bb2[0]: scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2 + StorageDead(_1); // scope 0 at $DIR/inline-into-box-place.rs:9:1: 9:2
+ return; // bb2[1]: scope 0 at $DIR/inline-into-box-place.rs:9:2: 9:2 + return; // scope 0 at $DIR/inline-into-box-place.rs:9:2: 9:2
} }
} }

View file

@ -23,59 +23,59 @@ fn bar() -> bool {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/inline-retag.rs:11:9: 11:10 StorageLive(_1); // scope 0 at $DIR/inline-retag.rs:11:9: 11:10
_1 = const foo; // bb0[1]: scope 0 at $DIR/inline-retag.rs:11:13: 11:16 _1 = const foo; // scope 0 at $DIR/inline-retag.rs:11:13: 11:16
// ty::Const // ty::Const
// + ty: for<'r, 's> fn(&'r i32, &'s i32) -> bool {foo} // + ty: for<'r, 's> fn(&'r i32, &'s i32) -> bool {foo}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/inline-retag.rs:11:13: 11:16 // + span: $DIR/inline-retag.rs:11:13: 11:16
// + literal: Const { ty: for<'r, 's> fn(&'r i32, &'s i32) -> bool {foo}, val: Value(Scalar(<ZST>)) } // + literal: Const { ty: for<'r, 's> fn(&'r i32, &'s i32) -> bool {foo}, val: Value(Scalar(<ZST>)) }
StorageLive(_2); // bb0[2]: scope 1 at $DIR/inline-retag.rs:12:5: 12:6 StorageLive(_2); // scope 1 at $DIR/inline-retag.rs:12:5: 12:6
_2 = _1; // bb0[3]: scope 1 at $DIR/inline-retag.rs:12:5: 12:6 _2 = _1; // scope 1 at $DIR/inline-retag.rs:12:5: 12:6
StorageLive(_3); // bb0[4]: scope 1 at $DIR/inline-retag.rs:12:7: 12:9 StorageLive(_3); // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
StorageLive(_4); // bb0[5]: scope 1 at $DIR/inline-retag.rs:12:7: 12:9 StorageLive(_4); // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
_10 = const bar::promoted[1]; // bb0[6]: scope 1 at $DIR/inline-retag.rs:12:7: 12:9 _10 = const bar::promoted[1]; // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
// ty::Const // ty::Const
// + ty: &i32 // + ty: &i32
// + val: Unevaluated(DefId(0:4 ~ inline_retag[317d]::bar[0]), [], Some(promoted[1])) // + val: Unevaluated(DefId(0:4 ~ inline_retag[317d]::bar[0]), [], Some(promoted[1]))
// mir::Constant // mir::Constant
// + span: $DIR/inline-retag.rs:12:7: 12:9 // + span: $DIR/inline-retag.rs:12:7: 12:9
// + literal: Const { ty: &i32, val: Unevaluated(DefId(0:4 ~ inline_retag[317d]::bar[0]), [], Some(promoted[1])) } // + literal: Const { ty: &i32, val: Unevaluated(DefId(0:4 ~ inline_retag[317d]::bar[0]), [], Some(promoted[1])) }
Retag(_10); // bb0[7]: scope 1 at $DIR/inline-retag.rs:12:7: 12:9 Retag(_10); // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
_4 = &(*_10); // bb0[8]: scope 1 at $DIR/inline-retag.rs:12:7: 12:9 _4 = &(*_10); // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
Retag(_4); // bb0[9]: scope 1 at $DIR/inline-retag.rs:12:7: 12:9 Retag(_4); // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
_3 = &(*_4); // bb0[10]: scope 1 at $DIR/inline-retag.rs:12:7: 12:9 _3 = &(*_4); // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
Retag(_3); // bb0[11]: scope 1 at $DIR/inline-retag.rs:12:7: 12:9 Retag(_3); // scope 1 at $DIR/inline-retag.rs:12:7: 12:9
StorageLive(_6); // bb0[12]: scope 1 at $DIR/inline-retag.rs:12:11: 12:14 StorageLive(_6); // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
StorageLive(_7); // bb0[13]: scope 1 at $DIR/inline-retag.rs:12:11: 12:14 StorageLive(_7); // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
_9 = const bar::promoted[0]; // bb0[14]: scope 1 at $DIR/inline-retag.rs:12:11: 12:14 _9 = const bar::promoted[0]; // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
// ty::Const // ty::Const
// + ty: &i32 // + ty: &i32
// + val: Unevaluated(DefId(0:4 ~ inline_retag[317d]::bar[0]), [], Some(promoted[0])) // + val: Unevaluated(DefId(0:4 ~ inline_retag[317d]::bar[0]), [], Some(promoted[0]))
// mir::Constant // mir::Constant
// + span: $DIR/inline-retag.rs:12:11: 12:14 // + span: $DIR/inline-retag.rs:12:11: 12:14
// + literal: Const { ty: &i32, val: Unevaluated(DefId(0:4 ~ inline_retag[317d]::bar[0]), [], Some(promoted[0])) } // + literal: Const { ty: &i32, val: Unevaluated(DefId(0:4 ~ inline_retag[317d]::bar[0]), [], Some(promoted[0])) }
Retag(_9); // bb0[15]: scope 1 at $DIR/inline-retag.rs:12:11: 12:14 Retag(_9); // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
_7 = &(*_9); // bb0[16]: scope 1 at $DIR/inline-retag.rs:12:11: 12:14 _7 = &(*_9); // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
Retag(_7); // bb0[17]: scope 1 at $DIR/inline-retag.rs:12:11: 12:14 Retag(_7); // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
_6 = &(*_7); // bb0[18]: scope 1 at $DIR/inline-retag.rs:12:11: 12:14 _6 = &(*_7); // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
Retag(_6); // bb0[19]: scope 1 at $DIR/inline-retag.rs:12:11: 12:14 Retag(_6); // scope 1 at $DIR/inline-retag.rs:12:11: 12:14
Retag(_3); // bb0[20]: scope 2 at $DIR/inline-retag.rs:16:1: 18:2 Retag(_3); // scope 2 at $DIR/inline-retag.rs:16:1: 18:2
Retag(_6); // bb0[21]: scope 2 at $DIR/inline-retag.rs:16:1: 18:2 Retag(_6); // scope 2 at $DIR/inline-retag.rs:16:1: 18:2
StorageLive(_11); // bb0[22]: scope 2 at $DIR/inline-retag.rs:17:5: 17:7 StorageLive(_11); // scope 2 at $DIR/inline-retag.rs:17:5: 17:7
_11 = (*_3); // bb0[23]: scope 2 at $DIR/inline-retag.rs:17:5: 17:7 _11 = (*_3); // scope 2 at $DIR/inline-retag.rs:17:5: 17:7
StorageLive(_12); // bb0[24]: scope 2 at $DIR/inline-retag.rs:17:11: 17:13 StorageLive(_12); // scope 2 at $DIR/inline-retag.rs:17:11: 17:13
_12 = (*_6); // bb0[25]: scope 2 at $DIR/inline-retag.rs:17:11: 17:13 _12 = (*_6); // scope 2 at $DIR/inline-retag.rs:17:11: 17:13
_0 = Eq(move _11, move _12); // bb0[26]: scope 2 at $DIR/inline-retag.rs:17:5: 17:13 _0 = Eq(move _11, move _12); // scope 2 at $DIR/inline-retag.rs:17:5: 17:13
StorageDead(_12); // bb0[27]: scope 2 at $DIR/inline-retag.rs:17:12: 17:13 StorageDead(_12); // scope 2 at $DIR/inline-retag.rs:17:12: 17:13
StorageDead(_11); // bb0[28]: scope 2 at $DIR/inline-retag.rs:17:12: 17:13 StorageDead(_11); // scope 2 at $DIR/inline-retag.rs:17:12: 17:13
StorageDead(_6); // bb0[29]: scope 1 at $DIR/inline-retag.rs:12:14: 12:15 StorageDead(_6); // scope 1 at $DIR/inline-retag.rs:12:14: 12:15
StorageDead(_3); // bb0[30]: scope 1 at $DIR/inline-retag.rs:12:14: 12:15 StorageDead(_3); // scope 1 at $DIR/inline-retag.rs:12:14: 12:15
StorageDead(_2); // bb0[31]: scope 1 at $DIR/inline-retag.rs:12:14: 12:15 StorageDead(_2); // scope 1 at $DIR/inline-retag.rs:12:14: 12:15
StorageDead(_1); // bb0[32]: scope 0 at $DIR/inline-retag.rs:13:1: 13:2 StorageDead(_1); // scope 0 at $DIR/inline-retag.rs:13:1: 13:2
StorageDead(_7); // bb0[33]: scope 0 at $DIR/inline-retag.rs:13:1: 13:2 StorageDead(_7); // scope 0 at $DIR/inline-retag.rs:13:1: 13:2
StorageDead(_4); // bb0[34]: scope 0 at $DIR/inline-retag.rs:13:1: 13:2 StorageDead(_4); // scope 0 at $DIR/inline-retag.rs:13:1: 13:2
return; // bb0[35]: scope 0 at $DIR/inline-retag.rs:13:2: 13:2 return; // scope 0 at $DIR/inline-retag.rs:13:2: 13:2
} }
} }

View file

@ -11,9 +11,9 @@
+ } + }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/inline-specialization.rs:5:9: 5:10 StorageLive(_1); // scope 0 at $DIR/inline-specialization.rs:5:9: 5:10
- _1 = const <std::vec::Vec<()> as Foo>::bar() -> bb1; // bb0[1]: scope 0 at $DIR/inline-specialization.rs:5:13: 5:38 - _1 = const <std::vec::Vec<()> as Foo>::bar() -> bb1; // scope 0 at $DIR/inline-specialization.rs:5:13: 5:38
+ _1 = const 123u32; // bb0[1]: scope 2 at $DIR/inline-specialization.rs:14:31: 14:34 + _1 = const 123u32; // scope 2 at $DIR/inline-specialization.rs:14:31: 14:34
// ty::Const // ty::Const
- // + ty: fn() -> u32 {<std::vec::Vec<()> as Foo>::bar} - // + ty: fn() -> u32 {<std::vec::Vec<()> as Foo>::bar}
- // + val: Value(Scalar(<ZST>)) - // + val: Value(Scalar(<ZST>))
@ -25,20 +25,17 @@
- } - }
- -
- bb1: { - bb1: {
- _0 = const (); // bb1[0]: scope 0 at $DIR/inline-specialization.rs:4:11: 6:2
+ // + span: $DIR/inline-specialization.rs:14:31: 14:34 + // + span: $DIR/inline-specialization.rs:14:31: 14:34
+ // + literal: Const { ty: u32, val: Value(Scalar(0x0000007b)) } + // + literal: Const { ty: u32, val: Value(Scalar(0x0000007b)) }
+ _0 = const (); // bb0[2]: scope 0 at $DIR/inline-specialization.rs:4:11: 6:2 _0 = const (); // scope 0 at $DIR/inline-specialization.rs:4:11: 6:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/inline-specialization.rs:4:11: 6:2 // + span: $DIR/inline-specialization.rs:4:11: 6:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
- StorageDead(_1); // bb1[1]: scope 0 at $DIR/inline-specialization.rs:6:1: 6:2 StorageDead(_1); // scope 0 at $DIR/inline-specialization.rs:6:1: 6:2
- return; // bb1[2]: scope 0 at $DIR/inline-specialization.rs:6:2: 6:2 return; // scope 0 at $DIR/inline-specialization.rs:6:2: 6:2
+ StorageDead(_1); // bb0[3]: scope 0 at $DIR/inline-specialization.rs:6:1: 6:2
+ return; // bb0[4]: scope 0 at $DIR/inline-specialization.rs:6:2: 6:2
} }
} }

View file

@ -6,9 +6,9 @@ fn test(_1: &dyn X) -> u32 {
let mut _2: &dyn X; // in scope 0 at $DIR/inline-trait-method.rs:9:5: 9:6 let mut _2: &dyn X; // in scope 0 at $DIR/inline-trait-method.rs:9:5: 9:6
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/inline-trait-method.rs:9:5: 9:6 StorageLive(_2); // scope 0 at $DIR/inline-trait-method.rs:9:5: 9:6
_2 = &(*_1); // bb0[1]: scope 0 at $DIR/inline-trait-method.rs:9:5: 9:6 _2 = &(*_1); // scope 0 at $DIR/inline-trait-method.rs:9:5: 9:6
_0 = const <dyn X as X>::y(move _2) -> bb1; // bb0[2]: scope 0 at $DIR/inline-trait-method.rs:9:5: 9:10 _0 = const <dyn X as X>::y(move _2) -> bb1; // scope 0 at $DIR/inline-trait-method.rs:9:5: 9:10
// ty::Const // ty::Const
// + ty: for<'r> fn(&'r dyn X) -> u32 {<dyn X as X>::y} // + ty: for<'r> fn(&'r dyn X) -> u32 {<dyn X as X>::y}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -18,7 +18,7 @@ fn test(_1: &dyn X) -> u32 {
} }
bb1: { bb1: {
StorageDead(_2); // bb1[0]: scope 0 at $DIR/inline-trait-method.rs:9:9: 9:10 StorageDead(_2); // scope 0 at $DIR/inline-trait-method.rs:9:9: 9:10
return; // bb1[1]: scope 0 at $DIR/inline-trait-method.rs:10:2: 10:2 return; // scope 0 at $DIR/inline-trait-method.rs:10:2: 10:2
} }
} }

View file

@ -10,12 +10,12 @@ fn test2(_1: &dyn X) -> bool {
} }
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11 StorageLive(_2); // scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11
StorageLive(_3); // bb0[1]: scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11 StorageLive(_3); // scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11
_3 = &(*_1); // bb0[2]: scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11 _3 = &(*_1); // scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11
_2 = move _3 as &dyn X (Pointer(Unsize)); // bb0[3]: scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11 _2 = move _3 as &dyn X (Pointer(Unsize)); // scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11
StorageDead(_3); // bb0[4]: scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11 StorageDead(_3); // scope 0 at $DIR/inline-trait-method_2.rs:5:10: 5:11
_0 = const <dyn X as X>::y(move _2) -> bb1; // bb0[5]: scope 1 at $DIR/inline-trait-method_2.rs:10:5: 10:10 _0 = const <dyn X as X>::y(move _2) -> bb1; // scope 1 at $DIR/inline-trait-method_2.rs:10:5: 10:10
// ty::Const // ty::Const
// + ty: for<'r> fn(&'r dyn X) -> bool {<dyn X as X>::y} // + ty: for<'r> fn(&'r dyn X) -> bool {<dyn X as X>::y}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -25,7 +25,7 @@ fn test2(_1: &dyn X) -> bool {
} }
bb1: { bb1: {
StorageDead(_2); // bb1[0]: scope 0 at $DIR/inline-trait-method_2.rs:5:11: 5:12 StorageDead(_2); // scope 0 at $DIR/inline-trait-method_2.rs:5:11: 5:12
return; // bb1[1]: scope 0 at $DIR/inline-trait-method_2.rs:6:2: 6:2 return; // scope 0 at $DIR/inline-trait-method_2.rs:6:2: 6:2
} }
} }

View file

@ -12,19 +12,19 @@ fn a(_1: &mut [T]) -> &mut [T] {
} }
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15 StorageLive(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
StorageLive(_3); // bb0[1]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15 StorageLive(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
StorageLive(_4); // bb0[2]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:6 StorageLive(_4); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:6
_4 = &mut (*_1); // bb0[3]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:6 _4 = &mut (*_1); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:6
StorageLive(_5); // bb0[4]: scope 1 at $SRC_DIR/libcore/convert/mod.rs:LL:COL StorageLive(_5); // scope 1 at $SRC_DIR/libcore/convert/mod.rs:LL:COL
_5 = _4; // bb0[5]: scope 1 at $SRC_DIR/libcore/convert/mod.rs:LL:COL _5 = _4; // scope 1 at $SRC_DIR/libcore/convert/mod.rs:LL:COL
_3 = _5; // bb0[6]: scope 1 at $SRC_DIR/libcore/convert/mod.rs:LL:COL _3 = _5; // scope 1 at $SRC_DIR/libcore/convert/mod.rs:LL:COL
StorageDead(_5); // bb0[7]: scope 1 at $SRC_DIR/libcore/convert/mod.rs:LL:COL StorageDead(_5); // scope 1 at $SRC_DIR/libcore/convert/mod.rs:LL:COL
_2 = &mut (*_3); // bb0[8]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15 _2 = &mut (*_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
StorageDead(_4); // bb0[9]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:14: 3:15 StorageDead(_4); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:14: 3:15
_0 = &mut (*_2); // bb0[10]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15 _0 = &mut (*_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
StorageDead(_3); // bb0[11]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:4:1: 4:2 StorageDead(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:4:1: 4:2
StorageDead(_2); // bb0[12]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:4:1: 4:2 StorageDead(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:4:1: 4:2
return; // bb0[13]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:4:2: 4:2 return; // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:4:2: 4:2
} }
} }

View file

@ -13,22 +13,22 @@ fn b(_1: &mut std::boxed::Box<T>) -> &mut T {
} }
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15 StorageLive(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
StorageLive(_3); // bb0[1]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15 StorageLive(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
StorageLive(_4); // bb0[2]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:6 StorageLive(_4); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:6
_4 = &mut (*_1); // bb0[3]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:6 _4 = &mut (*_1); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:6
StorageLive(_5); // bb0[4]: scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL StorageLive(_5); // scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL
StorageLive(_6); // bb0[5]: scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL StorageLive(_6); // scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL
_6 = &mut (*(*_4)); // bb0[6]: scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL _6 = &mut (*(*_4)); // scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL
_5 = _6; // bb0[7]: scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL _5 = _6; // scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL
_3 = _5; // bb0[8]: scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL _3 = _5; // scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL
StorageDead(_6); // bb0[9]: scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL StorageDead(_6); // scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL
StorageDead(_5); // bb0[10]: scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL StorageDead(_5); // scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL
_2 = &mut (*_3); // bb0[11]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15 _2 = &mut (*_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
StorageDead(_4); // bb0[12]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:14: 8:15 StorageDead(_4); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:14: 8:15
_0 = &mut (*_2); // bb0[13]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15 _0 = &mut (*_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
StorageDead(_3); // bb0[14]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:9:1: 9:2 StorageDead(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:9:1: 9:2
StorageDead(_2); // bb0[15]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:9:1: 9:2 StorageDead(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:9:1: 9:2
return; // bb0[16]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:9:2: 9:2 return; // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:9:2: 9:2
} }
} }

View file

@ -10,13 +10,13 @@ fn c(_1: &[T]) -> &[T] {
} }
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:15 StorageLive(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:15
StorageLive(_3); // bb0[1]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:6 StorageLive(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:6
_3 = &(*_1); // bb0[2]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:6 _3 = &(*_1); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:6
_2 = _3; // bb0[3]: scope 1 at $SRC_DIR/libcore/convert/mod.rs:LL:COL _2 = _3; // scope 1 at $SRC_DIR/libcore/convert/mod.rs:LL:COL
_0 = &(*_2); // bb0[4]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:15 _0 = &(*_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:15
StorageDead(_3); // bb0[5]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:14: 13:15 StorageDead(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:14: 13:15
StorageDead(_2); // bb0[6]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:14:1: 14:2 StorageDead(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:14:1: 14:2
return; // bb0[7]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:14:2: 14:2 return; // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:14:2: 14:2
} }
} }

View file

@ -11,16 +11,16 @@ fn d(_1: &std::boxed::Box<T>) -> &T {
} }
bb0: { bb0: {
StorageLive(_2); // bb0[0]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:15 StorageLive(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:15
StorageLive(_3); // bb0[1]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:6 StorageLive(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:6
_3 = &(*_1); // bb0[2]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:6 _3 = &(*_1); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:6
StorageLive(_4); // bb0[3]: scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL StorageLive(_4); // scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL
_4 = &(*(*_3)); // bb0[4]: scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL _4 = &(*(*_3)); // scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL
_2 = _4; // bb0[5]: scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL _2 = _4; // scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL
StorageDead(_4); // bb0[6]: scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL StorageDead(_4); // scope 1 at $SRC_DIR/liballoc/boxed.rs:LL:COL
_0 = &(*_2); // bb0[7]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:15 _0 = &(*_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:5: 18:15
StorageDead(_3); // bb0[8]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:14: 18:15 StorageDead(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:18:14: 18:15
StorageDead(_2); // bb0[9]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:19:1: 19:2 StorageDead(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:19:1: 19:2
return; // bb0[10]: scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:19:2: 19:2 return; // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:19:2: 19:2
} }
} }

View file

@ -12,76 +12,76 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/issue-38669.rs:5:9: 5:25 StorageLive(_1); // scope 0 at $DIR/issue-38669.rs:5:9: 5:25
_1 = const false; // bb0[1]: scope 0 at $DIR/issue-38669.rs:5:28: 5:33 _1 = const false; // scope 0 at $DIR/issue-38669.rs:5:28: 5:33
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-38669.rs:5:28: 5:33 // + span: $DIR/issue-38669.rs:5:28: 5:33
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
FakeRead(ForLet, _1); // bb0[2]: scope 0 at $DIR/issue-38669.rs:5:9: 5:25 FakeRead(ForLet, _1); // scope 0 at $DIR/issue-38669.rs:5:9: 5:25
goto -> bb2; // bb0[3]: scope 1 at $DIR/issue-38669.rs:6:5: 11:6 goto -> bb2; // scope 1 at $DIR/issue-38669.rs:6:5: 11:6
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/issue-38669.rs:4:1: 12:2 resume; // scope 0 at $DIR/issue-38669.rs:4:1: 12:2
} }
bb2: { bb2: {
falseUnwind -> [real: bb3, cleanup: bb1]; // bb2[0]: scope 1 at $DIR/issue-38669.rs:6:5: 11:6 falseUnwind -> [real: bb3, cleanup: bb1]; // scope 1 at $DIR/issue-38669.rs:6:5: 11:6
} }
bb3: { bb3: {
StorageLive(_3); // bb3[0]: scope 1 at $DIR/issue-38669.rs:7:9: 9:10 StorageLive(_3); // scope 1 at $DIR/issue-38669.rs:7:9: 9:10
StorageLive(_4); // bb3[1]: scope 1 at $DIR/issue-38669.rs:7:12: 7:24 StorageLive(_4); // scope 1 at $DIR/issue-38669.rs:7:12: 7:24
_4 = _1; // bb3[2]: scope 1 at $DIR/issue-38669.rs:7:12: 7:24 _4 = _1; // scope 1 at $DIR/issue-38669.rs:7:12: 7:24
FakeRead(ForMatchedPlace, _4); // bb3[3]: scope 1 at $DIR/issue-38669.rs:7:12: 7:24 FakeRead(ForMatchedPlace, _4); // scope 1 at $DIR/issue-38669.rs:7:12: 7:24
switchInt(_4) -> [false: bb5, otherwise: bb4]; // bb3[4]: scope 1 at $DIR/issue-38669.rs:7:9: 9:10 switchInt(_4) -> [false: bb5, otherwise: bb4]; // scope 1 at $DIR/issue-38669.rs:7:9: 9:10
} }
bb4: { bb4: {
falseEdges -> [real: bb6, imaginary: bb5]; // bb4[0]: scope 1 at $DIR/issue-38669.rs:7:9: 9:10 falseEdges -> [real: bb6, imaginary: bb5]; // scope 1 at $DIR/issue-38669.rs:7:9: 9:10
} }
bb5: { bb5: {
_3 = const (); // bb5[0]: scope 1 at $DIR/issue-38669.rs:7:9: 9:10 _3 = const (); // scope 1 at $DIR/issue-38669.rs:7:9: 9:10
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-38669.rs:7:9: 9:10 // + span: $DIR/issue-38669.rs:7:9: 9:10
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_4); // bb5[1]: scope 1 at $DIR/issue-38669.rs:9:9: 9:10 StorageDead(_4); // scope 1 at $DIR/issue-38669.rs:9:9: 9:10
StorageDead(_3); // bb5[2]: scope 1 at $DIR/issue-38669.rs:9:9: 9:10 StorageDead(_3); // scope 1 at $DIR/issue-38669.rs:9:9: 9:10
_1 = const true; // bb5[3]: scope 1 at $DIR/issue-38669.rs:10:9: 10:28 _1 = const true; // scope 1 at $DIR/issue-38669.rs:10:9: 10:28
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
// mir::Constant // mir::Constant
// + span: $DIR/issue-38669.rs:10:24: 10:28 // + span: $DIR/issue-38669.rs:10:24: 10:28
// + literal: Const { ty: bool, val: Value(Scalar(0x01)) } // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
_2 = const (); // bb5[4]: scope 1 at $DIR/issue-38669.rs:6:10: 11:6 _2 = const (); // scope 1 at $DIR/issue-38669.rs:6:10: 11:6
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-38669.rs:6:10: 11:6 // + span: $DIR/issue-38669.rs:6:10: 11:6
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
goto -> bb2; // bb5[5]: scope 1 at $DIR/issue-38669.rs:6:5: 11:6 goto -> bb2; // scope 1 at $DIR/issue-38669.rs:6:5: 11:6
} }
bb6: { bb6: {
_0 = const (); // bb6[0]: scope 1 at $DIR/issue-38669.rs:8:13: 8:18 _0 = const (); // scope 1 at $DIR/issue-38669.rs:8:13: 8:18
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-38669.rs:8:13: 8:18 // + span: $DIR/issue-38669.rs:8:13: 8:18
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_4); // bb6[1]: scope 1 at $DIR/issue-38669.rs:9:9: 9:10 StorageDead(_4); // scope 1 at $DIR/issue-38669.rs:9:9: 9:10
StorageDead(_3); // bb6[2]: scope 1 at $DIR/issue-38669.rs:9:9: 9:10 StorageDead(_3); // scope 1 at $DIR/issue-38669.rs:9:9: 9:10
StorageDead(_1); // bb6[3]: scope 0 at $DIR/issue-38669.rs:12:1: 12:2 StorageDead(_1); // scope 0 at $DIR/issue-38669.rs:12:1: 12:2
return; // bb6[4]: scope 0 at $DIR/issue-38669.rs:12:2: 12:2 return; // scope 0 at $DIR/issue-38669.rs:12:2: 12:2
} }
} }

View file

@ -12,27 +12,27 @@ fn main() -> () {
} }
bb0: { bb0: {
_5 = const false; // bb0[0]: scope 0 at $DIR/issue-41110.rs:8:9: 8:10 _5 = const false; // scope 0 at $DIR/issue-41110.rs:8:9: 8:10
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41110.rs:8:9: 8:10 // + span: $DIR/issue-41110.rs:8:9: 8:10
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
StorageLive(_1); // bb0[1]: scope 0 at $DIR/issue-41110.rs:8:9: 8:10 StorageLive(_1); // scope 0 at $DIR/issue-41110.rs:8:9: 8:10
StorageLive(_2); // bb0[2]: scope 0 at $DIR/issue-41110.rs:8:13: 8:14 StorageLive(_2); // scope 0 at $DIR/issue-41110.rs:8:13: 8:14
_5 = const true; // bb0[3]: scope 0 at $DIR/issue-41110.rs:8:13: 8:14 _5 = const true; // scope 0 at $DIR/issue-41110.rs:8:13: 8:14
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41110.rs:8:13: 8:14 // + span: $DIR/issue-41110.rs:8:13: 8:14
// + literal: Const { ty: bool, val: Value(Scalar(0x01)) } // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
_2 = S; // bb0[4]: scope 0 at $DIR/issue-41110.rs:8:13: 8:14 _2 = S; // scope 0 at $DIR/issue-41110.rs:8:13: 8:14
StorageLive(_3); // bb0[5]: scope 0 at $DIR/issue-41110.rs:8:21: 8:27 StorageLive(_3); // scope 0 at $DIR/issue-41110.rs:8:21: 8:27
StorageLive(_4); // bb0[6]: scope 0 at $DIR/issue-41110.rs:8:21: 8:22 StorageLive(_4); // scope 0 at $DIR/issue-41110.rs:8:21: 8:22
_4 = S; // bb0[7]: scope 0 at $DIR/issue-41110.rs:8:21: 8:22 _4 = S; // scope 0 at $DIR/issue-41110.rs:8:21: 8:22
_3 = const S::id(move _4) -> [return: bb2, unwind: bb4]; // bb0[8]: scope 0 at $DIR/issue-41110.rs:8:21: 8:27 _3 = const S::id(move _4) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue-41110.rs:8:21: 8:27
// ty::Const // ty::Const
// + ty: fn(S) -> S {S::id} // + ty: fn(S) -> S {S::id}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -42,19 +42,19 @@ fn main() -> () {
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/issue-41110.rs:7:1: 9:2 resume; // scope 0 at $DIR/issue-41110.rs:7:1: 9:2
} }
bb2: { bb2: {
StorageDead(_4); // bb2[0]: scope 0 at $DIR/issue-41110.rs:8:26: 8:27 StorageDead(_4); // scope 0 at $DIR/issue-41110.rs:8:26: 8:27
_5 = const false; // bb2[1]: scope 0 at $DIR/issue-41110.rs:8:13: 8:28 _5 = const false; // scope 0 at $DIR/issue-41110.rs:8:13: 8:28
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41110.rs:8:13: 8:28 // + span: $DIR/issue-41110.rs:8:13: 8:28
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
_1 = const S::other(move _2, move _3) -> [return: bb6, unwind: bb5]; // bb2[2]: scope 0 at $DIR/issue-41110.rs:8:13: 8:28 _1 = const S::other(move _2, move _3) -> [return: bb6, unwind: bb5]; // scope 0 at $DIR/issue-41110.rs:8:13: 8:28
// ty::Const // ty::Const
// + ty: fn(S, S) {S::other} // + ty: fn(S, S) {S::other}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -64,54 +64,54 @@ fn main() -> () {
} }
bb3 (cleanup): { bb3 (cleanup): {
goto -> bb9; // bb3[0]: scope 0 at $DIR/issue-41110.rs:8:27: 8:28 goto -> bb9; // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
} }
bb4 (cleanup): { bb4 (cleanup): {
goto -> bb3; // bb4[0]: scope 0 at $DIR/issue-41110.rs:8:26: 8:27 goto -> bb3; // scope 0 at $DIR/issue-41110.rs:8:26: 8:27
} }
bb5 (cleanup): { bb5 (cleanup): {
goto -> bb3; // bb5[0]: scope 0 at $DIR/issue-41110.rs:8:27: 8:28 goto -> bb3; // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
} }
bb6: { bb6: {
StorageDead(_3); // bb6[0]: scope 0 at $DIR/issue-41110.rs:8:27: 8:28 StorageDead(_3); // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
_5 = const false; // bb6[1]: scope 0 at $DIR/issue-41110.rs:8:27: 8:28 _5 = const false; // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41110.rs:8:27: 8:28 // + span: $DIR/issue-41110.rs:8:27: 8:28
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
StorageDead(_2); // bb6[2]: scope 0 at $DIR/issue-41110.rs:8:27: 8:28 StorageDead(_2); // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
_0 = const (); // bb6[3]: scope 0 at $DIR/issue-41110.rs:7:11: 9:2 _0 = const (); // scope 0 at $DIR/issue-41110.rs:7:11: 9:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41110.rs:7:11: 9:2 // + span: $DIR/issue-41110.rs:7:11: 9:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_1); // bb6[4]: scope 0 at $DIR/issue-41110.rs:9:1: 9:2 StorageDead(_1); // scope 0 at $DIR/issue-41110.rs:9:1: 9:2
return; // bb6[5]: scope 0 at $DIR/issue-41110.rs:9:2: 9:2 return; // scope 0 at $DIR/issue-41110.rs:9:2: 9:2
} }
bb7 (cleanup): { bb7 (cleanup): {
drop(_2) -> bb1; // bb7[0]: scope 0 at $DIR/issue-41110.rs:8:27: 8:28 drop(_2) -> bb1; // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
} }
bb8 (cleanup): { bb8 (cleanup): {
_5 = const false; // bb8[0]: scope 0 at $DIR/issue-41110.rs:8:27: 8:28 _5 = const false; // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41110.rs:8:27: 8:28 // + span: $DIR/issue-41110.rs:8:27: 8:28
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
goto -> bb7; // bb8[1]: scope 0 at $DIR/issue-41110.rs:8:27: 8:28 goto -> bb7; // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
} }
bb9 (cleanup): { bb9 (cleanup): {
switchInt(_5) -> [false: bb1, otherwise: bb8]; // bb9[0]: scope 0 at $DIR/issue-41110.rs:8:27: 8:28 switchInt(_5) -> [false: bb1, otherwise: bb8]; // scope 0 at $DIR/issue-41110.rs:8:27: 8:28
} }
} }

View file

@ -16,28 +16,28 @@ fn test() -> () {
} }
bb0: { bb0: {
_6 = const false; // bb0[0]: scope 0 at $DIR/issue-41110.rs:15:9: 15:10 _6 = const false; // scope 0 at $DIR/issue-41110.rs:15:9: 15:10
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41110.rs:15:9: 15:10 // + span: $DIR/issue-41110.rs:15:9: 15:10
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
StorageLive(_1); // bb0[1]: scope 0 at $DIR/issue-41110.rs:15:9: 15:10 StorageLive(_1); // scope 0 at $DIR/issue-41110.rs:15:9: 15:10
_6 = const true; // bb0[2]: scope 0 at $DIR/issue-41110.rs:15:13: 15:14 _6 = const true; // scope 0 at $DIR/issue-41110.rs:15:13: 15:14
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41110.rs:15:13: 15:14 // + span: $DIR/issue-41110.rs:15:13: 15:14
// + literal: Const { ty: bool, val: Value(Scalar(0x01)) } // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
_1 = S; // bb0[3]: scope 0 at $DIR/issue-41110.rs:15:13: 15:14 _1 = S; // scope 0 at $DIR/issue-41110.rs:15:13: 15:14
StorageLive(_2); // bb0[4]: scope 1 at $DIR/issue-41110.rs:16:9: 16:14 StorageLive(_2); // scope 1 at $DIR/issue-41110.rs:16:9: 16:14
_2 = S; // bb0[5]: scope 1 at $DIR/issue-41110.rs:16:17: 16:18 _2 = S; // scope 1 at $DIR/issue-41110.rs:16:17: 16:18
StorageLive(_3); // bb0[6]: scope 2 at $DIR/issue-41110.rs:17:5: 17:12 StorageLive(_3); // scope 2 at $DIR/issue-41110.rs:17:5: 17:12
StorageLive(_4); // bb0[7]: scope 2 at $DIR/issue-41110.rs:17:10: 17:11 StorageLive(_4); // scope 2 at $DIR/issue-41110.rs:17:10: 17:11
_4 = move _2; // bb0[8]: scope 2 at $DIR/issue-41110.rs:17:10: 17:11 _4 = move _2; // scope 2 at $DIR/issue-41110.rs:17:10: 17:11
_3 = const std::mem::drop::<S>(move _4) -> [return: bb2, unwind: bb5]; // bb0[9]: scope 2 at $DIR/issue-41110.rs:17:5: 17:12 _3 = const std::mem::drop::<S>(move _4) -> [return: bb2, unwind: bb5]; // scope 2 at $DIR/issue-41110.rs:17:5: 17:12
// ty::Const // ty::Const
// + ty: fn(S) {std::mem::drop::<S>} // + ty: fn(S) {std::mem::drop::<S>}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -47,99 +47,99 @@ fn test() -> () {
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/issue-41110.rs:14:1: 19:2 resume; // scope 0 at $DIR/issue-41110.rs:14:1: 19:2
} }
bb2: { bb2: {
StorageDead(_4); // bb2[0]: scope 2 at $DIR/issue-41110.rs:17:11: 17:12 StorageDead(_4); // scope 2 at $DIR/issue-41110.rs:17:11: 17:12
StorageDead(_3); // bb2[1]: scope 2 at $DIR/issue-41110.rs:17:12: 17:13 StorageDead(_3); // scope 2 at $DIR/issue-41110.rs:17:12: 17:13
StorageLive(_5); // bb2[2]: scope 2 at $DIR/issue-41110.rs:18:9: 18:10 StorageLive(_5); // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
_6 = const false; // bb2[3]: scope 2 at $DIR/issue-41110.rs:18:9: 18:10 _6 = const false; // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41110.rs:18:9: 18:10 // + span: $DIR/issue-41110.rs:18:9: 18:10
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
_5 = move _1; // bb2[4]: scope 2 at $DIR/issue-41110.rs:18:9: 18:10 _5 = move _1; // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
goto -> bb12; // bb2[5]: scope 2 at $DIR/issue-41110.rs:18:5: 18:6 goto -> bb12; // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
} }
bb3 (cleanup): { bb3 (cleanup): {
goto -> bb15; // bb3[0]: scope 0 at $DIR/issue-41110.rs:19:1: 19:2 goto -> bb15; // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
} }
bb4 (cleanup): { bb4 (cleanup): {
goto -> bb3; // bb4[0]: scope 1 at $DIR/issue-41110.rs:19:1: 19:2 goto -> bb3; // scope 1 at $DIR/issue-41110.rs:19:1: 19:2
} }
bb5 (cleanup): { bb5 (cleanup): {
goto -> bb4; // bb5[0]: scope 2 at $DIR/issue-41110.rs:17:11: 17:12 goto -> bb4; // scope 2 at $DIR/issue-41110.rs:17:11: 17:12
} }
bb6: { bb6: {
goto -> bb8; // bb6[0]: scope 2 at $DIR/issue-41110.rs:18:9: 18:10 goto -> bb8; // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
} }
bb7 (cleanup): { bb7 (cleanup): {
goto -> bb4; // bb7[0]: scope 2 at $DIR/issue-41110.rs:18:9: 18:10 goto -> bb4; // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
} }
bb8: { bb8: {
StorageDead(_5); // bb8[0]: scope 2 at $DIR/issue-41110.rs:18:9: 18:10 StorageDead(_5); // scope 2 at $DIR/issue-41110.rs:18:9: 18:10
_0 = const (); // bb8[1]: scope 0 at $DIR/issue-41110.rs:14:15: 19:2 _0 = const (); // scope 0 at $DIR/issue-41110.rs:14:15: 19:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41110.rs:14:15: 19:2 // + span: $DIR/issue-41110.rs:14:15: 19:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
drop(_2) -> [return: bb9, unwind: bb3]; // bb8[2]: scope 1 at $DIR/issue-41110.rs:19:1: 19:2 drop(_2) -> [return: bb9, unwind: bb3]; // scope 1 at $DIR/issue-41110.rs:19:1: 19:2
} }
bb9: { bb9: {
StorageDead(_2); // bb9[0]: scope 1 at $DIR/issue-41110.rs:19:1: 19:2 StorageDead(_2); // scope 1 at $DIR/issue-41110.rs:19:1: 19:2
goto -> bb10; // bb9[1]: scope 0 at $DIR/issue-41110.rs:19:1: 19:2 goto -> bb10; // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
} }
bb10: { bb10: {
_6 = const false; // bb10[0]: scope 0 at $DIR/issue-41110.rs:19:1: 19:2 _6 = const false; // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41110.rs:19:1: 19:2 // + span: $DIR/issue-41110.rs:19:1: 19:2
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
StorageDead(_1); // bb10[1]: scope 0 at $DIR/issue-41110.rs:19:1: 19:2 StorageDead(_1); // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
return; // bb10[2]: scope 0 at $DIR/issue-41110.rs:19:2: 19:2 return; // scope 0 at $DIR/issue-41110.rs:19:2: 19:2
} }
bb11 (cleanup): { bb11 (cleanup): {
_2 = move _5; // bb11[0]: scope 2 at $DIR/issue-41110.rs:18:5: 18:6 _2 = move _5; // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
goto -> bb7; // bb11[1]: scope 2 at $DIR/issue-41110.rs:18:5: 18:6 goto -> bb7; // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
} }
bb12: { bb12: {
_2 = move _5; // bb12[0]: scope 2 at $DIR/issue-41110.rs:18:5: 18:6 _2 = move _5; // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
goto -> bb6; // bb12[1]: scope 2 at $DIR/issue-41110.rs:18:5: 18:6 goto -> bb6; // scope 2 at $DIR/issue-41110.rs:18:5: 18:6
} }
bb13 (cleanup): { bb13 (cleanup): {
drop(_1) -> bb1; // bb13[0]: scope 0 at $DIR/issue-41110.rs:19:1: 19:2 drop(_1) -> bb1; // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
} }
bb14 (cleanup): { bb14 (cleanup): {
_6 = const false; // bb14[0]: scope 0 at $DIR/issue-41110.rs:19:1: 19:2 _6 = const false; // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41110.rs:19:1: 19:2 // + span: $DIR/issue-41110.rs:19:1: 19:2
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
goto -> bb13; // bb14[1]: scope 0 at $DIR/issue-41110.rs:19:1: 19:2 goto -> bb13; // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
} }
bb15 (cleanup): { bb15 (cleanup): {
switchInt(_6) -> [false: bb1, otherwise: bb14]; // bb15[0]: scope 0 at $DIR/issue-41110.rs:19:1: 19:2 switchInt(_6) -> [false: bb1, otherwise: bb14]; // scope 0 at $DIR/issue-41110.rs:19:1: 19:2
} }
} }

View file

@ -5,7 +5,7 @@
let mut _1: (usize, bool); // in scope 0 at $DIR/issue-41697.rs:18:19: 18:22 let mut _1: (usize, bool); // in scope 0 at $DIR/issue-41697.rs:18:19: 18:22
bb0: { bb0: {
_1 = CheckedAdd(const 1usize, const 1usize); // bb0[0]: scope 0 at $DIR/issue-41697.rs:18:19: 18:22 _1 = CheckedAdd(const 1usize, const 1usize); // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
@ -18,15 +18,15 @@
// mir::Constant // mir::Constant
// + span: $DIR/issue-41697.rs:18:21: 18:22 // + span: $DIR/issue-41697.rs:18:21: 18:22
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
assert(!move (_1.1: bool), "attempt to add with overflow") -> [success: bb2, unwind: bb1]; // bb0[1]: scope 0 at $DIR/issue-41697.rs:18:19: 18:22 assert(!move (_1.1: bool), "attempt to add with overflow") -> [success: bb2, unwind: bb1]; // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/issue-41697.rs:18:19: 18:22 resume; // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
} }
bb2: { bb2: {
_0 = move (_1.0: usize); // bb2[0]: scope 0 at $DIR/issue-41697.rs:18:19: 18:22 _0 = move (_1.0: usize); // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
return; // bb2[1]: scope 0 at $DIR/issue-41697.rs:18:19: 18:22 return; // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
} }
} }

View file

@ -5,7 +5,7 @@
let mut _1: (usize, bool); // in scope 0 at $DIR/issue-41697.rs:18:19: 18:22 let mut _1: (usize, bool); // in scope 0 at $DIR/issue-41697.rs:18:19: 18:22
bb0: { bb0: {
_1 = CheckedAdd(const 1usize, const 1usize); // bb0[0]: scope 0 at $DIR/issue-41697.rs:18:19: 18:22 _1 = CheckedAdd(const 1usize, const 1usize); // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000001)) // + val: Value(Scalar(0x0000000000000001))
@ -18,15 +18,15 @@
// mir::Constant // mir::Constant
// + span: $DIR/issue-41697.rs:18:21: 18:22 // + span: $DIR/issue-41697.rs:18:21: 18:22
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
assert(!move (_1.1: bool), "attempt to add with overflow") -> [success: bb2, unwind: bb1]; // bb0[1]: scope 0 at $DIR/issue-41697.rs:18:19: 18:22 assert(!move (_1.1: bool), "attempt to add with overflow") -> [success: bb2, unwind: bb1]; // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/issue-41697.rs:18:19: 18:22 resume; // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
} }
bb2: { bb2: {
_0 = move (_1.0: usize); // bb2[0]: scope 0 at $DIR/issue-41697.rs:18:19: 18:22 _0 = move (_1.0: usize); // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
return; // bb2[1]: scope 0 at $DIR/issue-41697.rs:18:19: 18:22 return; // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
} }
} }

View file

@ -21,30 +21,30 @@ fn main() -> () {
} }
bb0: { bb0: {
_9 = const false; // bb0[0]: scope 0 at $DIR/issue-41888.rs:7:9: 7:10 _9 = const false; // scope 0 at $DIR/issue-41888.rs:7:9: 7:10
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:7:9: 7:10 // + span: $DIR/issue-41888.rs:7:9: 7:10
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
_7 = const false; // bb0[1]: scope 0 at $DIR/issue-41888.rs:7:9: 7:10 _7 = const false; // scope 0 at $DIR/issue-41888.rs:7:9: 7:10
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:7:9: 7:10 // + span: $DIR/issue-41888.rs:7:9: 7:10
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
_8 = const false; // bb0[2]: scope 0 at $DIR/issue-41888.rs:7:9: 7:10 _8 = const false; // scope 0 at $DIR/issue-41888.rs:7:9: 7:10
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:7:9: 7:10 // + span: $DIR/issue-41888.rs:7:9: 7:10
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
StorageLive(_1); // bb0[3]: scope 0 at $DIR/issue-41888.rs:7:9: 7:10 StorageLive(_1); // scope 0 at $DIR/issue-41888.rs:7:9: 7:10
StorageLive(_2); // bb0[4]: scope 1 at $DIR/issue-41888.rs:8:8: 8:14 StorageLive(_2); // scope 1 at $DIR/issue-41888.rs:8:8: 8:14
_2 = const cond() -> [return: bb2, unwind: bb3]; // bb0[5]: scope 1 at $DIR/issue-41888.rs:8:8: 8:14 _2 = const cond() -> [return: bb2, unwind: bb3]; // scope 1 at $DIR/issue-41888.rs:8:8: 8:14
// ty::Const // ty::Const
// + ty: fn() -> bool {cond} // + ty: fn() -> bool {cond}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -54,215 +54,215 @@ fn main() -> () {
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/issue-41888.rs:6:1: 15:2 resume; // scope 0 at $DIR/issue-41888.rs:6:1: 15:2
} }
bb2: { bb2: {
switchInt(_2) -> [false: bb4, otherwise: bb5]; // bb2[0]: scope 1 at $DIR/issue-41888.rs:8:5: 14:6 switchInt(_2) -> [false: bb4, otherwise: bb5]; // scope 1 at $DIR/issue-41888.rs:8:5: 14:6
} }
bb3 (cleanup): { bb3 (cleanup): {
goto -> bb1; // bb3[0]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 goto -> bb1; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
} }
bb4: { bb4: {
_0 = const (); // bb4[0]: scope 1 at $DIR/issue-41888.rs:8:5: 14:6 _0 = const (); // scope 1 at $DIR/issue-41888.rs:8:5: 14:6
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:8:5: 14:6 // + span: $DIR/issue-41888.rs:8:5: 14:6
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
goto -> bb11; // bb4[1]: scope 1 at $DIR/issue-41888.rs:8:5: 14:6 goto -> bb11; // scope 1 at $DIR/issue-41888.rs:8:5: 14:6
} }
bb5: { bb5: {
StorageLive(_3); // bb5[0]: scope 1 at $DIR/issue-41888.rs:9:13: 9:20 StorageLive(_3); // scope 1 at $DIR/issue-41888.rs:9:13: 9:20
StorageLive(_4); // bb5[1]: scope 1 at $DIR/issue-41888.rs:9:18: 9:19 StorageLive(_4); // scope 1 at $DIR/issue-41888.rs:9:18: 9:19
_4 = K; // bb5[2]: scope 1 at $DIR/issue-41888.rs:9:18: 9:19 _4 = K; // scope 1 at $DIR/issue-41888.rs:9:18: 9:19
_3 = E::F(move _4); // bb5[3]: scope 1 at $DIR/issue-41888.rs:9:13: 9:20 _3 = E::F(move _4); // scope 1 at $DIR/issue-41888.rs:9:13: 9:20
StorageDead(_4); // bb5[4]: scope 1 at $DIR/issue-41888.rs:9:19: 9:20 StorageDead(_4); // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
goto -> bb14; // bb5[5]: scope 1 at $DIR/issue-41888.rs:9:9: 9:10 goto -> bb14; // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
} }
bb6: { bb6: {
goto -> bb8; // bb6[0]: scope 1 at $DIR/issue-41888.rs:9:19: 9:20 goto -> bb8; // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
} }
bb7 (cleanup): { bb7 (cleanup): {
goto -> bb3; // bb7[0]: scope 1 at $DIR/issue-41888.rs:9:19: 9:20 goto -> bb3; // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
} }
bb8: { bb8: {
StorageDead(_3); // bb8[0]: scope 1 at $DIR/issue-41888.rs:9:19: 9:20 StorageDead(_3); // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
_5 = discriminant(_1); // bb8[1]: scope 1 at $DIR/issue-41888.rs:10:16: 10:24 _5 = discriminant(_1); // scope 1 at $DIR/issue-41888.rs:10:16: 10:24
switchInt(move _5) -> [0isize: bb10, otherwise: bb9]; // bb8[2]: scope 1 at $DIR/issue-41888.rs:10:16: 10:24 switchInt(move _5) -> [0isize: bb10, otherwise: bb9]; // scope 1 at $DIR/issue-41888.rs:10:16: 10:24
} }
bb9: { bb9: {
_0 = const (); // bb9[0]: scope 1 at $DIR/issue-41888.rs:10:9: 13:10 _0 = const (); // scope 1 at $DIR/issue-41888.rs:10:9: 13:10
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:10:9: 13:10 // + span: $DIR/issue-41888.rs:10:9: 13:10
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
goto -> bb11; // bb9[1]: scope 1 at $DIR/issue-41888.rs:10:9: 13:10 goto -> bb11; // scope 1 at $DIR/issue-41888.rs:10:9: 13:10
} }
bb10: { bb10: {
StorageLive(_6); // bb10[0]: scope 1 at $DIR/issue-41888.rs:10:21: 10:23 StorageLive(_6); // scope 1 at $DIR/issue-41888.rs:10:21: 10:23
_9 = const false; // bb10[1]: scope 1 at $DIR/issue-41888.rs:10:21: 10:23 _9 = const false; // scope 1 at $DIR/issue-41888.rs:10:21: 10:23
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:10:21: 10:23 // + span: $DIR/issue-41888.rs:10:21: 10:23
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
_6 = move ((_1 as F).0: K); // bb10[2]: scope 1 at $DIR/issue-41888.rs:10:21: 10:23 _6 = move ((_1 as F).0: K); // scope 1 at $DIR/issue-41888.rs:10:21: 10:23
_0 = const (); // bb10[3]: scope 2 at $DIR/issue-41888.rs:10:29: 13:10 _0 = const (); // scope 2 at $DIR/issue-41888.rs:10:29: 13:10
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:10:29: 13:10 // + span: $DIR/issue-41888.rs:10:29: 13:10
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_6); // bb10[4]: scope 1 at $DIR/issue-41888.rs:13:9: 13:10 StorageDead(_6); // scope 1 at $DIR/issue-41888.rs:13:9: 13:10
goto -> bb11; // bb10[5]: scope 1 at $DIR/issue-41888.rs:10:9: 13:10 goto -> bb11; // scope 1 at $DIR/issue-41888.rs:10:9: 13:10
} }
bb11: { bb11: {
goto -> bb21; // bb11[0]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 goto -> bb21; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
} }
bb12: { bb12: {
_7 = const false; // bb12[0]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 _7 = const false; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:15:1: 15:2 // + span: $DIR/issue-41888.rs:15:1: 15:2
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
_8 = const false; // bb12[1]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 _8 = const false; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:15:1: 15:2 // + span: $DIR/issue-41888.rs:15:1: 15:2
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
_9 = const false; // bb12[2]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 _9 = const false; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:15:1: 15:2 // + span: $DIR/issue-41888.rs:15:1: 15:2
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
StorageDead(_1); // bb12[3]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 StorageDead(_1); // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
StorageDead(_2); // bb12[4]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 StorageDead(_2); // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
return; // bb12[5]: scope 0 at $DIR/issue-41888.rs:15:2: 15:2 return; // scope 0 at $DIR/issue-41888.rs:15:2: 15:2
} }
bb13 (cleanup): { bb13 (cleanup): {
_7 = const true; // bb13[0]: scope 1 at $DIR/issue-41888.rs:9:9: 9:10 _7 = const true; // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:9:9: 9:10 // + span: $DIR/issue-41888.rs:9:9: 9:10
// + literal: Const { ty: bool, val: Value(Scalar(0x01)) } // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
_8 = const true; // bb13[1]: scope 1 at $DIR/issue-41888.rs:9:9: 9:10 _8 = const true; // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:9:9: 9:10 // + span: $DIR/issue-41888.rs:9:9: 9:10
// + literal: Const { ty: bool, val: Value(Scalar(0x01)) } // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
_9 = const true; // bb13[2]: scope 1 at $DIR/issue-41888.rs:9:9: 9:10 _9 = const true; // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:9:9: 9:10 // + span: $DIR/issue-41888.rs:9:9: 9:10
// + literal: Const { ty: bool, val: Value(Scalar(0x01)) } // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
_1 = move _3; // bb13[3]: scope 1 at $DIR/issue-41888.rs:9:9: 9:10 _1 = move _3; // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
goto -> bb7; // bb13[4]: scope 1 at $DIR/issue-41888.rs:9:9: 9:10 goto -> bb7; // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
} }
bb14: { bb14: {
_7 = const true; // bb14[0]: scope 1 at $DIR/issue-41888.rs:9:9: 9:10 _7 = const true; // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:9:9: 9:10 // + span: $DIR/issue-41888.rs:9:9: 9:10
// + literal: Const { ty: bool, val: Value(Scalar(0x01)) } // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
_8 = const true; // bb14[1]: scope 1 at $DIR/issue-41888.rs:9:9: 9:10 _8 = const true; // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:9:9: 9:10 // + span: $DIR/issue-41888.rs:9:9: 9:10
// + literal: Const { ty: bool, val: Value(Scalar(0x01)) } // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
_9 = const true; // bb14[2]: scope 1 at $DIR/issue-41888.rs:9:9: 9:10 _9 = const true; // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:9:9: 9:10 // + span: $DIR/issue-41888.rs:9:9: 9:10
// + literal: Const { ty: bool, val: Value(Scalar(0x01)) } // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
_1 = move _3; // bb14[3]: scope 1 at $DIR/issue-41888.rs:9:9: 9:10 _1 = move _3; // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
goto -> bb6; // bb14[4]: scope 1 at $DIR/issue-41888.rs:9:9: 9:10 goto -> bb6; // scope 1 at $DIR/issue-41888.rs:9:9: 9:10
} }
bb15: { bb15: {
_7 = const false; // bb15[0]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 _7 = const false; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:15:1: 15:2 // + span: $DIR/issue-41888.rs:15:1: 15:2
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
goto -> bb12; // bb15[1]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 goto -> bb12; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
} }
bb16 (cleanup): { bb16 (cleanup): {
_7 = const false; // bb16[0]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 _7 = const false; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x00)) // + val: Value(Scalar(0x00))
// mir::Constant // mir::Constant
// + span: $DIR/issue-41888.rs:15:1: 15:2 // + span: $DIR/issue-41888.rs:15:1: 15:2
// + literal: Const { ty: bool, val: Value(Scalar(0x00)) } // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
goto -> bb1; // bb16[1]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 goto -> bb1; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
} }
bb17 (cleanup): { bb17 (cleanup): {
goto -> bb16; // bb17[0]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 goto -> bb16; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
} }
bb18: { bb18: {
drop(_1) -> [return: bb15, unwind: bb16]; // bb18[0]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 drop(_1) -> [return: bb15, unwind: bb16]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
} }
bb19 (cleanup): { bb19 (cleanup): {
drop(_1) -> bb16; // bb19[0]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 drop(_1) -> bb16; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
} }
bb20: { bb20: {
_10 = discriminant(_1); // bb20[0]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 _10 = discriminant(_1); // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
switchInt(move _10) -> [0isize: bb15, otherwise: bb18]; // bb20[1]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 switchInt(move _10) -> [0isize: bb15, otherwise: bb18]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
} }
bb21: { bb21: {
switchInt(_7) -> [false: bb15, otherwise: bb20]; // bb21[0]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 switchInt(_7) -> [false: bb15, otherwise: bb20]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
} }
bb22 (cleanup): { bb22 (cleanup): {
_11 = discriminant(_1); // bb22[0]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 _11 = discriminant(_1); // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
switchInt(move _11) -> [0isize: bb17, otherwise: bb19]; // bb22[1]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 switchInt(move _11) -> [0isize: bb17, otherwise: bb19]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
} }
bb23 (cleanup): { bb23 (cleanup): {
switchInt(_7) -> [false: bb16, otherwise: bb22]; // bb23[0]: scope 0 at $DIR/issue-41888.rs:15:1: 15:2 switchInt(_7) -> [false: bb16, otherwise: bb22]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
} }
} }

View file

@ -13,93 +13,93 @@ fn main() -> () {
} }
bb0: { bb0: {
goto -> bb1; // bb0[0]: scope 0 at $DIR/issue-49232.rs:6:5: 14:6 goto -> bb1; // scope 0 at $DIR/issue-49232.rs:6:5: 14:6
} }
bb1: { bb1: {
falseUnwind -> [real: bb3, cleanup: bb4]; // bb1[0]: scope 0 at $DIR/issue-49232.rs:6:5: 14:6 falseUnwind -> [real: bb3, cleanup: bb4]; // scope 0 at $DIR/issue-49232.rs:6:5: 14:6
} }
bb2: { bb2: {
goto -> bb14; // bb2[0]: scope 0 at $DIR/issue-49232.rs:15:2: 15:2 goto -> bb14; // scope 0 at $DIR/issue-49232.rs:15:2: 15:2
} }
bb3: { bb3: {
StorageLive(_2); // bb3[0]: scope 0 at $DIR/issue-49232.rs:7:13: 7:19 StorageLive(_2); // scope 0 at $DIR/issue-49232.rs:7:13: 7:19
StorageLive(_3); // bb3[1]: scope 0 at $DIR/issue-49232.rs:8:19: 8:23 StorageLive(_3); // scope 0 at $DIR/issue-49232.rs:8:19: 8:23
_3 = const true; // bb3[2]: scope 0 at $DIR/issue-49232.rs:8:19: 8:23 _3 = const true; // scope 0 at $DIR/issue-49232.rs:8:19: 8:23
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
// mir::Constant // mir::Constant
// + span: $DIR/issue-49232.rs:8:19: 8:23 // + span: $DIR/issue-49232.rs:8:19: 8:23
// + literal: Const { ty: bool, val: Value(Scalar(0x01)) } // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
FakeRead(ForMatchedPlace, _3); // bb3[3]: scope 0 at $DIR/issue-49232.rs:8:19: 8:23 FakeRead(ForMatchedPlace, _3); // scope 0 at $DIR/issue-49232.rs:8:19: 8:23
switchInt(_3) -> [false: bb5, otherwise: bb6]; // bb3[4]: scope 0 at $DIR/issue-49232.rs:9:17: 9:22 switchInt(_3) -> [false: bb5, otherwise: bb6]; // scope 0 at $DIR/issue-49232.rs:9:17: 9:22
} }
bb4 (cleanup): { bb4 (cleanup): {
resume; // bb4[0]: scope 0 at $DIR/issue-49232.rs:5:1: 15:2 resume; // scope 0 at $DIR/issue-49232.rs:5:1: 15:2
} }
bb5: { bb5: {
falseEdges -> [real: bb7, imaginary: bb6]; // bb5[0]: scope 0 at $DIR/issue-49232.rs:9:17: 9:22 falseEdges -> [real: bb7, imaginary: bb6]; // scope 0 at $DIR/issue-49232.rs:9:17: 9:22
} }
bb6: { bb6: {
_0 = const (); // bb6[0]: scope 0 at $DIR/issue-49232.rs:10:25: 10:30 _0 = const (); // scope 0 at $DIR/issue-49232.rs:10:25: 10:30
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-49232.rs:10:25: 10:30 // + span: $DIR/issue-49232.rs:10:25: 10:30
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
goto -> bb8; // bb6[1]: scope 0 at $DIR/issue-49232.rs:10:25: 10:30 goto -> bb8; // scope 0 at $DIR/issue-49232.rs:10:25: 10:30
} }
bb7: { bb7: {
_2 = const 4i32; // bb7[0]: scope 0 at $DIR/issue-49232.rs:9:26: 9:27 _2 = const 4i32; // scope 0 at $DIR/issue-49232.rs:9:26: 9:27
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000004)) // + val: Value(Scalar(0x00000004))
// mir::Constant // mir::Constant
// + span: $DIR/issue-49232.rs:9:26: 9:27 // + span: $DIR/issue-49232.rs:9:26: 9:27
// + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
goto -> bb12; // bb7[1]: scope 0 at $DIR/issue-49232.rs:8:13: 11:14 goto -> bb12; // scope 0 at $DIR/issue-49232.rs:8:13: 11:14
} }
bb8: { bb8: {
StorageDead(_3); // bb8[0]: scope 0 at $DIR/issue-49232.rs:12:10: 12:11 StorageDead(_3); // scope 0 at $DIR/issue-49232.rs:12:10: 12:11
goto -> bb9; // bb8[1]: scope 0 at $DIR/issue-49232.rs:10:25: 10:30 goto -> bb9; // scope 0 at $DIR/issue-49232.rs:10:25: 10:30
} }
bb9: { bb9: {
StorageDead(_2); // bb9[0]: scope 0 at $DIR/issue-49232.rs:14:5: 14:6 StorageDead(_2); // scope 0 at $DIR/issue-49232.rs:14:5: 14:6
goto -> bb2; // bb9[1]: scope 0 at $DIR/issue-49232.rs:10:25: 10:30 goto -> bb2; // scope 0 at $DIR/issue-49232.rs:10:25: 10:30
} }
bb10: { bb10: {
_4 = const (); // bb10[0]: scope 0 at $DIR/issue-49232.rs:10:25: 10:30 _4 = const (); // scope 0 at $DIR/issue-49232.rs:10:25: 10:30
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-49232.rs:10:25: 10:30 // + span: $DIR/issue-49232.rs:10:25: 10:30
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
unreachable; // bb10[1]: scope 0 at $DIR/issue-49232.rs:10:25: 10:30 unreachable; // scope 0 at $DIR/issue-49232.rs:10:25: 10:30
} }
bb11: { bb11: {
goto -> bb12; // bb11[0]: scope 0 at $DIR/issue-49232.rs:8:13: 11:14 goto -> bb12; // scope 0 at $DIR/issue-49232.rs:8:13: 11:14
} }
bb12: { bb12: {
FakeRead(ForLet, _2); // bb12[0]: scope 0 at $DIR/issue-49232.rs:7:13: 7:19 FakeRead(ForLet, _2); // scope 0 at $DIR/issue-49232.rs:7:13: 7:19
StorageDead(_3); // bb12[1]: scope 0 at $DIR/issue-49232.rs:12:10: 12:11 StorageDead(_3); // scope 0 at $DIR/issue-49232.rs:12:10: 12:11
StorageLive(_5); // bb12[2]: scope 1 at $DIR/issue-49232.rs:13:9: 13:22 StorageLive(_5); // scope 1 at $DIR/issue-49232.rs:13:9: 13:22
StorageLive(_6); // bb12[3]: scope 1 at $DIR/issue-49232.rs:13:14: 13:21 StorageLive(_6); // scope 1 at $DIR/issue-49232.rs:13:14: 13:21
_6 = &_2; // bb12[4]: scope 1 at $DIR/issue-49232.rs:13:14: 13:21 _6 = &_2; // scope 1 at $DIR/issue-49232.rs:13:14: 13:21
_5 = const std::mem::drop::<&i32>(move _6) -> [return: bb13, unwind: bb4]; // bb12[5]: scope 1 at $DIR/issue-49232.rs:13:9: 13:22 _5 = const std::mem::drop::<&i32>(move _6) -> [return: bb13, unwind: bb4]; // scope 1 at $DIR/issue-49232.rs:13:9: 13:22
// ty::Const // ty::Const
// + ty: fn(&i32) {std::mem::drop::<&i32>} // + ty: fn(&i32) {std::mem::drop::<&i32>}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -109,20 +109,20 @@ fn main() -> () {
} }
bb13: { bb13: {
StorageDead(_6); // bb13[0]: scope 1 at $DIR/issue-49232.rs:13:21: 13:22 StorageDead(_6); // scope 1 at $DIR/issue-49232.rs:13:21: 13:22
StorageDead(_5); // bb13[1]: scope 1 at $DIR/issue-49232.rs:13:22: 13:23 StorageDead(_5); // scope 1 at $DIR/issue-49232.rs:13:22: 13:23
_1 = const (); // bb13[2]: scope 0 at $DIR/issue-49232.rs:6:10: 14:6 _1 = const (); // scope 0 at $DIR/issue-49232.rs:6:10: 14:6
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/issue-49232.rs:6:10: 14:6 // + span: $DIR/issue-49232.rs:6:10: 14:6
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_2); // bb13[3]: scope 0 at $DIR/issue-49232.rs:14:5: 14:6 StorageDead(_2); // scope 0 at $DIR/issue-49232.rs:14:5: 14:6
goto -> bb1; // bb13[4]: scope 0 at $DIR/issue-49232.rs:6:5: 14:6 goto -> bb1; // scope 0 at $DIR/issue-49232.rs:6:5: 14:6
} }
bb14: { bb14: {
return; // bb14[0]: scope 0 at $DIR/issue-49232.rs:15:2: 15:2 return; // scope 0 at $DIR/issue-49232.rs:15:2: 15:2
} }
} }

View file

@ -24,13 +24,13 @@ fn test() -> std::option::Option<std::boxed::Box<u32>> {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/issue-62289.rs:9:10: 9:21 StorageLive(_1); // scope 0 at $DIR/issue-62289.rs:9:10: 9:21
StorageLive(_2); // bb0[1]: scope 0 at $DIR/issue-62289.rs:9:10: 9:21 StorageLive(_2); // scope 0 at $DIR/issue-62289.rs:9:10: 9:21
_2 = Box(u32); // bb0[2]: scope 0 at $DIR/issue-62289.rs:9:10: 9:21 _2 = Box(u32); // scope 0 at $DIR/issue-62289.rs:9:10: 9:21
StorageLive(_3); // bb0[3]: scope 0 at $DIR/issue-62289.rs:9:15: 9:20 StorageLive(_3); // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
StorageLive(_4); // bb0[4]: scope 0 at $DIR/issue-62289.rs:9:15: 9:19 StorageLive(_4); // scope 0 at $DIR/issue-62289.rs:9:15: 9:19
_4 = std::option::Option::<u32>::None; // bb0[5]: scope 0 at $DIR/issue-62289.rs:9:15: 9:19 _4 = std::option::Option::<u32>::None; // scope 0 at $DIR/issue-62289.rs:9:15: 9:19
_3 = const <std::option::Option<u32> as std::ops::Try>::into_result(move _4) -> [return: bb2, unwind: bb3]; // bb0[6]: scope 0 at $DIR/issue-62289.rs:9:15: 9:20 _3 = const <std::option::Option<u32> as std::ops::Try>::into_result(move _4) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
// ty::Const // ty::Const
// + ty: fn(std::option::Option<u32>) -> std::result::Result<<std::option::Option<u32> as std::ops::Try>::Ok, <std::option::Option<u32> as std::ops::Try>::Error> {<std::option::Option<u32> as std::ops::Try>::into_result} // + ty: fn(std::option::Option<u32>) -> std::result::Result<<std::option::Option<u32> as std::ops::Try>::Ok, <std::option::Option<u32> as std::ops::Try>::Error> {<std::option::Option<u32> as std::ops::Try>::into_result}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -40,39 +40,39 @@ fn test() -> std::option::Option<std::boxed::Box<u32>> {
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/issue-62289.rs:8:1: 10:2 resume; // scope 0 at $DIR/issue-62289.rs:8:1: 10:2
} }
bb2: { bb2: {
StorageDead(_4); // bb2[0]: scope 0 at $DIR/issue-62289.rs:9:19: 9:20 StorageDead(_4); // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
_5 = discriminant(_3); // bb2[1]: scope 0 at $DIR/issue-62289.rs:9:19: 9:20 _5 = discriminant(_3); // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
switchInt(move _5) -> [0isize: bb4, 1isize: bb6, otherwise: bb5]; // bb2[2]: scope 0 at $DIR/issue-62289.rs:9:19: 9:20 switchInt(move _5) -> [0isize: bb4, 1isize: bb6, otherwise: bb5]; // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
} }
bb3 (cleanup): { bb3 (cleanup): {
drop(_2) -> bb1; // bb3[0]: scope 0 at $DIR/issue-62289.rs:9:20: 9:21 drop(_2) -> bb1; // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
} }
bb4: { bb4: {
StorageLive(_10); // bb4[0]: scope 0 at $DIR/issue-62289.rs:9:15: 9:20 StorageLive(_10); // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
_10 = ((_3 as Ok).0: u32); // bb4[1]: scope 0 at $DIR/issue-62289.rs:9:15: 9:20 _10 = ((_3 as Ok).0: u32); // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
(*_2) = _10; // bb4[2]: scope 4 at $DIR/issue-62289.rs:9:15: 9:20 (*_2) = _10; // scope 4 at $DIR/issue-62289.rs:9:15: 9:20
StorageDead(_10); // bb4[3]: scope 0 at $DIR/issue-62289.rs:9:19: 9:20 StorageDead(_10); // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
_1 = move _2; // bb4[4]: scope 0 at $DIR/issue-62289.rs:9:10: 9:21 _1 = move _2; // scope 0 at $DIR/issue-62289.rs:9:10: 9:21
drop(_2) -> [return: bb12, unwind: bb11]; // bb4[5]: scope 0 at $DIR/issue-62289.rs:9:20: 9:21 drop(_2) -> [return: bb12, unwind: bb11]; // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
} }
bb5: { bb5: {
unreachable; // bb5[0]: scope 0 at $DIR/issue-62289.rs:9:15: 9:20 unreachable; // scope 0 at $DIR/issue-62289.rs:9:15: 9:20
} }
bb6: { bb6: {
StorageLive(_6); // bb6[0]: scope 0 at $DIR/issue-62289.rs:9:19: 9:20 StorageLive(_6); // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
_6 = ((_3 as Err).0: std::option::NoneError); // bb6[1]: scope 0 at $DIR/issue-62289.rs:9:19: 9:20 _6 = ((_3 as Err).0: std::option::NoneError); // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
StorageLive(_8); // bb6[2]: scope 2 at $DIR/issue-62289.rs:9:19: 9:20 StorageLive(_8); // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
StorageLive(_9); // bb6[3]: scope 2 at $DIR/issue-62289.rs:9:19: 9:20 StorageLive(_9); // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
_9 = _6; // bb6[4]: scope 2 at $DIR/issue-62289.rs:9:19: 9:20 _9 = _6; // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
_8 = const <std::option::NoneError as std::convert::From<std::option::NoneError>>::from(move _9) -> [return: bb8, unwind: bb3]; // bb6[5]: scope 2 at $DIR/issue-62289.rs:9:19: 9:20 _8 = const <std::option::NoneError as std::convert::From<std::option::NoneError>>::from(move _9) -> [return: bb8, unwind: bb3]; // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
// ty::Const // ty::Const
// + ty: fn(std::option::NoneError) -> std::option::NoneError {<std::option::NoneError as std::convert::From<std::option::NoneError>>::from} // + ty: fn(std::option::NoneError) -> std::option::NoneError {<std::option::NoneError as std::convert::From<std::option::NoneError>>::from}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -82,12 +82,12 @@ fn test() -> std::option::Option<std::boxed::Box<u32>> {
} }
bb7: { bb7: {
return; // bb7[0]: scope 0 at $DIR/issue-62289.rs:10:2: 10:2 return; // scope 0 at $DIR/issue-62289.rs:10:2: 10:2
} }
bb8: { bb8: {
StorageDead(_9); // bb8[0]: scope 2 at $DIR/issue-62289.rs:9:19: 9:20 StorageDead(_9); // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
_0 = const <std::option::Option<std::boxed::Box<u32>> as std::ops::Try>::from_error(move _8) -> [return: bb9, unwind: bb3]; // bb8[1]: scope 2 at $DIR/issue-62289.rs:9:19: 9:20 _0 = const <std::option::Option<std::boxed::Box<u32>> as std::ops::Try>::from_error(move _8) -> [return: bb9, unwind: bb3]; // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
// ty::Const // ty::Const
// + ty: fn(<std::option::Option<std::boxed::Box<u32>> as std::ops::Try>::Error) -> std::option::Option<std::boxed::Box<u32>> {<std::option::Option<std::boxed::Box<u32>> as std::ops::Try>::from_error} // + ty: fn(<std::option::Option<std::boxed::Box<u32>> as std::ops::Try>::Error) -> std::option::Option<std::boxed::Box<u32>> {<std::option::Option<std::boxed::Box<u32>> as std::ops::Try>::from_error}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -97,31 +97,31 @@ fn test() -> std::option::Option<std::boxed::Box<u32>> {
} }
bb9: { bb9: {
StorageDead(_8); // bb9[0]: scope 2 at $DIR/issue-62289.rs:9:19: 9:20 StorageDead(_8); // scope 2 at $DIR/issue-62289.rs:9:19: 9:20
StorageDead(_6); // bb9[1]: scope 0 at $DIR/issue-62289.rs:9:19: 9:20 StorageDead(_6); // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
drop(_2) -> bb10; // bb9[2]: scope 0 at $DIR/issue-62289.rs:9:20: 9:21 drop(_2) -> bb10; // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
} }
bb10: { bb10: {
StorageDead(_2); // bb10[0]: scope 0 at $DIR/issue-62289.rs:9:20: 9:21 StorageDead(_2); // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
StorageDead(_1); // bb10[1]: scope 0 at $DIR/issue-62289.rs:9:21: 9:22 StorageDead(_1); // scope 0 at $DIR/issue-62289.rs:9:21: 9:22
StorageDead(_3); // bb10[2]: scope 0 at $DIR/issue-62289.rs:10:1: 10:2 StorageDead(_3); // scope 0 at $DIR/issue-62289.rs:10:1: 10:2
goto -> bb7; // bb10[3]: scope 0 at $DIR/issue-62289.rs:9:19: 9:20 goto -> bb7; // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
} }
bb11 (cleanup): { bb11 (cleanup): {
drop(_1) -> bb1; // bb11[0]: scope 0 at $DIR/issue-62289.rs:9:21: 9:22 drop(_1) -> bb1; // scope 0 at $DIR/issue-62289.rs:9:21: 9:22
} }
bb12: { bb12: {
StorageDead(_2); // bb12[0]: scope 0 at $DIR/issue-62289.rs:9:20: 9:21 StorageDead(_2); // scope 0 at $DIR/issue-62289.rs:9:20: 9:21
_0 = std::option::Option::<std::boxed::Box<u32>>::Some(move _1); // bb12[1]: scope 0 at $DIR/issue-62289.rs:9:5: 9:22 _0 = std::option::Option::<std::boxed::Box<u32>>::Some(move _1); // scope 0 at $DIR/issue-62289.rs:9:5: 9:22
drop(_1) -> bb13; // bb12[2]: scope 0 at $DIR/issue-62289.rs:9:21: 9:22 drop(_1) -> bb13; // scope 0 at $DIR/issue-62289.rs:9:21: 9:22
} }
bb13: { bb13: {
StorageDead(_1); // bb13[0]: scope 0 at $DIR/issue-62289.rs:9:21: 9:22 StorageDead(_1); // scope 0 at $DIR/issue-62289.rs:9:21: 9:22
StorageDead(_3); // bb13[1]: scope 0 at $DIR/issue-62289.rs:10:1: 10:2 StorageDead(_3); // scope 0 at $DIR/issue-62289.rs:10:1: 10:2
goto -> bb7; // bb13[2]: scope 0 at $DIR/issue-62289.rs:10:2: 10:2 goto -> bb7; // scope 0 at $DIR/issue-62289.rs:10:2: 10:2
} }
} }

View file

@ -13,69 +13,69 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/loop_test.rs:10:5: 12:6 StorageLive(_1); // scope 0 at $DIR/loop_test.rs:10:5: 12:6
StorageLive(_2); // bb0[1]: scope 0 at $DIR/loop_test.rs:10:8: 10:12 StorageLive(_2); // scope 0 at $DIR/loop_test.rs:10:8: 10:12
_2 = const true; // bb0[2]: scope 0 at $DIR/loop_test.rs:10:8: 10:12 _2 = const true; // scope 0 at $DIR/loop_test.rs:10:8: 10:12
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
// mir::Constant // mir::Constant
// + span: $DIR/loop_test.rs:10:8: 10:12 // + span: $DIR/loop_test.rs:10:8: 10:12
// + literal: Const { ty: bool, val: Value(Scalar(0x01)) } // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
FakeRead(ForMatchedPlace, _2); // bb0[3]: scope 0 at $DIR/loop_test.rs:10:8: 10:12 FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/loop_test.rs:10:8: 10:12
switchInt(_2) -> [false: bb3, otherwise: bb2]; // bb0[4]: scope 0 at $DIR/loop_test.rs:10:5: 12:6 switchInt(_2) -> [false: bb3, otherwise: bb2]; // scope 0 at $DIR/loop_test.rs:10:5: 12:6
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/loop_test.rs:6:1: 17:2 resume; // scope 0 at $DIR/loop_test.rs:6:1: 17:2
} }
bb2: { bb2: {
falseEdges -> [real: bb4, imaginary: bb3]; // bb2[0]: scope 0 at $DIR/loop_test.rs:10:5: 12:6 falseEdges -> [real: bb4, imaginary: bb3]; // scope 0 at $DIR/loop_test.rs:10:5: 12:6
} }
bb3: { bb3: {
_1 = const (); // bb3[0]: scope 0 at $DIR/loop_test.rs:10:5: 12:6 _1 = const (); // scope 0 at $DIR/loop_test.rs:10:5: 12:6
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/loop_test.rs:10:5: 12:6 // + span: $DIR/loop_test.rs:10:5: 12:6
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_2); // bb3[1]: scope 0 at $DIR/loop_test.rs:12:5: 12:6 StorageDead(_2); // scope 0 at $DIR/loop_test.rs:12:5: 12:6
StorageDead(_1); // bb3[2]: scope 0 at $DIR/loop_test.rs:12:5: 12:6 StorageDead(_1); // scope 0 at $DIR/loop_test.rs:12:5: 12:6
StorageLive(_4); // bb3[3]: scope 0 at $DIR/loop_test.rs:13:5: 16:6 StorageLive(_4); // scope 0 at $DIR/loop_test.rs:13:5: 16:6
goto -> bb5; // bb3[4]: scope 0 at $DIR/loop_test.rs:13:5: 16:6 goto -> bb5; // scope 0 at $DIR/loop_test.rs:13:5: 16:6
} }
bb4: { bb4: {
_0 = const (); // bb4[0]: scope 0 at $DIR/loop_test.rs:11:9: 11:15 _0 = const (); // scope 0 at $DIR/loop_test.rs:11:9: 11:15
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/loop_test.rs:11:9: 11:15 // + span: $DIR/loop_test.rs:11:9: 11:15
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_2); // bb4[1]: scope 0 at $DIR/loop_test.rs:12:5: 12:6 StorageDead(_2); // scope 0 at $DIR/loop_test.rs:12:5: 12:6
StorageDead(_1); // bb4[2]: scope 0 at $DIR/loop_test.rs:12:5: 12:6 StorageDead(_1); // scope 0 at $DIR/loop_test.rs:12:5: 12:6
return; // bb4[3]: scope 0 at $DIR/loop_test.rs:17:2: 17:2 return; // scope 0 at $DIR/loop_test.rs:17:2: 17:2
} }
bb5: { bb5: {
falseUnwind -> [real: bb6, cleanup: bb1]; // bb5[0]: scope 0 at $DIR/loop_test.rs:13:5: 16:6 falseUnwind -> [real: bb6, cleanup: bb1]; // scope 0 at $DIR/loop_test.rs:13:5: 16:6
} }
bb6: { bb6: {
StorageLive(_6); // bb6[0]: scope 0 at $DIR/loop_test.rs:14:13: 14:14 StorageLive(_6); // scope 0 at $DIR/loop_test.rs:14:13: 14:14
_6 = const 1i32; // bb6[1]: scope 0 at $DIR/loop_test.rs:14:17: 14:18 _6 = const 1i32; // scope 0 at $DIR/loop_test.rs:14:17: 14:18
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/loop_test.rs:14:17: 14:18 // + span: $DIR/loop_test.rs:14:17: 14:18
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
FakeRead(ForLet, _6); // bb6[2]: scope 0 at $DIR/loop_test.rs:14:13: 14:14 FakeRead(ForLet, _6); // scope 0 at $DIR/loop_test.rs:14:13: 14:14
StorageDead(_6); // bb6[3]: scope 0 at $DIR/loop_test.rs:16:5: 16:6 StorageDead(_6); // scope 0 at $DIR/loop_test.rs:16:5: 16:6
goto -> bb5; // bb6[4]: scope 0 at $DIR/loop_test.rs:15:9: 15:17 goto -> bb5; // scope 0 at $DIR/loop_test.rs:15:9: 15:17
} }
} }

View file

@ -30,206 +30,206 @@ fn complicated_match(_1: bool, _2: (bool, bool, std::string::String)) -> i32 {
} }
bb0: { bb0: {
switchInt((_2.0: bool)) -> [false: bb6, otherwise: bb2]; // bb0[0]: scope 0 at $DIR/match-arm-scopes.rs:16:10: 16:15 switchInt((_2.0: bool)) -> [false: bb6, otherwise: bb2]; // scope 0 at $DIR/match-arm-scopes.rs:16:10: 16:15
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/match-arm-scopes.rs:14:1: 19:2 resume; // scope 0 at $DIR/match-arm-scopes.rs:14:1: 19:2
} }
bb2: { bb2: {
switchInt((_2.1: bool)) -> [false: bb14, otherwise: bb3]; // bb2[0]: scope 0 at $DIR/match-arm-scopes.rs:16:29: 16:34 switchInt((_2.1: bool)) -> [false: bb14, otherwise: bb3]; // scope 0 at $DIR/match-arm-scopes.rs:16:29: 16:34
} }
bb3: { bb3: {
switchInt((_2.0: bool)) -> [false: bb4, otherwise: bb21]; // bb3[0]: scope 0 at $DIR/match-arm-scopes.rs:17:10: 17:14 switchInt((_2.0: bool)) -> [false: bb4, otherwise: bb21]; // scope 0 at $DIR/match-arm-scopes.rs:17:10: 17:14
} }
bb4: { bb4: {
StorageLive(_15); // bb4[0]: scope 0 at $DIR/match-arm-scopes.rs:17:32: 17:33 StorageLive(_15); // scope 0 at $DIR/match-arm-scopes.rs:17:32: 17:33
_15 = (_2.1: bool); // bb4[1]: scope 0 at $DIR/match-arm-scopes.rs:17:32: 17:33 _15 = (_2.1: bool); // scope 0 at $DIR/match-arm-scopes.rs:17:32: 17:33
StorageLive(_16); // bb4[2]: scope 0 at $DIR/match-arm-scopes.rs:17:35: 17:36 StorageLive(_16); // scope 0 at $DIR/match-arm-scopes.rs:17:35: 17:36
_16 = move (_2.2: std::string::String); // bb4[3]: scope 0 at $DIR/match-arm-scopes.rs:17:35: 17:36 _16 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:17:35: 17:36
goto -> bb20; // bb4[4]: scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6 goto -> bb20; // scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6
} }
bb5: { bb5: {
_0 = const 1i32; // bb5[0]: scope 1 at $DIR/match-arm-scopes.rs:16:77: 16:78 _0 = const 1i32; // scope 1 at $DIR/match-arm-scopes.rs:16:77: 16:78
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/match-arm-scopes.rs:16:77: 16:78 // + span: $DIR/match-arm-scopes.rs:16:77: 16:78
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
drop(_7) -> [return: bb19, unwind: bb10]; // bb5[1]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 drop(_7) -> [return: bb19, unwind: bb10]; // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
} }
bb6: { bb6: {
StorageLive(_6); // bb6[0]: scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18 StorageLive(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18
_6 = &(_2.1: bool); // bb6[1]: scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18 _6 = &(_2.1: bool); // scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18
StorageLive(_8); // bb6[2]: scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21 StorageLive(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21
_8 = &(_2.2: std::string::String); // bb6[3]: scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21 _8 = &(_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21
StorageLive(_9); // bb6[4]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 StorageLive(_9); // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
StorageLive(_10); // bb6[5]: scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49 StorageLive(_10); // scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49
_10 = _1; // bb6[6]: scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49 _10 = _1; // scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49
switchInt(_10) -> [false: bb7, otherwise: bb8]; // bb6[7]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 switchInt(_10) -> [false: bb7, otherwise: bb8]; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb7: { bb7: {
_9 = (*_6); // bb7[0]: scope 0 at $DIR/match-arm-scopes.rs:16:70: 16:71 _9 = (*_6); // scope 0 at $DIR/match-arm-scopes.rs:16:70: 16:71
StorageDead(_10); // bb7[1]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 StorageDead(_10); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
switchInt(move _9) -> [false: bb13, otherwise: bb12]; // bb7[2]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 switchInt(move _9) -> [false: bb13, otherwise: bb12]; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb8: { bb8: {
_0 = const 3i32; // bb8[0]: scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60 _0 = const 3i32; // scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000003)) // + val: Value(Scalar(0x00000003))
// mir::Constant // mir::Constant
// + span: $DIR/match-arm-scopes.rs:16:59: 16:60 // + span: $DIR/match-arm-scopes.rs:16:59: 16:60
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
StorageDead(_10); // bb8[1]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 StorageDead(_10); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
StorageDead(_9); // bb8[2]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_9); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_8); // bb8[3]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_6); // bb8[4]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
goto -> bb11; // bb8[5]: scope 0 at $DIR/match-arm-scopes.rs:16:52: 16:60 goto -> bb11; // scope 0 at $DIR/match-arm-scopes.rs:16:52: 16:60
} }
bb9: { bb9: {
return; // bb9[0]: scope 0 at $DIR/match-arm-scopes.rs:19:2: 19:2 return; // scope 0 at $DIR/match-arm-scopes.rs:19:2: 19:2
} }
bb10 (cleanup): { bb10 (cleanup): {
goto -> bb25; // bb10[0]: scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2 goto -> bb25; // scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2
} }
bb11: { bb11: {
drop(_2) -> [return: bb9, unwind: bb1]; // bb11[0]: scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2 drop(_2) -> [return: bb9, unwind: bb1]; // scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2
} }
bb12: { bb12: {
StorageDead(_9); // bb12[0]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_9); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageLive(_5); // bb12[1]: scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18 StorageLive(_5); // scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18
_5 = (_2.1: bool); // bb12[2]: scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18 _5 = (_2.1: bool); // scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18
StorageLive(_7); // bb12[3]: scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21 StorageLive(_7); // scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21
_7 = move (_2.2: std::string::String); // bb12[4]: scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21 _7 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21
goto -> bb5; // bb12[5]: scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6 goto -> bb5; // scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6
} }
bb13: { bb13: {
StorageDead(_9); // bb13[0]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_9); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_8); // bb13[1]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_6); // bb13[2]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
goto -> bb2; // bb13[3]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 goto -> bb2; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb14: { bb14: {
StorageLive(_6); // bb14[0]: scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27 StorageLive(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27
_6 = &(_2.0: bool); // bb14[1]: scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27 _6 = &(_2.0: bool); // scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27
StorageLive(_8); // bb14[2]: scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37 StorageLive(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37
_8 = &(_2.2: std::string::String); // bb14[3]: scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37 _8 = &(_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37
StorageLive(_12); // bb14[4]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 StorageLive(_12); // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
StorageLive(_13); // bb14[5]: scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49 StorageLive(_13); // scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49
_13 = _1; // bb14[6]: scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49 _13 = _1; // scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49
switchInt(_13) -> [false: bb15, otherwise: bb16]; // bb14[7]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 switchInt(_13) -> [false: bb15, otherwise: bb16]; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb15: { bb15: {
_12 = (*_6); // bb15[0]: scope 0 at $DIR/match-arm-scopes.rs:16:70: 16:71 _12 = (*_6); // scope 0 at $DIR/match-arm-scopes.rs:16:70: 16:71
StorageDead(_13); // bb15[1]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 StorageDead(_13); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
switchInt(move _12) -> [false: bb18, otherwise: bb17]; // bb15[2]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 switchInt(move _12) -> [false: bb18, otherwise: bb17]; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb16: { bb16: {
_0 = const 3i32; // bb16[0]: scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60 _0 = const 3i32; // scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000003)) // + val: Value(Scalar(0x00000003))
// mir::Constant // mir::Constant
// + span: $DIR/match-arm-scopes.rs:16:59: 16:60 // + span: $DIR/match-arm-scopes.rs:16:59: 16:60
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
StorageDead(_13); // bb16[1]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 StorageDead(_13); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
StorageDead(_12); // bb16[2]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_12); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_8); // bb16[3]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_6); // bb16[4]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
goto -> bb11; // bb16[5]: scope 0 at $DIR/match-arm-scopes.rs:16:52: 16:60 goto -> bb11; // scope 0 at $DIR/match-arm-scopes.rs:16:52: 16:60
} }
bb17: { bb17: {
StorageDead(_12); // bb17[0]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_12); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageLive(_5); // bb17[1]: scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27 StorageLive(_5); // scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27
_5 = (_2.0: bool); // bb17[2]: scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27 _5 = (_2.0: bool); // scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27
StorageLive(_7); // bb17[3]: scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37 StorageLive(_7); // scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37
_7 = move (_2.2: std::string::String); // bb17[4]: scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37 _7 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37
goto -> bb5; // bb17[5]: scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6 goto -> bb5; // scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6
} }
bb18: { bb18: {
StorageDead(_12); // bb18[0]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_12); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_8); // bb18[1]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_6); // bb18[2]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
goto -> bb3; // bb18[3]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 goto -> bb3; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb19: { bb19: {
StorageDead(_7); // bb19[0]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_7); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_5); // bb19[1]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_5); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_8); // bb19[2]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_6); // bb19[3]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
goto -> bb23; // bb19[4]: scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6 goto -> bb23; // scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6
} }
bb20: { bb20: {
_0 = const 2i32; // bb20[0]: scope 2 at $DIR/match-arm-scopes.rs:17:41: 17:42 _0 = const 2i32; // scope 2 at $DIR/match-arm-scopes.rs:17:41: 17:42
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000002)) // + val: Value(Scalar(0x00000002))
// mir::Constant // mir::Constant
// + span: $DIR/match-arm-scopes.rs:17:41: 17:42 // + span: $DIR/match-arm-scopes.rs:17:41: 17:42
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
drop(_16) -> [return: bb22, unwind: bb10]; // bb20[1]: scope 0 at $DIR/match-arm-scopes.rs:17:42: 17:43 drop(_16) -> [return: bb22, unwind: bb10]; // scope 0 at $DIR/match-arm-scopes.rs:17:42: 17:43
} }
bb21: { bb21: {
StorageLive(_15); // bb21[0]: scope 0 at $DIR/match-arm-scopes.rs:17:16: 17:17 StorageLive(_15); // scope 0 at $DIR/match-arm-scopes.rs:17:16: 17:17
_15 = (_2.1: bool); // bb21[1]: scope 0 at $DIR/match-arm-scopes.rs:17:16: 17:17 _15 = (_2.1: bool); // scope 0 at $DIR/match-arm-scopes.rs:17:16: 17:17
StorageLive(_16); // bb21[2]: scope 0 at $DIR/match-arm-scopes.rs:17:19: 17:20 StorageLive(_16); // scope 0 at $DIR/match-arm-scopes.rs:17:19: 17:20
_16 = move (_2.2: std::string::String); // bb21[3]: scope 0 at $DIR/match-arm-scopes.rs:17:19: 17:20 _16 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:17:19: 17:20
goto -> bb20; // bb21[4]: scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6 goto -> bb20; // scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6
} }
bb22: { bb22: {
StorageDead(_16); // bb22[0]: scope 0 at $DIR/match-arm-scopes.rs:17:42: 17:43 StorageDead(_16); // scope 0 at $DIR/match-arm-scopes.rs:17:42: 17:43
StorageDead(_15); // bb22[1]: scope 0 at $DIR/match-arm-scopes.rs:17:42: 17:43 StorageDead(_15); // scope 0 at $DIR/match-arm-scopes.rs:17:42: 17:43
goto -> bb23; // bb22[2]: scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6 goto -> bb23; // scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6
} }
bb23: { bb23: {
goto -> bb29; // bb23[0]: scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2 goto -> bb29; // scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2
} }
bb24 (cleanup): { bb24 (cleanup): {
goto -> bb1; // bb24[0]: scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2 goto -> bb1; // scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2
} }
bb25 (cleanup): { bb25 (cleanup): {
goto -> bb24; // bb25[0]: scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2 goto -> bb24; // scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2
} }
bb26: { bb26: {
goto -> bb9; // bb26[0]: scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2 goto -> bb9; // scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2
} }
bb27 (cleanup): { bb27 (cleanup): {
goto -> bb1; // bb27[0]: scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2 goto -> bb1; // scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2
} }
bb28 (cleanup): { bb28 (cleanup): {
goto -> bb27; // bb28[0]: scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2 goto -> bb27; // scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2
} }
bb29: { bb29: {
goto -> bb26; // bb29[0]: scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2 goto -> bb26; // scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2
} }
} }

View file

@ -30,217 +30,217 @@ fn complicated_match(_1: bool, _2: (bool, bool, std::string::String)) -> i32 {
} }
bb0: { bb0: {
FakeRead(ForMatchedPlace, _2); // bb0[0]: scope 0 at $DIR/match-arm-scopes.rs:15:11: 15:16 FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match-arm-scopes.rs:15:11: 15:16
switchInt((_2.0: bool)) -> [false: bb2, otherwise: bb3]; // bb0[1]: scope 0 at $DIR/match-arm-scopes.rs:16:10: 16:15 switchInt((_2.0: bool)) -> [false: bb2, otherwise: bb3]; // scope 0 at $DIR/match-arm-scopes.rs:16:10: 16:15
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/match-arm-scopes.rs:14:1: 19:2 resume; // scope 0 at $DIR/match-arm-scopes.rs:14:1: 19:2
} }
bb2: { bb2: {
falseEdges -> [real: bb9, imaginary: bb4]; // bb2[0]: scope 0 at $DIR/match-arm-scopes.rs:16:9: 16:22 falseEdges -> [real: bb9, imaginary: bb4]; // scope 0 at $DIR/match-arm-scopes.rs:16:9: 16:22
} }
bb3: { bb3: {
switchInt((_2.1: bool)) -> [false: bb4, otherwise: bb5]; // bb3[0]: scope 0 at $DIR/match-arm-scopes.rs:16:29: 16:34 switchInt((_2.1: bool)) -> [false: bb4, otherwise: bb5]; // scope 0 at $DIR/match-arm-scopes.rs:16:29: 16:34
} }
bb4: { bb4: {
falseEdges -> [real: bb18, imaginary: bb6]; // bb4[0]: scope 0 at $DIR/match-arm-scopes.rs:16:25: 16:38 falseEdges -> [real: bb18, imaginary: bb6]; // scope 0 at $DIR/match-arm-scopes.rs:16:25: 16:38
} }
bb5: { bb5: {
switchInt((_2.0: bool)) -> [false: bb7, otherwise: bb6]; // bb5[0]: scope 0 at $DIR/match-arm-scopes.rs:17:10: 17:14 switchInt((_2.0: bool)) -> [false: bb7, otherwise: bb6]; // scope 0 at $DIR/match-arm-scopes.rs:17:10: 17:14
} }
bb6: { bb6: {
falseEdges -> [real: bb26, imaginary: bb7]; // bb6[0]: scope 0 at $DIR/match-arm-scopes.rs:17:9: 17:21 falseEdges -> [real: bb26, imaginary: bb7]; // scope 0 at $DIR/match-arm-scopes.rs:17:9: 17:21
} }
bb7: { bb7: {
StorageLive(_15); // bb7[0]: scope 0 at $DIR/match-arm-scopes.rs:17:32: 17:33 StorageLive(_15); // scope 0 at $DIR/match-arm-scopes.rs:17:32: 17:33
_15 = (_2.1: bool); // bb7[1]: scope 0 at $DIR/match-arm-scopes.rs:17:32: 17:33 _15 = (_2.1: bool); // scope 0 at $DIR/match-arm-scopes.rs:17:32: 17:33
StorageLive(_16); // bb7[2]: scope 0 at $DIR/match-arm-scopes.rs:17:35: 17:36 StorageLive(_16); // scope 0 at $DIR/match-arm-scopes.rs:17:35: 17:36
_16 = move (_2.2: std::string::String); // bb7[3]: scope 0 at $DIR/match-arm-scopes.rs:17:35: 17:36 _16 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:17:35: 17:36
goto -> bb25; // bb7[4]: scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6 goto -> bb25; // scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6
} }
bb8: { bb8: {
_0 = const 1i32; // bb8[0]: scope 1 at $DIR/match-arm-scopes.rs:16:77: 16:78 _0 = const 1i32; // scope 1 at $DIR/match-arm-scopes.rs:16:77: 16:78
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/match-arm-scopes.rs:16:77: 16:78 // + span: $DIR/match-arm-scopes.rs:16:77: 16:78
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
drop(_7) -> [return: bb24, unwind: bb14]; // bb8[1]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 drop(_7) -> [return: bb24, unwind: bb14]; // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
} }
bb9: { bb9: {
StorageLive(_6); // bb9[0]: scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18 StorageLive(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18
_6 = &(_2.1: bool); // bb9[1]: scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18 _6 = &(_2.1: bool); // scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18
StorageLive(_8); // bb9[2]: scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21 StorageLive(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21
_8 = &(_2.2: std::string::String); // bb9[3]: scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21 _8 = &(_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21
_3 = &shallow (_2.0: bool); // bb9[4]: scope 0 at $DIR/match-arm-scopes.rs:15:11: 15:16 _3 = &shallow (_2.0: bool); // scope 0 at $DIR/match-arm-scopes.rs:15:11: 15:16
_4 = &shallow (_2.1: bool); // bb9[5]: scope 0 at $DIR/match-arm-scopes.rs:15:11: 15:16 _4 = &shallow (_2.1: bool); // scope 0 at $DIR/match-arm-scopes.rs:15:11: 15:16
StorageLive(_9); // bb9[6]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 StorageLive(_9); // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
StorageLive(_10); // bb9[7]: scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49 StorageLive(_10); // scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49
_10 = _1; // bb9[8]: scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49 _10 = _1; // scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49
FakeRead(ForMatchedPlace, _10); // bb9[9]: scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49 FakeRead(ForMatchedPlace, _10); // scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49
switchInt(_10) -> [false: bb11, otherwise: bb10]; // bb9[10]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 switchInt(_10) -> [false: bb11, otherwise: bb10]; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb10: { bb10: {
falseEdges -> [real: bb12, imaginary: bb11]; // bb10[0]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 falseEdges -> [real: bb12, imaginary: bb11]; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb11: { bb11: {
_9 = (*_6); // bb11[0]: scope 0 at $DIR/match-arm-scopes.rs:16:70: 16:71 _9 = (*_6); // scope 0 at $DIR/match-arm-scopes.rs:16:70: 16:71
StorageDead(_10); // bb11[1]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 StorageDead(_10); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
switchInt(move _9) -> [false: bb17, otherwise: bb16]; // bb11[2]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 switchInt(move _9) -> [false: bb17, otherwise: bb16]; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb12: { bb12: {
_0 = const 3i32; // bb12[0]: scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60 _0 = const 3i32; // scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000003)) // + val: Value(Scalar(0x00000003))
// mir::Constant // mir::Constant
// + span: $DIR/match-arm-scopes.rs:16:59: 16:60 // + span: $DIR/match-arm-scopes.rs:16:59: 16:60
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
StorageDead(_10); // bb12[1]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 StorageDead(_10); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
StorageDead(_9); // bb12[2]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_9); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_8); // bb12[3]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_6); // bb12[4]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
goto -> bb15; // bb12[5]: scope 0 at $DIR/match-arm-scopes.rs:16:52: 16:60 goto -> bb15; // scope 0 at $DIR/match-arm-scopes.rs:16:52: 16:60
} }
bb13: { bb13: {
return; // bb13[0]: scope 0 at $DIR/match-arm-scopes.rs:19:2: 19:2 return; // scope 0 at $DIR/match-arm-scopes.rs:19:2: 19:2
} }
bb14 (cleanup): { bb14 (cleanup): {
drop(_2) -> bb1; // bb14[0]: scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2 drop(_2) -> bb1; // scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2
} }
bb15: { bb15: {
drop(_2) -> [return: bb13, unwind: bb1]; // bb15[0]: scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2 drop(_2) -> [return: bb13, unwind: bb1]; // scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2
} }
bb16: { bb16: {
StorageDead(_9); // bb16[0]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_9); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
FakeRead(ForMatchGuard, _3); // bb16[1]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 FakeRead(ForMatchGuard, _3); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
FakeRead(ForMatchGuard, _4); // bb16[2]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 FakeRead(ForMatchGuard, _4); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
FakeRead(ForGuardBinding, _6); // bb16[3]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 FakeRead(ForGuardBinding, _6); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
FakeRead(ForGuardBinding, _8); // bb16[4]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 FakeRead(ForGuardBinding, _8); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
StorageLive(_5); // bb16[5]: scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18 StorageLive(_5); // scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18
_5 = (_2.1: bool); // bb16[6]: scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18 _5 = (_2.1: bool); // scope 0 at $DIR/match-arm-scopes.rs:16:17: 16:18
StorageLive(_7); // bb16[7]: scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21 StorageLive(_7); // scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21
_7 = move (_2.2: std::string::String); // bb16[8]: scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21 _7 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:16:20: 16:21
goto -> bb8; // bb16[9]: scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6 goto -> bb8; // scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6
} }
bb17: { bb17: {
StorageDead(_9); // bb17[0]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_9); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_8); // bb17[1]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_6); // bb17[2]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
falseEdges -> [real: bb3, imaginary: bb4]; // bb17[3]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 falseEdges -> [real: bb3, imaginary: bb4]; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb18: { bb18: {
StorageLive(_6); // bb18[0]: scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27 StorageLive(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27
_6 = &(_2.0: bool); // bb18[1]: scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27 _6 = &(_2.0: bool); // scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27
StorageLive(_8); // bb18[2]: scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37 StorageLive(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37
_8 = &(_2.2: std::string::String); // bb18[3]: scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37 _8 = &(_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37
_3 = &shallow (_2.0: bool); // bb18[4]: scope 0 at $DIR/match-arm-scopes.rs:15:11: 15:16 _3 = &shallow (_2.0: bool); // scope 0 at $DIR/match-arm-scopes.rs:15:11: 15:16
_4 = &shallow (_2.1: bool); // bb18[5]: scope 0 at $DIR/match-arm-scopes.rs:15:11: 15:16 _4 = &shallow (_2.1: bool); // scope 0 at $DIR/match-arm-scopes.rs:15:11: 15:16
StorageLive(_12); // bb18[6]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 StorageLive(_12); // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
StorageLive(_13); // bb18[7]: scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49 StorageLive(_13); // scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49
_13 = _1; // bb18[8]: scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49 _13 = _1; // scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49
FakeRead(ForMatchedPlace, _13); // bb18[9]: scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49 FakeRead(ForMatchedPlace, _13); // scope 0 at $DIR/match-arm-scopes.rs:16:45: 16:49
switchInt(_13) -> [false: bb20, otherwise: bb19]; // bb18[10]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 switchInt(_13) -> [false: bb20, otherwise: bb19]; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb19: { bb19: {
falseEdges -> [real: bb21, imaginary: bb20]; // bb19[0]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 falseEdges -> [real: bb21, imaginary: bb20]; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb20: { bb20: {
_12 = (*_6); // bb20[0]: scope 0 at $DIR/match-arm-scopes.rs:16:70: 16:71 _12 = (*_6); // scope 0 at $DIR/match-arm-scopes.rs:16:70: 16:71
StorageDead(_13); // bb20[1]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 StorageDead(_13); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
switchInt(move _12) -> [false: bb23, otherwise: bb22]; // bb20[2]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 switchInt(move _12) -> [false: bb23, otherwise: bb22]; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb21: { bb21: {
_0 = const 3i32; // bb21[0]: scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60 _0 = const 3i32; // scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000003)) // + val: Value(Scalar(0x00000003))
// mir::Constant // mir::Constant
// + span: $DIR/match-arm-scopes.rs:16:59: 16:60 // + span: $DIR/match-arm-scopes.rs:16:59: 16:60
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
StorageDead(_13); // bb21[1]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 StorageDead(_13); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
StorageDead(_12); // bb21[2]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_12); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_8); // bb21[3]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_6); // bb21[4]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
goto -> bb15; // bb21[5]: scope 0 at $DIR/match-arm-scopes.rs:16:52: 16:60 goto -> bb15; // scope 0 at $DIR/match-arm-scopes.rs:16:52: 16:60
} }
bb22: { bb22: {
StorageDead(_12); // bb22[0]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_12); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
FakeRead(ForMatchGuard, _3); // bb22[1]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 FakeRead(ForMatchGuard, _3); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
FakeRead(ForMatchGuard, _4); // bb22[2]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 FakeRead(ForMatchGuard, _4); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
FakeRead(ForGuardBinding, _6); // bb22[3]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 FakeRead(ForGuardBinding, _6); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
FakeRead(ForGuardBinding, _8); // bb22[4]: scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73 FakeRead(ForGuardBinding, _8); // scope 0 at $DIR/match-arm-scopes.rs:16:72: 16:73
StorageLive(_5); // bb22[5]: scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27 StorageLive(_5); // scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27
_5 = (_2.0: bool); // bb22[6]: scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27 _5 = (_2.0: bool); // scope 0 at $DIR/match-arm-scopes.rs:16:26: 16:27
StorageLive(_7); // bb22[7]: scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37 StorageLive(_7); // scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37
_7 = move (_2.2: std::string::String); // bb22[8]: scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37 _7 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:16:36: 16:37
goto -> bb8; // bb22[9]: scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6 goto -> bb8; // scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6
} }
bb23: { bb23: {
StorageDead(_12); // bb23[0]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_12); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_8); // bb23[1]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_6); // bb23[2]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
falseEdges -> [real: bb5, imaginary: bb6]; // bb23[3]: scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73 falseEdges -> [real: bb5, imaginary: bb6]; // scope 0 at $DIR/match-arm-scopes.rs:16:42: 16:73
} }
bb24: { bb24: {
StorageDead(_7); // bb24[0]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_7); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_5); // bb24[1]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_5); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_8); // bb24[2]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_8); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
StorageDead(_6); // bb24[3]: scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79 StorageDead(_6); // scope 0 at $DIR/match-arm-scopes.rs:16:78: 16:79
goto -> bb28; // bb24[4]: scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6 goto -> bb28; // scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6
} }
bb25: { bb25: {
_0 = const 2i32; // bb25[0]: scope 2 at $DIR/match-arm-scopes.rs:17:41: 17:42 _0 = const 2i32; // scope 2 at $DIR/match-arm-scopes.rs:17:41: 17:42
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000002)) // + val: Value(Scalar(0x00000002))
// mir::Constant // mir::Constant
// + span: $DIR/match-arm-scopes.rs:17:41: 17:42 // + span: $DIR/match-arm-scopes.rs:17:41: 17:42
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
drop(_16) -> [return: bb27, unwind: bb14]; // bb25[1]: scope 0 at $DIR/match-arm-scopes.rs:17:42: 17:43 drop(_16) -> [return: bb27, unwind: bb14]; // scope 0 at $DIR/match-arm-scopes.rs:17:42: 17:43
} }
bb26: { bb26: {
StorageLive(_15); // bb26[0]: scope 0 at $DIR/match-arm-scopes.rs:17:16: 17:17 StorageLive(_15); // scope 0 at $DIR/match-arm-scopes.rs:17:16: 17:17
_15 = (_2.1: bool); // bb26[1]: scope 0 at $DIR/match-arm-scopes.rs:17:16: 17:17 _15 = (_2.1: bool); // scope 0 at $DIR/match-arm-scopes.rs:17:16: 17:17
StorageLive(_16); // bb26[2]: scope 0 at $DIR/match-arm-scopes.rs:17:19: 17:20 StorageLive(_16); // scope 0 at $DIR/match-arm-scopes.rs:17:19: 17:20
_16 = move (_2.2: std::string::String); // bb26[3]: scope 0 at $DIR/match-arm-scopes.rs:17:19: 17:20 _16 = move (_2.2: std::string::String); // scope 0 at $DIR/match-arm-scopes.rs:17:19: 17:20
goto -> bb25; // bb26[4]: scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6 goto -> bb25; // scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6
} }
bb27: { bb27: {
StorageDead(_16); // bb27[0]: scope 0 at $DIR/match-arm-scopes.rs:17:42: 17:43 StorageDead(_16); // scope 0 at $DIR/match-arm-scopes.rs:17:42: 17:43
StorageDead(_15); // bb27[1]: scope 0 at $DIR/match-arm-scopes.rs:17:42: 17:43 StorageDead(_15); // scope 0 at $DIR/match-arm-scopes.rs:17:42: 17:43
goto -> bb28; // bb27[2]: scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6 goto -> bb28; // scope 0 at $DIR/match-arm-scopes.rs:15:5: 18:6
} }
bb28: { bb28: {
drop(_2) -> [return: bb13, unwind: bb1]; // bb28[0]: scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2 drop(_2) -> [return: bb13, unwind: bb1]; // scope 0 at $DIR/match-arm-scopes.rs:19:1: 19:2
} }
} }

View file

@ -24,26 +24,26 @@ fn full_tested_match() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/match_false_edges.rs:15:13: 19:6 StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:15:13: 19:6
StorageLive(_2); // bb0[1]: scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27
_2 = std::option::Option::<i32>::Some(const 42i32); // bb0[2]: scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 _2 = std::option::Option::<i32>::Some(const 42i32); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x0000002a)) // + val: Value(Scalar(0x0000002a))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:15:24: 15:26 // + span: $DIR/match_false_edges.rs:15:24: 15:26
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) } // + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
FakeRead(ForMatchedPlace, _2); // bb0[3]: scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27
_3 = discriminant(_2); // bb0[4]: scope 0 at $DIR/match_false_edges.rs:16:9: 16:16 _3 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:16:9: 16:16
switchInt(move _3) -> [0isize: bb2, 1isize: bb3, otherwise: bb5]; // bb0[5]: scope 0 at $DIR/match_false_edges.rs:16:9: 16:16 switchInt(move _3) -> [0isize: bb2, 1isize: bb3, otherwise: bb5]; // scope 0 at $DIR/match_false_edges.rs:16:9: 16:16
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/match_false_edges.rs:14:1: 20:2 resume; // scope 0 at $DIR/match_false_edges.rs:14:1: 20:2
} }
bb2: { bb2: {
_1 = (const 3i32, const 3i32); // bb2[0]: scope 0 at $DIR/match_false_edges.rs:18:17: 18:23 _1 = (const 3i32, const 3i32); // scope 0 at $DIR/match_false_edges.rs:18:17: 18:23
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000003)) // + val: Value(Scalar(0x00000003))
@ -56,34 +56,34 @@ fn full_tested_match() -> () {
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:18:21: 18:22 // + span: $DIR/match_false_edges.rs:18:21: 18:22
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
goto -> bb11; // bb2[1]: scope 0 at $DIR/match_false_edges.rs:15:13: 19:6 goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:15:13: 19:6
} }
bb3: { bb3: {
falseEdges -> [real: bb6, imaginary: bb4]; // bb3[0]: scope 0 at $DIR/match_false_edges.rs:16:9: 16:16 falseEdges -> [real: bb6, imaginary: bb4]; // scope 0 at $DIR/match_false_edges.rs:16:9: 16:16
} }
bb4: { bb4: {
falseEdges -> [real: bb10, imaginary: bb2]; // bb4[0]: scope 0 at $DIR/match_false_edges.rs:17:9: 17:16 falseEdges -> [real: bb10, imaginary: bb2]; // scope 0 at $DIR/match_false_edges.rs:17:9: 17:16
} }
bb5: { bb5: {
unreachable; // bb5[0]: scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 unreachable; // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27
} }
bb6: { bb6: {
StorageLive(_6); // bb6[0]: scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 StorageLive(_6); // scope 0 at $DIR/match_false_edges.rs:16:14: 16:15
_11 = const full_tested_match::promoted[0]; // bb6[1]: scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 _11 = const full_tested_match::promoted[0]; // scope 0 at $DIR/match_false_edges.rs:16:14: 16:15
// ty::Const // ty::Const
// + ty: &std::option::Option<i32> // + ty: &std::option::Option<i32>
// + val: Unevaluated(DefId(0:5 ~ match_false_edges[317d]::full_tested_match[0]), [], Some(promoted[0])) // + val: Unevaluated(DefId(0:5 ~ match_false_edges[317d]::full_tested_match[0]), [], Some(promoted[0]))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:16:14: 16:15 // + span: $DIR/match_false_edges.rs:16:14: 16:15
// + literal: Const { ty: &std::option::Option<i32>, val: Unevaluated(DefId(0:5 ~ match_false_edges[317d]::full_tested_match[0]), [], Some(promoted[0])) } // + literal: Const { ty: &std::option::Option<i32>, val: Unevaluated(DefId(0:5 ~ match_false_edges[317d]::full_tested_match[0]), [], Some(promoted[0])) }
_6 = &(((*_11) as Some).0: i32); // bb6[2]: scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 _6 = &(((*_11) as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:16:14: 16:15
_4 = &shallow _2; // bb6[3]: scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 _4 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27
StorageLive(_7); // bb6[4]: scope 0 at $DIR/match_false_edges.rs:16:20: 16:27 StorageLive(_7); // scope 0 at $DIR/match_false_edges.rs:16:20: 16:27
_7 = const guard() -> [return: bb7, unwind: bb1]; // bb6[5]: scope 0 at $DIR/match_false_edges.rs:16:20: 16:27 _7 = const guard() -> [return: bb7, unwind: bb1]; // scope 0 at $DIR/match_false_edges.rs:16:20: 16:27
// ty::Const // ty::Const
// + ty: fn() -> bool {guard} // + ty: fn() -> bool {guard}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -93,63 +93,63 @@ fn full_tested_match() -> () {
} }
bb7: { bb7: {
switchInt(move _7) -> [false: bb9, otherwise: bb8]; // bb7[0]: scope 0 at $DIR/match_false_edges.rs:16:20: 16:27 switchInt(move _7) -> [false: bb9, otherwise: bb8]; // scope 0 at $DIR/match_false_edges.rs:16:20: 16:27
} }
bb8: { bb8: {
StorageDead(_7); // bb8[0]: scope 0 at $DIR/match_false_edges.rs:16:37: 16:38 StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:16:37: 16:38
FakeRead(ForMatchGuard, _4); // bb8[1]: scope 0 at $DIR/match_false_edges.rs:16:26: 16:27 FakeRead(ForMatchGuard, _4); // scope 0 at $DIR/match_false_edges.rs:16:26: 16:27
FakeRead(ForGuardBinding, _6); // bb8[2]: scope 0 at $DIR/match_false_edges.rs:16:26: 16:27 FakeRead(ForGuardBinding, _6); // scope 0 at $DIR/match_false_edges.rs:16:26: 16:27
StorageLive(_5); // bb8[3]: scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 StorageLive(_5); // scope 0 at $DIR/match_false_edges.rs:16:14: 16:15
_5 = ((_2 as Some).0: i32); // bb8[4]: scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 _5 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:16:14: 16:15
StorageLive(_8); // bb8[5]: scope 2 at $DIR/match_false_edges.rs:16:35: 16:36 StorageLive(_8); // scope 2 at $DIR/match_false_edges.rs:16:35: 16:36
_8 = _5; // bb8[6]: scope 2 at $DIR/match_false_edges.rs:16:35: 16:36 _8 = _5; // scope 2 at $DIR/match_false_edges.rs:16:35: 16:36
_1 = (const 1i32, move _8); // bb8[7]: scope 2 at $DIR/match_false_edges.rs:16:31: 16:37 _1 = (const 1i32, move _8); // scope 2 at $DIR/match_false_edges.rs:16:31: 16:37
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:16:32: 16:33 // + span: $DIR/match_false_edges.rs:16:32: 16:33
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
StorageDead(_8); // bb8[8]: scope 2 at $DIR/match_false_edges.rs:16:36: 16:37 StorageDead(_8); // scope 2 at $DIR/match_false_edges.rs:16:36: 16:37
StorageDead(_5); // bb8[9]: scope 0 at $DIR/match_false_edges.rs:16:37: 16:38 StorageDead(_5); // scope 0 at $DIR/match_false_edges.rs:16:37: 16:38
StorageDead(_6); // bb8[10]: scope 0 at $DIR/match_false_edges.rs:16:37: 16:38 StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:16:37: 16:38
goto -> bb11; // bb8[11]: scope 0 at $DIR/match_false_edges.rs:15:13: 19:6 goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:15:13: 19:6
} }
bb9: { bb9: {
StorageDead(_7); // bb9[0]: scope 0 at $DIR/match_false_edges.rs:16:37: 16:38 StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:16:37: 16:38
StorageDead(_6); // bb9[1]: scope 0 at $DIR/match_false_edges.rs:16:37: 16:38 StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:16:37: 16:38
goto -> bb4; // bb9[2]: scope 0 at $DIR/match_false_edges.rs:16:20: 16:27 goto -> bb4; // scope 0 at $DIR/match_false_edges.rs:16:20: 16:27
} }
bb10: { bb10: {
StorageLive(_9); // bb10[0]: scope 0 at $DIR/match_false_edges.rs:17:14: 17:15 StorageLive(_9); // scope 0 at $DIR/match_false_edges.rs:17:14: 17:15
_9 = ((_2 as Some).0: i32); // bb10[1]: scope 0 at $DIR/match_false_edges.rs:17:14: 17:15 _9 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:17:14: 17:15
StorageLive(_10); // bb10[2]: scope 3 at $DIR/match_false_edges.rs:17:24: 17:25 StorageLive(_10); // scope 3 at $DIR/match_false_edges.rs:17:24: 17:25
_10 = _9; // bb10[3]: scope 3 at $DIR/match_false_edges.rs:17:24: 17:25 _10 = _9; // scope 3 at $DIR/match_false_edges.rs:17:24: 17:25
_1 = (const 2i32, move _10); // bb10[4]: scope 3 at $DIR/match_false_edges.rs:17:20: 17:26 _1 = (const 2i32, move _10); // scope 3 at $DIR/match_false_edges.rs:17:20: 17:26
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000002)) // + val: Value(Scalar(0x00000002))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:17:21: 17:22 // + span: $DIR/match_false_edges.rs:17:21: 17:22
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
StorageDead(_10); // bb10[5]: scope 3 at $DIR/match_false_edges.rs:17:25: 17:26 StorageDead(_10); // scope 3 at $DIR/match_false_edges.rs:17:25: 17:26
StorageDead(_9); // bb10[6]: scope 0 at $DIR/match_false_edges.rs:17:26: 17:27 StorageDead(_9); // scope 0 at $DIR/match_false_edges.rs:17:26: 17:27
goto -> bb11; // bb10[7]: scope 0 at $DIR/match_false_edges.rs:15:13: 19:6 goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:15:13: 19:6
} }
bb11: { bb11: {
StorageDead(_2); // bb11[0]: scope 0 at $DIR/match_false_edges.rs:19:6: 19:7 StorageDead(_2); // scope 0 at $DIR/match_false_edges.rs:19:6: 19:7
StorageDead(_1); // bb11[1]: scope 0 at $DIR/match_false_edges.rs:19:6: 19:7 StorageDead(_1); // scope 0 at $DIR/match_false_edges.rs:19:6: 19:7
_0 = const (); // bb11[2]: scope 0 at $DIR/match_false_edges.rs:14:28: 20:2 _0 = const (); // scope 0 at $DIR/match_false_edges.rs:14:28: 20:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:14:28: 20:2 // + span: $DIR/match_false_edges.rs:14:28: 20:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb11[3]: scope 0 at $DIR/match_false_edges.rs:20:2: 20:2 return; // scope 0 at $DIR/match_false_edges.rs:20:2: 20:2
} }
} }

View file

@ -23,59 +23,59 @@ fn full_tested_match2() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/match_false_edges.rs:26:13: 30:6 StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:26:13: 30:6
StorageLive(_2); // bb0[1]: scope 0 at $DIR/match_false_edges.rs:26:19: 26:27 StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
_2 = std::option::Option::<i32>::Some(const 42i32); // bb0[2]: scope 0 at $DIR/match_false_edges.rs:26:19: 26:27 _2 = std::option::Option::<i32>::Some(const 42i32); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x0000002a)) // + val: Value(Scalar(0x0000002a))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:26:24: 26:26 // + span: $DIR/match_false_edges.rs:26:24: 26:26
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) } // + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
FakeRead(ForMatchedPlace, _2); // bb0[3]: scope 0 at $DIR/match_false_edges.rs:26:19: 26:27 FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
_3 = discriminant(_2); // bb0[4]: scope 0 at $DIR/match_false_edges.rs:27:9: 27:16 _3 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:27:9: 27:16
switchInt(move _3) -> [0isize: bb2, 1isize: bb3, otherwise: bb5]; // bb0[5]: scope 0 at $DIR/match_false_edges.rs:27:9: 27:16 switchInt(move _3) -> [0isize: bb2, 1isize: bb3, otherwise: bb5]; // scope 0 at $DIR/match_false_edges.rs:27:9: 27:16
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/match_false_edges.rs:25:1: 31:2 resume; // scope 0 at $DIR/match_false_edges.rs:25:1: 31:2
} }
bb2: { bb2: {
falseEdges -> [real: bb10, imaginary: bb4]; // bb2[0]: scope 0 at $DIR/match_false_edges.rs:28:9: 28:13 falseEdges -> [real: bb10, imaginary: bb4]; // scope 0 at $DIR/match_false_edges.rs:28:9: 28:13
} }
bb3: { bb3: {
falseEdges -> [real: bb6, imaginary: bb2]; // bb3[0]: scope 0 at $DIR/match_false_edges.rs:27:9: 27:16 falseEdges -> [real: bb6, imaginary: bb2]; // scope 0 at $DIR/match_false_edges.rs:27:9: 27:16
} }
bb4: { bb4: {
StorageLive(_9); // bb4[0]: scope 0 at $DIR/match_false_edges.rs:29:14: 29:15 StorageLive(_9); // scope 0 at $DIR/match_false_edges.rs:29:14: 29:15
_9 = ((_2 as Some).0: i32); // bb4[1]: scope 0 at $DIR/match_false_edges.rs:29:14: 29:15 _9 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:29:14: 29:15
StorageLive(_10); // bb4[2]: scope 3 at $DIR/match_false_edges.rs:29:24: 29:25 StorageLive(_10); // scope 3 at $DIR/match_false_edges.rs:29:24: 29:25
_10 = _9; // bb4[3]: scope 3 at $DIR/match_false_edges.rs:29:24: 29:25 _10 = _9; // scope 3 at $DIR/match_false_edges.rs:29:24: 29:25
_1 = (const 2i32, move _10); // bb4[4]: scope 3 at $DIR/match_false_edges.rs:29:20: 29:26 _1 = (const 2i32, move _10); // scope 3 at $DIR/match_false_edges.rs:29:20: 29:26
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000002)) // + val: Value(Scalar(0x00000002))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:29:21: 29:22 // + span: $DIR/match_false_edges.rs:29:21: 29:22
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
StorageDead(_10); // bb4[5]: scope 3 at $DIR/match_false_edges.rs:29:25: 29:26 StorageDead(_10); // scope 3 at $DIR/match_false_edges.rs:29:25: 29:26
StorageDead(_9); // bb4[6]: scope 0 at $DIR/match_false_edges.rs:29:26: 29:27 StorageDead(_9); // scope 0 at $DIR/match_false_edges.rs:29:26: 29:27
goto -> bb11; // bb4[7]: scope 0 at $DIR/match_false_edges.rs:26:13: 30:6 goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:26:13: 30:6
} }
bb5: { bb5: {
unreachable; // bb5[0]: scope 0 at $DIR/match_false_edges.rs:26:19: 26:27 unreachable; // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
} }
bb6: { bb6: {
StorageLive(_6); // bb6[0]: scope 0 at $DIR/match_false_edges.rs:27:14: 27:15 StorageLive(_6); // scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
_6 = &((_2 as Some).0: i32); // bb6[1]: scope 0 at $DIR/match_false_edges.rs:27:14: 27:15 _6 = &((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
_4 = &shallow _2; // bb6[2]: scope 0 at $DIR/match_false_edges.rs:26:19: 26:27 _4 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
StorageLive(_7); // bb6[3]: scope 0 at $DIR/match_false_edges.rs:27:20: 27:27 StorageLive(_7); // scope 0 at $DIR/match_false_edges.rs:27:20: 27:27
_7 = const guard() -> [return: bb7, unwind: bb1]; // bb6[4]: scope 0 at $DIR/match_false_edges.rs:27:20: 27:27 _7 = const guard() -> [return: bb7, unwind: bb1]; // scope 0 at $DIR/match_false_edges.rs:27:20: 27:27
// ty::Const // ty::Const
// + ty: fn() -> bool {guard} // + ty: fn() -> bool {guard}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -85,38 +85,38 @@ fn full_tested_match2() -> () {
} }
bb7: { bb7: {
switchInt(move _7) -> [false: bb9, otherwise: bb8]; // bb7[0]: scope 0 at $DIR/match_false_edges.rs:27:20: 27:27 switchInt(move _7) -> [false: bb9, otherwise: bb8]; // scope 0 at $DIR/match_false_edges.rs:27:20: 27:27
} }
bb8: { bb8: {
StorageDead(_7); // bb8[0]: scope 0 at $DIR/match_false_edges.rs:27:37: 27:38 StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:27:37: 27:38
FakeRead(ForMatchGuard, _4); // bb8[1]: scope 0 at $DIR/match_false_edges.rs:27:26: 27:27 FakeRead(ForMatchGuard, _4); // scope 0 at $DIR/match_false_edges.rs:27:26: 27:27
FakeRead(ForGuardBinding, _6); // bb8[2]: scope 0 at $DIR/match_false_edges.rs:27:26: 27:27 FakeRead(ForGuardBinding, _6); // scope 0 at $DIR/match_false_edges.rs:27:26: 27:27
StorageLive(_5); // bb8[3]: scope 0 at $DIR/match_false_edges.rs:27:14: 27:15 StorageLive(_5); // scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
_5 = ((_2 as Some).0: i32); // bb8[4]: scope 0 at $DIR/match_false_edges.rs:27:14: 27:15 _5 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
StorageLive(_8); // bb8[5]: scope 2 at $DIR/match_false_edges.rs:27:35: 27:36 StorageLive(_8); // scope 2 at $DIR/match_false_edges.rs:27:35: 27:36
_8 = _5; // bb8[6]: scope 2 at $DIR/match_false_edges.rs:27:35: 27:36 _8 = _5; // scope 2 at $DIR/match_false_edges.rs:27:35: 27:36
_1 = (const 1i32, move _8); // bb8[7]: scope 2 at $DIR/match_false_edges.rs:27:31: 27:37 _1 = (const 1i32, move _8); // scope 2 at $DIR/match_false_edges.rs:27:31: 27:37
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:27:32: 27:33 // + span: $DIR/match_false_edges.rs:27:32: 27:33
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
StorageDead(_8); // bb8[8]: scope 2 at $DIR/match_false_edges.rs:27:36: 27:37 StorageDead(_8); // scope 2 at $DIR/match_false_edges.rs:27:36: 27:37
StorageDead(_5); // bb8[9]: scope 0 at $DIR/match_false_edges.rs:27:37: 27:38 StorageDead(_5); // scope 0 at $DIR/match_false_edges.rs:27:37: 27:38
StorageDead(_6); // bb8[10]: scope 0 at $DIR/match_false_edges.rs:27:37: 27:38 StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:27:37: 27:38
goto -> bb11; // bb8[11]: scope 0 at $DIR/match_false_edges.rs:26:13: 30:6 goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:26:13: 30:6
} }
bb9: { bb9: {
StorageDead(_7); // bb9[0]: scope 0 at $DIR/match_false_edges.rs:27:37: 27:38 StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:27:37: 27:38
StorageDead(_6); // bb9[1]: scope 0 at $DIR/match_false_edges.rs:27:37: 27:38 StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:27:37: 27:38
falseEdges -> [real: bb4, imaginary: bb2]; // bb9[2]: scope 0 at $DIR/match_false_edges.rs:27:20: 27:27 falseEdges -> [real: bb4, imaginary: bb2]; // scope 0 at $DIR/match_false_edges.rs:27:20: 27:27
} }
bb10: { bb10: {
_1 = (const 3i32, const 3i32); // bb10[0]: scope 0 at $DIR/match_false_edges.rs:28:17: 28:23 _1 = (const 3i32, const 3i32); // scope 0 at $DIR/match_false_edges.rs:28:17: 28:23
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000003)) // + val: Value(Scalar(0x00000003))
@ -129,19 +129,19 @@ fn full_tested_match2() -> () {
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:28:21: 28:22 // + span: $DIR/match_false_edges.rs:28:21: 28:22
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
goto -> bb11; // bb10[1]: scope 0 at $DIR/match_false_edges.rs:26:13: 30:6 goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:26:13: 30:6
} }
bb11: { bb11: {
StorageDead(_2); // bb11[0]: scope 0 at $DIR/match_false_edges.rs:30:6: 30:7 StorageDead(_2); // scope 0 at $DIR/match_false_edges.rs:30:6: 30:7
StorageDead(_1); // bb11[1]: scope 0 at $DIR/match_false_edges.rs:30:6: 30:7 StorageDead(_1); // scope 0 at $DIR/match_false_edges.rs:30:6: 30:7
_0 = const (); // bb11[2]: scope 0 at $DIR/match_false_edges.rs:25:29: 31:2 _0 = const (); // scope 0 at $DIR/match_false_edges.rs:25:29: 31:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:25:29: 31:2 // + span: $DIR/match_false_edges.rs:25:29: 31:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb11[3]: scope 0 at $DIR/match_false_edges.rs:31:2: 31:2 return; // scope 0 at $DIR/match_false_edges.rs:31:2: 31:2
} }
} }

View file

@ -34,56 +34,56 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/match_false_edges.rs:35:13: 40:6 StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:35:13: 40:6
StorageLive(_2); // bb0[1]: scope 0 at $DIR/match_false_edges.rs:35:19: 35:26 StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26
_2 = std::option::Option::<i32>::Some(const 1i32); // bb0[2]: scope 0 at $DIR/match_false_edges.rs:35:19: 35:26 _2 = std::option::Option::<i32>::Some(const 1i32); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:35:24: 35:25 // + span: $DIR/match_false_edges.rs:35:24: 35:25
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
FakeRead(ForMatchedPlace, _2); // bb0[3]: scope 0 at $DIR/match_false_edges.rs:35:19: 35:26 FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26
_4 = discriminant(_2); // bb0[4]: scope 0 at $DIR/match_false_edges.rs:36:9: 36:17 _4 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:36:9: 36:17
switchInt(move _4) -> [1isize: bb3, otherwise: bb2]; // bb0[5]: scope 0 at $DIR/match_false_edges.rs:36:9: 36:17 switchInt(move _4) -> [1isize: bb3, otherwise: bb2]; // scope 0 at $DIR/match_false_edges.rs:36:9: 36:17
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/match_false_edges.rs:34:1: 41:2 resume; // scope 0 at $DIR/match_false_edges.rs:34:1: 41:2
} }
bb2: { bb2: {
falseEdges -> [real: bb10, imaginary: bb5]; // bb2[0]: scope 0 at $DIR/match_false_edges.rs:37:9: 37:11 falseEdges -> [real: bb10, imaginary: bb5]; // scope 0 at $DIR/match_false_edges.rs:37:9: 37:11
} }
bb3: { bb3: {
falseEdges -> [real: bb6, imaginary: bb2]; // bb3[0]: scope 0 at $DIR/match_false_edges.rs:36:9: 36:17 falseEdges -> [real: bb6, imaginary: bb2]; // scope 0 at $DIR/match_false_edges.rs:36:9: 36:17
} }
bb4: { bb4: {
StorageLive(_14); // bb4[0]: scope 0 at $DIR/match_false_edges.rs:39:9: 39:11 StorageLive(_14); // scope 0 at $DIR/match_false_edges.rs:39:9: 39:11
_14 = _2; // bb4[1]: scope 0 at $DIR/match_false_edges.rs:39:9: 39:11 _14 = _2; // scope 0 at $DIR/match_false_edges.rs:39:9: 39:11
_1 = const 4i32; // bb4[2]: scope 5 at $DIR/match_false_edges.rs:39:15: 39:16 _1 = const 4i32; // scope 5 at $DIR/match_false_edges.rs:39:15: 39:16
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000004)) // + val: Value(Scalar(0x00000004))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:39:15: 39:16 // + span: $DIR/match_false_edges.rs:39:15: 39:16
// + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
StorageDead(_14); // bb4[3]: scope 0 at $DIR/match_false_edges.rs:39:16: 39:17 StorageDead(_14); // scope 0 at $DIR/match_false_edges.rs:39:16: 39:17
goto -> bb15; // bb4[4]: scope 0 at $DIR/match_false_edges.rs:35:13: 40:6 goto -> bb15; // scope 0 at $DIR/match_false_edges.rs:35:13: 40:6
} }
bb5: { bb5: {
falseEdges -> [real: bb11, imaginary: bb4]; // bb5[0]: scope 0 at $DIR/match_false_edges.rs:38:9: 38:16 falseEdges -> [real: bb11, imaginary: bb4]; // scope 0 at $DIR/match_false_edges.rs:38:9: 38:16
} }
bb6: { bb6: {
StorageLive(_7); // bb6[0]: scope 0 at $DIR/match_false_edges.rs:36:14: 36:16 StorageLive(_7); // scope 0 at $DIR/match_false_edges.rs:36:14: 36:16
_7 = &((_2 as Some).0: i32); // bb6[1]: scope 0 at $DIR/match_false_edges.rs:36:14: 36:16 _7 = &((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:36:14: 36:16
_5 = &shallow _2; // bb6[2]: scope 0 at $DIR/match_false_edges.rs:35:19: 35:26 _5 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26
StorageLive(_8); // bb6[3]: scope 0 at $DIR/match_false_edges.rs:36:21: 36:28 StorageLive(_8); // scope 0 at $DIR/match_false_edges.rs:36:21: 36:28
_8 = const guard() -> [return: bb7, unwind: bb1]; // bb6[4]: scope 0 at $DIR/match_false_edges.rs:36:21: 36:28 _8 = const guard() -> [return: bb7, unwind: bb1]; // scope 0 at $DIR/match_false_edges.rs:36:21: 36:28
// ty::Const // ty::Const
// + ty: fn() -> bool {guard} // + ty: fn() -> bool {guard}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -93,55 +93,55 @@ fn main() -> () {
} }
bb7: { bb7: {
switchInt(move _8) -> [false: bb9, otherwise: bb8]; // bb7[0]: scope 0 at $DIR/match_false_edges.rs:36:21: 36:28 switchInt(move _8) -> [false: bb9, otherwise: bb8]; // scope 0 at $DIR/match_false_edges.rs:36:21: 36:28
} }
bb8: { bb8: {
StorageDead(_8); // bb8[0]: scope 0 at $DIR/match_false_edges.rs:36:33: 36:34 StorageDead(_8); // scope 0 at $DIR/match_false_edges.rs:36:33: 36:34
FakeRead(ForMatchGuard, _5); // bb8[1]: scope 0 at $DIR/match_false_edges.rs:36:27: 36:28 FakeRead(ForMatchGuard, _5); // scope 0 at $DIR/match_false_edges.rs:36:27: 36:28
FakeRead(ForGuardBinding, _7); // bb8[2]: scope 0 at $DIR/match_false_edges.rs:36:27: 36:28 FakeRead(ForGuardBinding, _7); // scope 0 at $DIR/match_false_edges.rs:36:27: 36:28
StorageLive(_6); // bb8[3]: scope 0 at $DIR/match_false_edges.rs:36:14: 36:16 StorageLive(_6); // scope 0 at $DIR/match_false_edges.rs:36:14: 36:16
_6 = ((_2 as Some).0: i32); // bb8[4]: scope 0 at $DIR/match_false_edges.rs:36:14: 36:16 _6 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:36:14: 36:16
_1 = const 1i32; // bb8[5]: scope 2 at $DIR/match_false_edges.rs:36:32: 36:33 _1 = const 1i32; // scope 2 at $DIR/match_false_edges.rs:36:32: 36:33
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:36:32: 36:33 // + span: $DIR/match_false_edges.rs:36:32: 36:33
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
StorageDead(_6); // bb8[6]: scope 0 at $DIR/match_false_edges.rs:36:33: 36:34 StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:36:33: 36:34
StorageDead(_7); // bb8[7]: scope 0 at $DIR/match_false_edges.rs:36:33: 36:34 StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:36:33: 36:34
goto -> bb15; // bb8[8]: scope 0 at $DIR/match_false_edges.rs:35:13: 40:6 goto -> bb15; // scope 0 at $DIR/match_false_edges.rs:35:13: 40:6
} }
bb9: { bb9: {
StorageDead(_8); // bb9[0]: scope 0 at $DIR/match_false_edges.rs:36:33: 36:34 StorageDead(_8); // scope 0 at $DIR/match_false_edges.rs:36:33: 36:34
StorageDead(_7); // bb9[1]: scope 0 at $DIR/match_false_edges.rs:36:33: 36:34 StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:36:33: 36:34
falseEdges -> [real: bb2, imaginary: bb2]; // bb9[2]: scope 0 at $DIR/match_false_edges.rs:36:21: 36:28 falseEdges -> [real: bb2, imaginary: bb2]; // scope 0 at $DIR/match_false_edges.rs:36:21: 36:28
} }
bb10: { bb10: {
StorageLive(_9); // bb10[0]: scope 0 at $DIR/match_false_edges.rs:37:9: 37:11 StorageLive(_9); // scope 0 at $DIR/match_false_edges.rs:37:9: 37:11
_9 = _2; // bb10[1]: scope 0 at $DIR/match_false_edges.rs:37:9: 37:11 _9 = _2; // scope 0 at $DIR/match_false_edges.rs:37:9: 37:11
_1 = const 2i32; // bb10[2]: scope 3 at $DIR/match_false_edges.rs:37:15: 37:16 _1 = const 2i32; // scope 3 at $DIR/match_false_edges.rs:37:15: 37:16
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000002)) // + val: Value(Scalar(0x00000002))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:37:15: 37:16 // + span: $DIR/match_false_edges.rs:37:15: 37:16
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
StorageDead(_9); // bb10[3]: scope 0 at $DIR/match_false_edges.rs:37:16: 37:17 StorageDead(_9); // scope 0 at $DIR/match_false_edges.rs:37:16: 37:17
goto -> bb15; // bb10[4]: scope 0 at $DIR/match_false_edges.rs:35:13: 40:6 goto -> bb15; // scope 0 at $DIR/match_false_edges.rs:35:13: 40:6
} }
bb11: { bb11: {
StorageLive(_11); // bb11[0]: scope 0 at $DIR/match_false_edges.rs:38:14: 38:15 StorageLive(_11); // scope 0 at $DIR/match_false_edges.rs:38:14: 38:15
_11 = &((_2 as Some).0: i32); // bb11[1]: scope 0 at $DIR/match_false_edges.rs:38:14: 38:15 _11 = &((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:38:14: 38:15
_5 = &shallow _2; // bb11[2]: scope 0 at $DIR/match_false_edges.rs:35:19: 35:26 _5 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26
StorageLive(_12); // bb11[3]: scope 0 at $DIR/match_false_edges.rs:38:20: 38:29 StorageLive(_12); // scope 0 at $DIR/match_false_edges.rs:38:20: 38:29
StorageLive(_13); // bb11[4]: scope 0 at $DIR/match_false_edges.rs:38:27: 38:28 StorageLive(_13); // scope 0 at $DIR/match_false_edges.rs:38:27: 38:28
_13 = (*_11); // bb11[5]: scope 0 at $DIR/match_false_edges.rs:38:27: 38:28 _13 = (*_11); // scope 0 at $DIR/match_false_edges.rs:38:27: 38:28
_12 = const guard2(move _13) -> [return: bb12, unwind: bb1]; // bb11[6]: scope 0 at $DIR/match_false_edges.rs:38:20: 38:29 _12 = const guard2(move _13) -> [return: bb12, unwind: bb1]; // scope 0 at $DIR/match_false_edges.rs:38:20: 38:29
// ty::Const // ty::Const
// + ty: fn(i32) -> bool {guard2} // + ty: fn(i32) -> bool {guard2}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -151,44 +151,44 @@ fn main() -> () {
} }
bb12: { bb12: {
StorageDead(_13); // bb12[0]: scope 0 at $DIR/match_false_edges.rs:38:28: 38:29 StorageDead(_13); // scope 0 at $DIR/match_false_edges.rs:38:28: 38:29
switchInt(move _12) -> [false: bb14, otherwise: bb13]; // bb12[1]: scope 0 at $DIR/match_false_edges.rs:38:20: 38:29 switchInt(move _12) -> [false: bb14, otherwise: bb13]; // scope 0 at $DIR/match_false_edges.rs:38:20: 38:29
} }
bb13: { bb13: {
StorageDead(_12); // bb13[0]: scope 0 at $DIR/match_false_edges.rs:38:34: 38:35 StorageDead(_12); // scope 0 at $DIR/match_false_edges.rs:38:34: 38:35
FakeRead(ForMatchGuard, _5); // bb13[1]: scope 0 at $DIR/match_false_edges.rs:38:28: 38:29 FakeRead(ForMatchGuard, _5); // scope 0 at $DIR/match_false_edges.rs:38:28: 38:29
FakeRead(ForGuardBinding, _11); // bb13[2]: scope 0 at $DIR/match_false_edges.rs:38:28: 38:29 FakeRead(ForGuardBinding, _11); // scope 0 at $DIR/match_false_edges.rs:38:28: 38:29
StorageLive(_10); // bb13[3]: scope 0 at $DIR/match_false_edges.rs:38:14: 38:15 StorageLive(_10); // scope 0 at $DIR/match_false_edges.rs:38:14: 38:15
_10 = ((_2 as Some).0: i32); // bb13[4]: scope 0 at $DIR/match_false_edges.rs:38:14: 38:15 _10 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:38:14: 38:15
_1 = const 3i32; // bb13[5]: scope 4 at $DIR/match_false_edges.rs:38:33: 38:34 _1 = const 3i32; // scope 4 at $DIR/match_false_edges.rs:38:33: 38:34
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000003)) // + val: Value(Scalar(0x00000003))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:38:33: 38:34 // + span: $DIR/match_false_edges.rs:38:33: 38:34
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
StorageDead(_10); // bb13[6]: scope 0 at $DIR/match_false_edges.rs:38:34: 38:35 StorageDead(_10); // scope 0 at $DIR/match_false_edges.rs:38:34: 38:35
StorageDead(_11); // bb13[7]: scope 0 at $DIR/match_false_edges.rs:38:34: 38:35 StorageDead(_11); // scope 0 at $DIR/match_false_edges.rs:38:34: 38:35
goto -> bb15; // bb13[8]: scope 0 at $DIR/match_false_edges.rs:35:13: 40:6 goto -> bb15; // scope 0 at $DIR/match_false_edges.rs:35:13: 40:6
} }
bb14: { bb14: {
StorageDead(_12); // bb14[0]: scope 0 at $DIR/match_false_edges.rs:38:34: 38:35 StorageDead(_12); // scope 0 at $DIR/match_false_edges.rs:38:34: 38:35
StorageDead(_11); // bb14[1]: scope 0 at $DIR/match_false_edges.rs:38:34: 38:35 StorageDead(_11); // scope 0 at $DIR/match_false_edges.rs:38:34: 38:35
falseEdges -> [real: bb4, imaginary: bb4]; // bb14[2]: scope 0 at $DIR/match_false_edges.rs:38:20: 38:29 falseEdges -> [real: bb4, imaginary: bb4]; // scope 0 at $DIR/match_false_edges.rs:38:20: 38:29
} }
bb15: { bb15: {
StorageDead(_2); // bb15[0]: scope 0 at $DIR/match_false_edges.rs:40:6: 40:7 StorageDead(_2); // scope 0 at $DIR/match_false_edges.rs:40:6: 40:7
StorageDead(_1); // bb15[1]: scope 0 at $DIR/match_false_edges.rs:40:6: 40:7 StorageDead(_1); // scope 0 at $DIR/match_false_edges.rs:40:6: 40:7
_0 = const (); // bb15[2]: scope 0 at $DIR/match_false_edges.rs:34:11: 41:2 _0 = const (); // scope 0 at $DIR/match_false_edges.rs:34:11: 41:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/match_false_edges.rs:34:11: 41:2 // + span: $DIR/match_false_edges.rs:34:11: 41:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb15[3]: scope 0 at $DIR/match_false_edges.rs:41:2: 41:2 return; // scope 0 at $DIR/match_false_edges.rs:41:2: 41:2
} }
} }

View file

@ -19,154 +19,154 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/match_test.rs:7:9: 7:10 StorageLive(_1); // scope 0 at $DIR/match_test.rs:7:9: 7:10
_1 = const 3i32; // bb0[1]: scope 0 at $DIR/match_test.rs:7:13: 7:14 _1 = const 3i32; // scope 0 at $DIR/match_test.rs:7:13: 7:14
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000003)) // + val: Value(Scalar(0x00000003))
// mir::Constant // mir::Constant
// + span: $DIR/match_test.rs:7:13: 7:14 // + span: $DIR/match_test.rs:7:13: 7:14
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
FakeRead(ForLet, _1); // bb0[2]: scope 0 at $DIR/match_test.rs:7:9: 7:10 FakeRead(ForLet, _1); // scope 0 at $DIR/match_test.rs:7:9: 7:10
StorageLive(_2); // bb0[3]: scope 1 at $DIR/match_test.rs:8:9: 8:10 StorageLive(_2); // scope 1 at $DIR/match_test.rs:8:9: 8:10
_2 = const true; // bb0[4]: scope 1 at $DIR/match_test.rs:8:13: 8:17 _2 = const true; // scope 1 at $DIR/match_test.rs:8:13: 8:17
// ty::Const // ty::Const
// + ty: bool // + ty: bool
// + val: Value(Scalar(0x01)) // + val: Value(Scalar(0x01))
// mir::Constant // mir::Constant
// + span: $DIR/match_test.rs:8:13: 8:17 // + span: $DIR/match_test.rs:8:13: 8:17
// + literal: Const { ty: bool, val: Value(Scalar(0x01)) } // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
FakeRead(ForLet, _2); // bb0[5]: scope 1 at $DIR/match_test.rs:8:9: 8:10 FakeRead(ForLet, _2); // scope 1 at $DIR/match_test.rs:8:9: 8:10
StorageLive(_3); // bb0[6]: scope 2 at $DIR/match_test.rs:12:5: 17:6 StorageLive(_3); // scope 2 at $DIR/match_test.rs:12:5: 17:6
FakeRead(ForMatchedPlace, _1); // bb0[7]: scope 2 at $DIR/match_test.rs:12:11: 12:12 FakeRead(ForMatchedPlace, _1); // scope 2 at $DIR/match_test.rs:12:11: 12:12
_6 = Le(const 0i32, _1); // bb0[8]: scope 2 at $DIR/match_test.rs:13:9: 13:14 _6 = Le(const 0i32, _1); // scope 2 at $DIR/match_test.rs:13:9: 13:14
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/match_test.rs:13:9: 13:14 // + span: $DIR/match_test.rs:13:9: 13:14
// + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) }
switchInt(move _6) -> [false: bb4, otherwise: bb1]; // bb0[9]: scope 2 at $DIR/match_test.rs:13:9: 13:14 switchInt(move _6) -> [false: bb4, otherwise: bb1]; // scope 2 at $DIR/match_test.rs:13:9: 13:14
} }
bb1: { bb1: {
_7 = Lt(_1, const 10i32); // bb1[0]: scope 2 at $DIR/match_test.rs:13:9: 13:14 _7 = Lt(_1, const 10i32); // scope 2 at $DIR/match_test.rs:13:9: 13:14
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x0000000a)) // + val: Value(Scalar(0x0000000a))
// mir::Constant // mir::Constant
// + span: $DIR/match_test.rs:13:9: 13:14 // + span: $DIR/match_test.rs:13:9: 13:14
// + literal: Const { ty: i32, val: Value(Scalar(0x0000000a)) } // + literal: Const { ty: i32, val: Value(Scalar(0x0000000a)) }
switchInt(move _7) -> [false: bb4, otherwise: bb2]; // bb1[1]: scope 2 at $DIR/match_test.rs:13:9: 13:14 switchInt(move _7) -> [false: bb4, otherwise: bb2]; // scope 2 at $DIR/match_test.rs:13:9: 13:14
} }
bb2: { bb2: {
falseEdges -> [real: bb9, imaginary: bb6]; // bb2[0]: scope 2 at $DIR/match_test.rs:13:9: 13:14 falseEdges -> [real: bb9, imaginary: bb6]; // scope 2 at $DIR/match_test.rs:13:9: 13:14
} }
bb3: { bb3: {
_3 = const 3i32; // bb3[0]: scope 2 at $DIR/match_test.rs:16:14: 16:15 _3 = const 3i32; // scope 2 at $DIR/match_test.rs:16:14: 16:15
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000003)) // + val: Value(Scalar(0x00000003))
// mir::Constant // mir::Constant
// + span: $DIR/match_test.rs:16:14: 16:15 // + span: $DIR/match_test.rs:16:14: 16:15
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
goto -> bb14; // bb3[1]: scope 2 at $DIR/match_test.rs:12:5: 17:6 goto -> bb14; // scope 2 at $DIR/match_test.rs:12:5: 17:6
} }
bb4: { bb4: {
_4 = Le(const 10i32, _1); // bb4[0]: scope 2 at $DIR/match_test.rs:14:9: 14:16 _4 = Le(const 10i32, _1); // scope 2 at $DIR/match_test.rs:14:9: 14:16
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x0000000a)) // + val: Value(Scalar(0x0000000a))
// mir::Constant // mir::Constant
// + span: $DIR/match_test.rs:14:9: 14:16 // + span: $DIR/match_test.rs:14:9: 14:16
// + literal: Const { ty: i32, val: Value(Scalar(0x0000000a)) } // + literal: Const { ty: i32, val: Value(Scalar(0x0000000a)) }
switchInt(move _4) -> [false: bb7, otherwise: bb5]; // bb4[1]: scope 2 at $DIR/match_test.rs:14:9: 14:16 switchInt(move _4) -> [false: bb7, otherwise: bb5]; // scope 2 at $DIR/match_test.rs:14:9: 14:16
} }
bb5: { bb5: {
_5 = Le(_1, const 20i32); // bb5[0]: scope 2 at $DIR/match_test.rs:14:9: 14:16 _5 = Le(_1, const 20i32); // scope 2 at $DIR/match_test.rs:14:9: 14:16
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000014)) // + val: Value(Scalar(0x00000014))
// mir::Constant // mir::Constant
// + span: $DIR/match_test.rs:14:9: 14:16 // + span: $DIR/match_test.rs:14:9: 14:16
// + literal: Const { ty: i32, val: Value(Scalar(0x00000014)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000014)) }
switchInt(move _5) -> [false: bb7, otherwise: bb6]; // bb5[1]: scope 2 at $DIR/match_test.rs:14:9: 14:16 switchInt(move _5) -> [false: bb7, otherwise: bb6]; // scope 2 at $DIR/match_test.rs:14:9: 14:16
} }
bb6: { bb6: {
falseEdges -> [real: bb12, imaginary: bb8]; // bb6[0]: scope 2 at $DIR/match_test.rs:14:9: 14:16 falseEdges -> [real: bb12, imaginary: bb8]; // scope 2 at $DIR/match_test.rs:14:9: 14:16
} }
bb7: { bb7: {
switchInt(_1) -> [-1i32: bb8, otherwise: bb3]; // bb7[0]: scope 2 at $DIR/match_test.rs:15:9: 15:11 switchInt(_1) -> [-1i32: bb8, otherwise: bb3]; // scope 2 at $DIR/match_test.rs:15:9: 15:11
} }
bb8: { bb8: {
falseEdges -> [real: bb13, imaginary: bb3]; // bb8[0]: scope 2 at $DIR/match_test.rs:15:9: 15:11 falseEdges -> [real: bb13, imaginary: bb3]; // scope 2 at $DIR/match_test.rs:15:9: 15:11
} }
bb9: { bb9: {
_8 = &shallow _1; // bb9[0]: scope 2 at $DIR/match_test.rs:12:11: 12:12 _8 = &shallow _1; // scope 2 at $DIR/match_test.rs:12:11: 12:12
StorageLive(_9); // bb9[1]: scope 2 at $DIR/match_test.rs:13:18: 13:19 StorageLive(_9); // scope 2 at $DIR/match_test.rs:13:18: 13:19
_9 = _2; // bb9[2]: scope 2 at $DIR/match_test.rs:13:18: 13:19 _9 = _2; // scope 2 at $DIR/match_test.rs:13:18: 13:19
switchInt(move _9) -> [false: bb11, otherwise: bb10]; // bb9[3]: scope 2 at $DIR/match_test.rs:13:18: 13:19 switchInt(move _9) -> [false: bb11, otherwise: bb10]; // scope 2 at $DIR/match_test.rs:13:18: 13:19
} }
bb10: { bb10: {
StorageDead(_9); // bb10[0]: scope 2 at $DIR/match_test.rs:13:24: 13:25 StorageDead(_9); // scope 2 at $DIR/match_test.rs:13:24: 13:25
FakeRead(ForMatchGuard, _8); // bb10[1]: scope 2 at $DIR/match_test.rs:13:18: 13:19 FakeRead(ForMatchGuard, _8); // scope 2 at $DIR/match_test.rs:13:18: 13:19
_3 = const 0i32; // bb10[2]: scope 2 at $DIR/match_test.rs:13:23: 13:24 _3 = const 0i32; // scope 2 at $DIR/match_test.rs:13:23: 13:24
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/match_test.rs:13:23: 13:24 // + span: $DIR/match_test.rs:13:23: 13:24
// + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) }
goto -> bb14; // bb10[3]: scope 2 at $DIR/match_test.rs:12:5: 17:6 goto -> bb14; // scope 2 at $DIR/match_test.rs:12:5: 17:6
} }
bb11: { bb11: {
StorageDead(_9); // bb11[0]: scope 2 at $DIR/match_test.rs:13:24: 13:25 StorageDead(_9); // scope 2 at $DIR/match_test.rs:13:24: 13:25
falseEdges -> [real: bb3, imaginary: bb6]; // bb11[1]: scope 2 at $DIR/match_test.rs:13:18: 13:19 falseEdges -> [real: bb3, imaginary: bb6]; // scope 2 at $DIR/match_test.rs:13:18: 13:19
} }
bb12: { bb12: {
_3 = const 1i32; // bb12[0]: scope 2 at $DIR/match_test.rs:14:20: 14:21 _3 = const 1i32; // scope 2 at $DIR/match_test.rs:14:20: 14:21
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/match_test.rs:14:20: 14:21 // + span: $DIR/match_test.rs:14:20: 14:21
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
goto -> bb14; // bb12[1]: scope 2 at $DIR/match_test.rs:12:5: 17:6 goto -> bb14; // scope 2 at $DIR/match_test.rs:12:5: 17:6
} }
bb13: { bb13: {
_3 = const 2i32; // bb13[0]: scope 2 at $DIR/match_test.rs:15:15: 15:16 _3 = const 2i32; // scope 2 at $DIR/match_test.rs:15:15: 15:16
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000002)) // + val: Value(Scalar(0x00000002))
// mir::Constant // mir::Constant
// + span: $DIR/match_test.rs:15:15: 15:16 // + span: $DIR/match_test.rs:15:15: 15:16
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
goto -> bb14; // bb13[1]: scope 2 at $DIR/match_test.rs:12:5: 17:6 goto -> bb14; // scope 2 at $DIR/match_test.rs:12:5: 17:6
} }
bb14: { bb14: {
StorageDead(_3); // bb14[0]: scope 2 at $DIR/match_test.rs:17:6: 17:7 StorageDead(_3); // scope 2 at $DIR/match_test.rs:17:6: 17:7
_0 = const (); // bb14[1]: scope 0 at $DIR/match_test.rs:6:11: 18:2 _0 = const (); // scope 0 at $DIR/match_test.rs:6:11: 18:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/match_test.rs:6:11: 18:2 // + span: $DIR/match_test.rs:6:11: 18:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
StorageDead(_2); // bb14[2]: scope 1 at $DIR/match_test.rs:18:1: 18:2 StorageDead(_2); // scope 1 at $DIR/match_test.rs:18:1: 18:2
StorageDead(_1); // bb14[3]: scope 0 at $DIR/match_test.rs:18:1: 18:2 StorageDead(_1); // scope 0 at $DIR/match_test.rs:18:1: 18:2
return; // bb14[4]: scope 0 at $DIR/match_test.rs:18:2: 18:2 return; // scope 0 at $DIR/match_test.rs:18:2: 18:2
} }
} }

View file

@ -13,17 +13,17 @@ fn unwrap(_1: std::option::Option<T>) -> T {
} }
bb0: { bb0: {
_2 = discriminant(_1); // bb0[0]: scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:9: 9:16 _2 = discriminant(_1); // scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:9: 9:16
switchInt(move _2) -> [0isize: bb2, 1isize: bb4, otherwise: bb3]; // bb0[1]: scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:9: 9:16 switchInt(move _2) -> [0isize: bb2, 1isize: bb4, otherwise: bb3]; // scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:9: 9:16
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/no-drop-for-inactive-variant.rs:7:1: 12:2 resume; // scope 0 at $DIR/no-drop-for-inactive-variant.rs:7:1: 12:2
} }
bb2: { bb2: {
StorageLive(_4); // bb2[0]: scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL StorageLive(_4); // scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL
const std::rt::begin_panic::<&str>(const "explicit panic") -> bb5; // bb2[1]: scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL const std::rt::begin_panic::<&str>(const "explicit panic") -> bb5; // scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL
// ty::Const // ty::Const
// + ty: fn(&str) -> ! {std::rt::begin_panic::<&str>} // + ty: fn(&str) -> ! {std::rt::begin_panic::<&str>}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -39,19 +39,19 @@ fn unwrap(_1: std::option::Option<T>) -> T {
} }
bb3: { bb3: {
unreachable; // bb3[0]: scope 0 at $DIR/no-drop-for-inactive-variant.rs:8:11: 8:14 unreachable; // scope 0 at $DIR/no-drop-for-inactive-variant.rs:8:11: 8:14
} }
bb4: { bb4: {
StorageLive(_3); // bb4[0]: scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:14: 9:15 StorageLive(_3); // scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:14: 9:15
_3 = move ((_1 as Some).0: T); // bb4[1]: scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:14: 9:15 _3 = move ((_1 as Some).0: T); // scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:14: 9:15
_0 = move _3; // bb4[2]: scope 1 at $DIR/no-drop-for-inactive-variant.rs:9:20: 9:21 _0 = move _3; // scope 1 at $DIR/no-drop-for-inactive-variant.rs:9:20: 9:21
StorageDead(_3); // bb4[3]: scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:21: 9:22 StorageDead(_3); // scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:21: 9:22
_5 = discriminant(_1); // bb4[4]: scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:1: 12:2 _5 = discriminant(_1); // scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:1: 12:2
return; // bb4[5]: scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:2: 12:2 return; // scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:2: 12:2
} }
bb5 (cleanup): { bb5 (cleanup): {
drop(_1) -> bb1; // bb5[0]: scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:1: 12:2 drop(_1) -> bb1; // scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:1: 12:2
} }
} }

View file

@ -8,19 +8,19 @@ fn main() -> () {
let _4: &str; // in scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22 let _4: &str; // in scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:5: 9:35 StorageLive(_1); // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:5: 9:35
StorageLive(_2); // bb0[1]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:34 StorageLive(_2); // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:34
StorageLive(_3); // bb0[2]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22 StorageLive(_3); // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22
StorageLive(_4); // bb0[3]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22 StorageLive(_4); // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22
_4 = const ""; // bb0[4]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22 _4 = const ""; // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22
// ty::Const // ty::Const
// + ty: &str // + ty: &str
// + val: Value(Slice { data: Allocation { bytes: [], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [], len: Size { raw: 0 } }, size: Size { raw: 0 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 0 }) // + val: Value(Slice { data: Allocation { bytes: [], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [], len: Size { raw: 0 } }, size: Size { raw: 0 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 0 })
// mir::Constant // mir::Constant
// + span: $DIR/no-spurious-drop-after-call.rs:9:20: 9:22 // + span: $DIR/no-spurious-drop-after-call.rs:9:20: 9:22
// + literal: Const { ty: &str, val: Value(Slice { data: Allocation { bytes: [], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [], len: Size { raw: 0 } }, size: Size { raw: 0 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 0 }) } // + literal: Const { ty: &str, val: Value(Slice { data: Allocation { bytes: [], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [], len: Size { raw: 0 } }, size: Size { raw: 0 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 0 }) }
_3 = &(*_4); // bb0[5]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22 _3 = &(*_4); // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:22
_2 = const <str as std::string::ToString>::to_string(move _3) -> bb2; // bb0[6]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:34 _2 = const <str as std::string::ToString>::to_string(move _3) -> bb2; // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:20: 9:34
// ty::Const // ty::Const
// + ty: for<'r> fn(&'r str) -> std::string::String {<str as std::string::ToString>::to_string} // + ty: for<'r> fn(&'r str) -> std::string::String {<str as std::string::ToString>::to_string}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -30,12 +30,12 @@ fn main() -> () {
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/no-spurious-drop-after-call.rs:8:1: 10:2 resume; // scope 0 at $DIR/no-spurious-drop-after-call.rs:8:1: 10:2
} }
bb2: { bb2: {
StorageDead(_3); // bb2[0]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:33: 9:34 StorageDead(_3); // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:33: 9:34
_1 = const std::mem::drop::<std::string::String>(move _2) -> [return: bb3, unwind: bb4]; // bb2[1]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:5: 9:35 _1 = const std::mem::drop::<std::string::String>(move _2) -> [return: bb3, unwind: bb4]; // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:5: 9:35
// ty::Const // ty::Const
// + ty: fn(std::string::String) {std::mem::drop::<std::string::String>} // + ty: fn(std::string::String) {std::mem::drop::<std::string::String>}
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
@ -45,20 +45,20 @@ fn main() -> () {
} }
bb3: { bb3: {
StorageDead(_2); // bb3[0]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:34: 9:35 StorageDead(_2); // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:34: 9:35
StorageDead(_4); // bb3[1]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:35: 9:36 StorageDead(_4); // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:35: 9:36
StorageDead(_1); // bb3[2]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:35: 9:36 StorageDead(_1); // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:35: 9:36
_0 = const (); // bb3[3]: scope 0 at $DIR/no-spurious-drop-after-call.rs:8:11: 10:2 _0 = const (); // scope 0 at $DIR/no-spurious-drop-after-call.rs:8:11: 10:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/no-spurious-drop-after-call.rs:8:11: 10:2 // + span: $DIR/no-spurious-drop-after-call.rs:8:11: 10:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
return; // bb3[4]: scope 0 at $DIR/no-spurious-drop-after-call.rs:10:2: 10:2 return; // scope 0 at $DIR/no-spurious-drop-after-call.rs:10:2: 10:2
} }
bb4 (cleanup): { bb4 (cleanup): {
drop(_2) -> bb1; // bb4[0]: scope 0 at $DIR/no-spurious-drop-after-call.rs:9:34: 9:35 drop(_2) -> bb1; // scope 0 at $DIR/no-spurious-drop-after-call.rs:9:34: 9:35
} }
} }

View file

@ -13,61 +13,61 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14 StorageLive(_1); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14
StorageLive(_2); // bb0[1]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42 StorageLive(_2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
StorageLive(_3); // bb0[2]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41 StorageLive(_3); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
_3 = Droppy(const 0usize); // bb0[3]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41 _3 = Droppy(const 0usize); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/packed-struct-drop-aligned.rs:6:39: 6:40 // + span: $DIR/packed-struct-drop-aligned.rs:6:39: 6:40
// + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) }
_2 = Aligned(move _3); // bb0[4]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42 _2 = Aligned(move _3); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
StorageDead(_3); // bb0[5]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:41: 6:42 StorageDead(_3); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:41: 6:42
_1 = Packed(move _2); // bb0[6]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:17: 6:43 _1 = Packed(move _2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:17: 6:43
StorageDead(_2); // bb0[7]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:42: 6:43 StorageDead(_2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:42: 6:43
StorageLive(_4); // bb0[8]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29 StorageLive(_4); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
StorageLive(_5); // bb0[9]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28 StorageLive(_5); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
_5 = Droppy(const 0usize); // bb0[10]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28 _5 = Droppy(const 0usize); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/packed-struct-drop-aligned.rs:7:26: 7:27 // + span: $DIR/packed-struct-drop-aligned.rs:7:26: 7:27
// + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) }
_4 = Aligned(move _5); // bb0[11]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29 _4 = Aligned(move _5); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
StorageDead(_5); // bb0[12]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:28: 7:29 StorageDead(_5); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:28: 7:29
StorageLive(_6); // bb0[13]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8 StorageLive(_6); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
_6 = move (_1.0: Aligned); // bb0[14]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8 _6 = move (_1.0: Aligned); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
drop(_6) -> [return: bb4, unwind: bb3]; // bb0[15]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8 drop(_6) -> [return: bb4, unwind: bb3]; // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/packed-struct-drop-aligned.rs:5:1: 8:2 resume; // scope 0 at $DIR/packed-struct-drop-aligned.rs:5:1: 8:2
} }
bb2: { bb2: {
StorageDead(_1); // bb2[0]: scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2 StorageDead(_1); // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2
return; // bb2[1]: scope 0 at $DIR/packed-struct-drop-aligned.rs:8:2: 8:2 return; // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:2: 8:2
} }
bb3 (cleanup): { bb3 (cleanup): {
(_1.0: Aligned) = move _4; // bb3[0]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8 (_1.0: Aligned) = move _4; // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
drop(_1) -> bb1; // bb3[1]: scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2 drop(_1) -> bb1; // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2
} }
bb4: { bb4: {
StorageDead(_6); // bb4[0]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8 StorageDead(_6); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
(_1.0: Aligned) = move _4; // bb4[1]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8 (_1.0: Aligned) = move _4; // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
StorageDead(_4); // bb4[2]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:28: 7:29 StorageDead(_4); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:28: 7:29
_0 = const (); // bb4[3]: scope 0 at $DIR/packed-struct-drop-aligned.rs:5:11: 8:2 _0 = const (); // scope 0 at $DIR/packed-struct-drop-aligned.rs:5:11: 8:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/packed-struct-drop-aligned.rs:5:11: 8:2 // + span: $DIR/packed-struct-drop-aligned.rs:5:11: 8:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
drop(_1) -> [return: bb2, unwind: bb1]; // bb4[4]: scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2 drop(_1) -> [return: bb2, unwind: bb1]; // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2
} }
} }

View file

@ -13,61 +13,61 @@ fn main() -> () {
} }
bb0: { bb0: {
StorageLive(_1); // bb0[0]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14 StorageLive(_1); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14
StorageLive(_2); // bb0[1]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42 StorageLive(_2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
StorageLive(_3); // bb0[2]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41 StorageLive(_3); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
_3 = Droppy(const 0usize); // bb0[3]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41 _3 = Droppy(const 0usize); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000000)) // + val: Value(Scalar(0x0000000000000000))
// mir::Constant // mir::Constant
// + span: $DIR/packed-struct-drop-aligned.rs:6:39: 6:40 // + span: $DIR/packed-struct-drop-aligned.rs:6:39: 6:40
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
_2 = Aligned(move _3); // bb0[4]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42 _2 = Aligned(move _3); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
StorageDead(_3); // bb0[5]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:41: 6:42 StorageDead(_3); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:41: 6:42
_1 = Packed(move _2); // bb0[6]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:17: 6:43 _1 = Packed(move _2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:17: 6:43
StorageDead(_2); // bb0[7]: scope 0 at $DIR/packed-struct-drop-aligned.rs:6:42: 6:43 StorageDead(_2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:42: 6:43
StorageLive(_4); // bb0[8]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29 StorageLive(_4); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
StorageLive(_5); // bb0[9]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28 StorageLive(_5); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
_5 = Droppy(const 0usize); // bb0[10]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28 _5 = Droppy(const 0usize); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
// ty::Const // ty::Const
// + ty: usize // + ty: usize
// + val: Value(Scalar(0x0000000000000000)) // + val: Value(Scalar(0x0000000000000000))
// mir::Constant // mir::Constant
// + span: $DIR/packed-struct-drop-aligned.rs:7:26: 7:27 // + span: $DIR/packed-struct-drop-aligned.rs:7:26: 7:27
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) } // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
_4 = Aligned(move _5); // bb0[11]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29 _4 = Aligned(move _5); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
StorageDead(_5); // bb0[12]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:28: 7:29 StorageDead(_5); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:28: 7:29
StorageLive(_6); // bb0[13]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8 StorageLive(_6); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
_6 = move (_1.0: Aligned); // bb0[14]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8 _6 = move (_1.0: Aligned); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
drop(_6) -> [return: bb4, unwind: bb3]; // bb0[15]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8 drop(_6) -> [return: bb4, unwind: bb3]; // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
} }
bb1 (cleanup): { bb1 (cleanup): {
resume; // bb1[0]: scope 0 at $DIR/packed-struct-drop-aligned.rs:5:1: 8:2 resume; // scope 0 at $DIR/packed-struct-drop-aligned.rs:5:1: 8:2
} }
bb2: { bb2: {
StorageDead(_1); // bb2[0]: scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2 StorageDead(_1); // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2
return; // bb2[1]: scope 0 at $DIR/packed-struct-drop-aligned.rs:8:2: 8:2 return; // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:2: 8:2
} }
bb3 (cleanup): { bb3 (cleanup): {
(_1.0: Aligned) = move _4; // bb3[0]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8 (_1.0: Aligned) = move _4; // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
drop(_1) -> bb1; // bb3[1]: scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2 drop(_1) -> bb1; // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2
} }
bb4: { bb4: {
StorageDead(_6); // bb4[0]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8 StorageDead(_6); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
(_1.0: Aligned) = move _4; // bb4[1]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8 (_1.0: Aligned) = move _4; // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:5: 7:8
StorageDead(_4); // bb4[2]: scope 1 at $DIR/packed-struct-drop-aligned.rs:7:28: 7:29 StorageDead(_4); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:28: 7:29
_0 = const (); // bb4[3]: scope 0 at $DIR/packed-struct-drop-aligned.rs:5:11: 8:2 _0 = const (); // scope 0 at $DIR/packed-struct-drop-aligned.rs:5:11: 8:2
// ty::Const // ty::Const
// + ty: () // + ty: ()
// + val: Value(Scalar(<ZST>)) // + val: Value(Scalar(<ZST>))
// mir::Constant // mir::Constant
// + span: $DIR/packed-struct-drop-aligned.rs:5:11: 8:2 // + span: $DIR/packed-struct-drop-aligned.rs:5:11: 8:2
// + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
drop(_1) -> [return: bb2, unwind: bb1]; // bb4[4]: scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2 drop(_1) -> [return: bb2, unwind: bb1]; // scope 0 at $DIR/packed-struct-drop-aligned.rs:8:1: 8:2
} }
} }

View file

@ -6,6 +6,6 @@ fn no_codegen() -> () {
} }
bb0: { bb0: {
unreachable; // bb0[0]: scope 0 at $DIR/remove-never-const.rs:20:13: 20:33 unreachable; // scope 0 at $DIR/remove-never-const.rs:20:13: 20:33
} }
} }

View file

@ -13,76 +13,76 @@
let mut _8: bool; // in scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 let mut _8: bool; // in scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
bb0: { bb0: {
- FakeRead(ForMatchedPlace, _1); // bb0[0]: scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 - FakeRead(ForMatchedPlace, _1); // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
+ nop; // bb0[0]: scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 + nop; // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
_3 = discriminant(_1); // bb0[1]: scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16 _3 = discriminant(_1); // scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16
switchInt(move _3) -> [1isize: bb2, otherwise: bb1]; // bb0[2]: scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16 switchInt(move _3) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16
} }
bb1: { bb1: {
_0 = const 1i32; // bb1[0]: scope 0 at $DIR/remove_fake_borrows.rs:9:14: 9:15 _0 = const 1i32; // scope 0 at $DIR/remove_fake_borrows.rs:9:14: 9:15
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000001)) // + val: Value(Scalar(0x00000001))
// mir::Constant // mir::Constant
// + span: $DIR/remove_fake_borrows.rs:9:14: 9:15 // + span: $DIR/remove_fake_borrows.rs:9:14: 9:15
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
goto -> bb7; // bb1[1]: scope 0 at $DIR/remove_fake_borrows.rs:7:5: 10:6 goto -> bb7; // scope 0 at $DIR/remove_fake_borrows.rs:7:5: 10:6
} }
bb2: { bb2: {
switchInt((*(*((_1 as Some).0: &&i32)))) -> [0i32: bb3, otherwise: bb1]; // bb2[0]: scope 0 at $DIR/remove_fake_borrows.rs:8:14: 8:15 switchInt((*(*((_1 as Some).0: &&i32)))) -> [0i32: bb3, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:8:14: 8:15
} }
bb3: { bb3: {
goto -> bb4; // bb3[0]: scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16 goto -> bb4; // scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16
} }
bb4: { bb4: {
- _4 = &shallow _1; // bb4[0]: scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 - _4 = &shallow _1; // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
- _5 = &shallow ((_1 as Some).0: &&i32); // bb4[1]: scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 - _5 = &shallow ((_1 as Some).0: &&i32); // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
- _6 = &shallow (*((_1 as Some).0: &&i32)); // bb4[2]: scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 - _6 = &shallow (*((_1 as Some).0: &&i32)); // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
- _7 = &shallow (*(*((_1 as Some).0: &&i32))); // bb4[3]: scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 - _7 = &shallow (*(*((_1 as Some).0: &&i32))); // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
+ nop; // bb4[0]: scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 + nop; // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
+ nop; // bb4[1]: scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 + nop; // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
+ nop; // bb4[2]: scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 + nop; // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
+ nop; // bb4[3]: scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12 + nop; // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
StorageLive(_8); // bb4[4]: scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 StorageLive(_8); // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
_8 = _2; // bb4[5]: scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 _8 = _2; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
switchInt(move _8) -> [false: bb6, otherwise: bb5]; // bb4[6]: scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 switchInt(move _8) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
} }
bb5: { bb5: {
StorageDead(_8); // bb5[0]: scope 0 at $DIR/remove_fake_borrows.rs:8:26: 8:27 StorageDead(_8); // scope 0 at $DIR/remove_fake_borrows.rs:8:26: 8:27
- FakeRead(ForMatchGuard, _4); // bb5[1]: scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 - FakeRead(ForMatchGuard, _4); // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
- FakeRead(ForMatchGuard, _5); // bb5[2]: scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 - FakeRead(ForMatchGuard, _5); // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
- FakeRead(ForMatchGuard, _6); // bb5[3]: scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 - FakeRead(ForMatchGuard, _6); // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
- FakeRead(ForMatchGuard, _7); // bb5[4]: scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 - FakeRead(ForMatchGuard, _7); // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
+ nop; // bb5[1]: scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 + nop; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
+ nop; // bb5[2]: scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 + nop; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
+ nop; // bb5[3]: scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 + nop; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
+ nop; // bb5[4]: scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 + nop; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
_0 = const 0i32; // bb5[5]: scope 0 at $DIR/remove_fake_borrows.rs:8:25: 8:26 _0 = const 0i32; // scope 0 at $DIR/remove_fake_borrows.rs:8:25: 8:26
// ty::Const // ty::Const
// + ty: i32 // + ty: i32
// + val: Value(Scalar(0x00000000)) // + val: Value(Scalar(0x00000000))
// mir::Constant // mir::Constant
// + span: $DIR/remove_fake_borrows.rs:8:25: 8:26 // + span: $DIR/remove_fake_borrows.rs:8:25: 8:26
// + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) } // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) }
goto -> bb7; // bb5[6]: scope 0 at $DIR/remove_fake_borrows.rs:7:5: 10:6 goto -> bb7; // scope 0 at $DIR/remove_fake_borrows.rs:7:5: 10:6
} }
bb6: { bb6: {
StorageDead(_8); // bb6[0]: scope 0 at $DIR/remove_fake_borrows.rs:8:26: 8:27 StorageDead(_8); // scope 0 at $DIR/remove_fake_borrows.rs:8:26: 8:27
goto -> bb1; // bb6[1]: scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21 goto -> bb1; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
} }
bb7: { bb7: {
return; // bb7[0]: scope 0 at $DIR/remove_fake_borrows.rs:11:2: 11:2 return; // scope 0 at $DIR/remove_fake_borrows.rs:11:2: 11:2
} }
bb8 (cleanup): { bb8 (cleanup): {
resume; // bb8[0]: scope 0 at $DIR/remove_fake_borrows.rs:6:1: 11:2 resume; // scope 0 at $DIR/remove_fake_borrows.rs:6:1: 11:2
} }
} }

Some files were not shown because too many files have changed in this diff Show more