// WARNING: This output format is intended for human consumers only // and is subject to change without notice. Knock yourself out. fn word_count(_1: std::fs::File, _2: usize) -> () { let mut _0: (); // return place in scope 0 at src/main.rs:9:37: 9:37 let _3: regex::Regex; // "word_regex" in scope 0 at src/main.rs:10:9: 10:19 let mut _4: std::result::Result; // in scope 0 at src/main.rs:10:22: 10:47 let mut _5: &str; // in scope 0 at src/main.rs:10:33: 10:46 let mut _6: &str; // in scope 0 at src/main.rs:10:33: 10:46 let mut _8: std::io::Lines>; // in scope 0 at src/main.rs:13:17: 13:45 let mut _9: std::io::Lines>; // in scope 0 at src/main.rs:13:17: 13:45 let mut _10: std::io::BufReader; // in scope 0 at src/main.rs:13:17: 13:37 let mut _11: std::fs::File; // in scope 0 at src/main.rs:13:32: 13:36 let mut _14: std::option::Option>; // in scope 0 at src/main.rs:13:17: 13:45 let mut _15: &mut std::io::Lines>; // in scope 0 at src/main.rs:13:17: 13:45 let mut _16: &mut std::io::Lines>; // in scope 0 at src/main.rs:13:17: 13:45 let mut _17: isize; // in scope 0 at src/main.rs:13:9: 13:13 let mut _19: std::result::Result; // in scope 0 at src/main.rs:13:9: 13:13 let _21: (); // in scope 0 at src/main.rs:14:9: 19:15 let mut _22: std::iter::Map; // in scope 0 at src/main.rs:14:9: 16:33 let mut _23: regex::Matches; // in scope 0 at src/main.rs:14:9: 15:51 let mut _24: ®ex::Regex; // in scope 0 at src/main.rs:14:9: 14:19 let mut _25: &str; // in scope 0 at src/main.rs:15:24: 15:50 let mut _26: &str; // in scope 0 at src/main.rs:15:24: 15:50 let mut _27: &std::string::String; // in scope 0 at src/main.rs:15:24: 15:50 let mut _28: &std::string::String; // in scope 0 at src/main.rs:15:24: 15:50 let _29: std::string::String; // in scope 0 at src/main.rs:15:25: 15:50 let mut _30: std::result::Result; // in scope 0 at src/main.rs:15:25: 15:29 let mut _31: &str; // in scope 0 at src/main.rs:15:37: 15:49 let mut _32: &str; // in scope 0 at src/main.rs:15:37: 15:49 let mut _33: [closure@src/main.rs:16:18: 16:32]; // in scope 0 at src/main.rs:16:18: 16:32 let mut _34: [closure@src/main.rs:17:23: 19:14 words:&mut std::collections::HashMap]; // in scope 0 at src/main.rs:17:23: 19:14 let mut _35: &mut std::collections::HashMap; // in scope 0 at src/main.rs:17:23: 19:14 let mut _37: std::collections::hash_map::Iter; // in scope 0 at src/main.rs:22:29: 22:41 let mut _38: &std::collections::HashMap; // in scope 0 at src/main.rs:22:29: 22:34 let _39: (); // in scope 0 at src/main.rs:23:5: 23:72 let mut _40: &mut [(&std::string::String, &i32)]; // in scope 0 at src/main.rs:23:5: 23:10 let mut _41: &mut [(&std::string::String, &i32)]; // in scope 0 at src/main.rs:23:5: 23:10 let mut _42: &mut std::vec::Vec<(&std::string::String, &i32)>; // in scope 0 at src/main.rs:23:5: 23:10 let mut _43: [closure@src/main.rs:23:32: 23:71]; // in scope 0 at src/main.rs:23:32: 23:71 let mut _44: std::iter::Take>; // in scope 0 at src/main.rs:25:26: 25:46 let mut _45: std::iter::Take>; // in scope 0 at src/main.rs:25:26: 25:46 let mut _46: std::slice::Iter<(&std::string::String, &i32)>; // in scope 0 at src/main.rs:25:26: 25:38 let mut _47: &[(&std::string::String, &i32)]; // in scope 0 at src/main.rs:25:26: 25:31 let mut _48: &[(&std::string::String, &i32)]; // in scope 0 at src/main.rs:25:26: 25:31 let mut _49: &std::vec::Vec<(&std::string::String, &i32)>; // in scope 0 at src/main.rs:25:26: 25:31 let mut _50: usize; // in scope 0 at src/main.rs:25:44: 25:45 let mut _53: std::option::Option<&(&std::string::String, &i32)>; // in scope 0 at src/main.rs:25:26: 25:46 let mut _54: &mut std::iter::Take>; // in scope 0 at src/main.rs:25:26: 25:46 let mut _55: &mut std::iter::Take>; // in scope 0 at src/main.rs:25:26: 25:46 let mut _56: isize; // in scope 0 at src/main.rs:25:9: 25:22 let mut _58: &(&std::string::String, &i32); // in scope 0 at src/main.rs:25:9: 25:22 let _61: (); // in scope 0 at <::std::macros::println macros>:2:4: 2:60 let mut _62: std::fmt::Arguments; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _63: &[&str]; // in scope 0 at src/main.rs:26:18: 26:30 let mut _64: &[&str; 3]; // in scope 0 at src/main.rs:26:18: 26:30 let mut _65: &[&str; 3]; // in scope 0 at src/main.rs:26:18: 26:30 let mut _66: &[std::fmt::ArgumentV1]; // in scope 0 at src/main.rs:26:18: 26:30 let mut _67: &[std::fmt::ArgumentV1; 2]; // in scope 0 at src/main.rs:26:18: 26:30 let mut _68: &[std::fmt::ArgumentV1; 2]; // in scope 0 at src/main.rs:26:18: 26:30 let _69: [std::fmt::ArgumentV1; 2]; // in scope 0 at src/main.rs:26:18: 26:30 let mut _70: (&&&std::string::String, &&&i32); // in scope 0 at src/main.rs:26:18: 26:30 let mut _71: &&&std::string::String; // in scope 0 at src/main.rs:26:32: 26:36 let mut _72: &&&i32; // in scope 0 at src/main.rs:26:38: 26:43 let mut _75: std::fmt::ArgumentV1; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _76: &&&std::string::String; // in scope 0 at src/main.rs:26:32: 26:36 let mut _77: for<'r, 's, 't0> fn(&'r &&std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at src/main.rs:26:32: 26:36 let mut _78: std::fmt::ArgumentV1; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _79: &&&i32; // in scope 0 at src/main.rs:26:38: 26:43 let mut _80: for<'r, 's, 't0> fn(&'r &&i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at src/main.rs:26:38: 26:43 let mut _81: &[std::fmt::rt::v1::Argument]; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _82: &[std::fmt::rt::v1::Argument; 2]; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _83: &[std::fmt::rt::v1::Argument; 2]; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _84: bool; // in scope 0 at src/main.rs:28:1: 28:2 let mut _85: bool; // in scope 0 at src/main.rs:20:5: 20:6 let mut _86: isize; // in scope 0 at src/main.rs:13:44: 13:45 scope 1 { let mut _7: std::collections::HashMap; // "words" in scope 1 at src/main.rs:12:9: 12:18 scope 2 { let mut _12: std::io::Lines>; // "iter" in scope 2 at src/main.rs:13:17: 13:45 let mut _36: std::vec::Vec<(&std::string::String, &i32)> as UserTypeProjection { base: UserType(2), projs: [] }; // "words" in scope 2 at src/main.rs:22:9: 22:18 scope 3 { let mut _13: std::result::Result; // "__next" in scope 3 at src/main.rs:13:17: 13:45 scope 4 { let _18: std::result::Result; // "val" in scope 4 at src/main.rs:13:9: 13:13 let _20: std::result::Result; // "line" in scope 4 at src/main.rs:13:9: 13:13 scope 5 { } scope 6 { } } } scope 7 { let mut _51: std::iter::Take>; // "iter" in scope 7 at src/main.rs:25:26: 25:46 scope 8 { let mut _52: &(&std::string::String, &i32); // "__next" in scope 8 at src/main.rs:25:26: 25:46 scope 9 { let _57: &(&std::string::String, &i32); // "val" in scope 9 at src/main.rs:25:9: 25:22 let _59: &&std::string::String; // "word" in scope 9 at src/main.rs:25:10: 25:14 let _60: &&i32; // "count" in scope 9 at src/main.rs:25:16: 25:21 scope 10 { } scope 11 { let _73: &&&std::string::String; // "arg0" in scope 11 at src/main.rs:1:1: 1:1 let _74: &&&i32; // "arg1" in scope 11 at src/main.rs:1:1: 1:1 scope 12 { } } } } } } } bb0: { _84 = const false; // bb0[0]: scope 0 at src/main.rs:10:9: 10:19 // ty::Const // + ty: bool // + val: Scalar(0x00) // mir::Constant // + span: src/main.rs:10:9: 10:19 // + ty: bool // + literal: Const { ty: bool, val: Scalar(0x00) } _85 = const false; // bb0[1]: scope 0 at src/main.rs:10:9: 10:19 // ty::Const // + ty: bool // + val: Scalar(0x00) // mir::Constant // + span: src/main.rs:10:9: 10:19 // + ty: bool // + literal: Const { ty: bool, val: Scalar(0x00) } _84 = const true; // bb0[2]: scope 0 at src/main.rs:10:9: 10:19 // ty::Const // + ty: bool // + val: Scalar(0x01) // mir::Constant // + span: src/main.rs:10:9: 10:19 // + ty: bool // + literal: Const { ty: bool, val: Scalar(0x01) } StorageLive(_3); // bb0[3]: scope 0 at src/main.rs:10:9: 10:19 StorageLive(_4); // bb0[4]: scope 0 at src/main.rs:10:22: 10:47 StorageLive(_5); // bb0[5]: scope 0 at src/main.rs:10:33: 10:46 StorageLive(_6); // bb0[6]: scope 0 at src/main.rs:10:33: 10:46 _6 = const "(?i)[a-z\']+"; // bb0[7]: scope 0 at src/main.rs:10:33: 10:46 // ty::Const // + ty: &str // + val: Slice { data: Allocation { bytes: [40, 63, 105, 41, 91, 97, 45, 122, 39, 93, 43], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [2047], len: Size { raw: 11 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 11 } // mir::Constant // + span: src/main.rs:10:33: 10:46 // + ty: &str // + literal: Const { ty: &str, val: Slice { data: Allocation { bytes: [40, 63, 105, 41, 91, 97, 45, 122, 39, 93, 43], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [2047], len: Size { raw: 11 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 11 } } _5 = _6; // bb0[8]: scope 0 at src/main.rs:10:33: 10:46 _4 = const regex::Regex::new(move _5) -> [return: bb2, unwind: bb47]; // bb0[9]: scope 0 at src/main.rs:10:22: 10:47 // ty::Const // + ty: for<'r> fn(&'r str) -> std::result::Result {regex::Regex::new} // + val: Scalar() // mir::Constant // + span: src/main.rs:10:22: 10:32 // + ty: for<'r> fn(&'r str) -> std::result::Result {regex::Regex::new} // + literal: Const { ty: for<'r> fn(&'r str) -> std::result::Result {regex::Regex::new}, val: Scalar() } } bb1 (cleanup): { resume; // bb1[0]: scope 0 at src/main.rs:9:1: 28:2 } bb2: { StorageDead(_5); // bb2[0]: scope 0 at src/main.rs:10:46: 10:47 _3 = const std::result::Result::::unwrap(move _4) -> [return: bb3, unwind: bb47]; // bb2[1]: scope 0 at src/main.rs:10:22: 10:56 // ty::Const // + ty: fn(std::result::Result) -> regex::Regex {std::result::Result::::unwrap} // + val: Scalar() // mir::Constant // + span: src/main.rs:10:48: 10:54 // + ty: fn(std::result::Result) -> regex::Regex {std::result::Result::::unwrap} // + literal: Const { ty: fn(std::result::Result) -> regex::Regex {std::result::Result::::unwrap}, val: Scalar() } } bb3: { StorageDead(_4); // bb3[0]: scope 0 at src/main.rs:10:55: 10:56 StorageDead(_6); // bb3[1]: scope 0 at src/main.rs:10:56: 10:57 StorageLive(_7); // bb3[2]: scope 1 at src/main.rs:12:9: 12:18 _7 = const std::collections::HashMap::::new() -> [return: bb4, unwind: bb5]; // bb3[3]: scope 1 at src/main.rs:12:21: 12:35 // ty::Const // + ty: fn() -> std::collections::HashMap {std::collections::HashMap::::new} // + val: Scalar() // mir::Constant // + span: src/main.rs:12:21: 12:33 // + ty: fn() -> std::collections::HashMap {std::collections::HashMap::::new} // + user_ty: UserType(0) // + literal: Const { ty: fn() -> std::collections::HashMap {std::collections::HashMap::::new}, val: Scalar() } } bb4: { StorageLive(_8); // bb4[0]: scope 2 at src/main.rs:13:17: 13:45 StorageLive(_9); // bb4[1]: scope 2 at src/main.rs:13:17: 13:45 StorageLive(_10); // bb4[2]: scope 2 at src/main.rs:13:17: 13:37 StorageLive(_11); // bb4[3]: scope 2 at src/main.rs:13:32: 13:36 _84 = const false; // bb4[4]: scope 2 at src/main.rs:13:32: 13:36 // ty::Const // + ty: bool // + val: Scalar(0x00) // mir::Constant // + span: src/main.rs:13:32: 13:36 // + ty: bool // + literal: Const { ty: bool, val: Scalar(0x00) } _11 = move _1; // bb4[5]: scope 2 at src/main.rs:13:32: 13:36 _10 = const std::io::BufReader::::new(move _11) -> [return: bb7, unwind: bb6]; // bb4[6]: scope 2 at src/main.rs:13:17: 13:37 // ty::Const // + ty: fn(std::fs::File) -> std::io::BufReader {std::io::BufReader::::new} // + val: Scalar() // mir::Constant // + span: src/main.rs:13:17: 13:31 // + ty: fn(std::fs::File) -> std::io::BufReader {std::io::BufReader::::new} // + user_ty: UserType(1) // + literal: Const { ty: fn(std::fs::File) -> std::io::BufReader {std::io::BufReader::::new}, val: Scalar() } } bb5 (cleanup): { drop(_3) -> bb47; // bb5[0]: scope 0 at src/main.rs:28:1: 28:2 } bb6 (cleanup): { drop(_7) -> bb5; // bb6[0]: scope 1 at src/main.rs:28:1: 28:2 } bb7: { StorageDead(_11); // bb7[0]: scope 2 at src/main.rs:13:36: 13:37 _9 = const as std::io::BufRead>::lines(move _10) -> [return: bb8, unwind: bb6]; // bb7[1]: scope 2 at src/main.rs:13:17: 13:45 // ty::Const // + ty: fn(std::io::BufReader) -> std::io::Lines> { as std::io::BufRead>::lines} // + val: Scalar() // mir::Constant // + span: src/main.rs:13:38: 13:43 // + ty: fn(std::io::BufReader) -> std::io::Lines> { as std::io::BufRead>::lines} // + literal: Const { ty: fn(std::io::BufReader) -> std::io::Lines> { as std::io::BufRead>::lines}, val: Scalar() } } bb8: { StorageDead(_10); // bb8[0]: scope 2 at src/main.rs:13:44: 13:45 _8 = const > as std::iter::IntoIterator>::into_iter(move _9) -> [return: bb9, unwind: bb6]; // bb8[1]: scope 2 at src/main.rs:13:17: 13:45 // ty::Const // + ty: fn(std::io::Lines>) -> > as std::iter::IntoIterator>::IntoIter {> as std::iter::IntoIterator>::into_iter} // + val: Scalar() // mir::Constant // + span: src/main.rs:13:17: 13:45 // + ty: fn(std::io::Lines>) -> > as std::iter::IntoIterator>::IntoIter {> as std::iter::IntoIterator>::into_iter} // + literal: Const { ty: fn(std::io::Lines>) -> > as std::iter::IntoIterator>::IntoIter {> as std::iter::IntoIterator>::into_iter}, val: Scalar() } } bb9: { StorageDead(_9); // bb9[0]: scope 2 at src/main.rs:13:44: 13:45 StorageLive(_12); // bb9[1]: scope 2 at src/main.rs:13:17: 13:45 _12 = move _8; // bb9[2]: scope 2 at src/main.rs:13:17: 13:45 goto -> bb10; // bb9[3]: scope 3 at src/main.rs:13:5: 20:6 } bb10: { StorageLive(_13); // bb10[0]: scope 3 at src/main.rs:13:17: 13:45 StorageLive(_14); // bb10[1]: scope 4 at src/main.rs:13:17: 13:45 StorageLive(_15); // bb10[2]: scope 4 at src/main.rs:13:17: 13:45 StorageLive(_16); // bb10[3]: scope 4 at src/main.rs:13:17: 13:45 _16 = &mut _12; // bb10[4]: scope 4 at src/main.rs:13:17: 13:45 _15 = _16; // bb10[5]: scope 4 at src/main.rs:13:17: 13:45 _14 = const > as std::iter::Iterator>::next(move _15) -> [return: bb12, unwind: bb49]; // bb10[6]: scope 4 at src/main.rs:13:17: 13:45 // ty::Const // + ty: for<'r> fn(&'r mut std::io::Lines>) -> std::option::Option<> as std::iter::Iterator>::Item> {> as std::iter::Iterator>::next} // + val: Scalar() // mir::Constant // + span: src/main.rs:13:17: 13:45 // + ty: for<'r> fn(&'r mut std::io::Lines>) -> std::option::Option<> as std::iter::Iterator>::Item> {> as std::iter::Iterator>::next} // + literal: Const { ty: for<'r> fn(&'r mut std::io::Lines>) -> std::option::Option<> as std::iter::Iterator>::Item> {> as std::iter::Iterator>::next}, val: Scalar() } } bb11 (cleanup): { drop(_12) -> bb6; // bb11[0]: scope 2 at src/main.rs:20:5: 20:6 } bb12: { StorageDead(_15); // bb12[0]: scope 4 at src/main.rs:13:44: 13:45 _17 = discriminant(_14); // bb12[1]: scope 4 at src/main.rs:13:9: 13:13 switchInt(move _17) -> [0isize: bb13, 1isize: bb15, otherwise: bb14]; // bb12[2]: scope 4 at src/main.rs:13:9: 13:13 } bb13: { drop(_14) -> [return: bb16, unwind: bb49]; // bb13[0]: scope 4 at src/main.rs:13:44: 13:45 } bb14: { unreachable; // bb14[0]: scope 4 at src/main.rs:13:17: 13:45 } bb15: { StorageLive(_18); // bb15[0]: scope 4 at src/main.rs:13:9: 13:13 _18 = move ((_14 as Some).0: std::result::Result); // bb15[1]: scope 4 at src/main.rs:13:9: 13:13 StorageLive(_19); // bb15[2]: scope 5 at src/main.rs:13:9: 13:13 _19 = move _18; // bb15[3]: scope 5 at src/main.rs:13:9: 13:13 _85 = const true; // bb15[4]: scope 5 at src/main.rs:13:9: 13:13 // ty::Const // + ty: bool // + val: Scalar(0x01) // mir::Constant // + span: src/main.rs:13:9: 13:13 // + ty: bool // + literal: Const { ty: bool, val: Scalar(0x01) } _13 = move _19; // bb15[5]: scope 5 at src/main.rs:13:9: 13:13 StorageDead(_19); // bb15[6]: scope 5 at src/main.rs:13:12: 13:13 StorageDead(_18); // bb15[7]: scope 4 at src/main.rs:13:12: 13:13 _86 = discriminant(_14); // bb15[8]: scope 4 at src/main.rs:13:44: 13:45 switchInt(move _86) -> [1isize: bb50, otherwise: bb51]; // bb15[9]: scope 4 at src/main.rs:13:44: 13:45 } bb16: { StorageDead(_16); // bb16[0]: scope 4 at src/main.rs:13:44: 13:45 StorageDead(_14); // bb16[1]: scope 4 at src/main.rs:13:44: 13:45 _85 = const false; // bb16[2]: scope 3 at src/main.rs:20:5: 20:6 // ty::Const // + ty: bool // + val: Scalar(0x00) // mir::Constant // + span: src/main.rs:20:5: 20:6 // + ty: bool // + literal: Const { ty: bool, val: Scalar(0x00) } StorageDead(_13); // bb16[3]: scope 3 at src/main.rs:20:5: 20:6 drop(_12) -> [return: bb24, unwind: bb6]; // bb16[4]: scope 2 at src/main.rs:20:5: 20:6 } bb17: { StorageDead(_31); // bb17[0]: scope 6 at src/main.rs:15:49: 15:50 StorageDead(_30); // bb17[1]: scope 6 at src/main.rs:15:49: 15:50 _28 = &_29; // bb17[2]: scope 6 at src/main.rs:15:24: 15:50 _27 = _28; // bb17[3]: scope 6 at src/main.rs:15:24: 15:50 _26 = const ::deref(move _27) -> [return: bb19, unwind: bb18]; // bb17[4]: scope 6 at src/main.rs:15:24: 15:50 // ty::Const // + ty: for<'r> fn(&'r std::string::String) -> &'r ::Target {::deref} // + val: Scalar() // mir::Constant // + span: src/main.rs:15:24: 15:50 // + ty: for<'r> fn(&'r std::string::String) -> &'r ::Target {::deref} // + literal: Const { ty: for<'r> fn(&'r std::string::String) -> &'r ::Target {::deref}, val: Scalar() } } bb18 (cleanup): { drop(_29) -> bb49; // bb18[0]: scope 6 at src/main.rs:19:15: 19:16 } bb19: { _25 = _26; // bb19[0]: scope 6 at src/main.rs:15:24: 15:50 StorageDead(_27); // bb19[1]: scope 6 at src/main.rs:15:49: 15:50 _23 = const regex::Regex::find_iter(move _24, move _25) -> [return: bb20, unwind: bb18]; // bb19[2]: scope 6 at src/main.rs:14:9: 15:51 // ty::Const // + ty: for<'r, 't> fn(&'r regex::Regex, &'t str) -> regex::Matches<'r, 't> {regex::Regex::find_iter} // + val: Scalar() // mir::Constant // + span: src/main.rs:15:14: 15:23 // + ty: for<'r, 't> fn(&'r regex::Regex, &'t str) -> regex::Matches<'r, 't> {regex::Regex::find_iter} // + literal: Const { ty: for<'r, 't> fn(&'r regex::Regex, &'t str) -> regex::Matches<'r, 't> {regex::Regex::find_iter}, val: Scalar() } } bb20: { StorageDead(_25); // bb20[0]: scope 6 at src/main.rs:15:50: 15:51 StorageDead(_24); // bb20[1]: scope 6 at src/main.rs:15:50: 15:51 StorageLive(_33); // bb20[2]: scope 6 at src/main.rs:16:18: 16:32 _22 = const ::map::<&str, [closure@src/main.rs:16:18: 16:32]>(move _23, move _33) -> [return: bb21, unwind: bb18]; // bb20[3]: scope 6 at src/main.rs:14:9: 16:33 // ty::Const // + ty: fn(regex::Matches, [closure@src/main.rs:16:18: 16:32]) -> std::iter::Map {::map::<&str, [closure@src/main.rs:16:18: 16:32]>} // + val: Scalar() // mir::Constant // + span: src/main.rs:16:14: 16:17 // + ty: fn(regex::Matches, [closure@src/main.rs:16:18: 16:32]) -> std::iter::Map {::map::<&str, [closure@src/main.rs:16:18: 16:32]>} // + literal: Const { ty: fn(regex::Matches, [closure@src/main.rs:16:18: 16:32]) -> std::iter::Map {::map::<&str, [closure@src/main.rs:16:18: 16:32]>}, val: Scalar() } } bb21: { StorageDead(_33); // bb21[0]: scope 6 at src/main.rs:16:32: 16:33 StorageDead(_23); // bb21[1]: scope 6 at src/main.rs:16:32: 16:33 StorageLive(_34); // bb21[2]: scope 6 at src/main.rs:17:23: 19:14 StorageLive(_35); // bb21[3]: scope 6 at src/main.rs:17:23: 19:14 _35 = &mut _7; // bb21[4]: scope 6 at src/main.rs:17:23: 19:14 (_34.0: &mut std::collections::HashMap) = move _35; // bb21[5]: scope 6 at src/main.rs:17:23: 19:14 StorageDead(_35); // bb21[6]: scope 6 at src/main.rs:19:13: 19:14 _21 = const as std::iter::Iterator>::for_each::<[closure@src/main.rs:17:23: 19:14 words:&mut std::collections::HashMap]>(move _22, move _34) -> [return: bb22, unwind: bb18]; // bb21[7]: scope 6 at src/main.rs:14:9: 19:15 // ty::Const // + ty: fn(std::iter::Map, [closure@src/main.rs:17:23: 19:14 words:&mut std::collections::HashMap]) { as std::iter::Iterator>::for_each::<[closure@src/main.rs:17:23: 19:14 words:&mut std::collections::HashMap]>} // + val: Scalar() // mir::Constant // + span: src/main.rs:17:14: 17:22 // + ty: fn(std::iter::Map, [closure@src/main.rs:17:23: 19:14 words:&mut std::collections::HashMap]) { as std::iter::Iterator>::for_each::<[closure@src/main.rs:17:23: 19:14 words:&mut std::collections::HashMap]>} // + literal: Const { ty: fn(std::iter::Map, [closure@src/main.rs:17:23: 19:14 words:&mut std::collections::HashMap]) { as std::iter::Iterator>::for_each::<[closure@src/main.rs:17:23: 19:14 words:&mut std::collections::HashMap]>}, val: Scalar() } } bb22: { StorageDead(_34); // bb22[0]: scope 6 at src/main.rs:19:14: 19:15 StorageDead(_22); // bb22[1]: scope 6 at src/main.rs:19:14: 19:15 drop(_29) -> [return: bb23, unwind: bb49]; // bb22[2]: scope 6 at src/main.rs:19:15: 19:16 } bb23: { StorageDead(_32); // bb23[0]: scope 6 at src/main.rs:19:15: 19:16 StorageDead(_29); // bb23[1]: scope 6 at src/main.rs:19:15: 19:16 StorageDead(_28); // bb23[2]: scope 6 at src/main.rs:19:15: 19:16 StorageDead(_26); // bb23[3]: scope 6 at src/main.rs:19:15: 19:16 StorageDead(_21); // bb23[4]: scope 6 at src/main.rs:19:15: 19:16 StorageDead(_20); // bb23[5]: scope 4 at src/main.rs:20:5: 20:6 _85 = const false; // bb23[6]: scope 3 at src/main.rs:20:5: 20:6 // ty::Const // + ty: bool // + val: Scalar(0x00) // mir::Constant // + span: src/main.rs:20:5: 20:6 // + ty: bool // + literal: Const { ty: bool, val: Scalar(0x00) } StorageDead(_13); // bb23[7]: scope 3 at src/main.rs:20:5: 20:6 goto -> bb10; // bb23[8]: scope 3 at src/main.rs:13:5: 20:6 } bb24: { StorageDead(_12); // bb24[0]: scope 2 at src/main.rs:20:5: 20:6 StorageDead(_8); // bb24[1]: scope 2 at src/main.rs:13:44: 13:45 StorageLive(_36); // bb24[2]: scope 2 at src/main.rs:22:9: 22:18 StorageLive(_37); // bb24[3]: scope 2 at src/main.rs:22:29: 22:41 StorageLive(_38); // bb24[4]: scope 2 at src/main.rs:22:29: 22:34 _38 = &_7; // bb24[5]: scope 2 at src/main.rs:22:29: 22:34 _37 = const std::collections::HashMap::::iter(move _38) -> [return: bb25, unwind: bb6]; // bb24[6]: scope 2 at src/main.rs:22:29: 22:41 // ty::Const // + ty: for<'r> fn(&'r std::collections::HashMap) -> std::collections::hash_map::Iter<'r, std::string::String, i32> {std::collections::HashMap::::iter} // + val: Scalar() // mir::Constant // + span: src/main.rs:22:35: 22:39 // + ty: for<'r> fn(&'r std::collections::HashMap) -> std::collections::hash_map::Iter<'r, std::string::String, i32> {std::collections::HashMap::::iter} // + literal: Const { ty: for<'r> fn(&'r std::collections::HashMap) -> std::collections::hash_map::Iter<'r, std::string::String, i32> {std::collections::HashMap::::iter}, val: Scalar() } } bb25: { StorageDead(_38); // bb25[0]: scope 2 at src/main.rs:22:40: 22:41 _36 = const as std::iter::Iterator>::collect::>(move _37) -> [return: bb26, unwind: bb6]; // bb25[1]: scope 2 at src/main.rs:22:29: 22:51 // ty::Const // + ty: fn(std::collections::hash_map::Iter) -> std::vec::Vec<(&std::string::String, &i32)> { as std::iter::Iterator>::collect::>} // + val: Scalar() // mir::Constant // + span: src/main.rs:22:42: 22:49 // + ty: fn(std::collections::hash_map::Iter) -> std::vec::Vec<(&std::string::String, &i32)> { as std::iter::Iterator>::collect::>} // + literal: Const { ty: fn(std::collections::hash_map::Iter) -> std::vec::Vec<(&std::string::String, &i32)> { as std::iter::Iterator>::collect::>}, val: Scalar() } } bb26: { StorageDead(_37); // bb26[0]: scope 2 at src/main.rs:22:50: 22:51 StorageLive(_39); // bb26[1]: scope 7 at src/main.rs:23:5: 23:72 StorageLive(_40); // bb26[2]: scope 7 at src/main.rs:23:5: 23:10 StorageLive(_41); // bb26[3]: scope 7 at src/main.rs:23:5: 23:10 StorageLive(_42); // bb26[4]: scope 7 at src/main.rs:23:5: 23:10 _42 = &mut _36; // bb26[5]: scope 7 at src/main.rs:23:5: 23:10 _41 = const as std::ops::DerefMut>::deref_mut(move _42) -> [return: bb27, unwind: bb28]; // bb26[6]: scope 7 at src/main.rs:23:5: 23:10 // ty::Const // + ty: for<'r> fn(&'r mut std::vec::Vec<(&std::string::String, &i32)>) -> &'r mut as std::ops::Deref>::Target { as std::ops::DerefMut>::deref_mut} // + val: Scalar() // mir::Constant // + span: src/main.rs:23:5: 23:10 // + ty: for<'r> fn(&'r mut std::vec::Vec<(&std::string::String, &i32)>) -> &'r mut as std::ops::Deref>::Target { as std::ops::DerefMut>::deref_mut} // + literal: Const { ty: for<'r> fn(&'r mut std::vec::Vec<(&std::string::String, &i32)>) -> &'r mut as std::ops::Deref>::Target { as std::ops::DerefMut>::deref_mut}, val: Scalar() } } bb27: { _40 = _41; // bb27[0]: scope 7 at src/main.rs:23:5: 23:10 StorageDead(_42); // bb27[1]: scope 7 at src/main.rs:23:9: 23:10 StorageLive(_43); // bb27[2]: scope 7 at src/main.rs:23:32: 23:71 _39 = const core::slice::::sort_unstable_by_key::<(std::cmp::Reverse<&i32>, &std::string::String), [closure@src/main.rs:23:32: 23:71]>(move _40, move _43) -> [return: bb29, unwind: bb28]; // bb27[3]: scope 7 at src/main.rs:23:5: 23:72 // ty::Const // + ty: for<'r> fn(&'r mut [(&std::string::String, &i32)], [closure@src/main.rs:23:32: 23:71]) {core::slice::::sort_unstable_by_key::<(std::cmp::Reverse<&i32>, &std::string::String), [closure@src/main.rs:23:32: 23:71]>} // + val: Scalar() // mir::Constant // + span: src/main.rs:23:11: 23:31 // + ty: for<'r> fn(&'r mut [(&std::string::String, &i32)], [closure@src/main.rs:23:32: 23:71]) {core::slice::::sort_unstable_by_key::<(std::cmp::Reverse<&i32>, &std::string::String), [closure@src/main.rs:23:32: 23:71]>} // + literal: Const { ty: for<'r> fn(&'r mut [(&std::string::String, &i32)], [closure@src/main.rs:23:32: 23:71]) {core::slice::::sort_unstable_by_key::<(std::cmp::Reverse<&i32>, &std::string::String), [closure@src/main.rs:23:32: 23:71]>}, val: Scalar() } } bb28 (cleanup): { drop(_36) -> bb6; // bb28[0]: scope 2 at src/main.rs:28:1: 28:2 } bb29: { StorageDead(_43); // bb29[0]: scope 7 at src/main.rs:23:71: 23:72 StorageDead(_40); // bb29[1]: scope 7 at src/main.rs:23:71: 23:72 StorageDead(_41); // bb29[2]: scope 7 at src/main.rs:23:72: 23:73 StorageDead(_39); // bb29[3]: scope 7 at src/main.rs:23:72: 23:73 StorageLive(_44); // bb29[4]: scope 7 at src/main.rs:25:26: 25:46 StorageLive(_45); // bb29[5]: scope 7 at src/main.rs:25:26: 25:46 StorageLive(_46); // bb29[6]: scope 7 at src/main.rs:25:26: 25:38 StorageLive(_47); // bb29[7]: scope 7 at src/main.rs:25:26: 25:31 StorageLive(_48); // bb29[8]: scope 7 at src/main.rs:25:26: 25:31 StorageLive(_49); // bb29[9]: scope 7 at src/main.rs:25:26: 25:31 _49 = &_36; // bb29[10]: scope 7 at src/main.rs:25:26: 25:31 _48 = const as std::ops::Deref>::deref(move _49) -> [return: bb30, unwind: bb28]; // bb29[11]: scope 7 at src/main.rs:25:26: 25:31 // ty::Const // + ty: for<'r> fn(&'r std::vec::Vec<(&std::string::String, &i32)>) -> &'r as std::ops::Deref>::Target { as std::ops::Deref>::deref} // + val: Scalar() // mir::Constant // + span: src/main.rs:25:26: 25:31 // + ty: for<'r> fn(&'r std::vec::Vec<(&std::string::String, &i32)>) -> &'r as std::ops::Deref>::Target { as std::ops::Deref>::deref} // + literal: Const { ty: for<'r> fn(&'r std::vec::Vec<(&std::string::String, &i32)>) -> &'r as std::ops::Deref>::Target { as std::ops::Deref>::deref}, val: Scalar() } } bb30: { _47 = _48; // bb30[0]: scope 7 at src/main.rs:25:26: 25:31 StorageDead(_49); // bb30[1]: scope 7 at src/main.rs:25:30: 25:31 _46 = const core::slice::::iter(move _47) -> [return: bb31, unwind: bb28]; // bb30[2]: scope 7 at src/main.rs:25:26: 25:38 // ty::Const // + ty: for<'r> fn(&'r [(&std::string::String, &i32)]) -> std::slice::Iter<'r, (&std::string::String, &i32)> {core::slice::::iter} // + val: Scalar() // mir::Constant // + span: src/main.rs:25:32: 25:36 // + ty: for<'r> fn(&'r [(&std::string::String, &i32)]) -> std::slice::Iter<'r, (&std::string::String, &i32)> {core::slice::::iter} // + literal: Const { ty: for<'r> fn(&'r [(&std::string::String, &i32)]) -> std::slice::Iter<'r, (&std::string::String, &i32)> {core::slice::::iter}, val: Scalar() } } bb31: { StorageDead(_47); // bb31[0]: scope 7 at src/main.rs:25:37: 25:38 StorageLive(_50); // bb31[1]: scope 7 at src/main.rs:25:44: 25:45 _50 = _2; // bb31[2]: scope 7 at src/main.rs:25:44: 25:45 _45 = const as std::iter::Iterator>::take(move _46, move _50) -> [return: bb32, unwind: bb28]; // bb31[3]: scope 7 at src/main.rs:25:26: 25:46 // ty::Const // + ty: fn(std::slice::Iter<(&std::string::String, &i32)>, usize) -> std::iter::Take> { as std::iter::Iterator>::take} // + val: Scalar() // mir::Constant // + span: src/main.rs:25:39: 25:43 // + ty: fn(std::slice::Iter<(&std::string::String, &i32)>, usize) -> std::iter::Take> { as std::iter::Iterator>::take} // + literal: Const { ty: fn(std::slice::Iter<(&std::string::String, &i32)>, usize) -> std::iter::Take> { as std::iter::Iterator>::take}, val: Scalar() } } bb32: { StorageDead(_50); // bb32[0]: scope 7 at src/main.rs:25:45: 25:46 StorageDead(_46); // bb32[1]: scope 7 at src/main.rs:25:45: 25:46 _44 = const > as std::iter::IntoIterator>::into_iter(move _45) -> [return: bb33, unwind: bb28]; // bb32[2]: scope 7 at src/main.rs:25:26: 25:46 // ty::Const // + ty: fn(std::iter::Take>) -> > as std::iter::IntoIterator>::IntoIter {> as std::iter::IntoIterator>::into_iter} // + val: Scalar() // mir::Constant // + span: src/main.rs:25:26: 25:46 // + ty: fn(std::iter::Take>) -> > as std::iter::IntoIterator>::IntoIter {> as std::iter::IntoIterator>::into_iter} // + literal: Const { ty: fn(std::iter::Take>) -> > as std::iter::IntoIterator>::IntoIter {> as std::iter::IntoIterator>::into_iter}, val: Scalar() } } bb33: { StorageDead(_45); // bb33[0]: scope 7 at src/main.rs:25:45: 25:46 StorageLive(_51); // bb33[1]: scope 7 at src/main.rs:25:26: 25:46 _51 = move _44; // bb33[2]: scope 7 at src/main.rs:25:26: 25:46 goto -> bb34; // bb33[3]: scope 8 at src/main.rs:25:5: 27:6 } bb34: { StorageLive(_52); // bb34[0]: scope 8 at src/main.rs:25:26: 25:46 StorageLive(_53); // bb34[1]: scope 9 at src/main.rs:25:26: 25:46 StorageLive(_54); // bb34[2]: scope 9 at src/main.rs:25:26: 25:46 StorageLive(_55); // bb34[3]: scope 9 at src/main.rs:25:26: 25:46 _55 = &mut _51; // bb34[4]: scope 9 at src/main.rs:25:26: 25:46 _54 = _55; // bb34[5]: scope 9 at src/main.rs:25:26: 25:46 _53 = const > as std::iter::Iterator>::next(move _54) -> [return: bb35, unwind: bb28]; // bb34[6]: scope 9 at src/main.rs:25:26: 25:46 // ty::Const // + ty: for<'r> fn(&'r mut std::iter::Take>) -> std::option::Option<> as std::iter::Iterator>::Item> {> as std::iter::Iterator>::next} // + val: Scalar() // mir::Constant // + span: src/main.rs:25:26: 25:46 // + ty: for<'r> fn(&'r mut std::iter::Take>) -> std::option::Option<> as std::iter::Iterator>::Item> {> as std::iter::Iterator>::next} // + literal: Const { ty: for<'r> fn(&'r mut std::iter::Take>) -> std::option::Option<> as std::iter::Iterator>::Item> {> as std::iter::Iterator>::next}, val: Scalar() } } bb35: { StorageDead(_54); // bb35[0]: scope 9 at src/main.rs:25:45: 25:46 _56 = discriminant(_53); // bb35[1]: scope 9 at src/main.rs:25:9: 25:22 switchInt(move _56) -> [0isize: bb36, 1isize: bb38, otherwise: bb37]; // bb35[2]: scope 9 at src/main.rs:25:9: 25:22 } bb36: { StorageDead(_55); // bb36[0]: scope 9 at src/main.rs:25:45: 25:46 StorageDead(_53); // bb36[1]: scope 9 at src/main.rs:25:45: 25:46 StorageDead(_52); // bb36[2]: scope 8 at src/main.rs:27:5: 27:6 StorageDead(_51); // bb36[3]: scope 7 at src/main.rs:27:5: 27:6 StorageDead(_48); // bb36[4]: scope 7 at src/main.rs:25:45: 25:46 StorageDead(_44); // bb36[5]: scope 7 at src/main.rs:25:45: 25:46 drop(_36) -> [return: bb43, unwind: bb6]; // bb36[6]: scope 2 at src/main.rs:28:1: 28:2 } bb37: { unreachable; // bb37[0]: scope 9 at src/main.rs:25:26: 25:46 } bb38: { StorageLive(_57); // bb38[0]: scope 9 at src/main.rs:25:9: 25:22 _57 = ((_53 as Some).0: &(&std::string::String, &i32)); // bb38[1]: scope 9 at src/main.rs:25:9: 25:22 StorageLive(_58); // bb38[2]: scope 10 at src/main.rs:25:9: 25:22 _58 = _57; // bb38[3]: scope 10 at src/main.rs:25:9: 25:22 _52 = move _58; // bb38[4]: scope 10 at src/main.rs:25:9: 25:22 StorageDead(_58); // bb38[5]: scope 10 at src/main.rs:25:21: 25:22 StorageDead(_57); // bb38[6]: scope 9 at src/main.rs:25:21: 25:22 StorageDead(_55); // bb38[7]: scope 9 at src/main.rs:25:45: 25:46 StorageDead(_53); // bb38[8]: scope 9 at src/main.rs:25:45: 25:46 StorageLive(_59); // bb38[9]: scope 9 at src/main.rs:25:10: 25:14 _59 = &((*_52).0: &std::string::String); // bb38[10]: scope 9 at src/main.rs:25:10: 25:14 StorageLive(_60); // bb38[11]: scope 9 at src/main.rs:25:16: 25:21 _60 = &((*_52).1: &i32); // bb38[12]: scope 9 at src/main.rs:25:16: 25:21 StorageLive(_61); // bb38[13]: scope 11 at <::std::macros::println macros>:2:4: 2:60 StorageLive(_62); // bb38[14]: scope 11 at <::std::macros::println macros>:2:29: 2:59 StorageLive(_63); // bb38[15]: scope 11 at src/main.rs:26:18: 26:30 StorageLive(_64); // bb38[16]: scope 11 at src/main.rs:26:18: 26:30 StorageLive(_65); // bb38[17]: scope 11 at src/main.rs:26:18: 26:30 _65 = &(promoted[1]: [&str; 3]); // bb38[18]: scope 11 at src/main.rs:26:18: 26:30 _64 = _65; // bb38[19]: scope 11 at src/main.rs:26:18: 26:30 _63 = move _64 as &[&str] (Pointer(Unsize)); // bb38[20]: scope 11 at src/main.rs:26:18: 26:30 StorageDead(_64); // bb38[21]: scope 11 at src/main.rs:26:29: 26:30 StorageLive(_66); // bb38[22]: scope 11 at src/main.rs:26:18: 26:30 StorageLive(_67); // bb38[23]: scope 11 at src/main.rs:26:18: 26:30 StorageLive(_68); // bb38[24]: scope 11 at src/main.rs:26:18: 26:30 StorageLive(_69); // bb38[25]: scope 11 at src/main.rs:26:18: 26:30 StorageLive(_70); // bb38[26]: scope 11 at src/main.rs:26:18: 26:30 StorageLive(_71); // bb38[27]: scope 11 at src/main.rs:26:32: 26:36 _71 = &_59; // bb38[28]: scope 11 at src/main.rs:26:32: 26:36 StorageLive(_72); // bb38[29]: scope 11 at src/main.rs:26:38: 26:43 _72 = &_60; // bb38[30]: scope 11 at src/main.rs:26:38: 26:43 (_70.0: &&&std::string::String) = move _71; // bb38[31]: scope 11 at src/main.rs:26:18: 26:30 (_70.1: &&&i32) = move _72; // bb38[32]: scope 11 at src/main.rs:26:18: 26:30 StorageDead(_72); // bb38[33]: scope 11 at src/main.rs:26:29: 26:30 StorageDead(_71); // bb38[34]: scope 11 at src/main.rs:26:29: 26:30 StorageLive(_73); // bb38[35]: scope 11 at src/main.rs:1:1: 1:1 _73 = (_70.0: &&&std::string::String); // bb38[36]: scope 11 at src/main.rs:1:1: 1:1 StorageLive(_74); // bb38[37]: scope 11 at src/main.rs:1:1: 1:1 _74 = (_70.1: &&&i32); // bb38[38]: scope 11 at src/main.rs:1:1: 1:1 StorageLive(_75); // bb38[39]: scope 12 at <::std::macros::println macros>:2:29: 2:59 StorageLive(_76); // bb38[40]: scope 12 at src/main.rs:26:32: 26:36 _76 = _73; // bb38[41]: scope 12 at src/main.rs:26:32: 26:36 StorageLive(_77); // bb38[42]: scope 12 at src/main.rs:26:32: 26:36 _77 = const <&&std::string::String as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r &&std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // bb38[43]: scope 12 at src/main.rs:26:32: 26:36 // ty::Const // + ty: for<'r, 's, 't0> fn(&'r &&std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&&std::string::String as std::fmt::Display>::fmt} // + val: Scalar() // mir::Constant // + span: src/main.rs:26:32: 26:36 // + ty: for<'r, 's, 't0> fn(&'r &&std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&&std::string::String as std::fmt::Display>::fmt} // + literal: Const { ty: for<'r, 's, 't0> fn(&'r &&std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&&std::string::String as std::fmt::Display>::fmt}, val: Scalar() } _75 = const std::fmt::ArgumentV1::new::<&&std::string::String>(move _76, move _77) -> [return: bb39, unwind: bb28]; // bb38[44]: scope 12 at <::std::macros::println macros>:2:29: 2:59 // ty::Const // + ty: for<'b> fn(&'b &&std::string::String, for<'r, 's, 't0> fn(&'r &&std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> std::fmt::ArgumentV1<'b> {std::fmt::ArgumentV1::new::<&&std::string::String>} // + val: Scalar() // mir::Constant // + span: <::std::macros::println macros>:2:29: 2:59 // + ty: for<'b> fn(&'b &&std::string::String, for<'r, 's, 't0> fn(&'r &&std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> std::fmt::ArgumentV1<'b> {std::fmt::ArgumentV1::new::<&&std::string::String>} // + user_ty: UserType(5) // + literal: Const { ty: for<'b> fn(&'b &&std::string::String, for<'r, 's, 't0> fn(&'r &&std::string::String, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> std::fmt::ArgumentV1<'b> {std::fmt::ArgumentV1::new::<&&std::string::String>}, val: Scalar() } } bb39: { StorageDead(_77); // bb39[0]: scope 12 at <::std::macros::println macros>:2:58: 2:59 StorageDead(_76); // bb39[1]: scope 12 at <::std::macros::println macros>:2:58: 2:59 StorageLive(_78); // bb39[2]: scope 12 at <::std::macros::println macros>:2:29: 2:59 StorageLive(_79); // bb39[3]: scope 12 at src/main.rs:26:38: 26:43 _79 = _74; // bb39[4]: scope 12 at src/main.rs:26:38: 26:43 StorageLive(_80); // bb39[5]: scope 12 at src/main.rs:26:38: 26:43 _80 = const <&&i32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r &&i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // bb39[6]: scope 12 at src/main.rs:26:38: 26:43 // ty::Const // + ty: for<'r, 's, 't0> fn(&'r &&i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&&i32 as std::fmt::Display>::fmt} // + val: Scalar() // mir::Constant // + span: src/main.rs:26:38: 26:43 // + ty: for<'r, 's, 't0> fn(&'r &&i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&&i32 as std::fmt::Display>::fmt} // + literal: Const { ty: for<'r, 's, 't0> fn(&'r &&i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&&i32 as std::fmt::Display>::fmt}, val: Scalar() } _78 = const std::fmt::ArgumentV1::new::<&&i32>(move _79, move _80) -> [return: bb40, unwind: bb28]; // bb39[7]: scope 12 at <::std::macros::println macros>:2:29: 2:59 // ty::Const // + ty: for<'b> fn(&'b &&i32, for<'r, 's, 't0> fn(&'r &&i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> std::fmt::ArgumentV1<'b> {std::fmt::ArgumentV1::new::<&&i32>} // + val: Scalar() // mir::Constant // + span: <::std::macros::println macros>:2:29: 2:59 // + ty: for<'b> fn(&'b &&i32, for<'r, 's, 't0> fn(&'r &&i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> std::fmt::ArgumentV1<'b> {std::fmt::ArgumentV1::new::<&&i32>} // + user_ty: UserType(6) // + literal: Const { ty: for<'b> fn(&'b &&i32, for<'r, 's, 't0> fn(&'r &&i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> std::fmt::ArgumentV1<'b> {std::fmt::ArgumentV1::new::<&&i32>}, val: Scalar() } } bb40: { StorageDead(_80); // bb40[0]: scope 12 at <::std::macros::println macros>:2:58: 2:59 StorageDead(_79); // bb40[1]: scope 12 at <::std::macros::println macros>:2:58: 2:59 _69 = [move _75, move _78]; // bb40[2]: scope 12 at src/main.rs:26:18: 26:30 StorageDead(_78); // bb40[3]: scope 12 at src/main.rs:26:29: 26:30 StorageDead(_75); // bb40[4]: scope 12 at src/main.rs:26:29: 26:30 StorageDead(_74); // bb40[5]: scope 11 at src/main.rs:26:29: 26:30 StorageDead(_73); // bb40[6]: scope 11 at src/main.rs:26:29: 26:30 _68 = &_69; // bb40[7]: scope 11 at src/main.rs:26:18: 26:30 _67 = _68; // bb40[8]: scope 11 at src/main.rs:26:18: 26:30 _66 = move _67 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // bb40[9]: scope 11 at src/main.rs:26:18: 26:30 StorageDead(_67); // bb40[10]: scope 11 at src/main.rs:26:29: 26:30 StorageLive(_81); // bb40[11]: scope 11 at <::std::macros::println macros>:2:29: 2:59 StorageLive(_82); // bb40[12]: scope 11 at <::std::macros::println macros>:2:29: 2:59 StorageLive(_83); // bb40[13]: scope 11 at <::std::macros::println macros>:2:29: 2:59 _83 = &(promoted[0]: [std::fmt::rt::v1::Argument; 2]); // bb40[14]: scope 11 at <::std::macros::println macros>:2:29: 2:59 _82 = _83; // bb40[15]: scope 11 at <::std::macros::println macros>:2:29: 2:59 _81 = move _82 as &[std::fmt::rt::v1::Argument] (Pointer(Unsize)); // bb40[16]: scope 11 at <::std::macros::println macros>:2:29: 2:59 StorageDead(_82); // bb40[17]: scope 11 at <::std::macros::println macros>:2:58: 2:59 _62 = const std::fmt::Arguments::new_v1_formatted(move _63, move _66, move _81) -> [return: bb41, unwind: bb28]; // bb40[18]: scope 11 at <::std::macros::println macros>:2:29: 2:59 // ty::Const // + ty: fn(&[&str], &[std::fmt::ArgumentV1], &[std::fmt::rt::v1::Argument]) -> std::fmt::Arguments {std::fmt::Arguments::new_v1_formatted} // + val: Scalar() // mir::Constant // + span: <::std::macros::println macros>:2:29: 2:59 // + ty: fn(&[&str], &[std::fmt::ArgumentV1], &[std::fmt::rt::v1::Argument]) -> std::fmt::Arguments {std::fmt::Arguments::new_v1_formatted} // + user_ty: UserType(4) // + literal: Const { ty: fn(&[&str], &[std::fmt::ArgumentV1], &[std::fmt::rt::v1::Argument]) -> std::fmt::Arguments {std::fmt::Arguments::new_v1_formatted}, val: Scalar() } } bb41: { StorageDead(_81); // bb41[0]: scope 11 at <::std::macros::println macros>:2:58: 2:59 StorageDead(_66); // bb41[1]: scope 11 at <::std::macros::println macros>:2:58: 2:59 StorageDead(_63); // bb41[2]: scope 11 at <::std::macros::println macros>:2:58: 2:59 _61 = const std::io::_print(move _62) -> [return: bb42, unwind: bb28]; // bb41[3]: scope 11 at <::std::macros::println macros>:2:4: 2:60 // ty::Const // + ty: for<'r> fn(std::fmt::Arguments<'r>) {std::io::_print} // + val: Scalar() // mir::Constant // + span: <::std::macros::println macros>:2:4: 2:27 // + ty: for<'r> fn(std::fmt::Arguments<'r>) {std::io::_print} // + literal: Const { ty: for<'r> fn(std::fmt::Arguments<'r>) {std::io::_print}, val: Scalar() } } bb42: { StorageDead(_62); // bb42[0]: scope 11 at <::std::macros::println macros>:2:59: 2:60 StorageDead(_83); // bb42[1]: scope 11 at <::std::macros::println macros>:2:61: 2:62 StorageDead(_70); // bb42[2]: scope 11 at <::std::macros::println macros>:2:61: 2:62 StorageDead(_69); // bb42[3]: scope 11 at <::std::macros::println macros>:2:61: 2:62 StorageDead(_68); // bb42[4]: scope 11 at <::std::macros::println macros>:2:61: 2:62 StorageDead(_65); // bb42[5]: scope 11 at <::std::macros::println macros>:2:61: 2:62 StorageDead(_61); // bb42[6]: scope 11 at <::std::macros::println macros>:2:61: 2:62 StorageDead(_60); // bb42[7]: scope 9 at src/main.rs:27:5: 27:6 StorageDead(_59); // bb42[8]: scope 9 at src/main.rs:27:5: 27:6 StorageDead(_52); // bb42[9]: scope 8 at src/main.rs:27:5: 27:6 goto -> bb34; // bb42[10]: scope 8 at src/main.rs:25:5: 27:6 } bb43: { StorageDead(_36); // bb43[0]: scope 2 at src/main.rs:28:1: 28:2 drop(_7) -> [return: bb44, unwind: bb5]; // bb43[1]: scope 1 at src/main.rs:28:1: 28:2 } bb44: { StorageDead(_7); // bb44[0]: scope 1 at src/main.rs:28:1: 28:2 drop(_3) -> [return: bb45, unwind: bb47]; // bb44[1]: scope 0 at src/main.rs:28:1: 28:2 } bb45: { StorageDead(_3); // bb45[0]: scope 0 at src/main.rs:28:1: 28:2 return; // bb45[1]: scope 0 at src/main.rs:28:2: 28:2 } bb46 (cleanup): { _84 = const false; // bb46[0]: scope 0 at src/main.rs:28:1: 28:2 // ty::Const // + ty: bool // + val: Scalar(0x00) // mir::Constant // + span: src/main.rs:28:1: 28:2 // + ty: bool // + literal: Const { ty: bool, val: Scalar(0x00) } drop(_1) -> bb1; // bb46[1]: scope 0 at src/main.rs:28:1: 28:2 } bb47 (cleanup): { switchInt(_84) -> [false: bb1, otherwise: bb46]; // bb47[0]: scope 0 at src/main.rs:28:1: 28:2 } bb48 (cleanup): { _85 = const false; // bb48[0]: scope 3 at src/main.rs:20:5: 20:6 // ty::Const // + ty: bool // + val: Scalar(0x00) // mir::Constant // + span: src/main.rs:20:5: 20:6 // + ty: bool // + literal: Const { ty: bool, val: Scalar(0x00) } drop(_13) -> bb11; // bb48[1]: scope 3 at src/main.rs:20:5: 20:6 } bb49 (cleanup): { switchInt(_85) -> [false: bb11, otherwise: bb48]; // bb49[0]: scope 3 at src/main.rs:20:5: 20:6 } bb50: { StorageDead(_16); // bb50[0]: scope 4 at src/main.rs:13:44: 13:45 StorageDead(_14); // bb50[1]: scope 4 at src/main.rs:13:44: 13:45 StorageLive(_20); // bb50[2]: scope 4 at src/main.rs:13:9: 13:13 _85 = const false; // bb50[3]: scope 4 at src/main.rs:13:17: 13:45 // ty::Const // + ty: bool // + val: Scalar(0x00) // mir::Constant // + span: src/main.rs:13:17: 13:45 // + ty: bool // + literal: Const { ty: bool, val: Scalar(0x00) } _20 = move _13; // bb50[4]: scope 4 at src/main.rs:13:17: 13:45 StorageLive(_21); // bb50[5]: scope 6 at src/main.rs:14:9: 19:15 StorageLive(_22); // bb50[6]: scope 6 at src/main.rs:14:9: 16:33 StorageLive(_23); // bb50[7]: scope 6 at src/main.rs:14:9: 15:51 StorageLive(_24); // bb50[8]: scope 6 at src/main.rs:14:9: 14:19 _24 = &_3; // bb50[9]: scope 6 at src/main.rs:14:9: 14:19 StorageLive(_25); // bb50[10]: scope 6 at src/main.rs:15:24: 15:50 StorageLive(_26); // bb50[11]: scope 6 at src/main.rs:15:24: 15:50 StorageLive(_27); // bb50[12]: scope 6 at src/main.rs:15:24: 15:50 StorageLive(_28); // bb50[13]: scope 6 at src/main.rs:15:24: 15:50 StorageLive(_29); // bb50[14]: scope 6 at src/main.rs:15:25: 15:50 StorageLive(_30); // bb50[15]: scope 6 at src/main.rs:15:25: 15:29 _30 = move _20; // bb50[16]: scope 6 at src/main.rs:15:25: 15:29 StorageLive(_31); // bb50[17]: scope 6 at src/main.rs:15:37: 15:49 StorageLive(_32); // bb50[18]: scope 6 at src/main.rs:15:37: 15:49 _32 = const "Read error"; // bb50[19]: scope 6 at src/main.rs:15:37: 15:49 // ty::Const // + ty: &str // + val: Slice { data: Allocation { bytes: [82, 101, 97, 100, 32, 101, 114, 114, 111, 114], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [1023], len: Size { raw: 10 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 10 } // mir::Constant // + span: src/main.rs:15:37: 15:49 // + ty: &str // + literal: Const { ty: &str, val: Slice { data: Allocation { bytes: [82, 101, 97, 100, 32, 101, 114, 114, 111, 114], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [1023], len: Size { raw: 10 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 10 } } _31 = _32; // bb50[20]: scope 6 at src/main.rs:15:37: 15:49 _29 = const std::result::Result::::expect(move _30, move _31) -> [return: bb17, unwind: bb49]; // bb50[21]: scope 6 at src/main.rs:15:25: 15:50 // ty::Const // + ty: for<'r> fn(std::result::Result, &'r str) -> std::string::String {std::result::Result::::expect} // + val: Scalar() // mir::Constant // + span: src/main.rs:15:30: 15:36 // + ty: for<'r> fn(std::result::Result, &'r str) -> std::string::String {std::result::Result::::expect} // + literal: Const { ty: for<'r> fn(std::result::Result, &'r str) -> std::string::String {std::result::Result::::expect}, val: Scalar() } } bb51: { drop(_14) -> [return: bb50, unwind: bb49]; // bb51[0]: scope 4 at src/main.rs:13:44: 13:45 } } promoted[0] in word_count: [std::fmt::rt::v1::Argument; 2] = { let mut _0: [std::fmt::rt::v1::Argument; 2]; // return place in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _1: [std::fmt::rt::v1::Argument; 2]; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _2: std::fmt::rt::v1::Argument; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _3: std::fmt::rt::v1::Position; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _4: std::fmt::rt::v1::FormatSpec; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _5: std::fmt::rt::v1::Alignment; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _6: std::fmt::rt::v1::Count; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _7: std::fmt::rt::v1::Count; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _8: std::fmt::rt::v1::Argument; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _9: std::fmt::rt::v1::Position; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _10: std::fmt::rt::v1::FormatSpec; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _11: std::fmt::rt::v1::Alignment; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _12: std::fmt::rt::v1::Count; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 let mut _13: std::fmt::rt::v1::Count; // in scope 0 at <::std::macros::println macros>:2:29: 2:59 scope 1 { scope 2 { scope 3 { scope 4 { scope 5 { } scope 6 { } } } scope 7 { scope 8 { scope 9 { scope 10 { } scope 11 { scope 12 { } } } } } } } bb0: { ((_3 as At).0: usize) = const 0usize; // bb0[0]: scope 0 at <::std::macros::println macros>:2:29: 2:59 // ty::Const // + ty: usize // + val: Scalar(0x0000000000000000) // mir::Constant // + span: <::std::macros::println macros>:2:29: 2:59 // + ty: usize // + literal: Const { ty: usize, val: Scalar(0x0000000000000000) } discriminant(_3) = 1; // bb0[1]: scope 0 at <::std::macros::println macros>:2:29: 2:59 discriminant(_5) = 3; // bb0[2]: scope 0 at <::std::macros::println macros>:2:29: 2:59 discriminant(_6) = 3; // bb0[3]: scope 0 at <::std::macros::println macros>:2:29: 2:59 ((_7 as Is).0: usize) = const 8usize; // bb0[4]: scope 0 at <::std::macros::println macros>:2:29: 2:59 // ty::Const // + ty: usize // + val: Scalar(0x0000000000000008) // mir::Constant // + span: <::std::macros::println macros>:2:29: 2:59 // + ty: usize // + literal: Const { ty: usize, val: Scalar(0x0000000000000008) } discriminant(_7) = 0; // bb0[5]: scope 0 at <::std::macros::println macros>:2:29: 2:59 (_4.0: char) = const ' '; // bb0[6]: scope 0 at <::std::macros::println macros>:2:29: 2:59 // ty::Const // + ty: char // + val: Scalar(0x00000020) // mir::Constant // + span: <::std::macros::println macros>:2:29: 2:59 // + ty: char // + literal: Const { ty: char, val: Scalar(0x00000020) } (_4.1: std::fmt::rt::v1::Alignment) = move _5; // bb0[7]: scope 0 at <::std::macros::println macros>:2:29: 2:59 (_4.2: u32) = const 0u32; // bb0[8]: scope 0 at <::std::macros::println macros>:2:29: 2:59 // ty::Const // + ty: u32 // + val: Scalar(0x00000000) // mir::Constant // + span: <::std::macros::println macros>:2:29: 2:59 // + ty: u32 // + literal: Const { ty: u32, val: Scalar(0x00000000) } (_4.3: std::fmt::rt::v1::Count) = move _6; // bb0[9]: scope 0 at <::std::macros::println macros>:2:29: 2:59 (_4.4: std::fmt::rt::v1::Count) = move _7; // bb0[10]: scope 0 at <::std::macros::println macros>:2:29: 2:59 (_2.0: std::fmt::rt::v1::Position) = move _3; // bb0[11]: scope 0 at <::std::macros::println macros>:2:29: 2:59 (_2.1: std::fmt::rt::v1::FormatSpec) = move _4; // bb0[12]: scope 0 at <::std::macros::println macros>:2:29: 2:59 ((_9 as At).0: usize) = const 1usize; // bb0[13]: scope 0 at <::std::macros::println macros>:2:29: 2:59 // ty::Const // + ty: usize // + val: Scalar(0x0000000000000001) // mir::Constant // + span: <::std::macros::println macros>:2:29: 2:59 // + ty: usize // + literal: Const { ty: usize, val: Scalar(0x0000000000000001) } discriminant(_9) = 1; // bb0[14]: scope 0 at <::std::macros::println macros>:2:29: 2:59 discriminant(_11) = 1; // bb0[15]: scope 0 at <::std::macros::println macros>:2:29: 2:59 discriminant(_12) = 3; // bb0[16]: scope 0 at <::std::macros::println macros>:2:29: 2:59 ((_13 as Is).0: usize) = const 8usize; // bb0[17]: scope 0 at <::std::macros::println macros>:2:29: 2:59 // ty::Const // + ty: usize // + val: Scalar(0x0000000000000008) // mir::Constant // + span: <::std::macros::println macros>:2:29: 2:59 // + ty: usize // + literal: Const { ty: usize, val: Scalar(0x0000000000000008) } discriminant(_13) = 0; // bb0[18]: scope 0 at <::std::macros::println macros>:2:29: 2:59 (_10.0: char) = const ' '; // bb0[19]: scope 0 at <::std::macros::println macros>:2:29: 2:59 // ty::Const // + ty: char // + val: Scalar(0x00000020) // mir::Constant // + span: <::std::macros::println macros>:2:29: 2:59 // + ty: char // + literal: Const { ty: char, val: Scalar(0x00000020) } (_10.1: std::fmt::rt::v1::Alignment) = move _11; // bb0[20]: scope 0 at <::std::macros::println macros>:2:29: 2:59 (_10.2: u32) = const 0u32; // bb0[21]: scope 0 at <::std::macros::println macros>:2:29: 2:59 // ty::Const // + ty: u32 // + val: Scalar(0x00000000) // mir::Constant // + span: <::std::macros::println macros>:2:29: 2:59 // + ty: u32 // + literal: Const { ty: u32, val: Scalar(0x00000000) } (_10.3: std::fmt::rt::v1::Count) = move _12; // bb0[22]: scope 0 at <::std::macros::println macros>:2:29: 2:59 (_10.4: std::fmt::rt::v1::Count) = move _13; // bb0[23]: scope 0 at <::std::macros::println macros>:2:29: 2:59 (_8.0: std::fmt::rt::v1::Position) = move _9; // bb0[24]: scope 0 at <::std::macros::println macros>:2:29: 2:59 (_8.1: std::fmt::rt::v1::FormatSpec) = move _10; // bb0[25]: scope 0 at <::std::macros::println macros>:2:29: 2:59 _1 = [move _2, move _8]; // bb0[26]: scope 0 at <::std::macros::println macros>:2:29: 2:59 _0 = move _1; // bb0[27]: scope 0 at <::std::macros::println macros>:2:29: 2:59 return; // bb0[28]: scope 0 at <::std::macros::println macros>:2:29: 2:59 } } promoted[1] in word_count: [&str; 3] = { let mut _0: [&str; 3]; // return place in scope 0 at src/main.rs:26:18: 26:30 let mut _1: [&str; 3]; // in scope 0 at src/main.rs:26:18: 26:30 let mut _2: &str; // in scope 0 at src/main.rs:26:18: 26:30 let mut _3: &str; // in scope 0 at src/main.rs:26:18: 26:30 let mut _4: &str; // in scope 0 at src/main.rs:26:18: 26:30 let mut _5: &str; // in scope 0 at src/main.rs:26:18: 26:30 let mut _6: &str; // in scope 0 at src/main.rs:26:18: 26:30 let mut _7: &str; // in scope 0 at src/main.rs:26:18: 26:30 scope 1 { scope 2 { scope 3 { scope 4 { scope 5 { } scope 6 { } } } scope 7 { scope 8 { scope 9 { scope 10 { } scope 11 { scope 12 { } } } } } } } bb0: { _3 = const ""; // bb0[0]: scope 0 at src/main.rs:26:18: 26:30 // ty::Const // + ty: &str // + val: Slice { data: Allocation { bytes: [], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [], len: Size { raw: 0 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 0 } // mir::Constant // + span: src/main.rs:26:18: 26:30 // + ty: &str // + literal: Const { ty: &str, val: Slice { data: Allocation { bytes: [], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [], len: Size { raw: 0 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 0 } } _2 = _3; // bb0[1]: scope 0 at src/main.rs:26:18: 26:30 _5 = const " "; // bb0[2]: scope 0 at src/main.rs:26:18: 26:30 // ty::Const // + ty: &str // + val: Slice { data: Allocation { bytes: [32], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [1], len: Size { raw: 1 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 1 } // mir::Constant // + span: src/main.rs:26:18: 26:30 // + ty: &str // + literal: Const { ty: &str, val: Slice { data: Allocation { bytes: [32], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [1], len: Size { raw: 1 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 1 } } _4 = _5; // bb0[3]: scope 0 at src/main.rs:26:18: 26:30 _7 = const "\n"; // bb0[4]: scope 0 at src/main.rs:26:18: 26:30 // ty::Const // + ty: &str // + val: Slice { data: Allocation { bytes: [10], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [1], len: Size { raw: 1 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 1 } // mir::Constant // + span: src/main.rs:26:18: 26:30 // + ty: &str // + literal: Const { ty: &str, val: Slice { data: Allocation { bytes: [10], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [1], len: Size { raw: 1 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 1 } } _6 = _7; // bb0[5]: scope 0 at src/main.rs:26:18: 26:30 _1 = [move _2, move _4, move _6]; // bb0[6]: scope 0 at src/main.rs:26:18: 26:30 _0 = move _1; // bb0[7]: scope 0 at src/main.rs:26:18: 26:30 return; // bb0[8]: scope 0 at src/main.rs:26:18: 26:30 } } fn word_count::{{closure}}#1(_1: &mut [closure@src/main.rs:17:23: 19:14 words:&mut std::collections::HashMap], _2: &str) -> () { let mut _0: (); // return place in scope 0 at src/main.rs:17:30: 17:30 let mut _3: &mut i32; // in scope 0 at src/main.rs:18:18: 18:63 let mut _4: std::collections::hash_map::Entry; // in scope 0 at src/main.rs:18:18: 18:50 let mut _5: &mut std::collections::HashMap; // in scope 0 at src/main.rs:18:18: 18:23 let mut _6: std::string::String; // in scope 0 at src/main.rs:18:30: 18:49 let mut _7: &str; // in scope 0 at src/main.rs:18:30: 18:34 let mut _8: (i32, bool); // in scope 0 at src/main.rs:18:17: 18:68 bb0: { StorageLive(_3); // bb0[0]: scope 0 at src/main.rs:18:18: 18:63 StorageLive(_4); // bb0[1]: scope 0 at src/main.rs:18:18: 18:50 StorageLive(_5); // bb0[2]: scope 0 at src/main.rs:18:18: 18:23 _5 = ((*_1).0: &mut std::collections::HashMap); // bb0[3]: scope 0 at src/main.rs:18:18: 18:23 StorageLive(_6); // bb0[4]: scope 0 at src/main.rs:18:30: 18:49 StorageLive(_7); // bb0[5]: scope 0 at src/main.rs:18:30: 18:34 _7 = _2; // bb0[6]: scope 0 at src/main.rs:18:30: 18:34 _6 = const std::str::::to_lowercase(move _7) -> bb1; // bb0[7]: scope 0 at src/main.rs:18:30: 18:49 // ty::Const // + ty: for<'r> fn(&'r str) -> std::string::String {std::str::::to_lowercase} // + val: Scalar() // mir::Constant // + span: src/main.rs:18:35: 18:47 // + ty: for<'r> fn(&'r str) -> std::string::String {std::str::::to_lowercase} // + literal: Const { ty: for<'r> fn(&'r str) -> std::string::String {std::str::::to_lowercase}, val: Scalar() } } bb1: { StorageDead(_7); // bb1[0]: scope 0 at src/main.rs:18:48: 18:49 _4 = const std::collections::HashMap::::entry(move _5, move _6) -> bb2; // bb1[1]: scope 0 at src/main.rs:18:18: 18:50 // ty::Const // + ty: for<'r> fn(&'r mut std::collections::HashMap, std::string::String) -> std::collections::hash_map::Entry<'r, std::string::String, i32> {std::collections::HashMap::::entry} // + val: Scalar() // mir::Constant // + span: src/main.rs:18:24: 18:29 // + ty: for<'r> fn(&'r mut std::collections::HashMap, std::string::String) -> std::collections::hash_map::Entry<'r, std::string::String, i32> {std::collections::HashMap::::entry} // + literal: Const { ty: for<'r> fn(&'r mut std::collections::HashMap, std::string::String) -> std::collections::hash_map::Entry<'r, std::string::String, i32> {std::collections::HashMap::::entry}, val: Scalar() } } bb2: { StorageDead(_6); // bb2[0]: scope 0 at src/main.rs:18:49: 18:50 StorageDead(_5); // bb2[1]: scope 0 at src/main.rs:18:49: 18:50 _3 = const std::collections::hash_map::Entry::::or_insert(move _4, const 0i32) -> bb3; // bb2[2]: scope 0 at src/main.rs:18:18: 18:63 // ty::Const // + ty: fn(std::collections::hash_map::Entry, i32) -> &mut i32 {std::collections::hash_map::Entry::::or_insert} // + val: Scalar() // mir::Constant // + span: src/main.rs:18:51: 18:60 // + ty: fn(std::collections::hash_map::Entry, i32) -> &mut i32 {std::collections::hash_map::Entry::::or_insert} // + literal: Const { ty: fn(std::collections::hash_map::Entry, i32) -> &mut i32 {std::collections::hash_map::Entry::::or_insert}, val: Scalar() } // ty::Const // + ty: i32 // + val: Scalar(0x00000000) // mir::Constant // + span: src/main.rs:18:61: 18:62 // + ty: i32 // + literal: Const { ty: i32, val: Scalar(0x00000000) } } bb3: { StorageDead(_4); // bb3[0]: scope 0 at src/main.rs:18:62: 18:63 _8 = CheckedAdd((*_3), const 1i32); // bb3[1]: scope 0 at src/main.rs:18:17: 18:68 // ty::Const // + ty: i32 // + val: Scalar(0x00000001) // mir::Constant // + span: src/main.rs:18:67: 18:68 // + ty: i32 // + literal: Const { ty: i32, val: Scalar(0x00000001) } assert(!move (_8.1: bool), "attempt to add with overflow") -> bb4; // bb3[2]: scope 0 at src/main.rs:18:17: 18:68 } bb4: { (*_3) = move (_8.0: i32); // bb4[0]: scope 0 at src/main.rs:18:17: 18:68 StorageDead(_3); // bb4[1]: scope 0 at src/main.rs:18:68: 18:69 return; // bb4[2]: scope 0 at src/main.rs:19:14: 19:14 } } fn word_count::{{closure}}#0(_1: &mut [closure@src/main.rs:16:18: 16:32], _2: regex::Match) -> &str { let mut _0: &str; // return place in scope 0 at src/main.rs:16:22: 16:22 let mut _3: ®ex::Match; // in scope 0 at src/main.rs:16:22: 16:23 bb0: { StorageLive(_3); // bb0[0]: scope 0 at src/main.rs:16:22: 16:23 _3 = &_2; // bb0[1]: scope 0 at src/main.rs:16:22: 16:23 _0 = const regex::Match::as_str(move _3) -> bb1; // bb0[2]: scope 0 at src/main.rs:16:22: 16:32 // ty::Const // + ty: for<'r> fn(&'r regex::Match) -> &str {regex::Match::as_str} // + val: Scalar() // mir::Constant // + span: src/main.rs:16:24: 16:30 // + ty: for<'r> fn(&'r regex::Match) -> &str {regex::Match::as_str} // + literal: Const { ty: for<'r> fn(&'r regex::Match) -> &str {regex::Match::as_str}, val: Scalar() } } bb1: { StorageDead(_3); // bb1[0]: scope 0 at src/main.rs:16:31: 16:32 return; // bb1[1]: scope 0 at src/main.rs:16:32: 16:32 } } fn main() -> () { let mut _0: (); // return place in scope 0 at src/main.rs:30:11: 30:11 let mut _1: std::fs::File; // in scope 0 at src/main.rs:31:16: 31:65 let mut _2: std::result::Result; // in scope 0 at src/main.rs:31:16: 31:39 let mut _3: &str; // in scope 0 at src/main.rs:31:47: 31:64 let mut _4: &str; // in scope 0 at src/main.rs:31:47: 31:64 bb0: { StorageLive(_1); // bb0[0]: scope 0 at src/main.rs:31:16: 31:65 StorageLive(_2); // bb0[1]: scope 0 at src/main.rs:31:16: 31:39 _2 = const std::fs::File::open::<&str>(const "135-0.txt") -> bb1; // bb0[2]: scope 0 at src/main.rs:31:16: 31:39 // ty::Const // + ty: fn(&str) -> std::result::Result {std::fs::File::open::<&str>} // + val: Scalar() // mir::Constant // + span: src/main.rs:31:16: 31:26 // + ty: fn(&str) -> std::result::Result {std::fs::File::open::<&str>} // + user_ty: UserType(0) // + literal: Const { ty: fn(&str) -> std::result::Result {std::fs::File::open::<&str>}, val: Scalar() } // ty::Const // + ty: &str // + val: Slice { data: Allocation { bytes: [49, 51, 53, 45, 48, 46, 116, 120, 116], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [511], len: Size { raw: 9 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 9 } // mir::Constant // + span: src/main.rs:31:27: 31:38 // + ty: &str // + literal: Const { ty: &str, val: Slice { data: Allocation { bytes: [49, 51, 53, 45, 48, 46, 116, 120, 116], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [511], len: Size { raw: 9 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 9 } } } bb1: { StorageLive(_3); // bb1[0]: scope 0 at src/main.rs:31:47: 31:64 StorageLive(_4); // bb1[1]: scope 0 at src/main.rs:31:47: 31:64 _4 = const "File open error"; // bb1[2]: scope 0 at src/main.rs:31:47: 31:64 // ty::Const // + ty: &str // + val: Slice { data: Allocation { bytes: [70, 105, 108, 101, 32, 111, 112, 101, 110, 32, 101, 114, 114, 111, 114], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [32767], len: Size { raw: 15 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 15 } // mir::Constant // + span: src/main.rs:31:47: 31:64 // + ty: &str // + literal: Const { ty: &str, val: Slice { data: Allocation { bytes: [70, 105, 108, 101, 32, 111, 112, 101, 110, 32, 101, 114, 114, 111, 114], relocations: Relocations(SortedMap { data: [] }), undef_mask: UndefMask { blocks: [32767], len: Size { raw: 15 } }, align: Align { pow2: 0 }, mutability: Immutable, extra: () }, start: 0, end: 15 } } _3 = _4; // bb1[3]: scope 0 at src/main.rs:31:47: 31:64 _1 = const std::result::Result::::expect(move _2, move _3) -> bb2; // bb1[4]: scope 0 at src/main.rs:31:16: 31:65 // ty::Const // + ty: for<'r> fn(std::result::Result, &'r str) -> std::fs::File {std::result::Result::::expect} // + val: Scalar() // mir::Constant // + span: src/main.rs:31:40: 31:46 // + ty: for<'r> fn(std::result::Result, &'r str) -> std::fs::File {std::result::Result::::expect} // + literal: Const { ty: for<'r> fn(std::result::Result, &'r str) -> std::fs::File {std::result::Result::::expect}, val: Scalar() } } bb2: { StorageDead(_3); // bb2[0]: scope 0 at src/main.rs:31:64: 31:65 StorageDead(_2); // bb2[1]: scope 0 at src/main.rs:31:64: 31:65 _0 = const word_count(move _1, const 10usize) -> bb3; // bb2[2]: scope 0 at src/main.rs:31:5: 31:70 // ty::Const // + ty: fn(std::fs::File, usize) {word_count} // + val: Scalar() // mir::Constant // + span: src/main.rs:31:5: 31:15 // + ty: fn(std::fs::File, usize) {word_count} // + literal: Const { ty: fn(std::fs::File, usize) {word_count}, val: Scalar() } // ty::Const // + ty: usize // + val: Scalar(0x000000000000000a) // mir::Constant // + span: src/main.rs:31:67: 31:69 // + ty: usize // + literal: Const { ty: usize, val: Scalar(0x000000000000000a) } } bb3: { StorageDead(_1); // bb3[0]: scope 0 at src/main.rs:31:69: 31:70 StorageDead(_4); // bb3[1]: scope 0 at src/main.rs:32:1: 32:2 return; // bb3[2]: scope 0 at src/main.rs:32:2: 32:2 } } fn word_count::{{closure}}#2(_1: &mut [closure@src/main.rs:23:32: 23:71], _2: &(&std::string::String, &i32)) -> (std::cmp::Reverse<&i32>, &std::string::String) { let mut _0: (std::cmp::Reverse<&i32>, &std::string::String); // return place in scope 0 at src/main.rs:23:49: 23:49 let _3: &std::string::String; // "word" in scope 0 at src/main.rs:23:35: 23:39 let _4: &i32; // "count" in scope 0 at src/main.rs:23:41: 23:46 let mut _5: std::cmp::Reverse<&i32>; // in scope 0 at src/main.rs:23:50: 23:64 let mut _6: &i32; // in scope 0 at src/main.rs:23:58: 23:63 let mut _7: &std::string::String; // in scope 0 at src/main.rs:23:66: 23:70 scope 1 { } bb0: { StorageLive(_3); // bb0[0]: scope 0 at src/main.rs:23:35: 23:39 _3 = ((*_2).0: &std::string::String); // bb0[1]: scope 0 at src/main.rs:23:35: 23:39 StorageLive(_4); // bb0[2]: scope 0 at src/main.rs:23:41: 23:46 _4 = ((*_2).1: &i32); // bb0[3]: scope 0 at src/main.rs:23:41: 23:46 StorageLive(_5); // bb0[4]: scope 1 at src/main.rs:23:50: 23:64 StorageLive(_6); // bb0[5]: scope 1 at src/main.rs:23:58: 23:63 _6 = _4; // bb0[6]: scope 1 at src/main.rs:23:58: 23:63 (_5.0: &i32) = move _6; // bb0[7]: scope 1 at src/main.rs:23:50: 23:64 StorageDead(_6); // bb0[8]: scope 1 at src/main.rs:23:63: 23:64 StorageLive(_7); // bb0[9]: scope 1 at src/main.rs:23:66: 23:70 _7 = _3; // bb0[10]: scope 1 at src/main.rs:23:66: 23:70 (_0.0: std::cmp::Reverse<&i32>) = move _5; // bb0[11]: scope 1 at src/main.rs:23:49: 23:71 (_0.1: &std::string::String) = move _7; // bb0[12]: scope 1 at src/main.rs:23:49: 23:71 StorageDead(_7); // bb0[13]: scope 1 at src/main.rs:23:70: 23:71 StorageDead(_5); // bb0[14]: scope 1 at src/main.rs:23:70: 23:71 StorageDead(_4); // bb0[15]: scope 0 at src/main.rs:23:70: 23:71 StorageDead(_3); // bb0[16]: scope 0 at src/main.rs:23:70: 23:71 return; // bb0[17]: scope 0 at src/main.rs:23:71: 23:71 } }