Skip to content

Instantly share code, notes, and snippets.

@wesleywiser
Created January 15, 2020 11:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wesleywiser/1a01122c920a8771a64a59847cfdf272 to your computer and use it in GitHub Desktop.
Save wesleywiser/1a01122c920a8771a64a59847cfdf272 to your computer and use it in GitHub Desktop.
// MIR for `foo`
// source = MirSource { instance: Item(DefId(0:3 ~ test[317d]::foo[0])), promoted: None }
// pass_name = Inline
// disambiguator = after
| User Type Annotations
| 0: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }], value: TypeOf(DefId(5:87 ~ alloc[1564]::boxed[0]::{{impl}}[0]::new[0]), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(5:85 ~ alloc[1564]::boxed[0]::{{impl}}[0]), self_ty: std::boxed::Box<^1> }) }) } at test.rs:4:5: 4:13
|
fn foo() -> std::boxed::Box<dyn std::iter::Iterator<Item = ()>> {
let mut _0: std::boxed::Box<dyn std::iter::Iterator<Item = ()>>; // return place in scope 0 at test.rs:1:17: 1:41
let mut _1: std::boxed::Box<dyn std::iter::Iterator<Item = ()>>; // in scope 0 at test.rs:4:5: 21:6
let mut _2: std::boxed::Box<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>>; // in scope 0 at test.rs:4:5: 21:6
let mut _3: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 20:24
let mut _4: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 19:24
let mut _5: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 18:24
let mut _6: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 17:24
let mut _7: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 16:24
let mut _8: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 15:24
let mut _9: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 14:24
let mut _10: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 13:24
let mut _11: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 12:24
let mut _12: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 11:24
let mut _13: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 10:24
let mut _14: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 9:24
let mut _15: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 8:24
let mut _16: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 7:24
let mut _17: std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 6:24
let mut _18: std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 5:24
let mut _19: std::iter::Empty<()>; // in scope 0 at test.rs:4:14: 4:21
let mut _20: std::iter::Empty<()>; // in scope 0 at test.rs:5:16: 5:23
let mut _21: std::iter::Empty<()>; // in scope 0 at test.rs:6:16: 6:23
let mut _22: std::iter::Empty<()>; // in scope 0 at test.rs:7:16: 7:23
let mut _23: std::iter::Empty<()>; // in scope 0 at test.rs:8:16: 8:23
let mut _24: std::iter::Empty<()>; // in scope 0 at test.rs:9:16: 9:23
let mut _25: std::iter::Empty<()>; // in scope 0 at test.rs:10:16: 10:23
let mut _26: std::iter::Empty<()>; // in scope 0 at test.rs:11:16: 11:23
let mut _27: std::iter::Empty<()>; // in scope 0 at test.rs:12:16: 12:23
let mut _28: std::iter::Empty<()>; // in scope 0 at test.rs:13:16: 13:23
let mut _29: std::iter::Empty<()>; // in scope 0 at test.rs:14:16: 14:23
let mut _30: std::iter::Empty<()>; // in scope 0 at test.rs:15:16: 15:23
let mut _31: std::iter::Empty<()>; // in scope 0 at test.rs:16:16: 16:23
let mut _32: std::iter::Empty<()>; // in scope 0 at test.rs:17:16: 17:23
let mut _33: std::iter::Empty<()>; // in scope 0 at test.rs:18:16: 18:23
let mut _34: std::iter::Empty<()>; // in scope 0 at test.rs:19:16: 19:23
let mut _35: std::iter::Empty<()>; // in scope 0 at test.rs:20:16: 20:23
scope 1 {
let mut _36: std::marker::PhantomData<()>; // in scope 1 at test.rs:4:14: 4:21
}
scope 2 {
let mut _37: std::marker::PhantomData<()>; // in scope 2 at test.rs:5:16: 5:23
}
scope 3 {
let mut _38: std::marker::PhantomData<()>; // in scope 3 at test.rs:6:16: 6:23
}
scope 4 {
let mut _39: std::marker::PhantomData<()>; // in scope 4 at test.rs:7:16: 7:23
}
scope 5 {
let mut _40: std::marker::PhantomData<()>; // in scope 5 at test.rs:8:16: 8:23
}
scope 6 {
let mut _41: std::marker::PhantomData<()>; // in scope 6 at test.rs:9:16: 9:23
}
scope 7 {
let mut _42: std::marker::PhantomData<()>; // in scope 7 at test.rs:10:16: 10:23
}
scope 8 {
let mut _43: std::marker::PhantomData<()>; // in scope 8 at test.rs:11:16: 11:23
}
scope 9 {
let mut _44: std::marker::PhantomData<()>; // in scope 9 at test.rs:12:16: 12:23
}
scope 10 {
let mut _45: std::marker::PhantomData<()>; // in scope 10 at test.rs:13:16: 13:23
}
scope 11 {
let mut _46: std::marker::PhantomData<()>; // in scope 11 at test.rs:14:16: 14:23
}
scope 12 {
let mut _47: std::marker::PhantomData<()>; // in scope 12 at test.rs:15:16: 15:23
}
scope 13 {
let mut _48: std::marker::PhantomData<()>; // in scope 13 at test.rs:16:16: 16:23
}
scope 14 {
let mut _49: std::marker::PhantomData<()>; // in scope 14 at test.rs:17:16: 17:23
}
scope 15 {
let mut _50: std::marker::PhantomData<()>; // in scope 15 at test.rs:18:16: 18:23
}
scope 16 {
let mut _51: std::marker::PhantomData<()>; // in scope 16 at test.rs:19:16: 19:23
}
scope 17 {
let mut _52: std::marker::PhantomData<()>; // in scope 17 at test.rs:20:16: 20:23
}
scope 18 {
debug x => _3; // in scope 18 at /home/wesley/code/rust/rust/src/liballoc/boxed.rs:173:16: 173:17
let mut _53: std::boxed::Box<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>>; // in scope 18 at test.rs:4:5: 21:6
}
bb0: {
StorageLive(_1); // bb0[0]: scope 0 at test.rs:4:5: 21:6
StorageLive(_2); // bb0[1]: scope 0 at test.rs:4:5: 21:6
StorageLive(_3); // bb0[2]: scope 0 at test.rs:4:14: 20:24
StorageLive(_4); // bb0[3]: scope 0 at test.rs:4:14: 19:24
StorageLive(_5); // bb0[4]: scope 0 at test.rs:4:14: 18:24
StorageLive(_6); // bb0[5]: scope 0 at test.rs:4:14: 17:24
StorageLive(_7); // bb0[6]: scope 0 at test.rs:4:14: 16:24
StorageLive(_8); // bb0[7]: scope 0 at test.rs:4:14: 15:24
StorageLive(_9); // bb0[8]: scope 0 at test.rs:4:14: 14:24
StorageLive(_10); // bb0[9]: scope 0 at test.rs:4:14: 13:24
StorageLive(_11); // bb0[10]: scope 0 at test.rs:4:14: 12:24
StorageLive(_12); // bb0[11]: scope 0 at test.rs:4:14: 11:24
StorageLive(_13); // bb0[12]: scope 0 at test.rs:4:14: 10:24
StorageLive(_14); // bb0[13]: scope 0 at test.rs:4:14: 9:24
StorageLive(_15); // bb0[14]: scope 0 at test.rs:4:14: 8:24
StorageLive(_16); // bb0[15]: scope 0 at test.rs:4:14: 7:24
StorageLive(_17); // bb0[16]: scope 0 at test.rs:4:14: 6:24
StorageLive(_18); // bb0[17]: scope 0 at test.rs:4:14: 5:24
StorageLive(_19); // bb0[18]: scope 0 at test.rs:4:14: 4:21
StorageLive(_36); // bb0[19]: scope 1 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_19.0: std::marker::PhantomData<()>) = move _36; // bb0[20]: scope 1 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_36); // bb0[21]: scope 1 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
StorageLive(_20); // bb0[22]: scope 0 at test.rs:5:16: 5:23
StorageLive(_37); // bb0[23]: scope 2 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_20.0: std::marker::PhantomData<()>) = move _37; // bb0[24]: scope 2 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_37); // bb0[25]: scope 2 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_18 = const <std::iter::Empty<()> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _19, move _20) -> bb1; // bb0[26]: scope 0 at test.rs:4:14: 5:24
// ty::Const
// + ty: fn(std::iter::Empty<()>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Empty<()>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Empty<()> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:5:10: 5:15
// + literal: Const { ty: fn(std::iter::Empty<()>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Empty<()>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Empty<()> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb1: {
StorageDead(_20); // bb1[0]: scope 0 at test.rs:5:23: 5:24
StorageDead(_19); // bb1[1]: scope 0 at test.rs:5:23: 5:24
StorageLive(_21); // bb1[2]: scope 0 at test.rs:6:16: 6:23
StorageLive(_38); // bb1[3]: scope 3 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_21.0: std::marker::PhantomData<()>) = move _38; // bb1[4]: scope 3 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_38); // bb1[5]: scope 3 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_17 = const <std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _18, move _21) -> bb2; // bb1[6]: scope 0 at test.rs:4:14: 6:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:6:10: 6:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb2: {
StorageDead(_21); // bb2[0]: scope 0 at test.rs:6:23: 6:24
StorageDead(_18); // bb2[1]: scope 0 at test.rs:6:23: 6:24
StorageLive(_22); // bb2[2]: scope 0 at test.rs:7:16: 7:23
StorageLive(_39); // bb2[3]: scope 4 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_22.0: std::marker::PhantomData<()>) = move _39; // bb2[4]: scope 4 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_39); // bb2[5]: scope 4 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_16 = const <std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _17, move _22) -> bb3; // bb2[6]: scope 0 at test.rs:4:14: 7:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:7:10: 7:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb3: {
StorageDead(_22); // bb3[0]: scope 0 at test.rs:7:23: 7:24
StorageDead(_17); // bb3[1]: scope 0 at test.rs:7:23: 7:24
StorageLive(_23); // bb3[2]: scope 0 at test.rs:8:16: 8:23
StorageLive(_40); // bb3[3]: scope 5 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_23.0: std::marker::PhantomData<()>) = move _40; // bb3[4]: scope 5 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_40); // bb3[5]: scope 5 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_15 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _16, move _23) -> bb4; // bb3[6]: scope 0 at test.rs:4:14: 8:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:8:10: 8:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb4: {
StorageDead(_23); // bb4[0]: scope 0 at test.rs:8:23: 8:24
StorageDead(_16); // bb4[1]: scope 0 at test.rs:8:23: 8:24
StorageLive(_24); // bb4[2]: scope 0 at test.rs:9:16: 9:23
StorageLive(_41); // bb4[3]: scope 6 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_24.0: std::marker::PhantomData<()>) = move _41; // bb4[4]: scope 6 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_41); // bb4[5]: scope 6 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_14 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _15, move _24) -> bb5; // bb4[6]: scope 0 at test.rs:4:14: 9:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:9:10: 9:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb5: {
StorageDead(_24); // bb5[0]: scope 0 at test.rs:9:23: 9:24
StorageDead(_15); // bb5[1]: scope 0 at test.rs:9:23: 9:24
StorageLive(_25); // bb5[2]: scope 0 at test.rs:10:16: 10:23
StorageLive(_42); // bb5[3]: scope 7 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_25.0: std::marker::PhantomData<()>) = move _42; // bb5[4]: scope 7 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_42); // bb5[5]: scope 7 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_13 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _14, move _25) -> bb6; // bb5[6]: scope 0 at test.rs:4:14: 10:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:10:10: 10:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb6: {
StorageDead(_25); // bb6[0]: scope 0 at test.rs:10:23: 10:24
StorageDead(_14); // bb6[1]: scope 0 at test.rs:10:23: 10:24
StorageLive(_26); // bb6[2]: scope 0 at test.rs:11:16: 11:23
StorageLive(_43); // bb6[3]: scope 8 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_26.0: std::marker::PhantomData<()>) = move _43; // bb6[4]: scope 8 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_43); // bb6[5]: scope 8 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_12 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _13, move _26) -> bb7; // bb6[6]: scope 0 at test.rs:4:14: 11:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:11:10: 11:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb7: {
StorageDead(_26); // bb7[0]: scope 0 at test.rs:11:23: 11:24
StorageDead(_13); // bb7[1]: scope 0 at test.rs:11:23: 11:24
StorageLive(_27); // bb7[2]: scope 0 at test.rs:12:16: 12:23
StorageLive(_44); // bb7[3]: scope 9 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_27.0: std::marker::PhantomData<()>) = move _44; // bb7[4]: scope 9 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_44); // bb7[5]: scope 9 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_11 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _12, move _27) -> bb8; // bb7[6]: scope 0 at test.rs:4:14: 12:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:12:10: 12:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb8: {
StorageDead(_27); // bb8[0]: scope 0 at test.rs:12:23: 12:24
StorageDead(_12); // bb8[1]: scope 0 at test.rs:12:23: 12:24
StorageLive(_28); // bb8[2]: scope 0 at test.rs:13:16: 13:23
StorageLive(_45); // bb8[3]: scope 10 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_28.0: std::marker::PhantomData<()>) = move _45; // bb8[4]: scope 10 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_45); // bb8[5]: scope 10 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_10 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _11, move _28) -> bb9; // bb8[6]: scope 0 at test.rs:4:14: 13:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:13:10: 13:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb9: {
StorageDead(_28); // bb9[0]: scope 0 at test.rs:13:23: 13:24
StorageDead(_11); // bb9[1]: scope 0 at test.rs:13:23: 13:24
StorageLive(_29); // bb9[2]: scope 0 at test.rs:14:16: 14:23
StorageLive(_46); // bb9[3]: scope 11 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_29.0: std::marker::PhantomData<()>) = move _46; // bb9[4]: scope 11 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_46); // bb9[5]: scope 11 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_9 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _10, move _29) -> bb10; // bb9[6]: scope 0 at test.rs:4:14: 14:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:14:10: 14:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb10: {
StorageDead(_29); // bb10[0]: scope 0 at test.rs:14:23: 14:24
StorageDead(_10); // bb10[1]: scope 0 at test.rs:14:23: 14:24
StorageLive(_30); // bb10[2]: scope 0 at test.rs:15:16: 15:23
StorageLive(_47); // bb10[3]: scope 12 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_30.0: std::marker::PhantomData<()>) = move _47; // bb10[4]: scope 12 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_47); // bb10[5]: scope 12 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_8 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _9, move _30) -> bb11; // bb10[6]: scope 0 at test.rs:4:14: 15:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:15:10: 15:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb11: {
StorageDead(_30); // bb11[0]: scope 0 at test.rs:15:23: 15:24
StorageDead(_9); // bb11[1]: scope 0 at test.rs:15:23: 15:24
StorageLive(_31); // bb11[2]: scope 0 at test.rs:16:16: 16:23
StorageLive(_48); // bb11[3]: scope 13 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_31.0: std::marker::PhantomData<()>) = move _48; // bb11[4]: scope 13 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_48); // bb11[5]: scope 13 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_7 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _8, move _31) -> bb12; // bb11[6]: scope 0 at test.rs:4:14: 16:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:16:10: 16:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb12: {
StorageDead(_31); // bb12[0]: scope 0 at test.rs:16:23: 16:24
StorageDead(_8); // bb12[1]: scope 0 at test.rs:16:23: 16:24
StorageLive(_32); // bb12[2]: scope 0 at test.rs:17:16: 17:23
StorageLive(_49); // bb12[3]: scope 14 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_32.0: std::marker::PhantomData<()>) = move _49; // bb12[4]: scope 14 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_49); // bb12[5]: scope 14 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_6 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _7, move _32) -> bb13; // bb12[6]: scope 0 at test.rs:4:14: 17:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:17:10: 17:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb13: {
StorageDead(_32); // bb13[0]: scope 0 at test.rs:17:23: 17:24
StorageDead(_7); // bb13[1]: scope 0 at test.rs:17:23: 17:24
StorageLive(_33); // bb13[2]: scope 0 at test.rs:18:16: 18:23
StorageLive(_50); // bb13[3]: scope 15 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_33.0: std::marker::PhantomData<()>) = move _50; // bb13[4]: scope 15 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_50); // bb13[5]: scope 15 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_5 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _6, move _33) -> bb14; // bb13[6]: scope 0 at test.rs:4:14: 18:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:18:10: 18:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb14: {
StorageDead(_33); // bb14[0]: scope 0 at test.rs:18:23: 18:24
StorageDead(_6); // bb14[1]: scope 0 at test.rs:18:23: 18:24
StorageLive(_34); // bb14[2]: scope 0 at test.rs:19:16: 19:23
StorageLive(_51); // bb14[3]: scope 16 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_34.0: std::marker::PhantomData<()>) = move _51; // bb14[4]: scope 16 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_51); // bb14[5]: scope 16 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_4 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _5, move _34) -> bb15; // bb14[6]: scope 0 at test.rs:4:14: 19:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:19:10: 19:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb15: {
StorageDead(_34); // bb15[0]: scope 0 at test.rs:19:23: 19:24
StorageDead(_5); // bb15[1]: scope 0 at test.rs:19:23: 19:24
StorageLive(_35); // bb15[2]: scope 0 at test.rs:20:16: 20:23
StorageLive(_52); // bb15[3]: scope 17 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:11: 286:30
(_35.0: std::marker::PhantomData<()>) = move _52; // bb15[4]: scope 17 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:5: 286:31
StorageDead(_52); // bb15[5]: scope 17 at /home/wesley/code/rust/rust/src/libcore/iter/sources.rs:286:30: 286:31
_3 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _4, move _35) -> bb16; // bb15[6]: scope 0 at test.rs:4:14: 20:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:20:10: 20:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb16: {
StorageDead(_35); // bb16[0]: scope 0 at test.rs:20:23: 20:24
StorageDead(_4); // bb16[1]: scope 0 at test.rs:20:23: 20:24
StorageLive(_53); // bb16[2]: scope 18 at /home/wesley/code/rust/rust/src/liballoc/boxed.rs:174:9: 174:14
_53 = Box(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>); // bb16[3]: scope 18 at /home/wesley/code/rust/rust/src/liballoc/boxed.rs:174:9: 174:14
(*_53) = move _3; // bb16[4]: scope 18 at /home/wesley/code/rust/rust/src/liballoc/boxed.rs:174:13: 174:14
_2 = move _53; // bb16[5]: scope 18 at /home/wesley/code/rust/rust/src/liballoc/boxed.rs:174:9: 174:14
StorageDead(_53); // bb16[6]: scope 18 at /home/wesley/code/rust/rust/src/liballoc/boxed.rs:174:13: 174:14
_1 = move _2 as std::boxed::Box<dyn std::iter::Iterator<Item = ()>> (Pointer(Unsize)); // bb16[7]: scope 0 at test.rs:4:5: 21:6
StorageDead(_3); // bb16[8]: scope 0 at test.rs:21:5: 21:6
StorageDead(_2); // bb16[9]: scope 0 at test.rs:21:5: 21:6
_0 = move _1 as std::boxed::Box<dyn std::iter::Iterator<Item = ()>> (Pointer(Unsize)); // bb16[10]: scope 0 at test.rs:4:5: 21:6
StorageDead(_1); // bb16[11]: scope 0 at test.rs:22:1: 22:2
return; // bb16[12]: scope 0 at test.rs:22:2: 22:2
}
}
// MIR for `foo`
// source = MirSource { instance: Item(DefId(0:3 ~ test[317d]::foo[0])), promoted: None }
// pass_name = Inline
// disambiguator = before
| User Type Annotations
| 0: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }], value: TypeOf(DefId(5:87 ~ alloc[1564]::boxed[0]::{{impl}}[0]::new[0]), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(5:85 ~ alloc[1564]::boxed[0]::{{impl}}[0]), self_ty: std::boxed::Box<^1> }) }) } at test.rs:4:5: 4:13
|
fn foo() -> std::boxed::Box<dyn std::iter::Iterator<Item = ()>> {
let mut _0: std::boxed::Box<dyn std::iter::Iterator<Item = ()>>; // return place in scope 0 at test.rs:1:17: 1:41
let mut _1: std::boxed::Box<dyn std::iter::Iterator<Item = ()>>; // in scope 0 at test.rs:4:5: 21:6
let mut _2: std::boxed::Box<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>>; // in scope 0 at test.rs:4:5: 21:6
let mut _3: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 20:24
let mut _4: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 19:24
let mut _5: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 18:24
let mut _6: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 17:24
let mut _7: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 16:24
let mut _8: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 15:24
let mut _9: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 14:24
let mut _10: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 13:24
let mut _11: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 12:24
let mut _12: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 11:24
let mut _13: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 10:24
let mut _14: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 9:24
let mut _15: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 8:24
let mut _16: std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 7:24
let mut _17: std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 6:24
let mut _18: std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>; // in scope 0 at test.rs:4:14: 5:24
let mut _19: std::iter::Empty<()>; // in scope 0 at test.rs:4:14: 4:21
let mut _20: std::iter::Empty<()>; // in scope 0 at test.rs:5:16: 5:23
let mut _21: std::iter::Empty<()>; // in scope 0 at test.rs:6:16: 6:23
let mut _22: std::iter::Empty<()>; // in scope 0 at test.rs:7:16: 7:23
let mut _23: std::iter::Empty<()>; // in scope 0 at test.rs:8:16: 8:23
let mut _24: std::iter::Empty<()>; // in scope 0 at test.rs:9:16: 9:23
let mut _25: std::iter::Empty<()>; // in scope 0 at test.rs:10:16: 10:23
let mut _26: std::iter::Empty<()>; // in scope 0 at test.rs:11:16: 11:23
let mut _27: std::iter::Empty<()>; // in scope 0 at test.rs:12:16: 12:23
let mut _28: std::iter::Empty<()>; // in scope 0 at test.rs:13:16: 13:23
let mut _29: std::iter::Empty<()>; // in scope 0 at test.rs:14:16: 14:23
let mut _30: std::iter::Empty<()>; // in scope 0 at test.rs:15:16: 15:23
let mut _31: std::iter::Empty<()>; // in scope 0 at test.rs:16:16: 16:23
let mut _32: std::iter::Empty<()>; // in scope 0 at test.rs:17:16: 17:23
let mut _33: std::iter::Empty<()>; // in scope 0 at test.rs:18:16: 18:23
let mut _34: std::iter::Empty<()>; // in scope 0 at test.rs:19:16: 19:23
let mut _35: std::iter::Empty<()>; // in scope 0 at test.rs:20:16: 20:23
bb0: {
StorageLive(_1); // bb0[0]: scope 0 at test.rs:4:5: 21:6
StorageLive(_2); // bb0[1]: scope 0 at test.rs:4:5: 21:6
StorageLive(_3); // bb0[2]: scope 0 at test.rs:4:14: 20:24
StorageLive(_4); // bb0[3]: scope 0 at test.rs:4:14: 19:24
StorageLive(_5); // bb0[4]: scope 0 at test.rs:4:14: 18:24
StorageLive(_6); // bb0[5]: scope 0 at test.rs:4:14: 17:24
StorageLive(_7); // bb0[6]: scope 0 at test.rs:4:14: 16:24
StorageLive(_8); // bb0[7]: scope 0 at test.rs:4:14: 15:24
StorageLive(_9); // bb0[8]: scope 0 at test.rs:4:14: 14:24
StorageLive(_10); // bb0[9]: scope 0 at test.rs:4:14: 13:24
StorageLive(_11); // bb0[10]: scope 0 at test.rs:4:14: 12:24
StorageLive(_12); // bb0[11]: scope 0 at test.rs:4:14: 11:24
StorageLive(_13); // bb0[12]: scope 0 at test.rs:4:14: 10:24
StorageLive(_14); // bb0[13]: scope 0 at test.rs:4:14: 9:24
StorageLive(_15); // bb0[14]: scope 0 at test.rs:4:14: 8:24
StorageLive(_16); // bb0[15]: scope 0 at test.rs:4:14: 7:24
StorageLive(_17); // bb0[16]: scope 0 at test.rs:4:14: 6:24
StorageLive(_18); // bb0[17]: scope 0 at test.rs:4:14: 5:24
StorageLive(_19); // bb0[18]: scope 0 at test.rs:4:14: 4:21
_19 = const std::iter::empty::<()>() -> bb1; // bb0[19]: scope 0 at test.rs:4:14: 4:21
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:4:14: 4:19
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb1: {
StorageLive(_20); // bb1[0]: scope 0 at test.rs:5:16: 5:23
_20 = const std::iter::empty::<()>() -> bb2; // bb1[1]: scope 0 at test.rs:5:16: 5:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:5:16: 5:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb2: {
_18 = const <std::iter::Empty<()> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _19, move _20) -> bb3; // bb2[0]: scope 0 at test.rs:4:14: 5:24
// ty::Const
// + ty: fn(std::iter::Empty<()>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Empty<()>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Empty<()> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:5:10: 5:15
// + literal: Const { ty: fn(std::iter::Empty<()>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Empty<()>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Empty<()> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb3: {
StorageDead(_20); // bb3[0]: scope 0 at test.rs:5:23: 5:24
StorageDead(_19); // bb3[1]: scope 0 at test.rs:5:23: 5:24
StorageLive(_21); // bb3[2]: scope 0 at test.rs:6:16: 6:23
_21 = const std::iter::empty::<()>() -> bb4; // bb3[3]: scope 0 at test.rs:6:16: 6:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:6:16: 6:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb4: {
_17 = const <std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _18, move _21) -> bb5; // bb4[0]: scope 0 at test.rs:4:14: 6:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:6:10: 6:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb5: {
StorageDead(_21); // bb5[0]: scope 0 at test.rs:6:23: 6:24
StorageDead(_18); // bb5[1]: scope 0 at test.rs:6:23: 6:24
StorageLive(_22); // bb5[2]: scope 0 at test.rs:7:16: 7:23
_22 = const std::iter::empty::<()>() -> bb6; // bb5[3]: scope 0 at test.rs:7:16: 7:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:7:16: 7:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb6: {
_16 = const <std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _17, move _22) -> bb7; // bb6[0]: scope 0 at test.rs:4:14: 7:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:7:10: 7:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb7: {
StorageDead(_22); // bb7[0]: scope 0 at test.rs:7:23: 7:24
StorageDead(_17); // bb7[1]: scope 0 at test.rs:7:23: 7:24
StorageLive(_23); // bb7[2]: scope 0 at test.rs:8:16: 8:23
_23 = const std::iter::empty::<()>() -> bb8; // bb7[3]: scope 0 at test.rs:8:16: 8:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:8:16: 8:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb8: {
_15 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _16, move _23) -> bb9; // bb8[0]: scope 0 at test.rs:4:14: 8:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:8:10: 8:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb9: {
StorageDead(_23); // bb9[0]: scope 0 at test.rs:8:23: 8:24
StorageDead(_16); // bb9[1]: scope 0 at test.rs:8:23: 8:24
StorageLive(_24); // bb9[2]: scope 0 at test.rs:9:16: 9:23
_24 = const std::iter::empty::<()>() -> bb10; // bb9[3]: scope 0 at test.rs:9:16: 9:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:9:16: 9:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb10: {
_14 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _15, move _24) -> bb11; // bb10[0]: scope 0 at test.rs:4:14: 9:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:9:10: 9:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb11: {
StorageDead(_24); // bb11[0]: scope 0 at test.rs:9:23: 9:24
StorageDead(_15); // bb11[1]: scope 0 at test.rs:9:23: 9:24
StorageLive(_25); // bb11[2]: scope 0 at test.rs:10:16: 10:23
_25 = const std::iter::empty::<()>() -> bb12; // bb11[3]: scope 0 at test.rs:10:16: 10:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:10:16: 10:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb12: {
_13 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _14, move _25) -> bb13; // bb12[0]: scope 0 at test.rs:4:14: 10:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:10:10: 10:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb13: {
StorageDead(_25); // bb13[0]: scope 0 at test.rs:10:23: 10:24
StorageDead(_14); // bb13[1]: scope 0 at test.rs:10:23: 10:24
StorageLive(_26); // bb13[2]: scope 0 at test.rs:11:16: 11:23
_26 = const std::iter::empty::<()>() -> bb14; // bb13[3]: scope 0 at test.rs:11:16: 11:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:11:16: 11:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb14: {
_12 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _13, move _26) -> bb15; // bb14[0]: scope 0 at test.rs:4:14: 11:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:11:10: 11:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb15: {
StorageDead(_26); // bb15[0]: scope 0 at test.rs:11:23: 11:24
StorageDead(_13); // bb15[1]: scope 0 at test.rs:11:23: 11:24
StorageLive(_27); // bb15[2]: scope 0 at test.rs:12:16: 12:23
_27 = const std::iter::empty::<()>() -> bb16; // bb15[3]: scope 0 at test.rs:12:16: 12:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:12:16: 12:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb16: {
_11 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _12, move _27) -> bb17; // bb16[0]: scope 0 at test.rs:4:14: 12:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:12:10: 12:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb17: {
StorageDead(_27); // bb17[0]: scope 0 at test.rs:12:23: 12:24
StorageDead(_12); // bb17[1]: scope 0 at test.rs:12:23: 12:24
StorageLive(_28); // bb17[2]: scope 0 at test.rs:13:16: 13:23
_28 = const std::iter::empty::<()>() -> bb18; // bb17[3]: scope 0 at test.rs:13:16: 13:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:13:16: 13:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb18: {
_10 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _11, move _28) -> bb19; // bb18[0]: scope 0 at test.rs:4:14: 13:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:13:10: 13:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb19: {
StorageDead(_28); // bb19[0]: scope 0 at test.rs:13:23: 13:24
StorageDead(_11); // bb19[1]: scope 0 at test.rs:13:23: 13:24
StorageLive(_29); // bb19[2]: scope 0 at test.rs:14:16: 14:23
_29 = const std::iter::empty::<()>() -> bb20; // bb19[3]: scope 0 at test.rs:14:16: 14:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:14:16: 14:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb20: {
_9 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _10, move _29) -> bb21; // bb20[0]: scope 0 at test.rs:4:14: 14:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:14:10: 14:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb21: {
StorageDead(_29); // bb21[0]: scope 0 at test.rs:14:23: 14:24
StorageDead(_10); // bb21[1]: scope 0 at test.rs:14:23: 14:24
StorageLive(_30); // bb21[2]: scope 0 at test.rs:15:16: 15:23
_30 = const std::iter::empty::<()>() -> bb22; // bb21[3]: scope 0 at test.rs:15:16: 15:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:15:16: 15:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb22: {
_8 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _9, move _30) -> bb23; // bb22[0]: scope 0 at test.rs:4:14: 15:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:15:10: 15:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb23: {
StorageDead(_30); // bb23[0]: scope 0 at test.rs:15:23: 15:24
StorageDead(_9); // bb23[1]: scope 0 at test.rs:15:23: 15:24
StorageLive(_31); // bb23[2]: scope 0 at test.rs:16:16: 16:23
_31 = const std::iter::empty::<()>() -> bb24; // bb23[3]: scope 0 at test.rs:16:16: 16:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:16:16: 16:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb24: {
_7 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _8, move _31) -> bb25; // bb24[0]: scope 0 at test.rs:4:14: 16:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:16:10: 16:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb25: {
StorageDead(_31); // bb25[0]: scope 0 at test.rs:16:23: 16:24
StorageDead(_8); // bb25[1]: scope 0 at test.rs:16:23: 16:24
StorageLive(_32); // bb25[2]: scope 0 at test.rs:17:16: 17:23
_32 = const std::iter::empty::<()>() -> bb26; // bb25[3]: scope 0 at test.rs:17:16: 17:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:17:16: 17:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb26: {
_6 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _7, move _32) -> bb27; // bb26[0]: scope 0 at test.rs:4:14: 17:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:17:10: 17:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb27: {
StorageDead(_32); // bb27[0]: scope 0 at test.rs:17:23: 17:24
StorageDead(_7); // bb27[1]: scope 0 at test.rs:17:23: 17:24
StorageLive(_33); // bb27[2]: scope 0 at test.rs:18:16: 18:23
_33 = const std::iter::empty::<()>() -> bb28; // bb27[3]: scope 0 at test.rs:18:16: 18:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:18:16: 18:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb28: {
_5 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _6, move _33) -> bb29; // bb28[0]: scope 0 at test.rs:4:14: 18:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:18:10: 18:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb29: {
StorageDead(_33); // bb29[0]: scope 0 at test.rs:18:23: 18:24
StorageDead(_6); // bb29[1]: scope 0 at test.rs:18:23: 18:24
StorageLive(_34); // bb29[2]: scope 0 at test.rs:19:16: 19:23
_34 = const std::iter::empty::<()>() -> bb30; // bb29[3]: scope 0 at test.rs:19:16: 19:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:19:16: 19:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb30: {
_4 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _5, move _34) -> bb31; // bb30[0]: scope 0 at test.rs:4:14: 19:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:19:10: 19:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb31: {
StorageDead(_34); // bb31[0]: scope 0 at test.rs:19:23: 19:24
StorageDead(_5); // bb31[1]: scope 0 at test.rs:19:23: 19:24
StorageLive(_35); // bb31[2]: scope 0 at test.rs:20:16: 20:23
_35 = const std::iter::empty::<()>() -> bb32; // bb31[3]: scope 0 at test.rs:20:16: 20:23
// ty::Const
// + ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:20:16: 20:21
// + literal: Const { ty: fn() -> std::iter::Empty<()> {std::iter::empty::<()>}, val: Value(Scalar(<ZST>)) }
}
bb32: {
_3 = const <std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>(move _4, move _35) -> bb33; // bb32[0]: scope 0 at test.rs:4:14: 20:24
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:20:10: 20:15
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>) -> std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, <std::iter::Empty<()> as std::iter::IntoIterator>::IntoIter> {<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>> as std::iter::Iterator>::chain::<std::iter::Empty<()>>}, val: Value(Scalar(<ZST>)) }
}
bb33: {
StorageDead(_35); // bb33[0]: scope 0 at test.rs:20:23: 20:24
StorageDead(_4); // bb33[1]: scope 0 at test.rs:20:23: 20:24
_2 = const std::boxed::Box::<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>>::new(move _3) -> bb34; // bb33[2]: scope 0 at test.rs:4:5: 21:6
// ty::Const
// + ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>) -> std::boxed::Box<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>> {std::boxed::Box::<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>>::new}
// + val: Value(Scalar(<ZST>))
// mir::Constant
// + span: test.rs:4:5: 4:13
// + user_ty: UserType(0)
// + literal: Const { ty: fn(std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>) -> std::boxed::Box<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>> {std::boxed::Box::<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Chain<std::iter::Empty<()>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>, std::iter::Empty<()>>>::new}, val: Value(Scalar(<ZST>)) }
}
bb34: {
_1 = move _2 as std::boxed::Box<dyn std::iter::Iterator<Item = ()>> (Pointer(Unsize)); // bb34[0]: scope 0 at test.rs:4:5: 21:6
StorageDead(_3); // bb34[1]: scope 0 at test.rs:21:5: 21:6
StorageDead(_2); // bb34[2]: scope 0 at test.rs:21:5: 21:6
_0 = move _1 as std::boxed::Box<dyn std::iter::Iterator<Item = ()>> (Pointer(Unsize)); // bb34[3]: scope 0 at test.rs:4:5: 21:6
StorageDead(_1); // bb34[4]: scope 0 at test.rs:22:1: 22:2
return; // bb34[5]: scope 0 at test.rs:22:2: 22:2
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment