mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 15:23:46 +00:00
Auto merge of #79100 - a1phyr:better_assert_eq, r=m-ou-se
Improve assert_eq! and assert_ne! This PR improves `assert_eq!` and `assert_ne!` by moving the panicking code in an external function. It does not change the fast path, but the move of the formatting in the cold path (the panic) may have a positive effect on in instruction cache use and with inlining. Moreover, the use of trait objects instead of generic may improve compile times for `assert_eq!`-heavy code. Godbolt link: ~~https://rust.godbolt.org/z/TYa9MT~~ \ Updated: https://rust.godbolt.org/z/bzE84x
This commit is contained in:
commit
ed58a2b03b
@ -53,32 +53,30 @@ macro_rules! panic {
|
||||
/// ```
|
||||
#[macro_export]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[allow_internal_unstable(core_panic)]
|
||||
macro_rules! assert_eq {
|
||||
($left:expr, $right:expr $(,)?) => ({
|
||||
match (&$left, &$right) {
|
||||
(left_val, right_val) => {
|
||||
if !(*left_val == *right_val) {
|
||||
let kind = $crate::panicking::AssertKind::Eq;
|
||||
// The reborrows below are intentional. Without them, the stack slot for the
|
||||
// borrow is initialized even before the values are compared, leading to a
|
||||
// noticeable slow down.
|
||||
$crate::panic!(r#"assertion failed: `(left == right)`
|
||||
left: `{:?}`,
|
||||
right: `{:?}`"#, &*left_val, &*right_val)
|
||||
$crate::panicking::assert_failed(kind, &*left_val, &*right_val, $crate::option::Option::None);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
($left:expr, $right:expr, $($arg:tt)+) => ({
|
||||
match (&($left), &($right)) {
|
||||
match (&$left, &$right) {
|
||||
(left_val, right_val) => {
|
||||
if !(*left_val == *right_val) {
|
||||
let kind = $crate::panicking::AssertKind::Eq;
|
||||
// The reborrows below are intentional. Without them, the stack slot for the
|
||||
// borrow is initialized even before the values are compared, leading to a
|
||||
// noticeable slow down.
|
||||
$crate::panic!(r#"assertion failed: `(left == right)`
|
||||
left: `{:?}`,
|
||||
right: `{:?}`: {}"#, &*left_val, &*right_val,
|
||||
$crate::format_args!($($arg)+))
|
||||
$crate::panicking::assert_failed(kind, &*left_val, &*right_val, $crate::option::Option::Some($crate::format_args!($($arg)+)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -104,17 +102,17 @@ macro_rules! assert_eq {
|
||||
/// ```
|
||||
#[macro_export]
|
||||
#[stable(feature = "assert_ne", since = "1.13.0")]
|
||||
#[allow_internal_unstable(core_panic)]
|
||||
macro_rules! assert_ne {
|
||||
($left:expr, $right:expr $(,)?) => ({
|
||||
match (&$left, &$right) {
|
||||
(left_val, right_val) => {
|
||||
if *left_val == *right_val {
|
||||
let kind = $crate::panicking::AssertKind::Ne;
|
||||
// The reborrows below are intentional. Without them, the stack slot for the
|
||||
// borrow is initialized even before the values are compared, leading to a
|
||||
// noticeable slow down.
|
||||
$crate::panic!(r#"assertion failed: `(left != right)`
|
||||
left: `{:?}`,
|
||||
right: `{:?}`"#, &*left_val, &*right_val)
|
||||
$crate::panicking::assert_failed(kind, &*left_val, &*right_val, $crate::option::Option::None);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -123,13 +121,11 @@ macro_rules! assert_ne {
|
||||
match (&($left), &($right)) {
|
||||
(left_val, right_val) => {
|
||||
if *left_val == *right_val {
|
||||
let kind = $crate::panicking::AssertKind::Ne;
|
||||
// The reborrows below are intentional. Without them, the stack slot for the
|
||||
// borrow is initialized even before the values are compared, leading to a
|
||||
// noticeable slow down.
|
||||
$crate::panic!(r#"assertion failed: `(left != right)`
|
||||
left: `{:?}`,
|
||||
right: `{:?}`: {}"#, &*left_val, &*right_val,
|
||||
$crate::format_args!($($arg)+))
|
||||
$crate::panicking::assert_failed(kind, &*left_val, &*right_val, $crate::option::Option::Some($crate::format_args!($($arg)+)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -91,3 +91,54 @@ pub fn panic_fmt(fmt: fmt::Arguments<'_>) -> ! {
|
||||
// SAFETY: `panic_impl` is defined in safe Rust code and thus is safe to call.
|
||||
unsafe { panic_impl(&pi) }
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
#[doc(hidden)]
|
||||
pub enum AssertKind {
|
||||
Eq,
|
||||
Ne,
|
||||
}
|
||||
|
||||
/// Internal function for `assert_eq!` and `assert_ne!` macros
|
||||
#[cold]
|
||||
#[track_caller]
|
||||
#[doc(hidden)]
|
||||
pub fn assert_failed<T, U>(
|
||||
kind: AssertKind,
|
||||
left: &T,
|
||||
right: &U,
|
||||
args: Option<fmt::Arguments<'_>>,
|
||||
) -> !
|
||||
where
|
||||
T: fmt::Debug + ?Sized,
|
||||
U: fmt::Debug + ?Sized,
|
||||
{
|
||||
#[track_caller]
|
||||
fn inner(
|
||||
kind: AssertKind,
|
||||
left: &dyn fmt::Debug,
|
||||
right: &dyn fmt::Debug,
|
||||
args: Option<fmt::Arguments<'_>>,
|
||||
) -> ! {
|
||||
let op = match kind {
|
||||
AssertKind::Eq => "==",
|
||||
AssertKind::Ne => "!=",
|
||||
};
|
||||
|
||||
match args {
|
||||
Some(args) => panic!(
|
||||
r#"assertion failed: `(left {} right)`
|
||||
left: `{:?}`,
|
||||
right: `{:?}: {}`"#,
|
||||
op, left, right, args
|
||||
),
|
||||
None => panic!(
|
||||
r#"assertion failed: `(left {} right)`
|
||||
left: `{:?}`,
|
||||
right: `{:?}`"#,
|
||||
op, left, right,
|
||||
),
|
||||
}
|
||||
}
|
||||
inner(kind, &left, &right, args)
|
||||
}
|
||||
|
@ -8,56 +8,23 @@
|
||||
let _3: i32; // in scope 0 at $DIR/issue-73223.rs:3:14: 3:15
|
||||
let mut _5: (&i32, &i32); // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _6: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _9: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _10: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _11: i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _12: std::fmt::Arguments; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _13: &[&str; 3]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _14: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let _15: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _16: (&&i32, &&i32); // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let _17: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _18: &&i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _19: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _20: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _21: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _7: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _8: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _9: i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _11: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _12: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _13: std::option::Option<std::fmt::Arguments>; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 1 {
|
||||
debug split => _1; // in scope 1 at $DIR/issue-73223.rs:2:9: 2:14
|
||||
let _4: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:7:9: 7:14
|
||||
scope 3 {
|
||||
debug _prev => _4; // in scope 3 at $DIR/issue-73223.rs:7:9: 7:14
|
||||
let _7: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _8: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 4 {
|
||||
debug left_val => _7; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
debug right_val => _8; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
debug left_val => _11; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
debug right_val => _12; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _10: core::panicking::AssertKind; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 5 {
|
||||
debug arg0 => _24; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
debug arg1 => _27; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 6 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug x => _24; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug f => _23; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _22: 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/core/src/panic.rs:LL:COL
|
||||
let mut _23: 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/core/src/panic.rs:LL:COL
|
||||
let mut _24: &&i32; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
scope 7 {
|
||||
}
|
||||
}
|
||||
scope 8 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug x => _27; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug f => _26; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _25: 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/core/src/panic.rs:LL:COL
|
||||
let mut _26: 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/core/src/panic.rs:LL:COL
|
||||
let mut _27: &&i32; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
scope 9 {
|
||||
}
|
||||
}
|
||||
}
|
||||
scope 10 (inlined Arguments::new_v1) { // at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug pieces => (_12.0: &[&str]); // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug args => _29; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _28: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _29: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug kind => _10; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -79,113 +46,49 @@
|
||||
((_4 as Some).0: i32) = _1; // scope 1 at $DIR/issue-73223.rs:7:22: 7:27
|
||||
discriminant(_4) = 1; // scope 1 at $DIR/issue-73223.rs:7:17: 7:28
|
||||
(_5.0: &i32) = &_1; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_6 = const main::promoted[1]; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_6 = const main::promoted[0]; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// ty::Const
|
||||
// + ty: &i32
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[1]))
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: &i32, val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[1])) }
|
||||
(_5.1: &i32) = move _6; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_7); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_7 = (_5.0: &i32); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_8); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_8 = (_5.1: &i32); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_9); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_10); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_11); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_11 = (*_7); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_10 = Eq(move _11, const 1_i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_11); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_9 = Not(move _10); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_10); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
switchInt(move _9) -> [false: bb2, otherwise: bb1]; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_13 = const main::promoted[0]; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// ty::Const
|
||||
// + ty: &[&str; 3]
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0]))
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: &[&str; 3], val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0])) }
|
||||
(_12.0: &[&str]) = move _13 as &[&str] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_15); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_17); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_17 = _7; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
(_16.0: &&i32) = &_17; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_18); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_19); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_19 = _8; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_18 = &_19; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
(_16.1: &&i32) = move _18; // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_18); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_24 = (_16.0: &&i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_27 = (_16.1: &&i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_23 = <&i32 as 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/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: &i32, val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0])) }
|
||||
(_5.1: &i32) = move _6; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_11 = (_5.0: &i32); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_12 = (_5.1: &i32); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_7); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_8); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_9); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_9 = (*_11); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_8 = Eq(move _9, const 1_i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_9); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_7 = Not(move _8); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_8); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
switchInt(move _7) -> [false: bb2, otherwise: bb1]; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageLive(_10); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
discriminant(_10) = 0; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_13); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
discriminant(_13) = 0; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
core::panicking::assert_failed::<i32, i32>(const core::panicking::AssertKind::Eq, move _11, move _12, move _13); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/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(_22); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_22 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _23) -> bb3; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: for<'r, 's, 't0> fn(core::panicking::AssertKind, &'r i32, &'s i32, std::option::Option<std::fmt::Arguments<'t0>>) -> ! {core::panicking::assert_failed::<i32, i32>}, val: Value(Scalar(<ZST>)) }
|
||||
// ty::Const
|
||||
// + ty: core::panicking::AssertKind
|
||||
// + val: Value(Scalar(0x00))
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: 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>)) }
|
||||
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: core::panicking::AssertKind, val: Value(Scalar(0x00)) }
|
||||
}
|
||||
|
||||
bb2: {
|
||||
StorageDead(_9); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_8); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_7); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_7); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_0 = const (); // scope 0 at $DIR/issue-73223.rs:1:11: 9:2
|
||||
StorageDead(_1); // scope 0 at $DIR/issue-73223.rs:9:1: 9:2
|
||||
return; // scope 0 at $DIR/issue-73223.rs:9:2: 9:2
|
||||
}
|
||||
|
||||
bb3: {
|
||||
(_20.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _24) -> bb4; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
|
||||
bb4: {
|
||||
(_20.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _22; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_22); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_26 = <&i32 as 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/core/src/macros/mod.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/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(_25); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_25 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _26) -> bb5; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: 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>)) }
|
||||
}
|
||||
|
||||
bb5: {
|
||||
(_21.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _27) -> bb6; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
|
||||
bb6: {
|
||||
(_21.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _25; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_25); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_15 = [move _20, move _21]; // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_14 = &_15; // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_29 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_28); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
discriminant(_28) = 0; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_12.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _28; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_12.2: &[std::fmt::ArgumentV1]) = move _29; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_28); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
core::panicking::panic_fmt(move _12); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: for<'r> fn(std::fmt::Arguments<'r>) -> ! {core::panicking::panic_fmt}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8,56 +8,23 @@
|
||||
let _3: i32; // in scope 0 at $DIR/issue-73223.rs:3:14: 3:15
|
||||
let mut _5: (&i32, &i32); // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _6: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _9: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _10: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _11: i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _12: std::fmt::Arguments; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _13: &[&str; 3]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _14: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let _15: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _16: (&&i32, &&i32); // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let _17: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _18: &&i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _19: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _20: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _21: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _7: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _8: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _9: i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _11: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _12: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _13: std::option::Option<std::fmt::Arguments>; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 1 {
|
||||
debug split => _1; // in scope 1 at $DIR/issue-73223.rs:2:9: 2:14
|
||||
let _4: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:7:9: 7:14
|
||||
scope 3 {
|
||||
debug _prev => _4; // in scope 3 at $DIR/issue-73223.rs:7:9: 7:14
|
||||
let _7: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _8: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 4 {
|
||||
debug left_val => _7; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
debug right_val => _8; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
debug left_val => _11; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
debug right_val => _12; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _10: core::panicking::AssertKind; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 5 {
|
||||
debug arg0 => _24; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
debug arg1 => _27; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 6 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug x => _24; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug f => _23; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _22: 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/core/src/panic.rs:LL:COL
|
||||
let mut _23: 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/core/src/panic.rs:LL:COL
|
||||
let mut _24: &&i32; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
scope 7 {
|
||||
}
|
||||
}
|
||||
scope 8 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug x => _27; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug f => _26; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _25: 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/core/src/panic.rs:LL:COL
|
||||
let mut _26: 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/core/src/panic.rs:LL:COL
|
||||
let mut _27: &&i32; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
scope 9 {
|
||||
}
|
||||
}
|
||||
}
|
||||
scope 10 (inlined Arguments::new_v1) { // at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug pieces => (_12.0: &[&str]); // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug args => _29; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _28: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _29: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug kind => _10; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -79,113 +46,49 @@
|
||||
((_4 as Some).0: i32) = _1; // scope 1 at $DIR/issue-73223.rs:7:22: 7:27
|
||||
discriminant(_4) = 1; // scope 1 at $DIR/issue-73223.rs:7:17: 7:28
|
||||
(_5.0: &i32) = &_1; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_6 = const main::promoted[1]; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_6 = const main::promoted[0]; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// ty::Const
|
||||
// + ty: &i32
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[1]))
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: &i32, val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[1])) }
|
||||
(_5.1: &i32) = move _6; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_7); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_7 = (_5.0: &i32); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_8); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_8 = (_5.1: &i32); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_9); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_10); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_11); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_11 = (*_7); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_10 = Eq(move _11, const 1_i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_11); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_9 = Not(move _10); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_10); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
switchInt(move _9) -> [false: bb2, otherwise: bb1]; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_13 = const main::promoted[0]; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// ty::Const
|
||||
// + ty: &[&str; 3]
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0]))
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: &[&str; 3], val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0])) }
|
||||
(_12.0: &[&str]) = move _13 as &[&str] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_15); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_17); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_17 = _7; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
(_16.0: &&i32) = &_17; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_18); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_19); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_19 = _8; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_18 = &_19; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
(_16.1: &&i32) = move _18; // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_18); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_24 = (_16.0: &&i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_27 = (_16.1: &&i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_23 = <&i32 as 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/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: &i32, val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0])) }
|
||||
(_5.1: &i32) = move _6; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_11 = (_5.0: &i32); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_12 = (_5.1: &i32); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_7); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_8); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_9); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_9 = (*_11); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_8 = Eq(move _9, const 1_i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_9); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_7 = Not(move _8); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_8); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
switchInt(move _7) -> [false: bb2, otherwise: bb1]; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageLive(_10); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
discriminant(_10) = 0; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_13); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
discriminant(_13) = 0; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
core::panicking::assert_failed::<i32, i32>(const core::panicking::AssertKind::Eq, move _11, move _12, move _13); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/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(_22); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_22 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _23) -> bb3; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: for<'r, 's, 't0> fn(core::panicking::AssertKind, &'r i32, &'s i32, std::option::Option<std::fmt::Arguments<'t0>>) -> ! {core::panicking::assert_failed::<i32, i32>}, val: Value(Scalar(<ZST>)) }
|
||||
// ty::Const
|
||||
// + ty: core::panicking::AssertKind
|
||||
// + val: Value(Scalar(0x00))
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: 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>)) }
|
||||
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: core::panicking::AssertKind, val: Value(Scalar(0x00)) }
|
||||
}
|
||||
|
||||
bb2: {
|
||||
StorageDead(_9); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_8); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_7); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_7); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_0 = const (); // scope 0 at $DIR/issue-73223.rs:1:11: 9:2
|
||||
StorageDead(_1); // scope 0 at $DIR/issue-73223.rs:9:1: 9:2
|
||||
return; // scope 0 at $DIR/issue-73223.rs:9:2: 9:2
|
||||
}
|
||||
|
||||
bb3: {
|
||||
(_20.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _24) -> bb4; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
|
||||
bb4: {
|
||||
(_20.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _22; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_22); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_26 = <&i32 as 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/core/src/macros/mod.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/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(_25); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_25 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _26) -> bb5; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: 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>)) }
|
||||
}
|
||||
|
||||
bb5: {
|
||||
(_21.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _27) -> bb6; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
|
||||
bb6: {
|
||||
(_21.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _25; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_25); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_15 = [move _20, move _21]; // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_14 = &_15; // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_29 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_28); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
discriminant(_28) = 0; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_12.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _28; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_12.2: &[std::fmt::ArgumentV1]) = move _29; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_28); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
core::panicking::panic_fmt(move _12); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: for<'r> fn(std::fmt::Arguments<'r>) -> ! {core::panicking::panic_fmt}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -18,27 +18,14 @@
|
||||
let mut _16: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _17: i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _18: i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _19: !; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _20: std::fmt::Arguments; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _21: &[&str]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _22: &[&str; 3]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _23: &[&str; 3]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _24: [&str; 3]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _25: &[std::fmt::ArgumentV1]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _26: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let _27: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let _28: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _29: (&&i32, &&i32); // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _30: &&i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _31: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _32: &&i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _33: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _36: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _37: &&i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _38: 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/core/src/macros/mod.rs:LL:COL
|
||||
let mut _39: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _40: &&i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _41: 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/core/src/macros/mod.rs:LL:COL
|
||||
let mut _19: !; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _21: !; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _22: core::panicking::AssertKind; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _23: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _24: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _25: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _26: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _27: std::option::Option<std::fmt::Arguments>; // in scope 0 at $SRC_DIR/core/src/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
|
||||
@ -46,43 +33,13 @@
|
||||
debug _prev => _6; // in scope 3 at $DIR/issue-73223.rs:7:9: 7:14
|
||||
let _13: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _14: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _43: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _28: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 4 {
|
||||
debug left_val => _13; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
debug right_val => _14; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _34: &&i32; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _35: &&i32; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _42: &[&str; 3]; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _20: core::panicking::AssertKind; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 5 {
|
||||
debug arg0 => _34; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
debug arg1 => _35; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 6 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug x => _37; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug f => _38; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _44: 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/core/src/panic.rs:LL:COL
|
||||
let mut _45: 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/core/src/panic.rs:LL:COL
|
||||
let mut _46: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _47: &&i32; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
scope 7 {
|
||||
}
|
||||
}
|
||||
scope 8 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug x => _40; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug f => _41; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _48: 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/core/src/panic.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 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _50: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _51: &&i32; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
scope 9 {
|
||||
}
|
||||
}
|
||||
}
|
||||
scope 10 (inlined Arguments::new_v1) { // at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug pieces => _21; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug args => _25; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _52: &[&str]; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _53: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _54: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug kind => _20; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -124,14 +81,14 @@
|
||||
StorageLive(_10); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_10 = &_1; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_11); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_43 = const main::promoted[1]; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_28 = const main::promoted[0]; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// ty::Const
|
||||
// + ty: &i32
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[1]))
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0]))
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: &i32, val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[1])) }
|
||||
_11 = _43; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: &i32, val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0])) }
|
||||
_11 = _28; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
(_9.0: &i32) = move _10; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
(_9.1: &i32) = move _11; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_11); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
@ -155,58 +112,37 @@
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageLive(_19); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_20); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_21); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_22); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_23); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_42 = const main::promoted[0]; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_20); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
discriminant(_20) = 0; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_21); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_22); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_22 = const core::panicking::AssertKind::Eq; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// ty::Const
|
||||
// + ty: &[&str; 3]
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0]))
|
||||
// + ty: core::panicking::AssertKind
|
||||
// + val: Value(Scalar(0x00))
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: &[&str; 3], val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0])) }
|
||||
_23 = _42; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_22 = _23; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_21 = move _22 as &[&str] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_22); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_25); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_26); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_27); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_28); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_29); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_30); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_31); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_31 = _13; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_30 = &_31; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_33); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_33 = _14; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_32 = &_33; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
(_29.0: &&i32) = move _30; // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_29.1: &&i32) = move _32; // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_32); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_30); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_34); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_34 = (_29.0: &&i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_35); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_35 = (_29.1: &&i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_36); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_37); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_37 = _34; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_38); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_38 = <&i32 as 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/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: core::panicking::AssertKind, val: Value(Scalar(0x00)) }
|
||||
StorageLive(_23); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_24); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_24 = _13; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_23 = _24; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_25); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_26); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_26 = _14; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_25 = _26; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_27); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
discriminant(_27) = 0; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
core::panicking::assert_failed::<i32, i32>(const core::panicking::AssertKind::Eq, move _23, move _25, move _27); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/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(_44); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_45); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_45 = _38; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_44 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _45) -> bb5; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: for<'r, 's, 't0> fn(core::panicking::AssertKind, &'r i32, &'s i32, std::option::Option<std::fmt::Arguments<'t0>>) -> ! {core::panicking::assert_failed::<i32, i32>}, val: Value(Scalar(<ZST>)) }
|
||||
// ty::Const
|
||||
// + ty: core::panicking::AssertKind
|
||||
// + val: Value(Scalar(0x00))
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: 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>)) }
|
||||
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: core::panicking::AssertKind, val: Value(Scalar(0x00)) }
|
||||
}
|
||||
|
||||
bb4: {
|
||||
@ -221,89 +157,5 @@
|
||||
StorageDead(_1); // scope 0 at $DIR/issue-73223.rs:9:1: 9:2
|
||||
return; // scope 0 at $DIR/issue-73223.rs:9:2: 9:2
|
||||
}
|
||||
|
||||
bb5: {
|
||||
StorageDead(_45); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_46); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_47); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_47 = _37; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_46 = transmute::<&&i32, &core::fmt::Opaque>(move _47) -> bb6; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
|
||||
bb6: {
|
||||
StorageDead(_47); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_36.0: &core::fmt::Opaque) = move _46; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_36.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _44; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_46); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_44); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_38); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_37); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_39); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_40); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_40 = _35; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_41); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_41 = <&i32 as 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/core/src/macros/mod.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/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(_48); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_49); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_49 = _41; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_48 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _49) -> bb7; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: 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>)) }
|
||||
}
|
||||
|
||||
bb7: {
|
||||
StorageDead(_49); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_50); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_51); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_51 = _40; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_50 = transmute::<&&i32, &core::fmt::Opaque>(move _51) -> bb8; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
|
||||
bb8: {
|
||||
StorageDead(_51); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_39.0: &core::fmt::Opaque) = move _50; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_39.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _48; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_50); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_48); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_41); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_40); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_28 = [move _36, move _39]; // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_39); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_36); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_35); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_34); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_27 = &_28; // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_26 = _27; // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_25 = move _26 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_26); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_52); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_52 = _21; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_53); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
discriminant(_53) = 0; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_54); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_54 = _25; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_20.0: &[&str]) = move _52; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_20.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _53; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_20.2: &[std::fmt::ArgumentV1]) = move _54; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_54); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_53); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_52); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_25); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_21); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
core::panicking::panic_fmt(move _20); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: for<'r> fn(std::fmt::Arguments<'r>) -> ! {core::panicking::panic_fmt}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -18,27 +18,14 @@
|
||||
let mut _16: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _17: i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _18: i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _19: !; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _20: std::fmt::Arguments; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _21: &[&str]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _22: &[&str; 3]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _23: &[&str; 3]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _24: [&str; 3]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _25: &[std::fmt::ArgumentV1]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _26: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let _27: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let _28: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _29: (&&i32, &&i32); // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _30: &&i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _31: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _32: &&i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _33: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _36: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _37: &&i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _38: 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/core/src/macros/mod.rs:LL:COL
|
||||
let mut _39: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _40: &&i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _41: 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/core/src/macros/mod.rs:LL:COL
|
||||
let mut _19: !; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _21: !; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _22: core::panicking::AssertKind; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _23: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _24: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _25: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _26: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _27: std::option::Option<std::fmt::Arguments>; // in scope 0 at $SRC_DIR/core/src/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
|
||||
@ -46,43 +33,13 @@
|
||||
debug _prev => _6; // in scope 3 at $DIR/issue-73223.rs:7:9: 7:14
|
||||
let _13: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _14: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _43: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _28: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 4 {
|
||||
debug left_val => _13; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
debug right_val => _14; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _34: &&i32; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _35: &&i32; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let mut _42: &[&str; 3]; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
let _20: core::panicking::AssertKind; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 5 {
|
||||
debug arg0 => _34; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
debug arg1 => _35; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
scope 6 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug x => _37; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug f => _38; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _44: 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/core/src/panic.rs:LL:COL
|
||||
let mut _45: 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/core/src/panic.rs:LL:COL
|
||||
let mut _46: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _47: &&i32; // in scope 6 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
scope 7 {
|
||||
}
|
||||
}
|
||||
scope 8 (inlined ArgumentV1::new::<&i32>) { // at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug x => _40; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug f => _41; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _48: 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/core/src/panic.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 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _50: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _51: &&i32; // in scope 8 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
scope 9 {
|
||||
}
|
||||
}
|
||||
}
|
||||
scope 10 (inlined Arguments::new_v1) { // at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug pieces => _21; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug args => _25; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _52: &[&str]; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _53: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
let mut _54: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
debug kind => _20; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -124,14 +81,14 @@
|
||||
StorageLive(_10); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_10 = &_1; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_11); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_43 = const main::promoted[1]; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_28 = const main::promoted[0]; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// ty::Const
|
||||
// + ty: &i32
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[1]))
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0]))
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: &i32, val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[1])) }
|
||||
_11 = _43; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: &i32, val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0])) }
|
||||
_11 = _28; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
(_9.0: &i32) = move _10; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
(_9.1: &i32) = move _11; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_11); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
@ -155,58 +112,37 @@
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageLive(_19); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_20); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_21); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_22); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_23); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_42 = const main::promoted[0]; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_20); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
discriminant(_20) = 0; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_21); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_22); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_22 = const core::panicking::AssertKind::Eq; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// ty::Const
|
||||
// + ty: &[&str; 3]
|
||||
// + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0]))
|
||||
// + ty: core::panicking::AssertKind
|
||||
// + val: Value(Scalar(0x00))
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: &[&str; 3], val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main), const_param_did: None }, [], Some(promoted[0])) }
|
||||
_23 = _42; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_22 = _23; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_21 = move _22 as &[&str] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageDead(_22); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_25); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_26); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_27); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_28); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_29); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_30); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_31); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_31 = _13; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_30 = &_31; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_33); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_33 = _14; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_32 = &_33; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
(_29.0: &&i32) = move _30; // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_29.1: &&i32) = move _32; // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_32); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_30); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_34); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_34 = (_29.0: &&i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_35); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_35 = (_29.1: &&i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_36); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_37); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_37 = _34; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_38); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_38 = <&i32 as 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/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: core::panicking::AssertKind, val: Value(Scalar(0x00)) }
|
||||
StorageLive(_23); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_24); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_24 = _13; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_23 = _24; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_25); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_26); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_26 = _14; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_25 = _26; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_27); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
discriminant(_27) = 0; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
core::panicking::assert_failed::<i32, i32>(const core::panicking::AssertKind::Eq, move _23, move _25, move _27); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/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(_44); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_45); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_45 = _38; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_44 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _45) -> bb5; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: for<'r, 's, 't0> fn(core::panicking::AssertKind, &'r i32, &'s i32, std::option::Option<std::fmt::Arguments<'t0>>) -> ! {core::panicking::assert_failed::<i32, i32>}, val: Value(Scalar(<ZST>)) }
|
||||
// ty::Const
|
||||
// + ty: core::panicking::AssertKind
|
||||
// + val: Value(Scalar(0x00))
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: 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>)) }
|
||||
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
// + literal: Const { ty: core::panicking::AssertKind, val: Value(Scalar(0x00)) }
|
||||
}
|
||||
|
||||
bb4: {
|
||||
@ -221,89 +157,5 @@
|
||||
StorageDead(_1); // scope 0 at $DIR/issue-73223.rs:9:1: 9:2
|
||||
return; // scope 0 at $DIR/issue-73223.rs:9:2: 9:2
|
||||
}
|
||||
|
||||
bb5: {
|
||||
StorageDead(_45); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_46); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_47); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_47 = _37; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_46 = transmute::<&&i32, &core::fmt::Opaque>(move _47) -> bb6; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
|
||||
bb6: {
|
||||
StorageDead(_47); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_36.0: &core::fmt::Opaque) = move _46; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_36.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _44; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_46); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_44); // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_38); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_37); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_39); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_40); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_40 = _35; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
StorageLive(_41); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
|
||||
_41 = <&i32 as 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/core/src/macros/mod.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/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(_48); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_49); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_49 = _41; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_48 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> Result<(), std::fmt::Error>>(move _49) -> bb7; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: 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>)) }
|
||||
}
|
||||
|
||||
bb7: {
|
||||
StorageDead(_49); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_50); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_51); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_51 = _40; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_50 = transmute::<&&i32, &core::fmt::Opaque>(move _51) -> bb8; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
|
||||
bb8: {
|
||||
StorageDead(_51); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_39.0: &core::fmt::Opaque) = move _50; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_39.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _48; // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_50); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_48); // scope 9 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_41); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_40); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_28 = [move _36, move _39]; // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_39); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_36); // scope 5 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_35); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_34); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_27 = &_28; // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_26 = _27; // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_25 = move _26 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_26); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_52); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_52 = _21; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_53); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
discriminant(_53) = 0; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageLive(_54); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
_54 = _25; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_20.0: &[&str]) = move _52; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_20.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _53; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
(_20.2: &[std::fmt::ArgumentV1]) = move _54; // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_54); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_53); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_52); // scope 10 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_25); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
StorageDead(_21); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
core::panicking::panic_fmt(move _20); // scope 4 at $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
|
||||
// + literal: Const { ty: for<'r> fn(std::fmt::Arguments<'r>) -> ! {core::panicking::panic_fmt}, val: Value(Scalar(<ZST>)) }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -70,8 +70,8 @@ For revisions in Pull Requests (PR):
|
||||
</head>
|
||||
<body>
|
||||
<div class="code" style="counter-reset: line 3"><span class="line"><span><span class="code even" style="--layer: 1"><span class="annotation">@0,1,2,3,4⦊</span>fn might_fail_assert(one_plus_one: u32) <span class="annotation">⦉@0,1,2,3,4</span></span></span><span class="code" style="--layer: 0">{</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="5:14-5:32: @0[6]: _73 = const might_fail_assert::promoted[4]
|
||||
5:14-5:32: @0[7]: _7 = &(*_73)
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="5:14-5:32: @0[6]: _53 = const might_fail_assert::promoted[3]
|
||||
5:14-5:32: @0[7]: _7 = &(*_53)
|
||||
5:14-5:32: @0[8]: _6 = &(*_7)
|
||||
5:14-5:32: @0[9]: _5 = move _6 as &[&str] (Pointer(Unsize))
|
||||
5:34-5:46: @0[17]: _14 = &_1
|
||||
@ -80,18 +80,18 @@ For revisions in Pull Requests (PR):
|
||||
5:5-5:48: @0[22]: _15 = (_13.0: &u32)
|
||||
5:5-5:48: @0[25]: _17 = &(*_15)
|
||||
5:5-5:48: @0[27]: _18 = <u32 as std::fmt::Display>::fmt as for<'r, 's, 't0> fn(&'r u32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer))
|
||||
5:5-5:48: @0.Call: _16 = std::fmt::ArgumentV1::new::<u32>(move _17, move _18) -> [return: bb1, unwind: bb12]
|
||||
5:5-5:48: @0.Call: _16 = std::fmt::ArgumentV1::new::<u32>(move _17, move _18) -> [return: bb1, unwind: bb8]
|
||||
5:5-5:48: @1[2]: _12 = [move _16]
|
||||
5:5-5:48: @1[5]: _11 = &_12
|
||||
5:5-5:48: @1[6]: _10 = &(*_11)
|
||||
5:5-5:48: @1[7]: _9 = move _10 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
5:5-5:48: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb12]
|
||||
5:5-5:48: @2.Call: _3 = std::io::_print(move _4) -> [return: bb3, unwind: bb12]
|
||||
5:5-5:48: @1.Call: _4 = std::fmt::Arguments::new_v1(move _5, move _9) -> [return: bb2, unwind: bb8]
|
||||
5:5-5:48: @2.Call: _3 = std::io::_print(move _4) -> [return: bb3, unwind: bb8]
|
||||
5:5-5:48: @3[6]: _2 = const ()"><span class="annotation">@0,1,2,3,4⦊</span>println!("does 1 + 1 = {}?", one_plus_one);<span class="annotation">⦉@0,1,2,3,4</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> assert_eq!(</span><span><span class="code even" style="--layer: 1" title="6:16-6:21: @3[11]: _23 = CheckedAdd(const 1_u32, const 1_u32)"><span class="annotation">@0,1,2,3,4⦊</span>1 + 1<span class="annotation">⦉@0,1,2,3,4</span></span></span><span class="code" style="--layer: 0">, one_plus_one, </span><span><span class="code odd" style="--layer: 1" title="6:37-6:61: @5[28]: _70 = const might_fail_assert::promoted[1]
|
||||
6:37-6:61: @5[29]: _50 = &(*_70)
|
||||
6:37-6:61: @5[30]: _49 = &(*_50)
|
||||
6:37-6:61: @5[31]: _48 = move _49 as &[&str] (Pointer(Unsize))"><span class="annotation">@5,7,8,9,10,11⦊</span>"the argument was wrong"<span class="annotation">⦉@5,7,8,9,10,11</span></span></span><span class="code" style="--layer: 0">);</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> assert_eq!(</span><span><span class="code even" style="--layer: 1" title="6:16-6:21: @3[11]: _23 = CheckedAdd(const 1_u32, const 1_u32)"><span class="annotation">@0,1,2,3,4⦊</span>1 + 1<span class="annotation">⦉@0,1,2,3,4</span></span></span><span class="code" style="--layer: 0">, one_plus_one, </span><span><span class="code odd" style="--layer: 1" title="6:37-6:61: @5[19]: _51 = const might_fail_assert::promoted[1]
|
||||
6:37-6:61: @5[20]: _43 = &(*_51)
|
||||
6:37-6:61: @5[21]: _42 = &(*_43)
|
||||
6:37-6:61: @5[22]: _41 = move _42 as &[&str] (Pointer(Unsize))"><span class="annotation">@5,7⦊</span>"the argument was wrong"<span class="annotation">⦉@5,7</span></span></span><span class="code" style="--layer: 0">);</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code even" style="--layer: 1" title="7:2-7:2: @6.Return: return"><span class="annotation">@6⦊</span>‸<span class="annotation">⦉@6</span></span></span></span></div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -71,56 +71,26 @@ For revisions in Pull Requests (PR):
|
||||
<body>
|
||||
<div class="code" style="counter-reset: line 72"><span class="line"><span><span class="code even" style="--layer: 1"><span class="annotation">@0⦊</span>fn main() <span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0">{</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> if </span><span><span class="code even" style="--layer: 1" title="74:8-74:12: @0[1]: _1 = const true"><span class="annotation">@0⦊</span>true<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> {</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="75:9-75:26: @4[0]: _2 = const ()"><span class="annotation">@4⦊</span></span></span><span class="code even" style="--layer: 2" title="75:9-75:26: @3[5]: _75 = const main::promoted[3]
|
||||
75:9-75:26: @3[6]: _18 = &(*_75)
|
||||
75:9-75:26: @3[7]: _17 = &(*_18)
|
||||
75:9-75:26: @3[8]: _16 = move _17 as &[&str] (Pointer(Unsize))
|
||||
75:9-75:26: @3[17]: _26 = &(*_8)
|
||||
75:9-75:26: @3[18]: _25 = &_26
|
||||
75:9-75:26: @3[21]: _28 = &(*_9)
|
||||
75:9-75:26: @3[22]: _27 = &_28
|
||||
75:9-75:26: @3[23]: _24 = (move _25, move _27)
|
||||
75:9-75:26: @3[26]: FakeRead(ForMatchedPlace, _24)
|
||||
75:9-75:26: @3[28]: _29 = (_24.0: &&i32)
|
||||
75:9-75:26: @3[30]: _30 = (_24.1: &&i32)
|
||||
75:9-75:26: @3[33]: _32 = &(*_29)
|
||||
75:9-75:26: @3[35]: _33 = <&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))
|
||||
75:9-75:26: @3.Call: _31 = std::fmt::ArgumentV1::new::<&i32>(move _32, move _33) -> [return: bb5, unwind: bb14]
|
||||
75:9-75:26: @5[4]: _35 = &(*_30)
|
||||
75:9-75:26: @5[6]: _36 = <&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))
|
||||
75:9-75:26: @5.Call: _34 = std::fmt::ArgumentV1::new::<&i32>(move _35, move _36) -> [return: bb6, unwind: bb14]
|
||||
75:9-75:26: @6[2]: _23 = [move _31, move _34]
|
||||
75:9-75:26: @6[7]: _22 = &_23
|
||||
75:9-75:26: @6[8]: _21 = &(*_22)
|
||||
75:9-75:26: @6[9]: _20 = move _21 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
75:9-75:26: @6.Call: _15 = std::fmt::Arguments::new_v1(move _16, move _20) -> [return: bb7, unwind: bb14]
|
||||
75:9-75:26: @7.Call: core::panicking::panic_fmt(move _15) -> bb14"><span class="annotation">@3,5,6,7⦊</span>assert_eq!(1, 1);<span class="annotation">⦉@3,5,6,7</span></span><span><span class="code odd" style="--layer: 1" title="75:9-75:26: @4[0]: _2 = const ()"><span class="annotation">⦉@4</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code odd" style="--layer: 1" title="75:9-75:26: @4[0]: _2 = const ()"><span class="annotation">@4⦊</span></span></span><span class="code even" style="--layer: 2" title="75:9-75:26: @3[1]: _15 = core::panicking::AssertKind::Eq
|
||||
75:9-75:26: @3[2]: FakeRead(ForLet, _15)
|
||||
75:9-75:26: @3[5]: _17 = move _15
|
||||
75:9-75:26: @3[8]: _19 = &(*_8)
|
||||
75:9-75:26: @3[9]: _18 = &(*_19)
|
||||
75:9-75:26: @3[12]: _21 = &(*_9)
|
||||
75:9-75:26: @3[13]: _20 = &(*_21)
|
||||
75:9-75:26: @3[15]: _22 = std::option::Option::<std::fmt::Arguments>::None
|
||||
75:9-75:26: @3.Call: core::panicking::assert_failed::<i32, i32>(move _17, move _18, move _20, move _22) -> bb8"><span class="annotation">@3⦊</span>assert_eq!(1, 1);<span class="annotation">⦉@3</span></span><span><span class="code odd" style="--layer: 1" title="75:9-75:26: @4[0]: _2 = const ()"><span class="annotation">⦉@4</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> } else {</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="77:9-77:26: @9[0]: _37 = const ()"><span class="annotation">@9⦊</span></span></span><span class="code even" style="--layer: 2" title="77:9-77:26: @8[5]: _72 = const main::promoted[0]
|
||||
77:9-77:26: @8[6]: _53 = &(*_72)
|
||||
77:9-77:26: @8[7]: _52 = &(*_53)
|
||||
77:9-77:26: @8[8]: _51 = move _52 as &[&str] (Pointer(Unsize))
|
||||
77:9-77:26: @8[17]: _61 = &(*_43)
|
||||
77:9-77:26: @8[18]: _60 = &_61
|
||||
77:9-77:26: @8[21]: _63 = &(*_44)
|
||||
77:9-77:26: @8[22]: _62 = &_63
|
||||
77:9-77:26: @8[23]: _59 = (move _60, move _62)
|
||||
77:9-77:26: @8[26]: FakeRead(ForMatchedPlace, _59)
|
||||
77:9-77:26: @8[28]: _64 = (_59.0: &&i32)
|
||||
77:9-77:26: @8[30]: _65 = (_59.1: &&i32)
|
||||
77:9-77:26: @8[33]: _67 = &(*_64)
|
||||
77:9-77:26: @8[35]: _68 = <&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))
|
||||
77:9-77:26: @8.Call: _66 = std::fmt::ArgumentV1::new::<&i32>(move _67, move _68) -> [return: bb10, unwind: bb14]
|
||||
77:9-77:26: @10[4]: _70 = &(*_65)
|
||||
77:9-77:26: @10[6]: _71 = <&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))
|
||||
77:9-77:26: @10.Call: _69 = std::fmt::ArgumentV1::new::<&i32>(move _70, move _71) -> [return: bb11, unwind: bb14]
|
||||
77:9-77:26: @11[2]: _58 = [move _66, move _69]
|
||||
77:9-77:26: @11[7]: _57 = &_58
|
||||
77:9-77:26: @11[8]: _56 = &(*_57)
|
||||
77:9-77:26: @11[9]: _55 = move _56 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
77:9-77:26: @11.Call: _50 = std::fmt::Arguments::new_v1(move _51, move _55) -> [return: bb12, unwind: bb14]
|
||||
77:9-77:26: @12.Call: core::panicking::panic_fmt(move _50) -> bb14"><span class="annotation">@8,10,11,12⦊</span>assert_eq!(1, 2);<span class="annotation">⦉@8,10,11,12</span></span><span><span class="code even" style="--layer: 1" title="77:9-77:26: @9[0]: _37 = const ()"><span class="annotation">⦉@9</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> </span><span><span class="code even" style="--layer: 1" title="77:9-77:26: @6[0]: _23 = const ()"><span class="annotation">@6⦊</span></span></span><span class="code even" style="--layer: 2" title="77:9-77:26: @5[1]: _36 = core::panicking::AssertKind::Eq
|
||||
77:9-77:26: @5[2]: FakeRead(ForLet, _36)
|
||||
77:9-77:26: @5[5]: _38 = move _36
|
||||
77:9-77:26: @5[8]: _40 = &(*_29)
|
||||
77:9-77:26: @5[9]: _39 = &(*_40)
|
||||
77:9-77:26: @5[12]: _42 = &(*_30)
|
||||
77:9-77:26: @5[13]: _41 = &(*_42)
|
||||
77:9-77:26: @5[15]: _43 = std::option::Option::<std::fmt::Arguments>::None
|
||||
77:9-77:26: @5.Call: core::panicking::assert_failed::<i32, i32>(move _38, move _39, move _41, move _43) -> bb8"><span class="annotation">@5⦊</span>assert_eq!(1, 2);<span class="annotation">⦉@5</span></span><span><span class="code even" style="--layer: 1" title="77:9-77:26: @6[0]: _23 = const ()"><span class="annotation">⦉@6</span></span></span><span class="code" style="--layer: 0"></span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> }</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="79:2-79:2: @13.Return: return"><span class="annotation">@13⦊</span>‸<span class="annotation">⦉@13</span></span></span></span></div>
|
||||
<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="79:2-79:2: @7.Return: return"><span class="annotation">@7⦊</span>‸<span class="annotation">⦉@7</span></span></span></span></div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -71,103 +71,43 @@ For revisions in Pull Requests (PR):
|
||||
<body>
|
||||
<div class="code" style="counter-reset: line 1"><span class="line"><span><span class="code even" style="--layer: 1"><span class="annotation">@0⦊</span>pub fn fn_run_in_doctests(conditional: usize) <span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0">{</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> match </span><span><span class="code even" style="--layer: 1" title="3:11-3:22: @0[0]: FakeRead(ForMatchedPlace, _1)"><span class="annotation">@0⦊</span>conditional<span class="annotation">⦉@0</span></span></span><span class="code" style="--layer: 0"> {</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> 1 => </span><span><span class="code odd" style="--layer: 1" title="4:14-4:30: @7[0]: _0 = const ()"><span class="annotation">@7⦊</span></span></span><span class="code even" style="--layer: 2" title="4:14-4:30: @6[5]: _138 = const fn_run_in_doctests::promoted[0]
|
||||
4:14-4:30: @6[6]: _17 = &(*_138)
|
||||
4:14-4:30: @6[7]: _16 = &(*_17)
|
||||
4:14-4:30: @6[8]: _15 = move _16 as &[&str] (Pointer(Unsize))
|
||||
4:14-4:30: @6[17]: _25 = &(*_7)
|
||||
4:14-4:30: @6[18]: _24 = &_25
|
||||
4:14-4:30: @6[21]: _27 = &(*_8)
|
||||
4:14-4:30: @6[22]: _26 = &_27
|
||||
4:14-4:30: @6[23]: _23 = (move _24, move _26)
|
||||
4:14-4:30: @6[26]: FakeRead(ForMatchedPlace, _23)
|
||||
4:14-4:30: @6[28]: _28 = (_23.0: &&i32)
|
||||
4:14-4:30: @6[30]: _29 = (_23.1: &&i32)
|
||||
4:14-4:30: @6[33]: _31 = &(*_28)
|
||||
4:14-4:30: @6[35]: _32 = <&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))
|
||||
4:14-4:30: @6.Call: _30 = std::fmt::ArgumentV1::new::<&i32>(move _31, move _32) -> [return: bb8, unwind: bb29]
|
||||
4:14-4:30: @8[4]: _34 = &(*_29)
|
||||
4:14-4:30: @8[6]: _35 = <&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))
|
||||
4:14-4:30: @8.Call: _33 = std::fmt::ArgumentV1::new::<&i32>(move _34, move _35) -> [return: bb9, unwind: bb29]
|
||||
4:14-4:30: @9[2]: _22 = [move _30, move _33]
|
||||
4:14-4:30: @9[7]: _21 = &_22
|
||||
4:14-4:30: @9[8]: _20 = &(*_21)
|
||||
4:14-4:30: @9[9]: _19 = move _20 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
4:14-4:30: @9.Call: _14 = std::fmt::Arguments::new_v1(move _15, move _19) -> [return: bb10, unwind: bb29]
|
||||
4:14-4:30: @10.Call: core::panicking::panic_fmt(move _14) -> bb29"><span class="annotation">@6,8,9,10⦊</span>assert_eq!(1, 1)<span class="annotation">⦉@6,8,9,10</span></span><span><span class="code odd" style="--layer: 1" title="4:14-4:30: @7[0]: _0 = const ()"><span class="annotation">⦉@7</span></span></span><span class="code" style="--layer: 0">, // this is run,</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> 2 => </span><span><span class="code even" style="--layer: 1" title="5:14-5:30: @13[0]: _0 = const ()"><span class="annotation">@13⦊</span></span></span><span class="code even" style="--layer: 2" title="5:14-5:30: @12[5]: _141 = const fn_run_in_doctests::promoted[3]
|
||||
5:14-5:30: @12[6]: _51 = &(*_141)
|
||||
5:14-5:30: @12[7]: _50 = &(*_51)
|
||||
5:14-5:30: @12[8]: _49 = move _50 as &[&str] (Pointer(Unsize))
|
||||
5:14-5:30: @12[17]: _59 = &(*_41)
|
||||
5:14-5:30: @12[18]: _58 = &_59
|
||||
5:14-5:30: @12[21]: _61 = &(*_42)
|
||||
5:14-5:30: @12[22]: _60 = &_61
|
||||
5:14-5:30: @12[23]: _57 = (move _58, move _60)
|
||||
5:14-5:30: @12[26]: FakeRead(ForMatchedPlace, _57)
|
||||
5:14-5:30: @12[28]: _62 = (_57.0: &&i32)
|
||||
5:14-5:30: @12[30]: _63 = (_57.1: &&i32)
|
||||
5:14-5:30: @12[33]: _65 = &(*_62)
|
||||
5:14-5:30: @12[35]: _66 = <&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))
|
||||
5:14-5:30: @12.Call: _64 = std::fmt::ArgumentV1::new::<&i32>(move _65, move _66) -> [return: bb14, unwind: bb29]
|
||||
5:14-5:30: @14[4]: _68 = &(*_63)
|
||||
5:14-5:30: @14[6]: _69 = <&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))
|
||||
5:14-5:30: @14.Call: _67 = std::fmt::ArgumentV1::new::<&i32>(move _68, move _69) -> [return: bb15, unwind: bb29]
|
||||
5:14-5:30: @15[2]: _56 = [move _64, move _67]
|
||||
5:14-5:30: @15[7]: _55 = &_56
|
||||
5:14-5:30: @15[8]: _54 = &(*_55)
|
||||
5:14-5:30: @15[9]: _53 = move _54 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
5:14-5:30: @15.Call: _48 = std::fmt::Arguments::new_v1(move _49, move _53) -> [return: bb16, unwind: bb29]
|
||||
5:14-5:30: @16.Call: core::panicking::panic_fmt(move _48) -> bb29"><span class="annotation">@12,14,15,16⦊</span>assert_eq!(1, 1)<span class="annotation">⦉@12,14,15,16</span></span><span><span class="code even" style="--layer: 1" title="5:14-5:30: @13[0]: _0 = const ()"><span class="annotation">⦉@13</span></span></span><span class="code" style="--layer: 0">, // this,</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> 3 => </span><span><span class="code odd" style="--layer: 1" title="6:14-6:30: @19[0]: _0 = const ()"><span class="annotation">@19⦊</span></span></span><span class="code even" style="--layer: 2" title="6:14-6:30: @18[5]: _144 = const fn_run_in_doctests::promoted[6]
|
||||
6:14-6:30: @18[6]: _85 = &(*_144)
|
||||
6:14-6:30: @18[7]: _84 = &(*_85)
|
||||
6:14-6:30: @18[8]: _83 = move _84 as &[&str] (Pointer(Unsize))
|
||||
6:14-6:30: @18[17]: _93 = &(*_75)
|
||||
6:14-6:30: @18[18]: _92 = &_93
|
||||
6:14-6:30: @18[21]: _95 = &(*_76)
|
||||
6:14-6:30: @18[22]: _94 = &_95
|
||||
6:14-6:30: @18[23]: _91 = (move _92, move _94)
|
||||
6:14-6:30: @18[26]: FakeRead(ForMatchedPlace, _91)
|
||||
6:14-6:30: @18[28]: _96 = (_91.0: &&i32)
|
||||
6:14-6:30: @18[30]: _97 = (_91.1: &&i32)
|
||||
6:14-6:30: @18[33]: _99 = &(*_96)
|
||||
6:14-6:30: @18[35]: _100 = <&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))
|
||||
6:14-6:30: @18.Call: _98 = std::fmt::ArgumentV1::new::<&i32>(move _99, move _100) -> [return: bb20, unwind: bb29]
|
||||
6:14-6:30: @20[4]: _102 = &(*_97)
|
||||
6:14-6:30: @20[6]: _103 = <&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))
|
||||
6:14-6:30: @20.Call: _101 = std::fmt::ArgumentV1::new::<&i32>(move _102, move _103) -> [return: bb21, unwind: bb29]
|
||||
6:14-6:30: @21[2]: _90 = [move _98, move _101]
|
||||
6:14-6:30: @21[7]: _89 = &_90
|
||||
6:14-6:30: @21[8]: _88 = &(*_89)
|
||||
6:14-6:30: @21[9]: _87 = move _88 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
6:14-6:30: @21.Call: _82 = std::fmt::Arguments::new_v1(move _83, move _87) -> [return: bb22, unwind: bb29]
|
||||
6:14-6:30: @22.Call: core::panicking::panic_fmt(move _82) -> bb29"><span class="annotation">@18,20,21,22⦊</span>assert_eq!(1, 1)<span class="annotation">⦉@18,20,21,22</span></span><span><span class="code odd" style="--layer: 1" title="6:14-6:30: @19[0]: _0 = const ()"><span class="annotation">⦉@19</span></span></span><span class="code" style="--layer: 0">, // and this too</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> _ => </span><span><span class="code even" style="--layer: 1" title="7:14-7:30: @24[0]: _0 = const ()"><span class="annotation">@24⦊</span></span></span><span class="code even" style="--layer: 2" title="7:14-7:30: @23[5]: _147 = const fn_run_in_doctests::promoted[9]
|
||||
7:14-7:30: @23[6]: _119 = &(*_147)
|
||||
7:14-7:30: @23[7]: _118 = &(*_119)
|
||||
7:14-7:30: @23[8]: _117 = move _118 as &[&str] (Pointer(Unsize))
|
||||
7:14-7:30: @23[17]: _127 = &(*_109)
|
||||
7:14-7:30: @23[18]: _126 = &_127
|
||||
7:14-7:30: @23[21]: _129 = &(*_110)
|
||||
7:14-7:30: @23[22]: _128 = &_129
|
||||
7:14-7:30: @23[23]: _125 = (move _126, move _128)
|
||||
7:14-7:30: @23[26]: FakeRead(ForMatchedPlace, _125)
|
||||
7:14-7:30: @23[28]: _130 = (_125.0: &&i32)
|
||||
7:14-7:30: @23[30]: _131 = (_125.1: &&i32)
|
||||
7:14-7:30: @23[33]: _133 = &(*_130)
|
||||
7:14-7:30: @23[35]: _134 = <&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))
|
||||
7:14-7:30: @23.Call: _132 = std::fmt::ArgumentV1::new::<&i32>(move _133, move _134) -> [return: bb25, unwind: bb29]
|
||||
7:14-7:30: @25[4]: _136 = &(*_131)
|
||||
7:14-7:30: @25[6]: _137 = <&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))
|
||||
7:14-7:30: @25.Call: _135 = std::fmt::ArgumentV1::new::<&i32>(move _136, move _137) -> [return: bb26, unwind: bb29]
|
||||
7:14-7:30: @26[2]: _124 = [move _132, move _135]
|
||||
7:14-7:30: @26[7]: _123 = &_124
|
||||
7:14-7:30: @26[8]: _122 = &(*_123)
|
||||
7:14-7:30: @26[9]: _121 = move _122 as &[std::fmt::ArgumentV1] (Pointer(Unsize))
|
||||
7:14-7:30: @26.Call: _116 = std::fmt::Arguments::new_v1(move _117, move _121) -> [return: bb27, unwind: bb29]
|
||||
7:14-7:30: @27.Call: core::panicking::panic_fmt(move _116) -> bb29"><span class="annotation">@23,25,26,27⦊</span>assert_eq!(1, 2)<span class="annotation">⦉@23,25,26,27</span></span><span><span class="code even" style="--layer: 1" title="7:14-7:30: @24[0]: _0 = const ()"><span class="annotation">⦉@24</span></span></span><span class="code" style="--layer: 0">, // however this is not</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> 1 => </span><span><span class="code odd" style="--layer: 1" title="4:14-4:30: @7[0]: _0 = const ()"><span class="annotation">@7⦊</span></span></span><span class="code even" style="--layer: 2" title="4:14-4:30: @6[1]: _14 = core::panicking::AssertKind::Eq
|
||||
4:14-4:30: @6[2]: FakeRead(ForLet, _14)
|
||||
4:14-4:30: @6[5]: _16 = move _14
|
||||
4:14-4:30: @6[8]: _18 = &(*_7)
|
||||
4:14-4:30: @6[9]: _17 = &(*_18)
|
||||
4:14-4:30: @6[12]: _20 = &(*_8)
|
||||
4:14-4:30: @6[13]: _19 = &(*_20)
|
||||
4:14-4:30: @6[15]: _21 = std::option::Option::<std::fmt::Arguments>::None
|
||||
4:14-4:30: @6.Call: core::panicking::assert_failed::<i32, i32>(move _16, move _17, move _19, move _21) -> bb17"><span class="annotation">@6⦊</span>assert_eq!(1, 1)<span class="annotation">⦉@6</span></span><span><span class="code odd" style="--layer: 1" title="4:14-4:30: @7[0]: _0 = const ()"><span class="annotation">⦉@7</span></span></span><span class="code" style="--layer: 0">, // this is run,</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> 2 => </span><span><span class="code even" style="--layer: 1" title="5:14-5:30: @10[0]: _0 = const ()"><span class="annotation">@10⦊</span></span></span><span class="code even" style="--layer: 2" title="5:14-5:30: @9[1]: _34 = core::panicking::AssertKind::Eq
|
||||
5:14-5:30: @9[2]: FakeRead(ForLet, _34)
|
||||
5:14-5:30: @9[5]: _36 = move _34
|
||||
5:14-5:30: @9[8]: _38 = &(*_27)
|
||||
5:14-5:30: @9[9]: _37 = &(*_38)
|
||||
5:14-5:30: @9[12]: _40 = &(*_28)
|
||||
5:14-5:30: @9[13]: _39 = &(*_40)
|
||||
5:14-5:30: @9[15]: _41 = std::option::Option::<std::fmt::Arguments>::None
|
||||
5:14-5:30: @9.Call: core::panicking::assert_failed::<i32, i32>(move _36, move _37, move _39, move _41) -> bb17"><span class="annotation">@9⦊</span>assert_eq!(1, 1)<span class="annotation">⦉@9</span></span><span><span class="code even" style="--layer: 1" title="5:14-5:30: @10[0]: _0 = const ()"><span class="annotation">⦉@10</span></span></span><span class="code" style="--layer: 0">, // this,</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> 3 => </span><span><span class="code odd" style="--layer: 1" title="6:14-6:30: @13[0]: _0 = const ()"><span class="annotation">@13⦊</span></span></span><span class="code even" style="--layer: 2" title="6:14-6:30: @12[1]: _54 = core::panicking::AssertKind::Eq
|
||||
6:14-6:30: @12[2]: FakeRead(ForLet, _54)
|
||||
6:14-6:30: @12[5]: _56 = move _54
|
||||
6:14-6:30: @12[8]: _58 = &(*_47)
|
||||
6:14-6:30: @12[9]: _57 = &(*_58)
|
||||
6:14-6:30: @12[12]: _60 = &(*_48)
|
||||
6:14-6:30: @12[13]: _59 = &(*_60)
|
||||
6:14-6:30: @12[15]: _61 = std::option::Option::<std::fmt::Arguments>::None
|
||||
6:14-6:30: @12.Call: core::panicking::assert_failed::<i32, i32>(move _56, move _57, move _59, move _61) -> bb17"><span class="annotation">@12⦊</span>assert_eq!(1, 1)<span class="annotation">⦉@12</span></span><span><span class="code odd" style="--layer: 1" title="6:14-6:30: @13[0]: _0 = const ()"><span class="annotation">⦉@13</span></span></span><span class="code" style="--layer: 0">, // and this too</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> _ => </span><span><span class="code even" style="--layer: 1" title="7:14-7:30: @15[0]: _0 = const ()"><span class="annotation">@15⦊</span></span></span><span class="code even" style="--layer: 2" title="7:14-7:30: @14[1]: _74 = core::panicking::AssertKind::Eq
|
||||
7:14-7:30: @14[2]: FakeRead(ForLet, _74)
|
||||
7:14-7:30: @14[5]: _76 = move _74
|
||||
7:14-7:30: @14[8]: _78 = &(*_67)
|
||||
7:14-7:30: @14[9]: _77 = &(*_78)
|
||||
7:14-7:30: @14[12]: _80 = &(*_68)
|
||||
7:14-7:30: @14[13]: _79 = &(*_80)
|
||||
7:14-7:30: @14[15]: _81 = std::option::Option::<std::fmt::Arguments>::None
|
||||
7:14-7:30: @14.Call: core::panicking::assert_failed::<i32, i32>(move _76, move _77, move _79, move _81) -> bb17"><span class="annotation">@14⦊</span>assert_eq!(1, 2)<span class="annotation">⦉@14</span></span><span><span class="code even" style="--layer: 1" title="7:14-7:30: @15[0]: _0 = const ()"><span class="annotation">⦉@15</span></span></span><span class="code" style="--layer: 0">, // however this is not</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0"> }</span></span>
|
||||
<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="9:2-9:2: @28.Return: return"><span class="annotation">@28⦊</span>‸<span class="annotation">⦉@28</span></span></span></span></div>
|
||||
<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="9:2-9:2: @16.Return: return"><span class="annotation">@16⦊</span>‸<span class="annotation">⦉@16</span></span></span></span></div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -32,7 +32,7 @@ note: ...which requires const-evaluating + checking `Tr::B`...
|
||||
LL | const B: u8 = Self::A;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: ...which again requires normalizing `<() as Tr>::A`, completing the cycle
|
||||
note: cycle used when const-evaluating + checking `main::promoted[2]`
|
||||
note: cycle used when const-evaluating + checking `main::promoted[1]`
|
||||
--> $DIR/defaults-cyclic-fail.rs:14:1
|
||||
|
|
||||
LL | fn main() {
|
||||
|
@ -14,10 +14,13 @@ error[E0277]: `for<'r> fn(&'r i32) -> &'r i32 {foo}` doesn't implement `Debug`
|
||||
|
|
||||
LL | assert_eq!(foo, y);
|
||||
| ^^^^^^^^^^^^^^^^^^^ `for<'r> fn(&'r i32) -> &'r i32 {foo}` cannot be formatted using `{:?}` because it doesn't implement `Debug`
|
||||
|
|
||||
::: $SRC_DIR/core/src/panicking.rs:LL:COL
|
||||
|
|
||||
LL | T: fmt::Debug + ?Sized,
|
||||
| ---------- required by this bound in `core::panicking::assert_failed`
|
||||
|
|
||||
= help: the trait `Debug` is not implemented for `for<'r> fn(&'r i32) -> &'r i32 {foo}`
|
||||
= note: required because of the requirements on the impl of `Debug` for `&for<'r> fn(&'r i32) -> &'r i32 {foo}`
|
||||
= note: required by `std::fmt::Debug::fmt`
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
@ -2,10 +2,7 @@ error[E0317]: `if` may be missing an `else` clause
|
||||
--> $DIR/issue-50577.rs:3:16
|
||||
|
|
||||
LL | Drop = assert_eq!(1, 1),
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected `()`, found `isize`
|
||||
| found here
|
||||
| ^^^^^^^^^^^^^^^^ expected `()`, found `isize`
|
||||
|
|
||||
= note: `if` expressions without `else` evaluate to `()`
|
||||
= help: consider adding an `else` block that evaluates to the expected type
|
||||
|
@ -30,5 +30,4 @@ fn main() {
|
||||
assert_eq!(Foo::Bar, i);
|
||||
//~^ ERROR binary operation `==` cannot be applied to type `fn(usize) -> Foo {Foo::Bar}` [E0369]
|
||||
//~| ERROR `fn(usize) -> Foo {Foo::Bar}` doesn't implement `Debug` [E0277]
|
||||
//~| ERROR `fn(usize) -> Foo {Foo::Bar}` doesn't implement `Debug` [E0277]
|
||||
}
|
||||
|
@ -84,24 +84,16 @@ error[E0277]: `fn(usize) -> Foo {Foo::Bar}` doesn't implement `Debug`
|
||||
|
|
||||
LL | assert_eq!(Foo::Bar, i);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^ `fn(usize) -> Foo {Foo::Bar}` cannot be formatted using `{:?}` because it doesn't implement `Debug`
|
||||
|
|
||||
::: $SRC_DIR/core/src/panicking.rs:LL:COL
|
||||
|
|
||||
LL | T: fmt::Debug + ?Sized,
|
||||
| ---------- required by this bound in `core::panicking::assert_failed`
|
||||
|
|
||||
= help: the trait `Debug` is not implemented for `fn(usize) -> Foo {Foo::Bar}`
|
||||
= note: required because of the requirements on the impl of `Debug` for `&fn(usize) -> Foo {Foo::Bar}`
|
||||
= note: required by `std::fmt::Debug::fmt`
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: `fn(usize) -> Foo {Foo::Bar}` doesn't implement `Debug`
|
||||
--> $DIR/issue-59488.rs:30:5
|
||||
|
|
||||
LL | assert_eq!(Foo::Bar, i);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^ `fn(usize) -> Foo {Foo::Bar}` cannot be formatted using `{:?}` because it doesn't implement `Debug`
|
||||
|
|
||||
= help: the trait `Debug` is not implemented for `fn(usize) -> Foo {Foo::Bar}`
|
||||
= note: required because of the requirements on the impl of `Debug` for `&fn(usize) -> Foo {Foo::Bar}`
|
||||
= note: required by `std::fmt::Debug::fmt`
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: aborting due to 10 previous errors
|
||||
error: aborting due to 9 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0277, E0308, E0369.
|
||||
For more information about an error, try `rustc --explain E0277`.
|
||||
|
@ -28,11 +28,14 @@ LL | fn a() -> i32 {
|
||||
...
|
||||
LL | assert_eq!(a, 0);
|
||||
| ^^^^^^^^^^^^^^^^^ `fn() -> i32 {a}` cannot be formatted using `{:?}` because it doesn't implement `Debug`
|
||||
|
|
||||
::: $SRC_DIR/core/src/panicking.rs:LL:COL
|
||||
|
|
||||
LL | T: fmt::Debug + ?Sized,
|
||||
| ---------- required by this bound in `core::panicking::assert_failed`
|
||||
|
|
||||
= help: the trait `Debug` is not implemented for `fn() -> i32 {a}`
|
||||
= help: use parentheses to call the function: `a()`
|
||||
= note: required because of the requirements on the impl of `Debug` for `&fn() -> i32 {a}`
|
||||
= note: required by `std::fmt::Debug::fmt`
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
Loading…
Reference in New Issue
Block a user