diff options
| author | bors <bors@rust-lang.org> | 2020-07-17 21:10:14 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-07-17 21:10:14 +0000 |
| commit | d3df8512d2c2afc6d2e7d8b5b951dd7f2ad77b02 (patch) | |
| tree | 2d4c9ecdcd068e028ae8367e165b9d54a8669633 /src/test | |
| parent | 39d5a61f2e4e237123837f5162cc275c2fd7e625 (diff) | |
| parent | c587386fd6eb21b5cc53cad2456e9745ec327855 (diff) | |
| download | rust-d3df8512d2c2afc6d2e7d8b5b951dd7f2ad77b02.tar.gz rust-d3df8512d2c2afc6d2e7d8b5b951dd7f2ad77b02.zip | |
Auto merge of #74461 - Manishearth:rollup-xadbh00, r=Manishearth
Rollup of 18 pull requests Successful merges: - #71670 (Enforce even more the code blocks attributes check through rustdoc) - #73930 (Make some Option methods const) - #74009 (Fix MinGW `run-make-fulldeps` tests) - #74056 (Add Arguments::as_str().) - #74169 (Stop processing unreachable blocks when solving dataflow) - #74251 (Teach bootstrap about target files vs target triples) - #74288 (Fix src/test/run-make/static-pie/test-aslr.rs) - #74300 (Use intra-doc links in core::iter module) - #74364 (add lazy normalization regression tests) - #74368 (Add CSS tidy check) - #74394 (Remove leftover from emscripten fastcomp support) - #74411 (Don't assign `()` to `!` MIR locals) - #74416 (Use an UTF-8 locale for the linker.) - #74424 (Move hir::Place to librustc_middle/hir) - #74428 (docs: better demonstrate that None values are skipped as many times a…) - #74438 (warn about uninitialized multi-variant enums) - #74440 (Fix Arc::as_ptr docs) - #74452 (intra-doc links: resolve modules in the type namespace) Failed merges: r? @ghost
Diffstat (limited to 'src/test')
21 files changed, 455 insertions, 383 deletions
diff --git a/src/test/mir-opt/issue-49232/rustc.main.mir_map.0.mir b/src/test/mir-opt/issue-49232/rustc.main.mir_map.0.mir index f65b93a34da..918dc5ec387 100644 --- a/src/test/mir-opt/issue-49232/rustc.main.mir_map.0.mir +++ b/src/test/mir-opt/issue-49232/rustc.main.mir_map.0.mir @@ -79,13 +79,6 @@ fn main() -> () { } bb10: { - _4 = const (); // scope 0 at $DIR/issue-49232.rs:10:25: 10:30 - // ty::Const - // + ty: () - // + val: Value(Scalar(<ZST>)) - // mir::Constant - // + span: $DIR/issue-49232.rs:10:25: 10:30 - // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } unreachable; // scope 0 at $DIR/issue-49232.rs:10:25: 10:30 } diff --git a/src/test/mir-opt/issue-73223/32bit/rustc.main.SimplifyArmIdentity.diff b/src/test/mir-opt/issue-73223/32bit/rustc.main.SimplifyArmIdentity.diff index 91baac86112..7739ef87fb9 100644 --- a/src/test/mir-opt/issue-73223/32bit/rustc.main.SimplifyArmIdentity.diff +++ b/src/test/mir-opt/issue-73223/32bit/rustc.main.SimplifyArmIdentity.diff @@ -26,27 +26,21 @@ let mut _24: &[&str; 3]; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL let _25: &[&str; 3]; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL let _26: [&str; 3]; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _27: &str; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _28: &str; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _29: &str; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _30: &str; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _31: &str; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _32: &str; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _33: &[std::fmt::ArgumentV1]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _34: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let _35: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let _36: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _37: (&&i32, &&i32); // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _38: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _39: &i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _40: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _41: &i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _44: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _45: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _46: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _47: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _48: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _49: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _27: &[std::fmt::ArgumentV1]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _28: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let _29: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let _30: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _31: (&&i32, &&i32); // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _32: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let _33: &i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _34: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let _35: &i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _38: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _39: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _40: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _41: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _42: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _43: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL scope 1 { debug split => _1; // in scope 1 at $DIR/issue-73223.rs:2:9: 2:14 let _6: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:7:9: 7:14 @@ -54,39 +48,39 @@ debug _prev => _6; // in scope 3 at $DIR/issue-73223.rs:7:9: 7:14 let _13: &i32; // in scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL let _14: &i32; // in scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _51: &i32; // in scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _45: &i32; // in scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL scope 4 { debug left_val => _13; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL debug right_val => _14; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _42: &&i32; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _43: &&i32; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _50: &[&str; 3]; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let _36: &&i32; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let _37: &&i32; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _44: &[&str; 3]; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL scope 5 { - debug arg0 => _42; // in scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - debug arg1 => _43; // in scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + debug arg0 => _36; // in scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + debug arg1 => _37; // in scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL scope 6 { - debug x => _45; // in scope 6 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - debug f => _46; // in scope 6 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - let mut _52: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _53: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _54: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _55: &&i32; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL + debug x => _39; // in scope 6 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + debug f => _40; // in scope 6 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + let mut _46: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _47: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _48: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _49: &&i32; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL } scope 8 { - debug x => _48; // in scope 8 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - debug f => _49; // in scope 8 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - let mut _56: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _57: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _58: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _59: &&i32; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL + debug x => _42; // in scope 8 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + debug f => _43; // in scope 8 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + let mut _50: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _51: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _52: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _53: &&i32; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL } } scope 10 { debug pieces => _23; // in scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - debug args => _33; // in scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - let mut _60: &[&str]; // in scope 10 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _61: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _62: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/libstd/macros.rs:LL:COL + debug args => _27; // in scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + let mut _54: &[&str]; // in scope 10 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _55: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _56: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/libstd/macros.rs:LL:COL } } } @@ -150,14 +144,14 @@ StorageLive(_10); // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL _10 = &_1; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL StorageLive(_11); // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _51 = const main::promoted[1]; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _45 = const main::promoted[1]; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL // ty::Const // + ty: &i32 // + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main[0]), const_param_did: None }, [], Some(promoted[1])) // mir::Constant // + span: $SRC_DIR/libcore/macros/mod.rs:LL:COL // + literal: Const { ty: &i32, val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main[0]), const_param_did: None }, [], Some(promoted[1])) } - _11 = _51; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _11 = _45; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL (_9.0: &i32) = move _10; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL (_9.1: &i32) = move _11; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL StorageDead(_11); // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL @@ -217,53 +211,53 @@ StorageLive(_23); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL StorageLive(_24); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL StorageLive(_25); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _50 = const main::promoted[0]; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _44 = const main::promoted[0]; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL // ty::Const // + ty: &[&str; 3] // + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main[0]), const_param_did: None }, [], Some(promoted[0])) // mir::Constant // + span: $SRC_DIR/libcore/macros/mod.rs:LL:COL // + literal: Const { ty: &[&str; 3], val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main[0]), const_param_did: None }, [], Some(promoted[0])) } - _25 = _50; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _25 = _44; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL _24 = _25; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL _23 = move _24 as &[&str] (Pointer(Unsize)); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL StorageDead(_24); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_33); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_34); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_35); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_36); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_37); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_38); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_39); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _39 = _13; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _38 = &_39; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_40); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_41); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _41 = _14; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _40 = &_41; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - (_37.0: &&i32) = move _38; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - (_37.1: &&i32) = move _40; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_40); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_38); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_42); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _42 = (_37.0: &&i32); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_43); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _43 = (_37.1: &&i32); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_44); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_45); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _45 = _42; // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_46); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _46 = const <&i32 as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_27); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_28); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_29); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_30); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_31); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_32); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_33); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _33 = _13; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _32 = &_33; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_34); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_35); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _35 = _14; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _34 = &_35; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + (_31.0: &&i32) = move _32; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + (_31.1: &&i32) = move _34; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_34); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_32); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_36); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _36 = (_31.0: &&i32); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_37); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _37 = (_31.1: &&i32); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_38); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_39); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _39 = _36; // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_40); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _40 = const <&i32 as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL // 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::Debug>::fmt} // + val: Value(Scalar(<ZST>)) // mir::Constant // + span: $SRC_DIR/libcore/macros/mod.rs:LL:COL // + 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::Debug>::fmt}, val: Value(Scalar(<ZST>)) } - StorageLive(_52); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_53); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _53 = _46; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _52 = const std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _53) -> bb6; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_46); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_47); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _47 = _40; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _46 = const std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _47) -> bb6; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL // ty::Const // + ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>} // + val: Value(Scalar(<ZST>)) @@ -273,11 +267,11 @@ } bb6: { - StorageDead(_53); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_54); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_55); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _55 = _45; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _54 = const std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>(move _55) -> bb7; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_47); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_48); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_49); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _49 = _39; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _48 = const std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>(move _49) -> bb7; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL // ty::Const // + ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>} // + val: Value(Scalar(<ZST>)) @@ -287,28 +281,28 @@ } bb7: { - StorageDead(_55); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_44.0: &core::fmt::Opaque) = move _54; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_44.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _52; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_54); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_52); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_46); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_45); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_47); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_48); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _48 = _43; // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_49); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _49 = const <&i32 as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageDead(_49); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_38.0: &core::fmt::Opaque) = move _48; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_38.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _46; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_48); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_46); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_40); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_39); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_41); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_42); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _42 = _37; // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_43); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _43 = const <&i32 as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL // 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::Debug>::fmt} // + val: Value(Scalar(<ZST>)) // mir::Constant // + span: $SRC_DIR/libcore/macros/mod.rs:LL:COL // + 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::Debug>::fmt}, val: Value(Scalar(<ZST>)) } - StorageLive(_56); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_57); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _57 = _49; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _56 = const std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _57) -> bb8; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_50); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_51); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _51 = _43; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _50 = const std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _51) -> bb8; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL // ty::Const // + ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>} // + val: Value(Scalar(<ZST>)) @@ -318,11 +312,11 @@ } bb8: { - StorageDead(_57); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_58); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_59); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _59 = _48; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _58 = const std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>(move _59) -> bb9; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_51); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_52); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_53); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _53 = _42; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _52 = const std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>(move _53) -> bb9; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL // ty::Const // + ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>} // + val: Value(Scalar(<ZST>)) @@ -332,35 +326,35 @@ } bb9: { - StorageDead(_59); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_47.0: &core::fmt::Opaque) = move _58; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_47.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _56; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_58); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_56); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_49); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_48); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - _36 = [move _44, move _47]; // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_47); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_44); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_43); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_42); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - _35 = &_36; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - _34 = _35; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - _33 = move _34 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_34); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_60); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _60 = _23; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_61); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - discriminant(_61) = 0; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_62); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _62 = _33; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_22.0: &[&str]) = move _60; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_22.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _61; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_22.2: &[std::fmt::ArgumentV1]) = move _62; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_62); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_61); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_60); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_33); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_53); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_41.0: &core::fmt::Opaque) = move _52; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_41.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _50; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_52); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_50); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_43); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_42); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + _30 = [move _38, move _41]; // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_41); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_38); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_37); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_36); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + _29 = &_30; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + _28 = _29; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + _27 = move _28 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_28); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_54); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _54 = _23; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_55); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + discriminant(_55) = 0; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_56); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _56 = _27; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_22.0: &[&str]) = move _54; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_22.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _55; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_22.2: &[std::fmt::ArgumentV1]) = move _56; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_56); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_55); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_54); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_27); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL StorageDead(_23); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL _21 = &_22; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL _20 = _21; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL diff --git a/src/test/mir-opt/issue-73223/64bit/rustc.main.SimplifyArmIdentity.diff b/src/test/mir-opt/issue-73223/64bit/rustc.main.SimplifyArmIdentity.diff index 0da748d79eb..c4d0a6f4bc6 100644 --- a/src/test/mir-opt/issue-73223/64bit/rustc.main.SimplifyArmIdentity.diff +++ b/src/test/mir-opt/issue-73223/64bit/rustc.main.SimplifyArmIdentity.diff @@ -26,27 +26,21 @@ let mut _24: &[&str; 3]; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL let _25: &[&str; 3]; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL let _26: [&str; 3]; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _27: &str; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _28: &str; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _29: &str; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _30: &str; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _31: &str; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _32: &str; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _33: &[std::fmt::ArgumentV1]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _34: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let _35: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let _36: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _37: (&&i32, &&i32); // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _38: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _39: &i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _40: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _41: &i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _44: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _45: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _46: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _47: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _48: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _49: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _27: &[std::fmt::ArgumentV1]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _28: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let _29: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let _30: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _31: (&&i32, &&i32); // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _32: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let _33: &i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _34: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let _35: &i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _38: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _39: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _40: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _41: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _42: &&i32; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _43: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/libcore/macros/mod.rs:LL:COL scope 1 { debug split => _1; // in scope 1 at $DIR/issue-73223.rs:2:9: 2:14 let _6: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:7:9: 7:14 @@ -54,39 +48,39 @@ debug _prev => _6; // in scope 3 at $DIR/issue-73223.rs:7:9: 7:14 let _13: &i32; // in scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL let _14: &i32; // in scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _51: &i32; // in scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _45: &i32; // in scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL scope 4 { debug left_val => _13; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL debug right_val => _14; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _42: &&i32; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let _43: &&i32; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - let mut _50: &[&str; 3]; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let _36: &&i32; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let _37: &&i32; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + let mut _44: &[&str; 3]; // in scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL scope 5 { - debug arg0 => _42; // in scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - debug arg1 => _43; // in scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + debug arg0 => _36; // in scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + debug arg1 => _37; // in scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL scope 6 { - debug x => _45; // in scope 6 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - debug f => _46; // in scope 6 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - let mut _52: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _53: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _54: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _55: &&i32; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL + debug x => _39; // in scope 6 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + debug f => _40; // in scope 6 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + let mut _46: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _47: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _48: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _49: &&i32; // in scope 6 at $SRC_DIR/libstd/macros.rs:LL:COL } scope 8 { - debug x => _48; // in scope 8 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - debug f => _49; // in scope 8 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - let mut _56: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _57: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _58: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _59: &&i32; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL + debug x => _42; // in scope 8 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + debug f => _43; // in scope 8 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + let mut _50: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _51: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _52: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _53: &&i32; // in scope 8 at $SRC_DIR/libstd/macros.rs:LL:COL } } scope 10 { debug pieces => _23; // in scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - debug args => _33; // in scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - let mut _60: &[&str]; // in scope 10 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _61: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/libstd/macros.rs:LL:COL - let mut _62: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/libstd/macros.rs:LL:COL + debug args => _27; // in scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + let mut _54: &[&str]; // in scope 10 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _55: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/libstd/macros.rs:LL:COL + let mut _56: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/libstd/macros.rs:LL:COL } } } @@ -150,14 +144,14 @@ StorageLive(_10); // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL _10 = &_1; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL StorageLive(_11); // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _51 = const main::promoted[1]; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _45 = const main::promoted[1]; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL // ty::Const // + ty: &i32 // + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main[0]), const_param_did: None }, [], Some(promoted[1])) // mir::Constant // + span: $SRC_DIR/libcore/macros/mod.rs:LL:COL // + literal: Const { ty: &i32, val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main[0]), const_param_did: None }, [], Some(promoted[1])) } - _11 = _51; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _11 = _45; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL (_9.0: &i32) = move _10; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL (_9.1: &i32) = move _11; // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL StorageDead(_11); // scope 3 at $SRC_DIR/libcore/macros/mod.rs:LL:COL @@ -217,53 +211,53 @@ StorageLive(_23); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL StorageLive(_24); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL StorageLive(_25); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _50 = const main::promoted[0]; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _44 = const main::promoted[0]; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL // ty::Const // + ty: &[&str; 3] // + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main[0]), const_param_did: None }, [], Some(promoted[0])) // mir::Constant // + span: $SRC_DIR/libcore/macros/mod.rs:LL:COL // + literal: Const { ty: &[&str; 3], val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main[0]), const_param_did: None }, [], Some(promoted[0])) } - _25 = _50; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _25 = _44; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL _24 = _25; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL _23 = move _24 as &[&str] (Pointer(Unsize)); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL StorageDead(_24); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_33); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_34); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_35); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_36); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_37); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_38); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_39); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _39 = _13; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _38 = &_39; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_40); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_41); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _41 = _14; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _40 = &_41; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - (_37.0: &&i32) = move _38; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - (_37.1: &&i32) = move _40; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_40); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_38); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_42); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _42 = (_37.0: &&i32); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_43); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _43 = (_37.1: &&i32); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_44); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_45); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _45 = _42; // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_46); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _46 = const <&i32 as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_27); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_28); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_29); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_30); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_31); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_32); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_33); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _33 = _13; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _32 = &_33; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_34); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_35); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _35 = _14; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _34 = &_35; // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + (_31.0: &&i32) = move _32; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + (_31.1: &&i32) = move _34; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_34); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_32); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_36); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _36 = (_31.0: &&i32); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_37); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _37 = (_31.1: &&i32); // scope 4 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_38); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_39); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _39 = _36; // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_40); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _40 = const <&i32 as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL // 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::Debug>::fmt} // + val: Value(Scalar(<ZST>)) // mir::Constant // + span: $SRC_DIR/libcore/macros/mod.rs:LL:COL // + 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::Debug>::fmt}, val: Value(Scalar(<ZST>)) } - StorageLive(_52); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_53); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _53 = _46; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _52 = const std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _53) -> bb6; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_46); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_47); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _47 = _40; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _46 = const std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _47) -> bb6; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL // ty::Const // + ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>} // + val: Value(Scalar(<ZST>)) @@ -273,11 +267,11 @@ } bb6: { - StorageDead(_53); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_54); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_55); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _55 = _45; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _54 = const std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>(move _55) -> bb7; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_47); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_48); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_49); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _49 = _39; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _48 = const std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>(move _49) -> bb7; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL // ty::Const // + ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>} // + val: Value(Scalar(<ZST>)) @@ -287,28 +281,28 @@ } bb7: { - StorageDead(_55); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_44.0: &core::fmt::Opaque) = move _54; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_44.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _52; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_54); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_52); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_46); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_45); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_47); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_48); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _48 = _43; // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - StorageLive(_49); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL - _49 = const <&i32 as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageDead(_49); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_38.0: &core::fmt::Opaque) = move _48; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_38.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _46; // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_48); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_46); // scope 7 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_40); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_39); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_41); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_42); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _42 = _37; // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + StorageLive(_43); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL + _43 = const <&i32 as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/libcore/macros/mod.rs:LL:COL // 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::Debug>::fmt} // + val: Value(Scalar(<ZST>)) // mir::Constant // + span: $SRC_DIR/libcore/macros/mod.rs:LL:COL // + 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::Debug>::fmt}, val: Value(Scalar(<ZST>)) } - StorageLive(_56); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_57); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _57 = _49; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _56 = const std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _57) -> bb8; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_50); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_51); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _51 = _43; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _50 = const std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _51) -> bb8; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL // ty::Const // + ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>} // + val: Value(Scalar(<ZST>)) @@ -318,11 +312,11 @@ } bb8: { - StorageDead(_57); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_58); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_59); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _59 = _48; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _58 = const std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>(move _59) -> bb9; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_51); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_52); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_53); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _53 = _42; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _52 = const std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>(move _53) -> bb9; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL // ty::Const // + ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>} // + val: Value(Scalar(<ZST>)) @@ -332,35 +326,35 @@ } bb9: { - StorageDead(_59); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_47.0: &core::fmt::Opaque) = move _58; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_47.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _56; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_58); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_56); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_49); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_48); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - _36 = [move _44, move _47]; // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_47); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_44); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_43); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_42); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - _35 = &_36; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - _34 = _35; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - _33 = move _34 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageDead(_34); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL - StorageLive(_60); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _60 = _23; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_61); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - discriminant(_61) = 0; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageLive(_62); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - _62 = _33; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_22.0: &[&str]) = move _60; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_22.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _61; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - (_22.2: &[std::fmt::ArgumentV1]) = move _62; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_62); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_61); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_60); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL - StorageDead(_33); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_53); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_41.0: &core::fmt::Opaque) = move _52; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_41.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _50; // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_52); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_50); // scope 9 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_43); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_42); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + _30 = [move _38, move _41]; // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_41); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_38); // scope 5 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_37); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_36); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + _29 = &_30; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + _28 = _29; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + _27 = move _28 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageDead(_28); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL + StorageLive(_54); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _54 = _23; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_55); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + discriminant(_55) = 0; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageLive(_56); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + _56 = _27; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_22.0: &[&str]) = move _54; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_22.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _55; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + (_22.2: &[std::fmt::ArgumentV1]) = move _56; // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_56); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_55); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_54); // scope 10 at $SRC_DIR/libcore/fmt/mod.rs:LL:COL + StorageDead(_27); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL StorageDead(_23); // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL _21 = &_22; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL _20 = _21; // scope 4 at $SRC_DIR/libstd/macros.rs:LL:COL diff --git a/src/test/pretty/issue-4264.pp b/src/test/pretty/issue-4264.pp index ee7586bae82..0e45b6f04a8 100644 --- a/src/test/pretty/issue-4264.pp +++ b/src/test/pretty/issue-4264.pp @@ -34,27 +34,27 @@ pub fn bar() ({ ((::alloc::fmt::format as for<'r> fn(std::fmt::Arguments<'r>) -> std::string::String {std::fmt::format})(((::core::fmt::Arguments::new_v1 as - fn(&[&str], &[std::fmt::ArgumentV1]) -> std::fmt::Arguments {std::fmt::Arguments::new_v1})((&([("test" - as - &str)] - as - [&str; 1]) - as - &[&str; 1]), - (&(match (() - as - ()) - { - () - => - ([] - as - [std::fmt::ArgumentV1; 0]), - } - as - [std::fmt::ArgumentV1; 0]) - as - &[std::fmt::ArgumentV1; 0])) + fn(&[&'static str], &[std::fmt::ArgumentV1]) -> std::fmt::Arguments {std::fmt::Arguments::new_v1})((&([("test" + as + &str)] + as + [&str; 1]) + as + &[&str; 1]), + (&(match (() + as + ()) + { + () + => + ([] + as + [std::fmt::ArgumentV1; 0]), + } + as + [std::fmt::ArgumentV1; 0]) + as + &[std::fmt::ArgumentV1; 0])) as std::fmt::Arguments)) as std::string::String); diff --git a/src/test/run-make-fulldeps/compiler-rt-works-on-mingw/Makefile b/src/test/run-make-fulldeps/compiler-rt-works-on-mingw/Makefile index d7d078e56b2..0cf5d185521 100644 --- a/src/test/run-make-fulldeps/compiler-rt-works-on-mingw/Makefile +++ b/src/test/run-make-fulldeps/compiler-rt-works-on-mingw/Makefile @@ -1,6 +1,6 @@ -include ../tools.mk -# only-mingw +# only-windows-gnu all: $(CXX) foo.cpp -c -o $(TMPDIR)/foo.o diff --git a/src/test/run-make-fulldeps/include_bytes_deps/Makefile b/src/test/run-make-fulldeps/include_bytes_deps/Makefile index ce79cec67dc..f91af88efe1 100644 --- a/src/test/run-make-fulldeps/include_bytes_deps/Makefile +++ b/src/test/run-make-fulldeps/include_bytes_deps/Makefile @@ -1,10 +1,6 @@ -include ../tools.mk -# ignore-windows # ignore-freebsd -# FIXME: on windows `rustc --dep-info` produces Makefile dependency with -# windows native paths (e.g. `c:\path\to\libfoo.a`) -# but msys make seems to fail to recognize such paths, so test fails. all: $(RUSTC) --emit dep-info main.rs diff --git a/src/test/run-make-fulldeps/intrinsic-unreachable/Makefile b/src/test/run-make-fulldeps/intrinsic-unreachable/Makefile index 483091ad4ee..2037728568e 100644 --- a/src/test/run-make-fulldeps/intrinsic-unreachable/Makefile +++ b/src/test/run-make-fulldeps/intrinsic-unreachable/Makefile @@ -1,6 +1,6 @@ -include ../tools.mk -# ignore-windows +# ignore-windows-msvc # # Because of Windows exception handling, the code is not necessarily any shorter. # https://github.com/llvm-mirror/llvm/commit/64b2297786f7fd6f5fa24cdd4db0298fbf211466 diff --git a/src/test/run-make-fulldeps/issue-51671/Makefile b/src/test/run-make-fulldeps/issue-51671/Makefile index 3027ee578c7..ba3d3b71007 100644 --- a/src/test/run-make-fulldeps/issue-51671/Makefile +++ b/src/test/run-make-fulldeps/issue-51671/Makefile @@ -1,6 +1,6 @@ -include ../tools.mk -# ignore-windows +# ignore-windows-msvc all: $(RUSTC) --emit=obj app.rs diff --git a/src/test/run-make-fulldeps/libs-search-path/Makefile b/src/test/run-make-fulldeps/libs-search-path/Makefile deleted file mode 100644 index f31036ffa19..00000000000 --- a/src/test/run-make-fulldeps/libs-search-path/Makefile +++ /dev/null @@ -1,10 +0,0 @@ --include ../tools.mk - -# only-mingw - -all: empty.rs - cp -r $(shell cygpath -u $(shell $(RUSTC) --print sysroot)) $(TMPDIR)/sysroot - $(RUSTC) --target $(TARGET) --sysroot $(TMPDIR)/sysroot -L$(TMPDIR)/obj -Z print-link-args empty.rs | $(CGREP) 'lib\\crt2.o' - mkdir -p $(TMPDIR)/obj - mv $(TMPDIR)/sysroot/lib/rustlib/$(TARGET)/lib/crt2.o $(TMPDIR)/obj/crt2.o - $(RUSTC) --target $(TARGET) --sysroot $(TMPDIR)/sysroot -L$(TMPDIR)/obj -Z print-link-args empty.rs | $(CGREP) 'obj\\crt2.o' diff --git a/src/test/run-make-fulldeps/libs-search-path/empty.rs b/src/test/run-make-fulldeps/libs-search-path/empty.rs deleted file mode 100644 index f328e4d9d04..00000000000 --- a/src/test/run-make-fulldeps/libs-search-path/empty.rs +++ /dev/null @@ -1 +0,0 @@ -fn main() {} diff --git a/src/test/run-make-fulldeps/redundant-libs/Makefile b/src/test/run-make-fulldeps/redundant-libs/Makefile index 9486e07d21b..8468d102bec 100644 --- a/src/test/run-make-fulldeps/redundant-libs/Makefile +++ b/src/test/run-make-fulldeps/redundant-libs/Makefile @@ -1,8 +1,6 @@ -include ../tools.mk -ifdef IS_WINDOWS -all: -else +# ignore-windows-msvc # rustc will remove one of the two redundant references to foo below. Depending # on which one gets removed, we'll get a linker error on SOME platforms (like @@ -23,5 +21,3 @@ RUSTC_FLAGS = \ all: $(call DYLIB,foo) $(call STATICLIB,bar) $(call STATICLIB,baz) $(RUSTC) $(RUSTC_FLAGS) main.rs $(call RUN,main) - -endif diff --git a/src/test/run-make-fulldeps/symbol-visibility/Makefile b/src/test/run-make-fulldeps/symbol-visibility/Makefile index 7901866015b..dc55c947d89 100644 --- a/src/test/run-make-fulldeps/symbol-visibility/Makefile +++ b/src/test/run-make-fulldeps/symbol-visibility/Makefile @@ -1,9 +1,6 @@ include ../tools.mk -# ignore-windows -# -# On MINGW the --version-script, --dynamic-list, and --retain-symbol args don't -# seem to work reliably. +# ignore-windows-msvc NM=nm -D CDYLIB_NAME=liba_cdylib.so @@ -19,6 +16,14 @@ EXE_NAME=an_executable COMBINED_CDYLIB_NAME=libcombined_rlib_dylib.dylib endif +ifdef IS_WINDOWS +NM=nm -g +CDYLIB_NAME=liba_cdylib.dll.a +RDYLIB_NAME=liba_rust_dylib.dll.a +EXE_NAME=an_executable.exe +COMBINED_CDYLIB_NAME=libcombined_rlib_dylib.dll.a +endif + # `grep` regex for symbols produced by either `legacy` or `v0` mangling RE_ANY_RUST_SYMBOL="_ZN.*h.*E\|_R[a-zA-Z0-9_]+" @@ -30,38 +35,38 @@ all: $(RUSTC) -Zshare-generics=no a_cdylib.rs --crate-name combined_rlib_dylib --crate-type=rlib,cdylib # Check that a cdylib exports its public #[no_mangle] functions - [ "$$($(NM) $(TMPDIR)/$(CDYLIB_NAME) | grep -c public_c_function_from_cdylib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(CDYLIB_NAME) | grep -v __imp_ | grep -c public_c_function_from_cdylib)" -eq "1" ] # Check that a cdylib exports the public #[no_mangle] functions of dependencies - [ "$$($(NM) $(TMPDIR)/$(CDYLIB_NAME) | grep -c public_c_function_from_rlib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(CDYLIB_NAME) | grep -v __imp_ | grep -c public_c_function_from_rlib)" -eq "1" ] # Check that a cdylib DOES NOT export any public Rust functions - [ "$$($(NM) $(TMPDIR)/$(CDYLIB_NAME) | grep -c $(RE_ANY_RUST_SYMBOL))" -eq "0" ] + [ "$$($(NM) $(TMPDIR)/$(CDYLIB_NAME) | grep -v __imp_ | grep -c $(RE_ANY_RUST_SYMBOL))" -eq "0" ] # Check that a Rust dylib exports its monomorphic functions - [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -c public_c_function_from_rust_dylib)" -eq "1" ] - [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -c public_rust_function_from_rust_dylib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -v __imp_ | grep -c public_c_function_from_rust_dylib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -v __imp_ | grep -c public_rust_function_from_rust_dylib)" -eq "1" ] # Check that a Rust dylib does not export generics if -Zshare-generics=no - [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -c public_generic_function_from_rust_dylib)" -eq "0" ] + [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -v __imp_ | grep -c public_generic_function_from_rust_dylib)" -eq "0" ] # Check that a Rust dylib exports the monomorphic functions from its dependencies - [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -c public_c_function_from_rlib)" -eq "1" ] - [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -c public_rust_function_from_rlib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -v __imp_ | grep -c public_c_function_from_rlib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -v __imp_ | grep -c public_rust_function_from_rlib)" -eq "1" ] # Check that a Rust dylib does not export generics if -Zshare-generics=no - [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -c public_generic_function_from_rlib)" -eq "0" ] + [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -v __imp_ | grep -c public_generic_function_from_rlib)" -eq "0" ] # Check that an executable does not export any dynamic symbols - [ "$$($(NM) $(TMPDIR)/$(EXE_NAME) | grep -c public_c_function_from_rlib)" -eq "0" ] - [ "$$($(NM) $(TMPDIR)/$(EXE_NAME) | grep -c public_rust_function_from_exe)" -eq "0" ] + [ "$$($(NM) $(TMPDIR)/$(EXE_NAME) | grep -v __imp_ | grep -c public_c_function_from_rlib)" -eq "0" ] + [ "$$($(NM) $(TMPDIR)/$(EXE_NAME) | grep -v __imp_ | grep -c public_rust_function_from_exe)" -eq "0" ] # Check the combined case, where we generate a cdylib and an rlib in the same # compilation session: # Check that a cdylib exports its public #[no_mangle] functions - [ "$$($(NM) $(TMPDIR)/$(COMBINED_CDYLIB_NAME) | grep -c public_c_function_from_cdylib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(COMBINED_CDYLIB_NAME) | grep -v __imp_ | grep -c public_c_function_from_cdylib)" -eq "1" ] # Check that a cdylib exports the public #[no_mangle] functions of dependencies - [ "$$($(NM) $(TMPDIR)/$(COMBINED_CDYLIB_NAME) | grep -c public_c_function_from_rlib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(COMBINED_CDYLIB_NAME) | grep -v __imp_ | grep -c public_c_function_from_rlib)" -eq "1" ] # Check that a cdylib DOES NOT export any public Rust functions - [ "$$($(NM) $(TMPDIR)/$(COMBINED_CDYLIB_NAME) | grep -c $(RE_ANY_RUST_SYMBOL))" -eq "0" ] + [ "$$($(NM) $(TMPDIR)/$(COMBINED_CDYLIB_NAME) | grep -v __imp_ | grep -c $(RE_ANY_RUST_SYMBOL))" -eq "0" ] $(RUSTC) -Zshare-generics=yes an_rlib.rs @@ -70,22 +75,22 @@ all: $(RUSTC) -Zshare-generics=yes an_executable.rs # Check that a cdylib exports its public #[no_mangle] functions - [ "$$($(NM) $(TMPDIR)/$(CDYLIB_NAME) | grep -c public_c_function_from_cdylib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(CDYLIB_NAME) | grep -v __imp_ | grep -c public_c_function_from_cdylib)" -eq "1" ] # Check that a cdylib exports the public #[no_mangle] functions of dependencies - [ "$$($(NM) $(TMPDIR)/$(CDYLIB_NAME) | grep -c public_c_function_from_rlib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(CDYLIB_NAME) | grep -v __imp_ | grep -c public_c_function_from_rlib)" -eq "1" ] # Check that a cdylib DOES NOT export any public Rust functions - [ "$$($(NM) $(TMPDIR)/$(CDYLIB_NAME) | grep -c $(RE_ANY_RUST_SYMBOL))" -eq "0" ] + [ "$$($(NM) $(TMPDIR)/$(CDYLIB_NAME) | grep -v __imp_ | grep -c $(RE_ANY_RUST_SYMBOL))" -eq "0" ] # Check that a Rust dylib exports its monomorphic functions, including generics this time - [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -c public_c_function_from_rust_dylib)" -eq "1" ] - [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -c public_rust_function_from_rust_dylib)" -eq "1" ] - [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -c public_generic_function_from_rust_dylib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -v __imp_ | grep -c public_c_function_from_rust_dylib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -v __imp_ | grep -c public_rust_function_from_rust_dylib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -v __imp_ | grep -c public_generic_function_from_rust_dylib)" -eq "1" ] # Check that a Rust dylib exports the monomorphic functions from its dependencies - [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -c public_c_function_from_rlib)" -eq "1" ] - [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -c public_rust_function_from_rlib)" -eq "1" ] - [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -c public_generic_function_from_rlib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -v __imp_ | grep -c public_c_function_from_rlib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -v __imp_ | grep -c public_rust_function_from_rlib)" -eq "1" ] + [ "$$($(NM) $(TMPDIR)/$(RDYLIB_NAME) | grep -v __imp_ | grep -c public_generic_function_from_rlib)" -eq "1" ] # Check that an executable does not export any dynamic symbols - [ "$$($(NM) $(TMPDIR)/$(EXE_NAME) | grep -c public_c_function_from_rlib)" -eq "0" ] - [ "$$($(NM) $(TMPDIR)/$(EXE_NAME) | grep -c public_rust_function_from_exe)" -eq "0" ] + [ "$$($(NM) $(TMPDIR)/$(EXE_NAME) | grep -v __imp_ | grep -c public_c_function_from_rlib)" -eq "0" ] + [ "$$($(NM) $(TMPDIR)/$(EXE_NAME) | grep -v __imp_ | grep -c public_rust_function_from_exe)" -eq "0" ] diff --git a/src/test/run-make-fulldeps/tools.mk b/src/test/run-make-fulldeps/tools.mk index 04bf78ed210..1effa46e101 100644 --- a/src/test/run-make-fulldeps/tools.mk +++ b/src/test/run-make-fulldeps/tools.mk @@ -150,7 +150,7 @@ ifdef IS_MSVC $(CC) $< -link -dll -out:`cygpath -w $@` else %.dll: lib%.o - $(CC) -o $@ $< -shared + $(CC) -o $@ $< -shared -Wl,--out-implib=$@.a endif $(TMPDIR)/lib%.o: %.c diff --git a/src/test/run-make-fulldeps/used/Makefile b/src/test/run-make-fulldeps/used/Makefile index 8d913e39935..4d904472931 100644 --- a/src/test/run-make-fulldeps/used/Makefile +++ b/src/test/run-make-fulldeps/used/Makefile @@ -1,6 +1,6 @@ -include ../tools.mk -# ignore-windows +# ignore-windows-msvc all: $(RUSTC) -C opt-level=3 --emit=obj used.rs diff --git a/src/test/run-make/static-pie/test-aslr.rs b/src/test/run-make/static-pie/test-aslr.rs index f28e00f7f4c..96b17af46df 100644 --- a/src/test/run-make/static-pie/test-aslr.rs +++ b/src/test/run-make/static-pie/test-aslr.rs @@ -29,7 +29,7 @@ fn main() { } Some(s) if s.eq("--test-aslr") => { let cnt = run_self(&arg0); - if cnt != NUM_RUNS { + if cnt == 1 { eprintln!("FAIL: {} most likely no ASLR", arg0); std::process::exit(1); } diff --git a/src/test/rustdoc/intra-doc-link-mod-ambiguity.rs b/src/test/rustdoc/intra-doc-link-mod-ambiguity.rs new file mode 100644 index 00000000000..65187f48539 --- /dev/null +++ b/src/test/rustdoc/intra-doc-link-mod-ambiguity.rs @@ -0,0 +1,18 @@ +// ignore-tidy-linelength + +#![deny(intra_doc_link_resolution_failure)] + + +pub fn foo() { + +} + +pub mod foo {} +// @has intra_doc_link_mod_ambiguity/struct.A.html '//a/@href' '../intra_doc_link_mod_ambiguity/foo/index.html' +/// Module is [`module@foo`] +pub struct A; + + +// @has intra_doc_link_mod_ambiguity/struct.B.html '//a/@href' '../intra_doc_link_mod_ambiguity/fn.foo.html' +/// Function is [`fn@foo`] +pub struct B; diff --git a/src/test/ui/consts/const-option.rs b/src/test/ui/consts/const-option.rs new file mode 100644 index 00000000000..fbf20b9db67 --- /dev/null +++ b/src/test/ui/consts/const-option.rs @@ -0,0 +1,14 @@ +// run-pass + +#![feature(const_option)] + +const X: Option<i32> = Some(32); +const Y: Option<&i32> = X.as_ref(); + +const IS_SOME: bool = X.is_some(); +const IS_NONE: bool = Y.is_none(); + +fn main() { + assert!(IS_SOME); + assert!(!IS_NONE) +} diff --git a/src/test/ui/lazy_normalization_consts/trait-resolution-breakage.rs b/src/test/ui/lazy_normalization_consts/trait-resolution-breakage.rs new file mode 100644 index 00000000000..df1c99e8671 --- /dev/null +++ b/src/test/ui/lazy_normalization_consts/trait-resolution-breakage.rs @@ -0,0 +1,18 @@ +// check-pass + +trait Trait<T> { + const ASSOC_CONST: usize = 0; +} + +impl Trait<()> for u8 {} + +// `u8::ASSOC_CONST` is resolved today, but will be ambiguous +// under lazy normalization. +fn foo<T, U>() -> [(T, U); u8::ASSOC_CONST] +where + u8: Trait<T> + Trait<U>, +{ + todo!() +} + +fn main() {} diff --git a/src/test/ui/lazy_normalization_consts/unevaluated-consts.rs b/src/test/ui/lazy_normalization_consts/unevaluated-consts.rs new file mode 100644 index 00000000000..3f90d22ae2d --- /dev/null +++ b/src/test/ui/lazy_normalization_consts/unevaluated-consts.rs @@ -0,0 +1,18 @@ +// check-pass + +// If we allow the parent generics here without using lazy normalization +// this results in a cycle error. +struct Foo<T, U>(T, U); + +impl<T> From<[u8; 1 + 1]> for Foo<T, [u8; 1 + 1]> { + fn from(value: [u8; 1 + 1]) -> Foo<T, [u8; 1 + 1]> { + todo!(); + } +} + +fn break_me<T>() +where + [u8; 1 + 1]: From<[u8; 1 + 1]> +{} + +fn main() {} diff --git a/src/test/ui/lint/uninitialized-zeroed.rs b/src/test/ui/lint/uninitialized-zeroed.rs index 473be434a75..78d3060886d 100644 --- a/src/test/ui/lint/uninitialized-zeroed.rs +++ b/src/test/ui/lint/uninitialized-zeroed.rs @@ -23,6 +23,18 @@ enum WrapEnum<T> { Wrapped(T) } #[repr(transparent)] pub(crate) struct NonBig(u64); +/// A two-variant enum, thus needs a tag and may not remain uninitialized. +enum Fruit { + Apple, + Banana, +} + +/// Looks like two variants but really only has one. +enum OneFruit { + Apple(!), + Banana, +} + #[allow(unused)] fn generic<T: 'static>() { unsafe { @@ -80,6 +92,9 @@ fn main() { let _val: NonBig = mem::zeroed(); let _val: NonBig = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized + let _val: Fruit = mem::zeroed(); + let _val: Fruit = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized + // Transmute-from-0 let _val: &'static i32 = mem::transmute(0usize); //~ ERROR: does not permit zero-initialization let _val: &'static [i32] = mem::transmute((0usize, 0usize)); //~ ERROR: does not permit zero-initialization @@ -96,5 +111,9 @@ fn main() { let _val: MaybeUninit<&'static i32> = mem::zeroed(); let _val: i32 = mem::zeroed(); let _val: bool = MaybeUninit::zeroed().assume_init(); + // Some things that happen to work due to rustc implementation details, + // but are not guaranteed to keep working. + let _val: i32 = mem::uninitialized(); + let _val: OneFruit = mem::uninitialized(); } } diff --git a/src/test/ui/lint/uninitialized-zeroed.stderr b/src/test/ui/lint/uninitialized-zeroed.stderr index bf0562713a4..3bf8a66ab0a 100644 --- a/src/test/ui/lint/uninitialized-zeroed.stderr +++ b/src/test/ui/lint/uninitialized-zeroed.stderr @@ -1,5 +1,5 @@ error: the type `&T` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:29:32 + --> $DIR/uninitialized-zeroed.rs:41:32 | LL | let _val: &'static T = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -15,7 +15,7 @@ LL | #![deny(invalid_value)] = note: references must be non-null error: the type `&T` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:30:32 + --> $DIR/uninitialized-zeroed.rs:42:32 | LL | let _val: &'static T = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -26,7 +26,7 @@ LL | let _val: &'static T = mem::uninitialized(); = note: references must be non-null error: the type `Wrap<&T>` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:32:38 + --> $DIR/uninitialized-zeroed.rs:44:38 | LL | let _val: Wrap<&'static T> = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -41,7 +41,7 @@ LL | struct Wrap<T> { wrapped: T } | ^^^^^^^^^^ error: the type `Wrap<&T>` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:33:38 + --> $DIR/uninitialized-zeroed.rs:45:38 | LL | let _val: Wrap<&'static T> = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -56,7 +56,7 @@ LL | struct Wrap<T> { wrapped: T } | ^^^^^^^^^^ error: the type `!` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:40:23 + --> $DIR/uninitialized-zeroed.rs:52:23 | LL | let _val: ! = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -67,7 +67,7 @@ LL | let _val: ! = mem::zeroed(); = note: the `!` type has no valid value error: the type `!` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:41:23 + --> $DIR/uninitialized-zeroed.rs:53:23 | LL | let _val: ! = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -78,7 +78,7 @@ LL | let _val: ! = mem::uninitialized(); = note: the `!` type has no valid value error: the type `(i32, !)` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:43:30 + --> $DIR/uninitialized-zeroed.rs:55:30 | LL | let _val: (i32, !) = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -89,7 +89,7 @@ LL | let _val: (i32, !) = mem::zeroed(); = note: the `!` type has no valid value error: the type `(i32, !)` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:44:30 + --> $DIR/uninitialized-zeroed.rs:56:30 | LL | let _val: (i32, !) = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -100,7 +100,7 @@ LL | let _val: (i32, !) = mem::uninitialized(); = note: the `!` type has no valid value error: the type `Void` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:46:26 + --> $DIR/uninitialized-zeroed.rs:58:26 | LL | let _val: Void = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -111,7 +111,7 @@ LL | let _val: Void = mem::zeroed(); = note: enums with no variants have no valid value error: the type `Void` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:47:26 + --> $DIR/uninitialized-zeroed.rs:59:26 | LL | let _val: Void = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -122,7 +122,7 @@ LL | let _val: Void = mem::uninitialized(); = note: enums with no variants have no valid value error: the type `&i32` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:49:34 + --> $DIR/uninitialized-zeroed.rs:61:34 | LL | let _val: &'static i32 = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -133,7 +133,7 @@ LL | let _val: &'static i32 = mem::zeroed(); = note: references must be non-null error: the type `&i32` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:50:34 + --> $DIR/uninitialized-zeroed.rs:62:34 | LL | let _val: &'static i32 = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -144,7 +144,7 @@ LL | let _val: &'static i32 = mem::uninitialized(); = note: references must be non-null error: the type `Ref` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:52:25 + --> $DIR/uninitialized-zeroed.rs:64:25 | LL | let _val: Ref = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -159,7 +159,7 @@ LL | struct Ref(&'static i32); | ^^^^^^^^^^^^ error: the type `Ref` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:53:25 + --> $DIR/uninitialized-zeroed.rs:65:25 | LL | let _val: Ref = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -174,7 +174,7 @@ LL | struct Ref(&'static i32); | ^^^^^^^^^^^^ error: the type `fn()` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:55:26 + --> $DIR/uninitialized-zeroed.rs:67:26 | LL | let _val: fn() = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -185,7 +185,7 @@ LL | let _val: fn() = mem::zeroed(); = note: function pointers must be non-null error: the type `fn()` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:56:26 + --> $DIR/uninitialized-zeroed.rs:68:26 | LL | let _val: fn() = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -196,7 +196,7 @@ LL | let _val: fn() = mem::uninitialized(); = note: function pointers must be non-null error: the type `Wrap<fn()>` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:58:32 + --> $DIR/uninitialized-zeroed.rs:70:32 | LL | let _val: Wrap<fn()> = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -211,7 +211,7 @@ LL | struct Wrap<T> { wrapped: T } | ^^^^^^^^^^ error: the type `Wrap<fn()>` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:59:32 + --> $DIR/uninitialized-zeroed.rs:71:32 | LL | let _val: Wrap<fn()> = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -226,7 +226,7 @@ LL | struct Wrap<T> { wrapped: T } | ^^^^^^^^^^ error: the type `WrapEnum<fn()>` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:61:36 + --> $DIR/uninitialized-zeroed.rs:73:36 | LL | let _val: WrapEnum<fn()> = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -241,7 +241,7 @@ LL | enum WrapEnum<T> { Wrapped(T) } | ^ error: the type `WrapEnum<fn()>` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:62:36 + --> $DIR/uninitialized-zeroed.rs:74:36 | LL | let _val: WrapEnum<fn()> = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -256,7 +256,7 @@ LL | enum WrapEnum<T> { Wrapped(T) } | ^ error: the type `Wrap<(RefPair, i32)>` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:64:42 + --> $DIR/uninitialized-zeroed.rs:76:42 | LL | let _val: Wrap<(RefPair, i32)> = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -271,7 +271,7 @@ LL | struct RefPair((&'static i32, i32)); | ^^^^^^^^^^^^^^^^^^^ error: the type `Wrap<(RefPair, i32)>` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:65:42 + --> $DIR/uninitialized-zeroed.rs:77:42 | LL | let _val: Wrap<(RefPair, i32)> = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -286,7 +286,7 @@ LL | struct RefPair((&'static i32, i32)); | ^^^^^^^^^^^^^^^^^^^ error: the type `std::ptr::NonNull<i32>` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:67:34 + --> $DIR/uninitialized-zeroed.rs:79:34 | LL | let _val: NonNull<i32> = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -297,7 +297,7 @@ LL | let _val: NonNull<i32> = mem::zeroed(); = note: `std::ptr::NonNull<i32>` must be non-null error: the type `std::ptr::NonNull<i32>` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:68:34 + --> $DIR/uninitialized-zeroed.rs:80:34 | LL | let _val: NonNull<i32> = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -308,7 +308,7 @@ LL | let _val: NonNull<i32> = mem::uninitialized(); = note: `std::ptr::NonNull<i32>` must be non-null error: the type `*const dyn std::marker::Send` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:70:37 + --> $DIR/uninitialized-zeroed.rs:82:37 | LL | let _val: *const dyn Send = mem::zeroed(); | ^^^^^^^^^^^^^ @@ -319,7 +319,7 @@ LL | let _val: *const dyn Send = mem::zeroed(); = note: the vtable of a wide raw pointer must be non-null error: the type `*const dyn std::marker::Send` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:71:37 + --> $DIR/uninitialized-zeroed.rs:83:37 | LL | let _val: *const dyn Send = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -330,7 +330,7 @@ LL | let _val: *const dyn Send = mem::uninitialized(); = note: the vtable of a wide raw pointer must be non-null error: the type `bool` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:75:26 + --> $DIR/uninitialized-zeroed.rs:87:26 | LL | let _val: bool = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -341,7 +341,7 @@ LL | let _val: bool = mem::uninitialized(); = note: booleans must be either `true` or `false` error: the type `Wrap<char>` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:78:32 + --> $DIR/uninitialized-zeroed.rs:90:32 | LL | let _val: Wrap<char> = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -356,7 +356,7 @@ LL | struct Wrap<T> { wrapped: T } | ^^^^^^^^^^ error: the type `NonBig` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:81:28 + --> $DIR/uninitialized-zeroed.rs:93:28 | LL | let _val: NonBig = mem::uninitialized(); | ^^^^^^^^^^^^^^^^^^^^ @@ -366,8 +366,26 @@ LL | let _val: NonBig = mem::uninitialized(); | = note: `NonBig` must be initialized inside its custom valid range +error: the type `Fruit` does not permit being left uninitialized + --> $DIR/uninitialized-zeroed.rs:96:27 + | +LL | let _val: Fruit = mem::uninitialized(); + | ^^^^^^^^^^^^^^^^^^^^ + | | + | this code causes undefined behavior when executed + | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done + | +note: enums have to be initialized to a variant + --> $DIR/uninitialized-zeroed.rs:27:1 + | +LL | / enum Fruit { +LL | | Apple, +LL | | Banana, +LL | | } + | |_^ + error: the type `&i32` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:84:34 + --> $DIR/uninitialized-zeroed.rs:99:34 | LL | let _val: &'static i32 = mem::transmute(0usize); | ^^^^^^^^^^^^^^^^^^^^^^ @@ -378,7 +396,7 @@ LL | let _val: &'static i32 = mem::transmute(0usize); = note: references must be non-null error: the type `&[i32]` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:85:36 + --> $DIR/uninitialized-zeroed.rs:100:36 | LL | let _val: &'static [i32] = mem::transmute((0usize, 0usize)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -389,7 +407,7 @@ LL | let _val: &'static [i32] = mem::transmute((0usize, 0usize)); = note: references must be non-null error: the type `std::num::NonZeroU32` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:86:32 + --> $DIR/uninitialized-zeroed.rs:101:32 | LL | let _val: NonZeroU32 = mem::transmute(0); | ^^^^^^^^^^^^^^^^^ @@ -400,7 +418,7 @@ LL | let _val: NonZeroU32 = mem::transmute(0); = note: `std::num::NonZeroU32` must be non-null error: the type `std::ptr::NonNull<i32>` does not permit zero-initialization - --> $DIR/uninitialized-zeroed.rs:89:34 + --> $DIR/uninitialized-zeroed.rs:104:34 | LL | let _val: NonNull<i32> = MaybeUninit::zeroed().assume_init(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -411,7 +429,7 @@ LL | let _val: NonNull<i32> = MaybeUninit::zeroed().assume_init(); = note: `std::ptr::NonNull<i32>` must be non-null error: the type `std::ptr::NonNull<i32>` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:90:34 + --> $DIR/uninitialized-zeroed.rs:105:34 | LL | let _val: NonNull<i32> = MaybeUninit::uninit().assume_init(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -422,7 +440,7 @@ LL | let _val: NonNull<i32> = MaybeUninit::uninit().assume_init(); = note: `std::ptr::NonNull<i32>` must be non-null error: the type `bool` does not permit being left uninitialized - --> $DIR/uninitialized-zeroed.rs:91:26 + --> $DIR/uninitialized-zeroed.rs:106:26 | LL | let _val: bool = MaybeUninit::uninit().assume_init(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -432,5 +450,5 @@ LL | let _val: bool = MaybeUninit::uninit().assume_init(); | = note: booleans must be either `true` or `false` -error: aborting due to 35 previous errors +error: aborting due to 36 previous errors |
