Skip to content

Instantly share code, notes, and snippets.

@nikomatsakis
Created November 26, 2017 20:29
Show Gist options
  • Save nikomatsakis/4ec77e6f89583a65c1ad9db38827097b to your computer and use it in GitHub Desktop.
Save nikomatsakis/4ec77e6f89583a65c1ad9db38827097b to your computer and use it in GitHub Desktop.
// MIR for `bar`
// source = MirSource { def_id: DefId(0/0:5 ~ spastorino[317d]::bar[0]), promoted: None }
// pass_name = nll
// disambiguator = 0
| '_#0r: {bb0[0], bb0[1], bb0[2], bb0[3], bb0[4], bb0[5], bb0[6], bb0[7], bb0[8], '_#0r, '_#1r, '_#2r}
| '_#1r: {bb0[0], bb0[1], bb0[2], bb0[3], bb0[4], bb0[5], bb0[6], bb0[7], bb0[8], '_#1r}
| '_#2r: {bb0[0], bb0[1], bb0[2], bb0[3], bb0[4], bb0[5], bb0[6], bb0[7], bb0[8], '_#2r}
| '_#3r: {}
| '_#4r: {}
| '_#5r: {}
| '_#6r: {}
| '_#7r: {bb0[2], bb0[3], bb0[4], bb0[5], bb0[6], bb0[7], bb0[8], '_#1r}
| '_#8r: {bb0[4], bb0[5], bb0[6], bb0[7], bb0[8], '_#2r}
fn bar(_1: std::cell::Cell<&'_#1r u32>, _2: std::cell::Cell<&'_#2r u32>) -> () {
let mut _0: (); // return pointer
let mut _3: Foo<'_#5r, '_#6r>;
let mut _4: std::cell::Cell<&'_#7r u32>;
let mut _5: std::cell::Cell<&'_#8r u32>;
| Live variables on entry to bb0: [_1, _2]
bb0: {
| Live variables at bb0[0]: [_1, _2]
StorageLive(_4); // scope 0 at /home/nmatsakis/tmp/spastorino.rs:11:11: 11:12
| Live variables at bb0[1]: [_1, _2]
_4 = _1; // scope 0 at /home/nmatsakis/tmp/spastorino.rs:11:11: 11:12
| Live variables at bb0[2]: [_2, _4]
StorageLive(_5); // scope 0 at /home/nmatsakis/tmp/spastorino.rs:11:14: 11:15
| Live variables at bb0[3]: [_2, _4]
_5 = _2; // scope 0 at /home/nmatsakis/tmp/spastorino.rs:11:14: 11:15
| Live variables at bb0[4]: [_4, _5]
_3 = Foo<'_#3r, '_#4r> { x: _4, y: _5 }; // scope 0 at /home/nmatsakis/tmp/spastorino.rs:11:5: 11:17
| Live variables at bb0[5]: []
StorageDead(_5); // scope 0 at /home/nmatsakis/tmp/spastorino.rs:11:17: 11:17
| Live variables at bb0[6]: []
StorageDead(_4); // scope 0 at /home/nmatsakis/tmp/spastorino.rs:11:17: 11:17
| Live variables at bb0[7]: []
_0 = (); // scope 0 at /home/nmatsakis/tmp/spastorino.rs:10:52: 15:2
| Live variables at bb0[8]: []
return; // scope 0 at /home/nmatsakis/tmp/spastorino.rs:15:2: 15:2
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment