331 lines
31 KiB
YAML
331 lines
31 KiB
YAML
// WARNING: This output format is intended for human consumers only
|
|
// and is subject to change without notice. Knock yourself out.
|
|
fn main() -> () {
|
|
let mut _0: (); // return place in scope 0 at cheval.rs:1:16: 1:16
|
|
let _1: (); // in scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:9: 136:62
|
|
let mut _2: std::fmt::Arguments<'_>; // in scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
let mut _3: &[&str]; // in scope 0 at cheval.rs:2:14: 2:18
|
|
let mut _4: &[&str; 2]; // in scope 0 at cheval.rs:2:14: 2:18
|
|
let _5: &[&str; 2]; // in scope 0 at cheval.rs:2:14: 2:18
|
|
let mut _6: &[std::fmt::ArgumentV1<'_>]; // in scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
let mut _7: &[std::fmt::ArgumentV1<'_>; 1]; // in scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
let _8: &[std::fmt::ArgumentV1<'_>; 1]; // in scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
let _9: [std::fmt::ArgumentV1<'_>; 1]; // in scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
let mut _10: std::fmt::ArgumentV1<'_>; // in scope 0 at cheval.rs:2:20: 2:31
|
|
let mut _11: &i64; // in scope 0 at cheval.rs:2:20: 2:31
|
|
let _12: &i64; // in scope 0 at cheval.rs:2:20: 2:31
|
|
let _13: i64; // in scope 0 at cheval.rs:2:20: 2:31
|
|
let mut _14: &[&str; 2]; // in scope 0 at cheval.rs:2:14: 2:18
|
|
scope 1 (inlined ArgumentV1::<'_>::new_display::<i64>) { // at cheval.rs:2:20: 2:31
|
|
debug x => _11; // in scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:322:30: 322:31
|
|
let mut _15: &i64; // in scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:323:23: 323:24
|
|
let mut _16: for<'a, 'b, 'c> fn(&'a i64, &'b mut std::fmt::Formatter<'c>) -> std::result::Result<(), std::fmt::Error>; // in scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:323:26: 323:33
|
|
scope 2 (inlined ArgumentV1::<'_>::new::<i64>) { // at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:323:13: 323:34
|
|
debug x => _15; // in scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:333:23: 333:24
|
|
debug f => _16; // in scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:333:33: 333:34
|
|
let mut _17: for<'a, 'b, 'c> fn(&'a core::fmt::Opaque, &'b mut std::fmt::Formatter<'c>) -> std::result::Result<(), std::fmt::Error>; // in scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:42: 342:59
|
|
let mut _18: for<'a, 'b, 'c> fn(&'a i64, &'b mut std::fmt::Formatter<'c>) -> std::result::Result<(), std::fmt::Error>; // in scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:57: 342:58
|
|
let mut _19: &core::fmt::Opaque; // in scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:68: 342:85
|
|
let mut _20: &i64; // in scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:83: 342:84
|
|
scope 3 {
|
|
}
|
|
}
|
|
}
|
|
|
|
bb0: {
|
|
StorageLive(_1); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:9: 136:62
|
|
StorageLive(_2); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
StorageLive(_3); // scope 0 at cheval.rs:2:14: 2:18
|
|
StorageLive(_4); // scope 0 at cheval.rs:2:14: 2:18
|
|
StorageLive(_5); // scope 0 at cheval.rs:2:14: 2:18
|
|
_14 = const _; // scope 0 at cheval.rs:2:14: 2:18
|
|
// mir::Constant
|
|
// + span: cheval.rs:2:14: 2:18
|
|
// + literal: Const { ty: &[&str; 2], val: Unevaluated(main, [], Some(promoted[0])) }
|
|
_5 = _14; // scope 0 at cheval.rs:2:14: 2:18
|
|
_4 = _5; // scope 0 at cheval.rs:2:14: 2:18
|
|
_3 = move _4 as &[&str] (Pointer(Unsize)); // scope 0 at cheval.rs:2:14: 2:18
|
|
StorageDead(_4); // scope 0 at cheval.rs:2:17: 2:18
|
|
StorageLive(_6); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
StorageLive(_7); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
StorageLive(_8); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
StorageLive(_9); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
StorageLive(_10); // scope 0 at cheval.rs:2:20: 2:31
|
|
StorageLive(_11); // scope 0 at cheval.rs:2:20: 2:31
|
|
StorageLive(_12); // scope 0 at cheval.rs:2:20: 2:31
|
|
StorageLive(_13); // scope 0 at cheval.rs:2:20: 2:31
|
|
_13 = main_test() -> bb1; // scope 0 at cheval.rs:2:20: 2:31
|
|
// mir::Constant
|
|
// + span: cheval.rs:2:20: 2:29
|
|
// + literal: Const { ty: fn() -> i64 {main_test}, val: Value(<ZST>) }
|
|
}
|
|
|
|
bb1: {
|
|
_12 = &_13; // scope 0 at cheval.rs:2:20: 2:31
|
|
_11 = _12; // scope 0 at cheval.rs:2:20: 2:31
|
|
StorageLive(_15); // scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:323:23: 323:24
|
|
_15 = _11; // scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:323:23: 323:24
|
|
StorageLive(_16); // scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:323:26: 323:33
|
|
_16 = <i64 as std::fmt::Display>::fmt as for<'a, 'b, 'c> fn(&'a i64, &'b mut std::fmt::Formatter<'c>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:323:26: 323:33
|
|
// mir::Constant
|
|
// + span: /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:323:26: 323:33
|
|
// + literal: Const { ty: for<'a, 'b, 'c> fn(&'a i64, &'b mut Formatter<'c>) -> Result<(), std::fmt::Error> {<i64 as std::fmt::Display>::fmt}, val: Value(<ZST>) }
|
|
StorageLive(_17); // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:42: 342:59
|
|
StorageLive(_18); // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:57: 342:58
|
|
_18 = _16; // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:57: 342:58
|
|
_17 = transmute::<for<'a, 'b, 'c> fn(&'a i64, &'b mut Formatter<'c>) -> Result<(), std::fmt::Error>, for<'a, 'b, 'c> fn(&'a core::fmt::Opaque, &'b mut Formatter<'c>) -> Result<(), std::fmt::Error>>(move _18) -> bb4; // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:42: 342:59
|
|
// mir::Constant
|
|
// + span: /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:42: 342:56
|
|
// + literal: Const { ty: unsafe extern "rust-intrinsic" fn(for<'a, 'b, 'c> fn(&'a i64, &'b mut Formatter<'c>) -> Result<(), std::fmt::Error>) -> for<'a, 'b, 'c> fn(&'a core::fmt::Opaque, &'b mut Formatter<'c>) -> Result<(), std::fmt::Error> {transmute::<for<'a, 'b, 'c> fn(&'a i64, &'b mut Formatter<'c>) -> Result<(), std::fmt::Error>, for<'a, 'b, 'c> fn(&'a core::fmt::Opaque, &'b mut Formatter<'c>) -> Result<(), std::fmt::Error>>}, val: Value(<ZST>) }
|
|
}
|
|
|
|
bb2: {
|
|
StorageDead(_6); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:60: 136:61
|
|
StorageDead(_3); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:60: 136:61
|
|
_1 = _print(move _2) -> bb3; // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:9: 136:62
|
|
// mir::Constant
|
|
// + span: /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:9: 136:27
|
|
// + literal: Const { ty: for<'a> fn(Arguments<'a>) {_print}, val: Value(<ZST>) }
|
|
}
|
|
|
|
bb3: {
|
|
StorageDead(_2); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:61: 136:62
|
|
StorageDead(_13); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:62: 136:63
|
|
StorageDead(_12); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:62: 136:63
|
|
StorageDead(_9); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:62: 136:63
|
|
StorageDead(_8); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:62: 136:63
|
|
StorageDead(_5); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:62: 136:63
|
|
StorageDead(_1); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:62: 136:63
|
|
return; // scope 0 at cheval.rs:3:2: 3:2
|
|
}
|
|
|
|
bb4: {
|
|
StorageDead(_18); // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:58: 342:59
|
|
StorageLive(_19); // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:68: 342:85
|
|
StorageLive(_20); // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:83: 342:84
|
|
_20 = _15; // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:83: 342:84
|
|
_19 = transmute::<&i64, &core::fmt::Opaque>(move _20) -> bb5; // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:68: 342:85
|
|
// mir::Constant
|
|
// + span: /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:68: 342:82
|
|
// + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&i64) -> &core::fmt::Opaque {transmute::<&i64, &core::fmt::Opaque>}, val: Value(<ZST>) }
|
|
}
|
|
|
|
bb5: {
|
|
StorageDead(_20); // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:84: 342:85
|
|
Deinit(_10); // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:18: 342:87
|
|
(_10.0: &core::fmt::Opaque) = move _19; // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:18: 342:87
|
|
(_10.1: for<'a, 'b, 'c> fn(&'a core::fmt::Opaque, &'b mut std::fmt::Formatter<'c>) -> std::result::Result<(), std::fmt::Error>) = move _17; // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:18: 342:87
|
|
StorageDead(_19); // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:86: 342:87
|
|
StorageDead(_17); // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:342:86: 342:87
|
|
StorageDead(_16); // scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:323:33: 323:34
|
|
StorageDead(_15); // scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/fmt/mod.rs:323:33: 323:34
|
|
StorageDead(_11); // scope 0 at cheval.rs:2:30: 2:31
|
|
_9 = [move _10]; // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
StorageDead(_10); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:60: 136:61
|
|
_8 = &_9; // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
_7 = _8; // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
_6 = move _7 as &[std::fmt::ArgumentV1<'_>] (Pointer(Unsize)); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
StorageDead(_7); // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:60: 136:61
|
|
_2 = Arguments::<'_>::new_v1(move _3, move _6) -> bb2; // scope 0 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
// mir::Constant
|
|
// + span: /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/std/src/macros.rs:136:28: 136:61
|
|
// + user_ty: UserType(0)
|
|
// + literal: Const { ty: fn(&[&'static str], &[ArgumentV1<'_>]) -> Arguments<'_> {Arguments::<'_>::new_v1}, val: Value(<ZST>) }
|
|
}
|
|
}
|
|
|
|
promoted[0] in main: &[&str; 2] = {
|
|
let mut _0: &[&str; 2]; // return place in scope 0 at cheval.rs:2:14: 2:18
|
|
let mut _1: [&str; 2]; // in scope 0 at cheval.rs:2:14: 2:18
|
|
|
|
bb0: {
|
|
_1 = [const "", const "\n"]; // scope 0 at cheval.rs:2:14: 2:18
|
|
// mir::Constant
|
|
// + span: cheval.rs:2:14: 2:18
|
|
// + literal: Const { ty: &str, val: Value(Slice(..)) }
|
|
// mir::Constant
|
|
// + span: cheval.rs:2:14: 2:18
|
|
// + literal: Const { ty: &str, val: Value(Slice(..)) }
|
|
_0 = &_1; // scope 0 at cheval.rs:2:14: 2:18
|
|
return; // scope 0 at cheval.rs:2:14: 2:18
|
|
}
|
|
}
|
|
|
|
fn main_test() -> i64 {
|
|
let mut _0: i64; // return place in scope 0 at cheval.rs:6:19: 6:22
|
|
let mut _1: [i64; 2]; // in scope 0 at cheval.rs:7:9: 7:16
|
|
let _2: (); // in scope 0 at cheval.rs:8:5: 8:24
|
|
let mut _3: &mut [i64]; // in scope 0 at cheval.rs:8:15: 8:23
|
|
let mut _4: &mut [i64; 2]; // in scope 0 at cheval.rs:8:15: 8:23
|
|
let mut _5: &mut [i64; 2]; // in scope 0 at cheval.rs:8:15: 8:23
|
|
let _6: usize; // in scope 0 at cheval.rs:9:9: 9:10
|
|
scope 1 {
|
|
debug arr => _1; // in scope 1 at cheval.rs:7:9: 7:16
|
|
}
|
|
|
|
bb0: {
|
|
StorageLive(_1); // scope 0 at cheval.rs:7:9: 7:16
|
|
_1 = [const 1_i64, const 2_i64]; // scope 0 at cheval.rs:7:19: 7:26
|
|
StorageLive(_2); // scope 1 at cheval.rs:8:5: 8:24
|
|
StorageLive(_3); // scope 1 at cheval.rs:8:15: 8:23
|
|
StorageLive(_4); // scope 1 at cheval.rs:8:15: 8:23
|
|
StorageLive(_5); // scope 1 at cheval.rs:8:15: 8:23
|
|
_5 = &mut _1; // scope 1 at cheval.rs:8:15: 8:23
|
|
_4 = &mut (*_5); // scope 1 at cheval.rs:8:15: 8:23
|
|
_3 = move _4 as &mut [i64] (Pointer(Unsize)); // scope 1 at cheval.rs:8:15: 8:23
|
|
StorageDead(_4); // scope 1 at cheval.rs:8:22: 8:23
|
|
_2 = fuse_test(move _3) -> bb1; // scope 1 at cheval.rs:8:5: 8:24
|
|
// mir::Constant
|
|
// + span: cheval.rs:8:5: 8:14
|
|
// + literal: Const { ty: for<'a> fn(&'a mut [i64]) {fuse_test}, val: Value(<ZST>) }
|
|
}
|
|
|
|
bb1: {
|
|
StorageDead(_3); // scope 1 at cheval.rs:8:23: 8:24
|
|
StorageDead(_5); // scope 1 at cheval.rs:8:24: 8:25
|
|
StorageDead(_2); // scope 1 at cheval.rs:8:24: 8:25
|
|
StorageLive(_6); // scope 1 at cheval.rs:9:9: 9:10
|
|
_6 = const 0_usize; // scope 1 at cheval.rs:9:9: 9:10
|
|
_0 = _1[_6]; // scope 1 at cheval.rs:9:5: 9:11
|
|
StorageDead(_1); // scope 0 at cheval.rs:10:1: 10:2
|
|
StorageDead(_6); // scope 0 at cheval.rs:10:1: 10:2
|
|
return; // scope 0 at cheval.rs:10:2: 10:2
|
|
}
|
|
}
|
|
|
|
fn fuse_test(_1: &mut [i64]) -> () {
|
|
debug arr => _1; // in scope 0 at cheval.rs:12:14: 12:17
|
|
let mut _0: (); // return place in scope 0 at cheval.rs:12:31: 12:31
|
|
let _2: usize; // in scope 0 at cheval.rs:13:5: 19:17
|
|
let mut _3: std::iter::Filter<std::iter::Map<std::slice::IterMut<'_, i64>, [closure@cheval.rs:14:14: 14:17]>, [closure@cheval.rs:18:17: 18:20]>; // in scope 0 at cheval.rs:13:5: 18:34
|
|
let mut _4: std::iter::Map<std::slice::IterMut<'_, i64>, [closure@cheval.rs:14:14: 14:17]>; // in scope 0 at cheval.rs:13:5: 17:11
|
|
let mut _5: std::slice::IterMut<'_, i64>; // in scope 0 at cheval.rs:13:5: 13:19
|
|
let mut _6: &mut [i64]; // in scope 0 at cheval.rs:13:5: 13:19
|
|
let mut _7: [closure@cheval.rs:14:14: 14:17]; // in scope 0 at cheval.rs:14:14: 17:10
|
|
let mut _8: [closure@cheval.rs:18:17: 18:20]; // in scope 0 at cheval.rs:18:17: 18:33
|
|
scope 1 (inlined core::slice::<impl [i64]>::iter_mut) { // at cheval.rs:13:5: 13:19
|
|
debug self => _6; // in scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/slice/mod.rs:753:21: 753:30
|
|
let mut _9: &mut [i64]; // in scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/slice/mod.rs:754:22: 754:26
|
|
}
|
|
scope 2 (inlined <std::slice::IterMut<'_, i64> as Iterator>::map::<i64, [closure@cheval.rs:14:14: 14:17]>) { // at cheval.rs:13:5: 17:11
|
|
debug self => _5; // in scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:776:18: 776:22
|
|
debug f => _7; // in scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:776:24: 776:25
|
|
let mut _10: std::slice::IterMut<'_, i64>; // in scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:781:18: 781:22
|
|
let mut _11: [closure@cheval.rs:14:14: 14:17]; // in scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:781:24: 781:25
|
|
scope 3 (inlined Map::<std::slice::IterMut<'_, i64>, [closure@cheval.rs:14:14: 14:17]>::new) { // at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:781:9: 781:26
|
|
debug iter => _10; // in scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/map.rs:68:32: 68:36
|
|
debug f => _11; // in scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/map.rs:68:41: 68:42
|
|
let mut _12: std::slice::IterMut<'_, i64>; // in scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/map.rs:69:15: 69:19
|
|
}
|
|
}
|
|
scope 4 (inlined <Map<std::slice::IterMut<'_, i64>, [closure@cheval.rs:14:14: 14:17]> as Iterator>::filter::<[closure@cheval.rs:18:17: 18:20]>) { // at cheval.rs:13:5: 18:34
|
|
debug self => _4; // in scope 4 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:896:18: 896:22
|
|
debug predicate => _8; // in scope 4 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:896:24: 896:33
|
|
let mut _13: std::iter::Map<std::slice::IterMut<'_, i64>, [closure@cheval.rs:14:14: 14:17]>; // in scope 4 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:901:21: 901:25
|
|
let mut _14: [closure@cheval.rs:18:17: 18:20]; // in scope 4 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:901:27: 901:36
|
|
scope 5 (inlined Filter::<Map<std::slice::IterMut<'_, i64>, [closure@cheval.rs:14:14: 14:17]>, [closure@cheval.rs:18:17: 18:20]>::new) { // at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:901:9: 901:37
|
|
debug iter => _13; // in scope 5 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/filter.rs:21:32: 21:36
|
|
debug predicate => _14; // in scope 5 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/filter.rs:21:41: 21:50
|
|
let mut _15: std::iter::Map<std::slice::IterMut<'_, i64>, [closure@cheval.rs:14:14: 14:17]>; // in scope 5 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/filter.rs:22:18: 22:22
|
|
}
|
|
}
|
|
|
|
bb0: {
|
|
StorageLive(_2); // scope 0 at cheval.rs:13:5: 19:17
|
|
StorageLive(_3); // scope 0 at cheval.rs:13:5: 18:34
|
|
StorageLive(_4); // scope 0 at cheval.rs:13:5: 17:11
|
|
StorageLive(_5); // scope 0 at cheval.rs:13:5: 13:19
|
|
StorageLive(_6); // scope 0 at cheval.rs:13:5: 13:19
|
|
_6 = &mut (*_1); // scope 0 at cheval.rs:13:5: 13:19
|
|
StorageLive(_9); // scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/slice/mod.rs:754:22: 754:26
|
|
_9 = &mut (*_6); // scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/slice/mod.rs:754:22: 754:26
|
|
_5 = std::slice::IterMut::<'_, i64>::new(move _9) -> bb2; // scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/slice/mod.rs:754:9: 754:27
|
|
// mir::Constant
|
|
// + span: /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/slice/mod.rs:754:9: 754:21
|
|
// + user_ty: UserType(0)
|
|
// + literal: Const { ty: fn(&mut [i64]) -> std::slice::IterMut<'_, i64> {std::slice::IterMut::<'_, i64>::new}, val: Value(<ZST>) }
|
|
}
|
|
|
|
bb1: {
|
|
StorageDead(_3); // scope 0 at cheval.rs:19:16: 19:17
|
|
StorageDead(_2); // scope 0 at cheval.rs:19:17: 19:18
|
|
return; // scope 0 at cheval.rs:20:2: 20:2
|
|
}
|
|
|
|
bb2: {
|
|
StorageDead(_9); // scope 1 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/slice/mod.rs:754:26: 754:27
|
|
StorageDead(_6); // scope 0 at cheval.rs:13:18: 13:19
|
|
StorageLive(_7); // scope 0 at cheval.rs:14:14: 17:10
|
|
StorageLive(_10); // scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:781:18: 781:22
|
|
_10 = move _5; // scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:781:18: 781:22
|
|
StorageLive(_11); // scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:781:24: 781:25
|
|
StorageLive(_12); // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/map.rs:69:15: 69:19
|
|
_12 = move _10; // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/map.rs:69:15: 69:19
|
|
Deinit(_4); // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/map.rs:69:9: 69:24
|
|
(_4.0: std::slice::IterMut<'_, i64>) = move _12; // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/map.rs:69:9: 69:24
|
|
StorageDead(_12); // scope 3 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/map.rs:69:23: 69:24
|
|
StorageDead(_11); // scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:781:25: 781:26
|
|
StorageDead(_10); // scope 2 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:781:25: 781:26
|
|
StorageDead(_7); // scope 0 at cheval.rs:17:10: 17:11
|
|
StorageDead(_5); // scope 0 at cheval.rs:17:10: 17:11
|
|
StorageLive(_8); // scope 0 at cheval.rs:18:17: 18:33
|
|
StorageLive(_13); // scope 4 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:901:21: 901:25
|
|
_13 = move _4; // scope 4 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:901:21: 901:25
|
|
StorageLive(_14); // scope 4 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:901:27: 901:36
|
|
StorageLive(_15); // scope 5 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/filter.rs:22:18: 22:22
|
|
_15 = move _13; // scope 5 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/filter.rs:22:18: 22:22
|
|
Deinit(_3); // scope 5 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/filter.rs:22:9: 22:35
|
|
(_3.0: std::iter::Map<std::slice::IterMut<'_, i64>, [closure@cheval.rs:14:14: 14:17]>) = move _15; // scope 5 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/filter.rs:22:9: 22:35
|
|
StorageDead(_15); // scope 5 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/adapters/filter.rs:22:34: 22:35
|
|
StorageDead(_14); // scope 4 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:901:36: 901:37
|
|
StorageDead(_13); // scope 4 at /rustc/6284998a2677d7e3e8420db783f3aa4fd80d7423/library/core/src/iter/traits/iterator.rs:901:36: 901:37
|
|
StorageDead(_8); // scope 0 at cheval.rs:18:33: 18:34
|
|
StorageDead(_4); // scope 0 at cheval.rs:18:33: 18:34
|
|
_2 = <Filter<Map<std::slice::IterMut<'_, i64>, [closure@cheval.rs:14:14: 14:17]>, [closure@cheval.rs:18:17: 18:20]> as Iterator>::count(move _3) -> bb1; // scope 0 at cheval.rs:13:5: 19:17
|
|
// mir::Constant
|
|
// + span: cheval.rs:19:10: 19:15
|
|
// + literal: Const { ty: fn(Filter<Map<std::slice::IterMut<'_, i64>, [closure@cheval.rs:14:14: 14:17]>, [closure@cheval.rs:18:17: 18:20]>) -> usize {<Filter<Map<std::slice::IterMut<'_, i64>, [closure@cheval.rs:14:14: 14:17]>, [closure@cheval.rs:18:17: 18:20]> as Iterator>::count}, val: Value(<ZST>) }
|
|
}
|
|
}
|
|
|
|
fn fuse_test::{closure#0}(_1: &mut [closure@cheval.rs:14:14: 14:17], _2: &mut i64) -> i64 {
|
|
debug e => _2; // in scope 0 at cheval.rs:14:15: 14:16
|
|
let mut _0: i64; // return place in scope 0 at cheval.rs:14:18: 14:18
|
|
let mut _3: i64; // in scope 0 at cheval.rs:15:18: 15:20
|
|
|
|
bb0: {
|
|
StorageLive(_3); // scope 0 at cheval.rs:15:18: 15:20
|
|
_3 = (*_2); // scope 0 at cheval.rs:15:18: 15:20
|
|
(*_2) = Mul(move _3, const 5_i64); // scope 0 at cheval.rs:15:13: 15:24
|
|
StorageDead(_3); // scope 0 at cheval.rs:15:23: 15:24
|
|
_0 = (*_2); // scope 0 at cheval.rs:16:13: 16:15
|
|
return; // scope 0 at cheval.rs:17:10: 17:10
|
|
}
|
|
}
|
|
|
|
fn fuse_test::{closure#1}(_1: &mut [closure@cheval.rs:18:17: 18:20], _2: &i64) -> bool {
|
|
debug e => _2; // in scope 0 at cheval.rs:18:18: 18:19
|
|
let mut _0: bool; // return place in scope 0 at cheval.rs:18:21: 18:21
|
|
let mut _3: i64; // in scope 0 at cheval.rs:18:21: 18:28
|
|
let mut _4: i64; // in scope 0 at cheval.rs:18:21: 18:23
|
|
let mut _5: bool; // in scope 0 at cheval.rs:18:21: 18:28
|
|
let mut _6: bool; // in scope 0 at cheval.rs:18:21: 18:28
|
|
|
|
bb0: {
|
|
StorageLive(_3); // scope 0 at cheval.rs:18:21: 18:28
|
|
StorageLive(_4); // scope 0 at cheval.rs:18:21: 18:23
|
|
_4 = (*_2); // scope 0 at cheval.rs:18:21: 18:23
|
|
_5 = Eq(_4, const i64::MIN); // scope 0 at cheval.rs:18:21: 18:28
|
|
_6 = BitAnd(const false, move _5); // scope 0 at cheval.rs:18:21: 18:28
|
|
assert(!move _6, "attempt to compute the remainder of `{} % {}`, which would overflow", _4, const 10_i64) -> bb1; // scope 0 at cheval.rs:18:21: 18:28
|
|
}
|
|
|
|
bb1: {
|
|
_3 = Rem(move _4, const 10_i64); // scope 0 at cheval.rs:18:21: 18:28
|
|
StorageDead(_4); // scope 0 at cheval.rs:18:27: 18:28
|
|
_0 = Eq(move _3, const 0_i64); // scope 0 at cheval.rs:18:21: 18:33
|
|
StorageDead(_3); // scope 0 at cheval.rs:18:32: 18:33
|
|
return; // scope 0 at cheval.rs:18:33: 18:33
|
|
}
|
|
}
|