Created
December 19, 2018 12:14
-
-
Save pnkfelix/6e239bbb8643b9b2da958ef350625eb9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// MIR for `static_to_a_to_static_through_tyvar` | |
// source = MirSource { def_id: DefId(0/0:5 ~ wildcard_tyvars[317d]::static_to_a_to_static_through_tyvar[0]), promoted: None } | |
// pass_name = nll | |
// disambiguator = 0 | |
| Free Region Mapping | |
| '_#0r | Global | ['_#0r, '_#2r, '_#1r] | |
| '_#1r | Local | ['_#2r, '_#1r] | |
| '_#2r | Local | ['_#2r] | |
| | |
| Inferred Region Values | |
| '_#0r | U0 | {bb0[0..=24], '_#0r, '_#1r, '_#2r} | |
| '_#1r | U0 | {bb0[0..=24], '_#1r} | |
| '_#2r | U0 | {bb0[0..=24], '_#2r} | |
| '_#3r | U0 | {bb0[0..=24], '_#0r, '_#1r, '_#2r} | |
| '_#4r | U0 | {bb0[8..=17]} | |
| '_#5r | U0 | {bb0[9..=17]} | |
| '_#6r | U0 | {bb0[0..=24], '_#0r, '_#1r, '_#2r} | |
| '_#7r | U0 | {bb0[11..=17]} | |
| '_#8r | U0 | {bb0[0..=24], '_#0r, '_#1r, '_#2r} | |
| '_#9r | U0 | {} | |
| '_#10r | U0 | {bb0[0..=24], '_#0r, '_#1r, '_#2r} | |
| '_#11r | U0 | {bb0[0..=24], '_#1r} | |
| '_#12r | U0 | {bb0[0..=24], '_#0r, '_#1r, '_#2r} | |
| '_#13r | U0 | {bb0[0..=24], '_#0r, '_#1r, '_#2r} | |
| '_#14r | U0 | {} | |
| '_#15r | U0 | {bb0[0..=24], '_#0r, '_#1r, '_#2r} | |
| '_#16r | U0 | {bb0[11..=17]} | |
| '_#17r | U0 | {bb0[0..=24], '_#0r, '_#1r, '_#2r} | |
| '_#18r | U0 | {bb0[10..=17]} | |
| '_#19r | U0 | {bb0[9..=17]} | |
| '_#20r | U0 | {bb0[0..=24], '_#0r, '_#1r, '_#2r} | |
| '_#21r | U0 | {} | |
| '_#22r | U0 | {} | |
| | |
| Inference Constraints | |
| '_#0r live at {bb0[0..=24]} | |
| '_#1r live at {bb0[0..=24]} | |
| '_#2r live at {bb0[0..=24]} | |
| '_#3r live at {bb0[5]} | |
| '_#4r live at {bb0[8]} | |
| '_#5r live at {bb0[9]} | |
| '_#6r live at {bb0[15]} | |
| '_#7r live at {bb0[17]} | |
| '_#8r live at {bb0[20]} | |
| '_#15r live at {bb0[11..=17]} | |
| '_#16r live at {bb0[11..=17]} | |
| '_#18r live at {bb0[10]} | |
| '_#19r live at {bb0[9]} | |
| '_#0r: '_#10r due to BoringNoLocation at All(wildcard-tyvars.rs:8:77: 8:89) | |
| '_#0r: '_#12r due to BoringNoLocation at All(wildcard-tyvars.rs:8:57: 8:58) | |
| '_#1r: '_#11r due to BoringNoLocation at All(wildcard-tyvars.rs:8:44: 8:46) | |
| '_#3r: '_#17r due to Boring at Single(bb0[5]) | |
| '_#4r: '_#19r due to Boring at Single(bb0[8]) | |
| '_#5r: '_#18r due to Boring at Single(bb0[9]) | |
| '_#6r: '_#13r due to Assignment at Single(bb0[15]) | |
| '_#6r: '_#15r due to Boring at Single(bb0[15]) | |
| '_#7r: '_#14r due to Assignment at Single(bb0[17]) | |
| '_#7r: '_#16r due to Boring at Single(bb0[17]) | |
| '_#8r: '_#10r due to Return at Single(bb0[20]) | |
| '_#10r: '_#0r due to BoringNoLocation at All(wildcard-tyvars.rs:8:77: 8:89) | |
| '_#11r: '_#1r due to BoringNoLocation at All(wildcard-tyvars.rs:8:44: 8:46) | |
| '_#12r: '_#0r due to BoringNoLocation at All(wildcard-tyvars.rs:8:57: 8:58) | |
| '_#12r: '_#3r due to Boring at Single(bb0[5]) | |
| '_#13r: '_#8r due to Boring at Single(bb0[20]) | |
| '_#13r: '_#20r due to TypeAnnotation at All(wildcard-tyvars.rs:10:26: 10:36) | |
| '_#14r: '_#21r due to TypeAnnotation at All(wildcard-tyvars.rs:10:26: 10:36) | |
| '_#15r: '_#6r due to Boring at Single(bb0[15]) | |
| '_#15r: '_#22r due to TypeAnnotation at All(wildcard-tyvars.rs:10:26: 10:36) | |
| '_#16r: '_#7r due to Boring at Single(bb0[17]) | |
| '_#16r: '_#22r due to TypeAnnotation at All(wildcard-tyvars.rs:10:26: 10:36) | |
| '_#17r: '_#15r due to Boring at Single(bb0[10]) | |
| '_#18r: '_#16r due to Boring at Single(bb0[10]) | |
| '_#19r: '_#5r due to Boring at Single(bb0[9]) | |
| '_#20r: '_#13r due to TypeAnnotation at All(wildcard-tyvars.rs:10:26: 10:36) | |
| '_#21r: '_#14r due to TypeAnnotation at All(wildcard-tyvars.rs:10:26: 10:36) | |
| | |
| User Type Annotations | |
| 0: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty((&ReLateBound(DebruijnIndex(0), BrAnon(0)) u32, &ReLateBound(DebruijnIndex(0), BrAnon(0)) u32)) } at wildcard-tyvars.rs:10:26: 10:36 | |
| 1: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty((&ReLateBound(DebruijnIndex(0), BrAnon(0)) u32, &ReLateBound(DebruijnIndex(0), BrAnon(0)) u32)) } at wildcard-tyvars.rs:10:26: 10:36 | |
| 2: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty((&ReLateBound(DebruijnIndex(0), BrAnon(0)) u32, &ReLateBound(DebruijnIndex(0), BrAnon(0)) u32)) } at wildcard-tyvars.rs:10:26: 10:36 | |
| | |
fn static_to_a_to_static_through_tyvar(_1: &'_#11r u32, _2: &'_#12r u32) -> &'_#10r u32{ | |
let mut _0: &'_#10r u32; // return place | |
scope 1 { | |
scope 3 { | |
} | |
scope 4 { | |
let mut _4: &'_#13r u32 as UserTypeProjection { base: UserTypeAnnotation(0), projs: [Field(field[0], ())] }; // "y" in scope 4 at wildcard-tyvars.rs:10:10: 10:15 | |
let mut _5: &'_#14r u32 as UserTypeProjection { base: UserTypeAnnotation(1), projs: [Field(field[1], ())] }; // "_z" in scope 4 at wildcard-tyvars.rs:10:17: 10:23 | |
} | |
} | |
scope 2 { | |
let _3: u32; // "local" in scope 2 at wildcard-tyvars.rs:9:9: 9:14 | |
} | |
let mut _6: (&'_#15r u32, &'_#16r u32); | |
let mut _7: &'_#17r u32; | |
let mut _8: &'_#18r u32; | |
let mut _9: &'_#19r u32; | |
bb0: { | |
StorageLive(_3); // bb0[0]: scope 0 at wildcard-tyvars.rs:9:9: 9:14 | |
_3 = const 3u32; // bb0[1]: scope 0 at wildcard-tyvars.rs:9:17: 9:18 | |
// ty::Const | |
// + ty: u32 | |
// + val: Scalar(Bits { size: 4, bits: 3 }) | |
// mir::Constant | |
// + span: wildcard-tyvars.rs:9:17: 9:18 | |
// + ty: u32 | |
// + literal: Const { ty: u32, val: Scalar(Bits { size: 4, bits: 3 }) } | |
FakeRead(ForLet, _3); // bb0[2]: scope 0 at wildcard-tyvars.rs:9:9: 9:14 | |
StorageLive(_6); // bb0[3]: scope 1 at wildcard-tyvars.rs:10:39: 10:50 | |
StorageLive(_7); // bb0[4]: scope 1 at wildcard-tyvars.rs:10:40: 10:41 | |
_7 = &'_#3r (*_2); // bb0[5]: scope 1 at wildcard-tyvars.rs:10:40: 10:41 | |
StorageLive(_8); // bb0[6]: scope 1 at wildcard-tyvars.rs:10:43: 10:49 | |
StorageLive(_9); // bb0[7]: scope 1 at wildcard-tyvars.rs:10:43: 10:49 | |
_9 = &'_#4r _3; // bb0[8]: scope 1 at wildcard-tyvars.rs:10:43: 10:49 | |
_8 = &'_#5r (*_9); // bb0[9]: scope 1 at wildcard-tyvars.rs:10:43: 10:49 | |
_6 = (move _7, move _8); // bb0[10]: scope 1 at wildcard-tyvars.rs:10:39: 10:50 | |
StorageDead(_8); // bb0[11]: scope 1 at wildcard-tyvars.rs:10:49: 10:50 | |
StorageDead(_7); // bb0[12]: scope 1 at wildcard-tyvars.rs:10:49: 10:50 | |
AscribeUserType(_6, +, UserTypeProjection { base: UserTypeAnnotation(2), projs: [] }); // bb0[13]: scope 1 at wildcard-tyvars.rs:10:26: 10:36 | |
StorageLive(_4); // bb0[14]: scope 1 at wildcard-tyvars.rs:10:10: 10:15 | |
_4 = (_6.0: &'_#6r u32); // bb0[15]: scope 1 at wildcard-tyvars.rs:10:10: 10:15 | |
StorageLive(_5); // bb0[16]: scope 1 at wildcard-tyvars.rs:10:17: 10:23 | |
_5 = (_6.1: &'_#7r u32); // bb0[17]: scope 1 at wildcard-tyvars.rs:10:17: 10:23 | |
StorageDead(_6); // bb0[18]: scope 1 at wildcard-tyvars.rs:10:50: 10:51 | |
StorageDead(_9); // bb0[19]: scope 1 at wildcard-tyvars.rs:10:50: 10:51 | |
_0 = &'_#8r (*_4); // bb0[20]: scope 3 at wildcard-tyvars.rs:38:5: 38:6 | |
StorageDead(_5); // bb0[21]: scope 1 at wildcard-tyvars.rs:39:1: 39:2 | |
StorageDead(_4); // bb0[22]: scope 1 at wildcard-tyvars.rs:39:1: 39:2 | |
StorageDead(_3); // bb0[23]: scope 0 at wildcard-tyvars.rs:39:1: 39:2 | |
return; // bb0[24]: scope 0 at wildcard-tyvars.rs:39:2: 39:2 | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment