Auto merge of #80851 - m-ou-se:panic-2021, r=petrochenkov

Implement Rust 2021 panic

This implements the Rust 2021 versions of `panic!()`. See https://github.com/rust-lang/rust/issues/80162 and https://github.com/rust-lang/rfcs/pull/3007.

It does so by replacing `{std, core}::panic!()` by a bulitin macro that expands to either `$crate::panic::panic_2015!(..)` or `$crate::panic::panic_2021!(..)` depending on the edition of the caller.

This does not yet make std's panic an alias for core's panic on Rust 2021 as the RFC proposes. That will be a separate change: c5273bdfb2 That change is blocked on figuring out what to do with https://github.com/rust-lang/rust/issues/80846 first.
This commit is contained in:
bors 2021-02-01 10:25:31 +00:00
commit e0d9f79399
26 changed files with 596 additions and 429 deletions

View File

@ -33,6 +33,7 @@ mod global_allocator;
mod global_asm;
mod llvm_asm;
mod log_syntax;
mod panic;
mod source_util;
mod test;
mod trace_macros;
@ -76,6 +77,8 @@ pub fn register_builtin_macros(resolver: &mut dyn ResolverExpand) {
log_syntax: log_syntax::expand_log_syntax,
module_path: source_util::expand_mod,
option_env: env::expand_option_env,
core_panic: panic::expand_panic,
std_panic: panic::expand_panic,
stringify: source_util::expand_stringify,
trace_macros: trace_macros::expand_trace_macros,
}

View File

@ -0,0 +1,48 @@
use rustc_ast::ptr::P;
use rustc_ast::tokenstream::{DelimSpan, TokenStream};
use rustc_ast::*;
use rustc_expand::base::*;
use rustc_span::symbol::sym;
use rustc_span::Span;
// This expands to either
// - `$crate::panic::panic_2015!(...)` or
// - `$crate::panic::panic_2021!(...)`
// depending on the edition.
//
// This is used for both std::panic!() and core::panic!().
//
// `$crate` will refer to either the `std` or `core` crate depending on which
// one we're expanding from.
pub fn expand_panic<'cx>(
cx: &'cx mut ExtCtxt<'_>,
sp: Span,
tts: TokenStream,
) -> Box<dyn MacResult + 'cx> {
let panic = if sp.rust_2021() { sym::panic_2021 } else { sym::panic_2015 };
let sp = cx.with_call_site_ctxt(sp);
MacEager::expr(
cx.expr(
sp,
ExprKind::MacCall(MacCall {
path: Path {
span: sp,
segments: cx
.std_path(&[sym::panic, panic])
.into_iter()
.map(|ident| PathSegment::from_ident(ident))
.collect(),
tokens: None,
},
args: P(MacArgs::Delimited(
DelimSpan::from_single(sp),
MacDelimiter::Parenthesis,
tts,
)),
prior_type_ascription: None,
}),
),
)
}

View File

@ -19,10 +19,9 @@ declare_lint! {
///
/// ### Explanation
///
/// `panic!("{}")` panics with the message `"{}"`, as a `panic!()` invocation
/// with a single argument does not use `format_args!()`.
/// A future edition of Rust will interpret this string as format string,
/// which would break this.
/// In Rust 2018 and earlier, `panic!("{}")` panics with the message `"{}"`,
/// as a `panic!()` invocation with a single argument does not use `format_args!()`.
/// Rust 2021 interprets this string as format string, which breaks this.
PANIC_FMT,
Warn,
"detect braces in single-argument panic!() invocations",
@ -50,8 +49,8 @@ fn check_panic<'tcx>(cx: &LateContext<'tcx>, f: &'tcx hir::Expr<'tcx>, arg: &'tc
if let ast::LitKind::Str(sym, _) = lit.node {
let mut expn = f.span.ctxt().outer_expn_data();
if let Some(id) = expn.macro_def_id {
if cx.tcx.is_diagnostic_item(sym::std_panic_macro, id)
|| cx.tcx.is_diagnostic_item(sym::core_panic_macro, id)
if cx.tcx.is_diagnostic_item(sym::std_panic_2015_macro, id)
|| cx.tcx.is_diagnostic_item(sym::core_panic_2015_macro, id)
{
let fmt = sym.as_str();
if !fmt.contains(&['{', '}'][..]) {
@ -75,9 +74,15 @@ fn check_panic<'tcx>(cx: &LateContext<'tcx>, f: &'tcx hir::Expr<'tcx>, arg: &'tc
let n_arguments =
(&mut fmt_parser).filter(|a| matches!(a, Piece::NextArgument(_))).count();
// Unwrap another level of macro expansion if this panic!()
// was expanded from assert!() or debug_assert!().
for &assert in &[sym::assert_macro, sym::debug_assert_macro] {
// Unwrap more levels of macro expansion, as panic_2015!()
// was likely expanded from panic!() and possibly from
// [debug_]assert!().
for &assert in &[
sym::std_panic_macro,
sym::core_panic_macro,
sym::assert_macro,
sym::debug_assert_macro,
] {
let parent = expn.call_site.ctxt().outer_expn_data();
if parent
.macro_def_id

View File

@ -398,6 +398,8 @@ symbols! {
copysignf64,
core,
core_intrinsics,
core_panic,
core_panic_2015_macro,
core_panic_macro,
cosf32,
cosf64,
@ -795,6 +797,8 @@ symbols! {
owned_box,
packed,
panic,
panic_2015,
panic_2021,
panic_abort,
panic_bounds_check,
panic_handler,
@ -1096,6 +1100,8 @@ symbols! {
staticlib,
std,
std_inject,
std_panic,
std_panic_2015_macro,
std_panic_macro,
stmt,
stmt_expr_attributes,

View File

@ -1,6 +1,7 @@
#[cfg(bootstrap)]
#[doc(include = "panic.md")]
#[macro_export]
#[allow_internal_unstable(core_panic, const_caller_location)]
#[allow_internal_unstable(core_panic)]
#[stable(feature = "core", since = "1.6.0")]
#[rustc_diagnostic_item = "core_panic_macro"]
macro_rules! panic {
@ -18,6 +19,21 @@ macro_rules! panic {
);
}
#[cfg(not(bootstrap))]
#[doc(include = "panic.md")]
#[macro_export]
#[rustc_builtin_macro = "core_panic"]
#[allow_internal_unstable(edition_panic)]
#[stable(feature = "core", since = "1.6.0")]
#[rustc_diagnostic_item = "core_panic_macro"]
macro_rules! panic {
// Expands to either `$crate::panic::panic_2015` or `$crate::panic::panic_2021`
// depending on the edition of the caller.
($($arg:tt)*) => {
/* compiler built-in */
};
}
/// Asserts that two expressions are equal to each other (using [`PartialEq`]).
///
/// On panic, this macro will print the values of the expressions with their

View File

@ -5,6 +5,40 @@
use crate::any::Any;
use crate::fmt;
#[doc(hidden)]
#[unstable(feature = "edition_panic", issue = "none", reason = "use panic!() instead")]
#[allow_internal_unstable(core_panic)]
#[rustc_diagnostic_item = "core_panic_2015_macro"]
#[rustc_macro_transparency = "semitransparent"]
pub macro panic_2015 {
() => (
$crate::panicking::panic("explicit panic")
),
($msg:literal $(,)?) => (
$crate::panicking::panic($msg)
),
($msg:expr $(,)?) => (
$crate::panicking::panic_str($msg)
),
($fmt:expr, $($arg:tt)+) => (
$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))
),
}
#[doc(hidden)]
#[unstable(feature = "edition_panic", issue = "none", reason = "use panic!() instead")]
#[allow_internal_unstable(core_panic)]
#[rustc_diagnostic_item = "core_panic_2021_macro"]
#[rustc_macro_transparency = "semitransparent"]
pub macro panic_2021 {
() => (
$crate::panicking::panic("explicit panic")
),
($($t:tt)+) => (
$crate::panicking::panic_fmt($crate::format_args!($($t)+))
),
}
/// A struct providing information about a panic.
///
/// `PanicInfo` structure is passed to a panic hook set by the [`set_hook`]

View File

@ -259,6 +259,7 @@
#![feature(dropck_eyepatch)]
#![feature(duration_constants)]
#![feature(duration_zero)]
#![feature(edition_panic)]
#![feature(exact_size_is_empty)]
#![feature(exhaustive_patterns)]
#![feature(extend_one)]

View File

@ -4,6 +4,7 @@
//! library. Each macro is available for use when linking against the standard
//! library.
#[cfg(bootstrap)]
#[doc(include = "../../core/src/macros/panic.md")]
#[macro_export]
#[stable(feature = "rust1", since = "1.0.0")]
@ -17,6 +18,21 @@ macro_rules! panic {
});
}
#[cfg(not(bootstrap))]
#[doc(include = "../../core/src/macros/panic.md")]
#[macro_export]
#[rustc_builtin_macro = "std_panic"]
#[stable(feature = "rust1", since = "1.0.0")]
#[allow_internal_unstable(edition_panic)]
#[cfg_attr(not(test), rustc_diagnostic_item = "std_panic_macro")]
macro_rules! panic {
// Expands to either `$crate::panic::panic_2015` or `$crate::panic::panic_2021`
// depending on the edition of the caller.
($($arg:tt)*) => {
/* compiler built-in */
};
}
/// Prints to the standard output.
///
/// Equivalent to the [`println!`] macro except that a newline is not printed at

View File

@ -18,6 +18,27 @@ use crate::sync::{Arc, Mutex, RwLock};
use crate::task::{Context, Poll};
use crate::thread::Result;
#[doc(hidden)]
#[unstable(feature = "edition_panic", issue = "none", reason = "use panic!() instead")]
#[allow_internal_unstable(libstd_sys_internals)]
#[cfg_attr(not(test), rustc_diagnostic_item = "std_panic_2015_macro")]
#[rustc_macro_transparency = "semitransparent"]
pub macro panic_2015 {
() => ({
$crate::rt::begin_panic("explicit panic")
}),
($msg:expr $(,)?) => ({
$crate::rt::begin_panic($msg)
}),
($fmt:expr, $($arg:tt)+) => ({
$crate::rt::begin_panic_fmt(&$crate::format_args!($fmt, $($arg)+))
}),
}
#[doc(hidden)]
#[unstable(feature = "edition_panic", issue = "none", reason = "use panic!() instead")]
pub use core::panic::panic_2021;
#[stable(feature = "panic_hooks", since = "1.10.0")]
pub use crate::panicking::{set_hook, take_hook};

View File

@ -4,7 +4,7 @@
fn hello() -> () {
let mut _0: (); // return place in scope 0 at $DIR/control-flow-simplification.rs:11:14: 11:14
let mut _1: bool; // in scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21
let mut _2: !; // in scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL
let mut _2: !; // in scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
bb0: {
StorageLive(_1); // scope 0 at $DIR/control-flow-simplification.rs:12:8: 12:21
@ -15,16 +15,16 @@
}
bb1: {
StorageLive(_2); // scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL
begin_panic::<&str>(const "explicit panic"); // scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL
StorageLive(_2); // scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
begin_panic::<&str>(const "explicit panic"); // scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
// mir::Constant
// + span: $SRC_DIR/std/src/macros.rs:LL:COL
// + span: $SRC_DIR/std/src/panic.rs:LL:COL
// + literal: Const { ty: fn(&str) -> ! {std::rt::begin_panic::<&str>}, val: Value(Scalar(<ZST>)) }
// ty::Const
// + ty: &str
// + val: Value(Slice { data: Allocation { bytes: [101, 120, 112, 108, 105, 99, 105, 116, 32, 112, 97, 110, 105, 99], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [16383], len: Size { raw: 14 } }, size: Size { raw: 14 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 14 })
// mir::Constant
// + span: $SRC_DIR/std/src/macros.rs:LL:COL
// + span: $SRC_DIR/std/src/panic.rs:LL:COL
// + literal: Const { ty: &str, val: Value(Slice { data: Allocation { bytes: [101, 120, 112, 108, 105, 99, 105, 116, 32, 112, 97, 110, 105, 99], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [16383], len: Size { raw: 14 } }, size: Size { raw: 14 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 14 }) }
}

View File

@ -11,16 +11,16 @@
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/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/macros/mod.rs:LL:COL
let _15: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _16: (&&i32, &&i32); // 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/macros/mod.rs:LL:COL
let mut _21: std::fmt::ArgumentV1; // 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
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
@ -34,30 +34,30 @@
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/macros/mod.rs:LL:COL
debug x => _24; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
debug f => _23; // in scope 6 at $SRC_DIR/core/src/macros/mod.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/macros/mod.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/macros/mod.rs:LL:COL
let mut _24: &&i32; // in scope 6 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/macros/mod.rs:LL:COL
debug x => _27; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
debug f => _26; // in scope 8 at $SRC_DIR/core/src/macros/mod.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/macros/mod.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/macros/mod.rs:LL:COL
let mut _27: &&i32; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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/macros/mod.rs:LL:COL
debug pieces => (_12.0: &[&str]); // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
debug args => _29; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _28: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _29: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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
}
}
}
@ -111,7 +111,7 @@
// + 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/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
@ -119,18 +119,18 @@
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/macros/mod.rs:LL:COL
StorageDead(_18); // 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
// 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/macros/mod.rs:LL:COL
_22 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _23) -> bb3; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _23) -> bb3; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
// mir::Constant
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
// + 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>)) }
}
@ -144,47 +144,47 @@
}
bb3: {
(_20.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _24) -> bb4; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_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/macros/mod.rs:LL:COL
// + 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/macros/mod.rs:LL:COL
StorageDead(_22); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_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/macros/mod.rs:LL:COL
_25 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _26) -> bb5; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::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/macros/mod.rs:LL:COL
// + 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/macros/mod.rs:LL:COL
(_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/macros/mod.rs:LL:COL
// + 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/macros/mod.rs:LL:COL
StorageDead(_25); // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_15 = [move _20, move _21]; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_14 = &_15; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_29 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_28); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
discriminant(_28) = 0; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_12.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _28; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_12.2: &[std::fmt::ArgumentV1]) = move _29; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_28); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
core::panicking::panic_fmt(move _12); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_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/macros/mod.rs:LL:COL
// + 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>)) }
}
}

View File

@ -11,16 +11,16 @@
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/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/macros/mod.rs:LL:COL
let _15: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _16: (&&i32, &&i32); // 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/macros/mod.rs:LL:COL
let mut _21: std::fmt::ArgumentV1; // 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
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
@ -34,30 +34,30 @@
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/macros/mod.rs:LL:COL
debug x => _24; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
debug f => _23; // in scope 6 at $SRC_DIR/core/src/macros/mod.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/macros/mod.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/macros/mod.rs:LL:COL
let mut _24: &&i32; // in scope 6 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/macros/mod.rs:LL:COL
debug x => _27; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
debug f => _26; // in scope 8 at $SRC_DIR/core/src/macros/mod.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/macros/mod.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/macros/mod.rs:LL:COL
let mut _27: &&i32; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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/macros/mod.rs:LL:COL
debug pieces => (_12.0: &[&str]); // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
debug args => _29; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _28: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _29: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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
}
}
}
@ -111,7 +111,7 @@
// + 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/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
@ -119,18 +119,18 @@
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/macros/mod.rs:LL:COL
StorageDead(_18); // 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
// 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/macros/mod.rs:LL:COL
_22 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _23) -> bb3; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _23) -> bb3; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
// mir::Constant
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
// + 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>)) }
}
@ -144,47 +144,47 @@
}
bb3: {
(_20.0: &core::fmt::Opaque) = transmute::<&&i32, &core::fmt::Opaque>(move _24) -> bb4; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_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/macros/mod.rs:LL:COL
// + 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/macros/mod.rs:LL:COL
StorageDead(_22); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_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/macros/mod.rs:LL:COL
_25 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _26) -> bb5; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::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/macros/mod.rs:LL:COL
// + 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/macros/mod.rs:LL:COL
(_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/macros/mod.rs:LL:COL
// + 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/macros/mod.rs:LL:COL
StorageDead(_25); // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_15 = [move _20, move _21]; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_14 = &_15; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_29 = move _14 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_28); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
discriminant(_28) = 0; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_12.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _28; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_12.2: &[std::fmt::ArgumentV1]) = move _29; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_28); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
core::panicking::panic_fmt(move _12); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_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/macros/mod.rs:LL:COL
// + 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>)) }
}
}

View File

@ -18,25 +18,25 @@
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/macros/mod.rs:LL:COL
let mut _20: std::fmt::Arguments; // 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/macros/mod.rs:LL:COL
let mut _26: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let _27: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let _28: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _29: (&&i32, &&i32); // 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/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/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
scope 1 {
@ -56,33 +56,33 @@
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/macros/mod.rs:LL:COL
debug x => _37; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
debug f => _38; // in scope 6 at $SRC_DIR/core/src/macros/mod.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/macros/mod.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/macros/mod.rs:LL:COL
let mut _46: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _47: &&i32; // in scope 6 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/macros/mod.rs:LL:COL
debug x => _40; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
debug f => _41; // in scope 8 at $SRC_DIR/core/src/macros/mod.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/macros/mod.rs:LL:COL
let mut _49: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _50: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _51: &&i32; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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/macros/mod.rs:LL:COL
debug pieces => _21; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
debug args => _25; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _52: &[&str]; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _53: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _54: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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
}
}
}
@ -155,8 +155,8 @@
}
bb3: {
StorageLive(_19); // 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
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
@ -171,11 +171,11 @@
_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/macros/mod.rs:LL:COL
StorageLive(_26); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_27); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_28); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_29); // 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
@ -184,15 +184,15 @@
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/macros/mod.rs:LL:COL
(_29.1: &&i32) = move _32; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_30); // 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/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
@ -200,12 +200,12 @@
// 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/macros/mod.rs:LL:COL
StorageLive(_45); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_45 = _38; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_44 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _45) -> bb5; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _45) -> bb5; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
// mir::Constant
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
// + 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>)) }
}
@ -223,25 +223,25 @@
}
bb5: {
StorageDead(_45); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_46); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_47); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_47 = _37; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_46 = transmute::<&&i32, &core::fmt::Opaque>(move _47) -> bb6; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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/macros/mod.rs:LL:COL
// + 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/macros/mod.rs:LL:COL
(_36.0: &core::fmt::Opaque) = move _46; // scope 7 at $SRC_DIR/core/src/macros/mod.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/macros/mod.rs:LL:COL
StorageDead(_46); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_44); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_38); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_37); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_39); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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
@ -249,60 +249,60 @@
// 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/macros/mod.rs:LL:COL
StorageLive(_49); // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_49 = _41; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_48 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _49) -> bb7; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::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/macros/mod.rs:LL:COL
// + 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/macros/mod.rs:LL:COL
StorageLive(_50); // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_51); // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_51 = _40; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_50 = transmute::<&&i32, &core::fmt::Opaque>(move _51) -> bb8; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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/macros/mod.rs:LL:COL
// + 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/macros/mod.rs:LL:COL
(_39.0: &core::fmt::Opaque) = move _50; // scope 9 at $SRC_DIR/core/src/macros/mod.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/macros/mod.rs:LL:COL
StorageDead(_50); // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_48); // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_41); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_40); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_28 = [move _36, move _39]; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_39); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_36); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_35); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_34); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_27 = &_28; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_26 = _27; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_25 = move _26 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_26); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_52); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_52 = _21; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_53); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
discriminant(_53) = 0; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_54); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_54 = _25; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_20.0: &[&str]) = move _52; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_20.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _53; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_20.2: &[std::fmt::ArgumentV1]) = move _54; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_54); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_53); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_52); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_25); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_21); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
core::panicking::panic_fmt(move _20); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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/macros/mod.rs:LL:COL
// + 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>)) }
}
}

View File

@ -18,25 +18,25 @@
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/macros/mod.rs:LL:COL
let mut _20: std::fmt::Arguments; // 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/macros/mod.rs:LL:COL
let mut _26: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let _27: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let _28: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _29: (&&i32, &&i32); // 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/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/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
scope 1 {
@ -56,33 +56,33 @@
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/macros/mod.rs:LL:COL
debug x => _37; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
debug f => _38; // in scope 6 at $SRC_DIR/core/src/macros/mod.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/macros/mod.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/macros/mod.rs:LL:COL
let mut _46: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _47: &&i32; // in scope 6 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/macros/mod.rs:LL:COL
debug x => _40; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
debug f => _41; // in scope 8 at $SRC_DIR/core/src/macros/mod.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/macros/mod.rs:LL:COL
let mut _49: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _50: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _51: &&i32; // in scope 8 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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/macros/mod.rs:LL:COL
debug pieces => _21; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
debug args => _25; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _52: &[&str]; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _53: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _54: &[std::fmt::ArgumentV1]; // in scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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
}
}
}
@ -155,8 +155,8 @@
}
bb3: {
StorageLive(_19); // 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
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
@ -171,11 +171,11 @@
_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/macros/mod.rs:LL:COL
StorageLive(_26); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_27); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_28); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_29); // 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
@ -184,15 +184,15 @@
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/macros/mod.rs:LL:COL
(_29.1: &&i32) = move _32; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_30); // 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/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
@ -200,12 +200,12 @@
// 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/macros/mod.rs:LL:COL
StorageLive(_45); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_45 = _38; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_44 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _45) -> bb5; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _45) -> bb5; // scope 7 at $SRC_DIR/core/src/panic.rs:LL:COL
// mir::Constant
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
// + 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>)) }
}
@ -223,25 +223,25 @@
}
bb5: {
StorageDead(_45); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_46); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_47); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_47 = _37; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_46 = transmute::<&&i32, &core::fmt::Opaque>(move _47) -> bb6; // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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/macros/mod.rs:LL:COL
// + 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/macros/mod.rs:LL:COL
(_36.0: &core::fmt::Opaque) = move _46; // scope 7 at $SRC_DIR/core/src/macros/mod.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/macros/mod.rs:LL:COL
StorageDead(_46); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_44); // scope 7 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_38); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_37); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_39); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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
@ -249,60 +249,60 @@
// 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/macros/mod.rs:LL:COL
StorageLive(_49); // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_49 = _41; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_48 = transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _49) -> bb7; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut Formatter<'t0>) -> std::result::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/macros/mod.rs:LL:COL
// + 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/macros/mod.rs:LL:COL
StorageLive(_50); // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_51); // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_51 = _40; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_50 = transmute::<&&i32, &core::fmt::Opaque>(move _51) -> bb8; // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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/macros/mod.rs:LL:COL
// + 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/macros/mod.rs:LL:COL
(_39.0: &core::fmt::Opaque) = move _50; // scope 9 at $SRC_DIR/core/src/macros/mod.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/macros/mod.rs:LL:COL
StorageDead(_50); // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_48); // scope 9 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_41); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_40); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_28 = [move _36, move _39]; // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_39); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_36); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_35); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_34); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_27 = &_28; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_26 = _27; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_25 = move _26 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_26); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_52); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_52 = _21; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_53); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
discriminant(_53) = 0; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_54); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
_54 = _25; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_20.0: &[&str]) = move _52; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_20.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _53; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
(_20.2: &[std::fmt::ArgumentV1]) = move _54; // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_54); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_53); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_52); // scope 10 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_25); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageDead(_21); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
core::panicking::panic_fmt(move _20); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
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/macros/mod.rs:LL:COL
// + 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>)) }
}
}

View File

@ -21,7 +21,7 @@
let mut _19: *const T; // in scope 0 at $DIR/issue_76432.rs:9:54: 9:68
let mut _20: *const T; // in scope 0 at $DIR/issue_76432.rs:9:70: 9:84
let mut _21: *const T; // in scope 0 at $DIR/issue_76432.rs:9:70: 9:84
let mut _22: !; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
let mut _22: !; // in scope 0 at $SRC_DIR/core/src/panic.rs:LL:COL
scope 1 {
debug v => _2; // in scope 1 at $DIR/issue_76432.rs:7:9: 7:10
let _13: &T; // in scope 1 at $DIR/issue_76432.rs:9:10: 9:16
@ -64,10 +64,10 @@
}
bb1: {
StorageLive(_22); // scope 1 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
core::panicking::panic(const "internal error: entered unreachable code"); // scope 1 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
StorageLive(_22); // scope 1 at $SRC_DIR/core/src/panic.rs:LL:COL
core::panicking::panic(const "internal error: entered unreachable code"); // scope 1 at $SRC_DIR/core/src/panic.rs:LL:COL
// mir::Constant
// + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL
// + span: $SRC_DIR/core/src/panic.rs:LL:COL
// + literal: Const { ty: fn(&'static str) -> ! {core::panicking::panic}, val: Value(Scalar(<ZST>)) }
// ty::Const
// + ty: &str

View File

@ -5,7 +5,7 @@ fn unwrap(_1: Option<T>) -> T {
let mut _0: T; // return place in scope 0 at $DIR/no-drop-for-inactive-variant.rs:7:33: 7:34
let mut _2: isize; // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:9: 9:16
let _3: T; // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:14: 9:15
let mut _4: !; // in scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL
let mut _4: !; // in scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
let mut _5: isize; // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:1: 12:2
let mut _6: isize; // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:1: 12:2
let mut _7: isize; // in scope 0 at $DIR/no-drop-for-inactive-variant.rs:12:1: 12:2
@ -19,16 +19,16 @@ fn unwrap(_1: Option<T>) -> T {
}
bb1: {
StorageLive(_4); // scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL
begin_panic::<&str>(const "explicit panic") -> bb4; // scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL
StorageLive(_4); // scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
begin_panic::<&str>(const "explicit panic") -> bb4; // scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
// mir::Constant
// + span: $SRC_DIR/std/src/macros.rs:LL:COL
// + span: $SRC_DIR/std/src/panic.rs:LL:COL
// + literal: Const { ty: fn(&str) -> ! {std::rt::begin_panic::<&str>}, val: Value(Scalar(<ZST>)) }
// ty::Const
// + ty: &str
// + val: Value(Slice { data: Allocation { bytes: [101, 120, 112, 108, 105, 99, 105, 116, 32, 112, 97, 110, 105, 99], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [16383], len: Size { raw: 14 } }, size: Size { raw: 14 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 14 })
// mir::Constant
// + span: $SRC_DIR/std/src/macros.rs:LL:COL
// + span: $SRC_DIR/std/src/panic.rs:LL:COL
// + literal: Const { ty: &str, val: Value(Slice { data: Allocation { bytes: [101, 120, 112, 108, 105, 99, 105, 116, 32, 112, 97, 110, 105, 99], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [16383], len: Size { raw: 14 } }, size: Size { raw: 14 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, start: 0, end: 14 }) }
}

View File

@ -69,16 +69,16 @@ For revisions in Pull Requests (PR):
</style>
</head>
<body>
<div class="code" style="counter-reset: line 16"><span class="line"> <span><span class="code even" style="--layer: 1" title="17:38-17:74: @1[3]: _13 = (move _14,)
17:38-17:74: @1[5]: FakeRead(ForMatchedPlace, _13)
17:38-17:74: @1[7]: _25 = (_13.0: &amp;std::fmt::Arguments)
17:38-17:74: @1[10]: _27 = &amp;(*_25)
17:38-17:74: @1[12]: _28 = &lt;Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
17:38-17:74: @1.Call: _26 = ArgumentV1::new::&lt;Arguments&gt;(move _27, move _28) -&gt; [return: bb2, unwind: bb4]
17:38-17:74: @2[2]: _12 = [move _26]
17:38-17:74: @2[5]: _11 = &amp;_12
17:38-17:74: @2[6]: _10 = &amp;(*_11)
17:38-17:74: @2[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
17:38-17:74: @2.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb3, unwind: bb4]"><span class="annotation">@0,1,2,3⦊</span><span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))</span></span></div>
<div class="code" style="counter-reset: line 23"><span class="line"> <span><span class="code even" style="--layer: 1" title="24:38-24:74: @1[3]: _13 = (move _14,)
24:38-24:74: @1[5]: FakeRead(ForMatchedPlace, _13)
24:38-24:74: @1[7]: _25 = (_13.0: &amp;std::fmt::Arguments)
24:38-24:74: @1[10]: _27 = &amp;(*_25)
24:38-24:74: @1[12]: _28 = &lt;Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
24:38-24:74: @1.Call: _26 = ArgumentV1::new::&lt;Arguments&gt;(move _27, move _28) -&gt; [return: bb2, unwind: bb4]
24:38-24:74: @2[2]: _12 = [move _26]
24:38-24:74: @2[5]: _11 = &amp;_12
24:38-24:74: @2[6]: _10 = &amp;(*_11)
24:38-24:74: @2[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
24:38-24:74: @2.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb3, unwind: bb4]"><span class="annotation">@0,1,2,3⦊</span><span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))</span></span></div>
</body>
</html>

View File

@ -69,16 +69,16 @@ For revisions in Pull Requests (PR):
</style>
</head>
<body>
<div class="code" style="counter-reset: line 16"><span class="line"> <span><span class="code even" style="--layer: 1" title="17:38-17:74: @1[3]: _13 = (move _14,)
17:38-17:74: @1[5]: FakeRead(ForMatchedPlace, _13)
17:38-17:74: @1[7]: _25 = (_13.0: &amp;std::fmt::Arguments)
17:38-17:74: @1[10]: _27 = &amp;(*_25)
17:38-17:74: @1[12]: _28 = &lt;Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
17:38-17:74: @1.Call: _26 = ArgumentV1::new::&lt;Arguments&gt;(move _27, move _28) -&gt; [return: bb2, unwind: bb4]
17:38-17:74: @2[2]: _12 = [move _26]
17:38-17:74: @2[5]: _11 = &amp;_12
17:38-17:74: @2[6]: _10 = &amp;(*_11)
17:38-17:74: @2[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
17:38-17:74: @2.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb3, unwind: bb4]"><span class="annotation">@0,1,2,3⦊</span><span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))</span></span></div>
<div class="code" style="counter-reset: line 23"><span class="line"> <span><span class="code even" style="--layer: 1" title="24:38-24:74: @1[3]: _13 = (move _14,)
24:38-24:74: @1[5]: FakeRead(ForMatchedPlace, _13)
24:38-24:74: @1[7]: _25 = (_13.0: &amp;std::fmt::Arguments)
24:38-24:74: @1[10]: _27 = &amp;(*_25)
24:38-24:74: @1[12]: _28 = &lt;Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
24:38-24:74: @1.Call: _26 = ArgumentV1::new::&lt;Arguments&gt;(move _27, move _28) -&gt; [return: bb2, unwind: bb4]
24:38-24:74: @2[2]: _12 = [move _26]
24:38-24:74: @2[5]: _11 = &amp;_12
24:38-24:74: @2[6]: _10 = &amp;(*_11)
24:38-24:74: @2[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
24:38-24:74: @2.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb3, unwind: bb4]"><span class="annotation">@0,1,2,3⦊</span><span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))</span></span></div>
</body>
</html>

View File

@ -69,16 +69,16 @@ For revisions in Pull Requests (PR):
</style>
</head>
<body>
<div class="code" style="counter-reset: line 16"><span class="line"> <span><span class="code even" style="--layer: 1" title="17:38-17:74: @1[3]: _13 = (move _14,)
17:38-17:74: @1[5]: FakeRead(ForMatchedPlace, _13)
17:38-17:74: @1[7]: _25 = (_13.0: &amp;std::fmt::Arguments)
17:38-17:74: @1[10]: _27 = &amp;(*_25)
17:38-17:74: @1[12]: _28 = &lt;Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
17:38-17:74: @1.Call: _26 = ArgumentV1::new::&lt;Arguments&gt;(move _27, move _28) -&gt; [return: bb2, unwind: bb4]
17:38-17:74: @2[2]: _12 = [move _26]
17:38-17:74: @2[5]: _11 = &amp;_12
17:38-17:74: @2[6]: _10 = &amp;(*_11)
17:38-17:74: @2[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
17:38-17:74: @2.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb3, unwind: bb4]"><span class="annotation">@0,1,2,3⦊</span><span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))</span></span></div>
<div class="code" style="counter-reset: line 23"><span class="line"> <span><span class="code even" style="--layer: 1" title="24:38-24:74: @1[3]: _13 = (move _14,)
24:38-24:74: @1[5]: FakeRead(ForMatchedPlace, _13)
24:38-24:74: @1[7]: _25 = (_13.0: &amp;std::fmt::Arguments)
24:38-24:74: @1[10]: _27 = &amp;(*_25)
24:38-24:74: @1[12]: _28 = &lt;Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
24:38-24:74: @1.Call: _26 = ArgumentV1::new::&lt;Arguments&gt;(move _27, move _28) -&gt; [return: bb2, unwind: bb4]
24:38-24:74: @2[2]: _12 = [move _26]
24:38-24:74: @2[5]: _11 = &amp;_12
24:38-24:74: @2[6]: _10 = &amp;(*_11)
24:38-24:74: @2[7]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
24:38-24:74: @2.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb3, unwind: bb4]"><span class="annotation">@0,1,2,3⦊</span><span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0">$crate::panicking::panic_fmt($crate::format_args!($fmt, $($arg)+))</span></span></div>
</body>
</html>

View File

@ -69,47 +69,47 @@ For revisions in Pull Requests (PR):
</style>
</head>
<body>
<div class="code" style="counter-reset: line 94"><span class="line"> <span><span class="code even" style="--layer: 1" title="95:23-97:6: @0[5]: _15 = const main::{closure#5}::promoted[1]
95:23-97:6: @0[6]: _7 = &amp;(*_15)
95:23-97:6: @0[7]: _6 = &amp;(*_7)
95:23-97:6: @0[8]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
96:28-96:61: @0[14]: _13 = ()
96:28-96:61: @0[15]: FakeRead(ForMatchedPlace, _13)
96:28-96:61: @0[16]: _14 = const main::{closure#5}::promoted[0]
96:28-96:61: @0[17]: _11 = &amp;(*_14)
96:28-96:61: @0[18]: _10 = &amp;(*_11)
96:28-96:61: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
96:28-96:61: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
96:9-96:62: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
95:23-97:6: @2[5]: _0 = const ()
95:23-97:6: @2.Return: return"><span class="annotation">@0,1,2⦊</span>{</span></span>
<span class="line"><span class="code even" style="--layer: 1" title="95:23-97:6: @0[5]: _15 = const main::{closure#5}::promoted[1]
95:23-97:6: @0[6]: _7 = &amp;(*_15)
95:23-97:6: @0[7]: _6 = &amp;(*_7)
95:23-97:6: @0[8]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
96:28-96:61: @0[14]: _13 = ()
96:28-96:61: @0[15]: FakeRead(ForMatchedPlace, _13)
96:28-96:61: @0[16]: _14 = const main::{closure#5}::promoted[0]
96:28-96:61: @0[17]: _11 = &amp;(*_14)
96:28-96:61: @0[18]: _10 = &amp;(*_11)
96:28-96:61: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
96:28-96:61: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
96:9-96:62: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
95:23-97:6: @2[5]: _0 = const ()
95:23-97:6: @2.Return: return"> $crate::io::_print($crate::format_args_nl!($($arg)*));</span></span>
<span class="line"><span class="code even" style="--layer: 1" title="95:23-97:6: @0[5]: _15 = const main::{closure#5}::promoted[1]
95:23-97:6: @0[6]: _7 = &amp;(*_15)
95:23-97:6: @0[7]: _6 = &amp;(*_7)
95:23-97:6: @0[8]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
96:28-96:61: @0[14]: _13 = ()
96:28-96:61: @0[15]: FakeRead(ForMatchedPlace, _13)
96:28-96:61: @0[16]: _14 = const main::{closure#5}::promoted[0]
96:28-96:61: @0[17]: _11 = &amp;(*_14)
96:28-96:61: @0[18]: _10 = &amp;(*_11)
96:28-96:61: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
96:28-96:61: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
96:9-96:62: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
95:23-97:6: @2[5]: _0 = const ()
95:23-97:6: @2.Return: return"> }<span class="annotation">⦉@0,1,2</span></span></span></span></div>
<div class="code" style="counter-reset: line 110"><span class="line"> <span><span class="code even" style="--layer: 1" title="111:23-113:6: @0[5]: _15 = const main::{closure#5}::promoted[1]
111:23-113:6: @0[6]: _7 = &amp;(*_15)
111:23-113:6: @0[7]: _6 = &amp;(*_7)
111:23-113:6: @0[8]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
112:28-112:61: @0[14]: _13 = ()
112:28-112:61: @0[15]: FakeRead(ForMatchedPlace, _13)
112:28-112:61: @0[16]: _14 = const main::{closure#5}::promoted[0]
112:28-112:61: @0[17]: _11 = &amp;(*_14)
112:28-112:61: @0[18]: _10 = &amp;(*_11)
112:28-112:61: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
112:28-112:61: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
112:9-112:62: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
111:23-113:6: @2[5]: _0 = const ()
111:23-113:6: @2.Return: return"><span class="annotation">@0,1,2⦊</span>{</span></span>
<span class="line"><span class="code even" style="--layer: 1" title="111:23-113:6: @0[5]: _15 = const main::{closure#5}::promoted[1]
111:23-113:6: @0[6]: _7 = &amp;(*_15)
111:23-113:6: @0[7]: _6 = &amp;(*_7)
111:23-113:6: @0[8]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
112:28-112:61: @0[14]: _13 = ()
112:28-112:61: @0[15]: FakeRead(ForMatchedPlace, _13)
112:28-112:61: @0[16]: _14 = const main::{closure#5}::promoted[0]
112:28-112:61: @0[17]: _11 = &amp;(*_14)
112:28-112:61: @0[18]: _10 = &amp;(*_11)
112:28-112:61: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
112:28-112:61: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
112:9-112:62: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
111:23-113:6: @2[5]: _0 = const ()
111:23-113:6: @2.Return: return"> $crate::io::_print($crate::format_args_nl!($($arg)*));</span></span>
<span class="line"><span class="code even" style="--layer: 1" title="111:23-113:6: @0[5]: _15 = const main::{closure#5}::promoted[1]
111:23-113:6: @0[6]: _7 = &amp;(*_15)
111:23-113:6: @0[7]: _6 = &amp;(*_7)
111:23-113:6: @0[8]: _5 = move _6 as &amp;[&amp;str] (Pointer(Unsize))
112:28-112:61: @0[14]: _13 = ()
112:28-112:61: @0[15]: FakeRead(ForMatchedPlace, _13)
112:28-112:61: @0[16]: _14 = const main::{closure#5}::promoted[0]
112:28-112:61: @0[17]: _11 = &amp;(*_14)
112:28-112:61: @0[18]: _10 = &amp;(*_11)
112:28-112:61: @0[19]: _9 = move _10 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
112:28-112:61: @0.Call: _4 = Arguments::new_v1(move _5, move _9) -&gt; [return: bb1, unwind: bb3]
112:9-112:62: @1.Call: _3 = _print(move _4) -&gt; [return: bb2, unwind: bb3]
111:23-113:6: @2[5]: _0 = const ()
111:23-113:6: @2.Return: return"> }<span class="annotation">⦉@0,1,2</span></span></span></span></div>
</body>
</html>

View File

@ -8,16 +8,6 @@ LL | const Z: () = panic!("cheese");
= help: add `#![feature(const_panic)]` to the crate attributes to enable
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0658]: panicking in constants is unstable
--> $DIR/feature-gate-const_panic.rs:9:15
|
LL | const X: () = unimplemented!();
| ^^^^^^^^^^^^^^^^
|
= note: see issue #51999 <https://github.com/rust-lang/rust/issues/51999> for more information
= help: add `#![feature(const_panic)]` to the crate attributes to enable
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0658]: panicking in constants is unstable
--> $DIR/feature-gate-const_panic.rs:6:15
|
@ -28,6 +18,16 @@ LL | const Y: () = unreachable!();
= help: add `#![feature(const_panic)]` to the crate attributes to enable
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0658]: panicking in constants is unstable
--> $DIR/feature-gate-const_panic.rs:9:15
|
LL | const X: () = unimplemented!();
| ^^^^^^^^^^^^^^^^
|
= note: see issue #51999 <https://github.com/rust-lang/rust/issues/51999> for more information
= help: add `#![feature(const_panic)]` to the crate attributes to enable
= 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
For more information about this error, try `rustc --explain E0658`.

View File

@ -5,7 +5,7 @@ LL | panic!()
| ^^^^^^^^
| |
| the evaluated program panicked at 'explicit panic', $DIR/unwind-abort.rs:5:5
| inside `foo` at $SRC_DIR/std/src/macros.rs:LL:COL
| inside `foo` at $SRC_DIR/std/src/panic.rs:LL:COL
| inside `_` at $DIR/unwind-abort.rs:8:15
...
LL | const _: () = foo();

View File

@ -5,7 +5,7 @@ LL | None => panic!("called `Option::unwrap()` on a `None` value"),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| the evaluated program panicked at 'called `Option::unwrap()` on a `None` value', $DIR/const-unwrap.rs:9:38
| inside `Option::<i32>::unwrap` at $SRC_DIR/core/src/macros/mod.rs:LL:COL
| inside `Option::<i32>::unwrap` at $SRC_DIR/core/src/panic.rs:LL:COL
| inside `BAR` at $DIR/const-unwrap.rs:9:18
|
::: $DIR/const-unwrap.rs:9:1

View File

@ -32,6 +32,7 @@ const U8_MUT3: &u8 = { //~ NOTE
unsafe { match static_cross_crate::OPT_ZERO { Some(ref u) => u, None => panic!() } }
//~^ WARN [const_err]
//~| NOTE constant accesses static
//~| NOTE in this expansion of panic!
};
pub fn test(x: &[u8; 1]) -> bool {

View File

@ -11,7 +11,7 @@ LL | | };
= note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
error: could not evaluate constant pattern
--> $DIR/const_refers_to_static_cross_crate.rs:39:9
--> $DIR/const_refers_to_static_cross_crate.rs:40:9
|
LL | SLICE_MUT => true,
| ^^^^^^^^^
@ -29,7 +29,7 @@ LL | | };
= note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
error: could not evaluate constant pattern
--> $DIR/const_refers_to_static_cross_crate.rs:48:9
--> $DIR/const_refers_to_static_cross_crate.rs:49:9
|
LL | U8_MUT => true,
| ^^^^^^
@ -52,7 +52,7 @@ LL | #[warn(const_err)]
| ^^^^^^^^^
error: could not evaluate constant pattern
--> $DIR/const_refers_to_static_cross_crate.rs:59:9
--> $DIR/const_refers_to_static_cross_crate.rs:60:9
|
LL | U8_MUT2 => true,
| ^^^^^^^
@ -65,6 +65,7 @@ LL | | unsafe { match static_cross_crate::OPT_ZERO { Some(ref u) => u, None
| | ^^^^^^^^^^^ constant accesses static
LL | |
LL | |
LL | |
LL | | };
| |__-
|
@ -75,31 +76,31 @@ LL | #[warn(const_err)]
| ^^^^^^^^^
error: could not evaluate constant pattern
--> $DIR/const_refers_to_static_cross_crate.rs:67:9
--> $DIR/const_refers_to_static_cross_crate.rs:68:9
|
LL | U8_MUT3 => true,
| ^^^^^^^
error: could not evaluate constant pattern
--> $DIR/const_refers_to_static_cross_crate.rs:39:9
--> $DIR/const_refers_to_static_cross_crate.rs:40:9
|
LL | SLICE_MUT => true,
| ^^^^^^^^^
error: could not evaluate constant pattern
--> $DIR/const_refers_to_static_cross_crate.rs:48:9
--> $DIR/const_refers_to_static_cross_crate.rs:49:9
|
LL | U8_MUT => true,
| ^^^^^^
error: could not evaluate constant pattern
--> $DIR/const_refers_to_static_cross_crate.rs:59:9
--> $DIR/const_refers_to_static_cross_crate.rs:60:9
|
LL | U8_MUT2 => true,
| ^^^^^^^
error: could not evaluate constant pattern
--> $DIR/const_refers_to_static_cross_crate.rs:67:9
--> $DIR/const_refers_to_static_cross_crate.rs:68:9
|
LL | U8_MUT3 => true,
| ^^^^^^^

View File

@ -11,16 +11,12 @@ error: `panic` should not be present in production code
|
LL | panic!("message");
| ^^^^^^^^^^^^^^^^^^
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: `panic` should not be present in production code
--> $DIR/panicking_macros.rs:10:5
|
LL | panic!("{} {}", "panic with", "multiple arguments");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: `todo` should not be present in production code
--> $DIR/panicking_macros.rs:16:5
@ -29,18 +25,23 @@ LL | todo!();
| ^^^^^^^^
|
= note: `-D clippy::todo` implied by `-D warnings`
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: `todo` should not be present in production code
--> $DIR/panicking_macros.rs:17:5
|
LL | todo!("message");
| ^^^^^^^^^^^^^^^^^
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: `todo` should not be present in production code
--> $DIR/panicking_macros.rs:18:5
|
LL | todo!("{} {}", "panic with", "multiple arguments");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: `unimplemented` should not be present in production code
--> $DIR/panicking_macros.rs:24:5
@ -49,18 +50,23 @@ LL | unimplemented!();
| ^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::unimplemented` implied by `-D warnings`
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: `unimplemented` should not be present in production code
--> $DIR/panicking_macros.rs:25:5
|
LL | unimplemented!("message");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: `unimplemented` should not be present in production code
--> $DIR/panicking_macros.rs:26:5
|
LL | unimplemented!("{} {}", "panic with", "multiple arguments");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: usage of the `unreachable!` macro
--> $DIR/panicking_macros.rs:32:5
@ -69,6 +75,7 @@ LL | unreachable!();
| ^^^^^^^^^^^^^^^
|
= note: `-D clippy::unreachable` implied by `-D warnings`
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: usage of the `unreachable!` macro
--> $DIR/panicking_macros.rs:33:5
@ -83,6 +90,8 @@ error: usage of the `unreachable!` macro
|
LL | unreachable!("{} {}", "panic with", "multiple arguments");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: `panic` should not be present in production code
--> $DIR/panicking_macros.rs:40:5
@ -95,18 +104,24 @@ error: `todo` should not be present in production code
|
LL | todo!();
| ^^^^^^^^
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: `unimplemented` should not be present in production code
--> $DIR/panicking_macros.rs:42:5
|
LL | unimplemented!();
| ^^^^^^^^^^^^^^^^^
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: usage of the `unreachable!` macro
--> $DIR/panicking_macros.rs:43:5
|
LL | unreachable!();
| ^^^^^^^^^^^^^^^
|
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 16 previous errors