mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-03 05:27:36 +00:00
Auto merge of #73513 - oli-obk:const_binop_overflow, r=estebank
Show the values and computation that would overflow a const evaluation or propagation Fixes #71134 In contrast to the example in the issue it doesn't use individual spans for each operand. The effort required to implement that is quite high compared to the little (if at all) benefit it would bring to diagnostics. cc @shepmaster The way this is implemented it is also fairly easy to do the same for overflow panics at runtime, but that should be done in a separate PR since it may have runtime performance implications.
This commit is contained in:
commit
7750c3d46b
@ -380,7 +380,7 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
|
|||||||
// checked operation, just a comparison with the minimum
|
// checked operation, just a comparison with the minimum
|
||||||
// value, so we have to check for the assert message.
|
// value, so we have to check for the assert message.
|
||||||
if !bx.check_overflow() {
|
if !bx.check_overflow() {
|
||||||
if let AssertKind::OverflowNeg = *msg {
|
if let AssertKind::OverflowNeg(_) = *msg {
|
||||||
const_cond = Some(expected);
|
const_cond = Some(expected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
//!
|
//!
|
||||||
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/mir/index.html
|
//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/mir/index.html
|
||||||
|
|
||||||
|
// ignore-tidy-filelength
|
||||||
|
|
||||||
use crate::mir::interpret::{GlobalAlloc, Scalar};
|
use crate::mir::interpret::{GlobalAlloc, Scalar};
|
||||||
use crate::mir::visit::MirVisitable;
|
use crate::mir::visit::MirVisitable;
|
||||||
use crate::ty::adjustment::PointerCast;
|
use crate::ty::adjustment::PointerCast;
|
||||||
@ -1246,10 +1248,10 @@ pub enum TerminatorKind<'tcx> {
|
|||||||
#[derive(Clone, RustcEncodable, RustcDecodable, HashStable, PartialEq)]
|
#[derive(Clone, RustcEncodable, RustcDecodable, HashStable, PartialEq)]
|
||||||
pub enum AssertKind<O> {
|
pub enum AssertKind<O> {
|
||||||
BoundsCheck { len: O, index: O },
|
BoundsCheck { len: O, index: O },
|
||||||
Overflow(BinOp),
|
Overflow(BinOp, O, O),
|
||||||
OverflowNeg,
|
OverflowNeg(O),
|
||||||
DivisionByZero,
|
DivisionByZero(O),
|
||||||
RemainderByZero,
|
RemainderByZero(O),
|
||||||
ResumedAfterReturn(GeneratorKind),
|
ResumedAfterReturn(GeneratorKind),
|
||||||
ResumedAfterPanic(GeneratorKind),
|
ResumedAfterPanic(GeneratorKind),
|
||||||
}
|
}
|
||||||
@ -1522,17 +1524,17 @@ impl<O> AssertKind<O> {
|
|||||||
pub fn description(&self) -> &'static str {
|
pub fn description(&self) -> &'static str {
|
||||||
use AssertKind::*;
|
use AssertKind::*;
|
||||||
match self {
|
match self {
|
||||||
Overflow(BinOp::Add) => "attempt to add with overflow",
|
Overflow(BinOp::Add, _, _) => "attempt to add with overflow",
|
||||||
Overflow(BinOp::Sub) => "attempt to subtract with overflow",
|
Overflow(BinOp::Sub, _, _) => "attempt to subtract with overflow",
|
||||||
Overflow(BinOp::Mul) => "attempt to multiply with overflow",
|
Overflow(BinOp::Mul, _, _) => "attempt to multiply with overflow",
|
||||||
Overflow(BinOp::Div) => "attempt to divide with overflow",
|
Overflow(BinOp::Div, _, _) => "attempt to divide with overflow",
|
||||||
Overflow(BinOp::Rem) => "attempt to calculate the remainder with overflow",
|
Overflow(BinOp::Rem, _, _) => "attempt to calculate the remainder with overflow",
|
||||||
OverflowNeg => "attempt to negate with overflow",
|
OverflowNeg(_) => "attempt to negate with overflow",
|
||||||
Overflow(BinOp::Shr) => "attempt to shift right with overflow",
|
Overflow(BinOp::Shr, _, _) => "attempt to shift right with overflow",
|
||||||
Overflow(BinOp::Shl) => "attempt to shift left with overflow",
|
Overflow(BinOp::Shl, _, _) => "attempt to shift left with overflow",
|
||||||
Overflow(op) => bug!("{:?} cannot overflow", op),
|
Overflow(op, _, _) => bug!("{:?} cannot overflow", op),
|
||||||
DivisionByZero => "attempt to divide by zero",
|
DivisionByZero(_) => "attempt to divide by zero",
|
||||||
RemainderByZero => "attempt to calculate the remainder with a divisor of zero",
|
RemainderByZero(_) => "attempt to calculate the remainder with a divisor of zero",
|
||||||
ResumedAfterReturn(GeneratorKind::Gen) => "generator resumed after completion",
|
ResumedAfterReturn(GeneratorKind::Gen) => "generator resumed after completion",
|
||||||
ResumedAfterReturn(GeneratorKind::Async(_)) => "`async fn` resumed after completion",
|
ResumedAfterReturn(GeneratorKind::Async(_)) => "`async fn` resumed after completion",
|
||||||
ResumedAfterPanic(GeneratorKind::Gen) => "generator resumed after panicking",
|
ResumedAfterPanic(GeneratorKind::Gen) => "generator resumed after panicking",
|
||||||
@ -1546,12 +1548,54 @@ impl<O> AssertKind<O> {
|
|||||||
where
|
where
|
||||||
O: Debug,
|
O: Debug,
|
||||||
{
|
{
|
||||||
|
use AssertKind::*;
|
||||||
match self {
|
match self {
|
||||||
AssertKind::BoundsCheck { ref len, ref index } => write!(
|
BoundsCheck { ref len, ref index } => write!(
|
||||||
f,
|
f,
|
||||||
"\"index out of bounds: the len is {{}} but the index is {{}}\", {:?}, {:?}",
|
"\"index out of bounds: the len is {{}} but the index is {{}}\", {:?}, {:?}",
|
||||||
len, index
|
len, index
|
||||||
),
|
),
|
||||||
|
|
||||||
|
OverflowNeg(op) => {
|
||||||
|
write!(f, "\"attempt to negate {{}} which would overflow\", {:?}", op)
|
||||||
|
}
|
||||||
|
DivisionByZero(op) => write!(f, "\"attempt to divide {{}} by zero\", {:?}", op),
|
||||||
|
RemainderByZero(op) => write!(
|
||||||
|
f,
|
||||||
|
"\"attempt to calculate the remainder of {{}} with a divisor of zero\", {:?}",
|
||||||
|
op
|
||||||
|
),
|
||||||
|
Overflow(BinOp::Add, l, r) => write!(
|
||||||
|
f,
|
||||||
|
"\"attempt to compute `{{}} + {{}}` which would overflow\", {:?}, {:?}",
|
||||||
|
l, r
|
||||||
|
),
|
||||||
|
Overflow(BinOp::Sub, l, r) => write!(
|
||||||
|
f,
|
||||||
|
"\"attempt to compute `{{}} - {{}}` which would overflow\", {:?}, {:?}",
|
||||||
|
l, r
|
||||||
|
),
|
||||||
|
Overflow(BinOp::Mul, l, r) => write!(
|
||||||
|
f,
|
||||||
|
"\"attempt to compute `{{}} * {{}}` which would overflow\", {:?}, {:?}",
|
||||||
|
l, r
|
||||||
|
),
|
||||||
|
Overflow(BinOp::Div, l, r) => write!(
|
||||||
|
f,
|
||||||
|
"\"attempt to compute `{{}} / {{}}` which would overflow\", {:?}, {:?}",
|
||||||
|
l, r
|
||||||
|
),
|
||||||
|
Overflow(BinOp::Rem, l, r) => write!(
|
||||||
|
f,
|
||||||
|
"\"attempt to compute the remainder of `{{}} % {{}}` which would overflow\", {:?}, {:?}",
|
||||||
|
l, r
|
||||||
|
),
|
||||||
|
Overflow(BinOp::Shr, _, r) => {
|
||||||
|
write!(f, "\"attempt to shift right by {{}} which would overflow\", {:?}", r)
|
||||||
|
}
|
||||||
|
Overflow(BinOp::Shl, _, r) => {
|
||||||
|
write!(f, "\"attempt to shift left by {{}} which would overflow\", {:?}", r)
|
||||||
|
}
|
||||||
_ => write!(f, "\"{}\"", self.description()),
|
_ => write!(f, "\"{}\"", self.description()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1564,6 +1608,34 @@ impl<O: fmt::Debug> fmt::Debug for AssertKind<O> {
|
|||||||
BoundsCheck { ref len, ref index } => {
|
BoundsCheck { ref len, ref index } => {
|
||||||
write!(f, "index out of bounds: the len is {:?} but the index is {:?}", len, index)
|
write!(f, "index out of bounds: the len is {:?} but the index is {:?}", len, index)
|
||||||
}
|
}
|
||||||
|
OverflowNeg(op) => write!(f, "attempt to negate {:#?} which would overflow", op),
|
||||||
|
DivisionByZero(op) => write!(f, "attempt to divide {:#?} by zero", op),
|
||||||
|
RemainderByZero(op) => {
|
||||||
|
write!(f, "attempt to calculate the remainder of {:#?} with a divisor of zero", op)
|
||||||
|
}
|
||||||
|
Overflow(BinOp::Add, l, r) => {
|
||||||
|
write!(f, "attempt to compute `{:#?} + {:#?}` which would overflow", l, r)
|
||||||
|
}
|
||||||
|
Overflow(BinOp::Sub, l, r) => {
|
||||||
|
write!(f, "attempt to compute `{:#?} - {:#?}` which would overflow", l, r)
|
||||||
|
}
|
||||||
|
Overflow(BinOp::Mul, l, r) => {
|
||||||
|
write!(f, "attempt to compute `{:#?} * {:#?}` which would overflow", l, r)
|
||||||
|
}
|
||||||
|
Overflow(BinOp::Div, l, r) => {
|
||||||
|
write!(f, "attempt to compute `{:#?} / {:#?}` which would overflow", l, r)
|
||||||
|
}
|
||||||
|
Overflow(BinOp::Rem, l, r) => write!(
|
||||||
|
f,
|
||||||
|
"attempt to compute the remainder of `{:#?} % {:#?}` which would overflow",
|
||||||
|
l, r
|
||||||
|
),
|
||||||
|
Overflow(BinOp::Shr, _, r) => {
|
||||||
|
write!(f, "attempt to shift right by {:#?} which would overflow", r)
|
||||||
|
}
|
||||||
|
Overflow(BinOp::Shl, _, r) => {
|
||||||
|
write!(f, "attempt to shift left by {:#?} which would overflow", r)
|
||||||
|
}
|
||||||
_ => write!(f, "{}", self.description()),
|
_ => write!(f, "{}", self.description()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -58,15 +58,14 @@ impl<'tcx> TypeFoldable<'tcx> for Terminator<'tcx> {
|
|||||||
Assert { ref cond, expected, ref msg, target, cleanup } => {
|
Assert { ref cond, expected, ref msg, target, cleanup } => {
|
||||||
use AssertKind::*;
|
use AssertKind::*;
|
||||||
let msg = match msg {
|
let msg = match msg {
|
||||||
BoundsCheck { ref len, ref index } => {
|
BoundsCheck { len, index } => {
|
||||||
BoundsCheck { len: len.fold_with(folder), index: index.fold_with(folder) }
|
BoundsCheck { len: len.fold_with(folder), index: index.fold_with(folder) }
|
||||||
}
|
}
|
||||||
Overflow(_)
|
Overflow(op, l, r) => Overflow(*op, l.fold_with(folder), r.fold_with(folder)),
|
||||||
| OverflowNeg
|
OverflowNeg(op) => OverflowNeg(op.fold_with(folder)),
|
||||||
| DivisionByZero
|
DivisionByZero(op) => DivisionByZero(op.fold_with(folder)),
|
||||||
| RemainderByZero
|
RemainderByZero(op) => RemainderByZero(op.fold_with(folder)),
|
||||||
| ResumedAfterReturn(_)
|
ResumedAfterReturn(_) | ResumedAfterPanic(_) => msg.clone(),
|
||||||
| ResumedAfterPanic(_) => msg.clone(),
|
|
||||||
};
|
};
|
||||||
Assert { cond: cond.fold_with(folder), expected, msg, target, cleanup }
|
Assert { cond: cond.fold_with(folder), expected, msg, target, cleanup }
|
||||||
}
|
}
|
||||||
@ -117,12 +116,11 @@ impl<'tcx> TypeFoldable<'tcx> for Terminator<'tcx> {
|
|||||||
BoundsCheck { ref len, ref index } => {
|
BoundsCheck { ref len, ref index } => {
|
||||||
len.visit_with(visitor) || index.visit_with(visitor)
|
len.visit_with(visitor) || index.visit_with(visitor)
|
||||||
}
|
}
|
||||||
Overflow(_)
|
Overflow(_, l, r) => l.visit_with(visitor) || r.visit_with(visitor),
|
||||||
| OverflowNeg
|
OverflowNeg(op) | DivisionByZero(op) | RemainderByZero(op) => {
|
||||||
| DivisionByZero
|
op.visit_with(visitor)
|
||||||
| RemainderByZero
|
}
|
||||||
| ResumedAfterReturn(_)
|
ResumedAfterReturn(_) | ResumedAfterPanic(_) => false,
|
||||||
| ResumedAfterPanic(_) => false,
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
false
|
false
|
||||||
|
@ -571,7 +571,13 @@ macro_rules! make_mir_visitor {
|
|||||||
self.visit_operand(len, location);
|
self.visit_operand(len, location);
|
||||||
self.visit_operand(index, location);
|
self.visit_operand(index, location);
|
||||||
}
|
}
|
||||||
Overflow(_) | OverflowNeg | DivisionByZero | RemainderByZero |
|
Overflow(_, l, r) => {
|
||||||
|
self.visit_operand(l, location);
|
||||||
|
self.visit_operand(r, location);
|
||||||
|
}
|
||||||
|
OverflowNeg(op) | DivisionByZero(op) | RemainderByZero(op) => {
|
||||||
|
self.visit_operand(op, location);
|
||||||
|
}
|
||||||
ResumedAfterReturn(_) | ResumedAfterPanic(_) => {
|
ResumedAfterReturn(_) | ResumedAfterPanic(_) => {
|
||||||
// Nothing to visit
|
// Nothing to visit
|
||||||
}
|
}
|
||||||
|
111
src/librustc_middle/ty/consts.rs
Normal file
111
src/librustc_middle/ty/consts.rs
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
use crate::mir::interpret::truncate;
|
||||||
|
use rustc_target::abi::Size;
|
||||||
|
|
||||||
|
#[derive(Copy, Clone)]
|
||||||
|
/// A type for representing any integer. Only used for printing.
|
||||||
|
// FIXME: Use this for the integer-tree representation needed for type level ints and
|
||||||
|
// const generics?
|
||||||
|
pub struct ConstInt {
|
||||||
|
/// Number of bytes of the integer. Only 1, 2, 4, 8, 16 are legal values.
|
||||||
|
size: u8,
|
||||||
|
/// Whether the value is of a signed integer type.
|
||||||
|
signed: bool,
|
||||||
|
/// Whether the value is a `usize` or `isize` type.
|
||||||
|
is_ptr_sized_integral: bool,
|
||||||
|
/// Raw memory of the integer. All bytes beyond the `size` are unused and must be zero.
|
||||||
|
raw: u128,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl ConstInt {
|
||||||
|
pub fn new(raw: u128, size: Size, signed: bool, is_ptr_sized_integral: bool) -> Self {
|
||||||
|
assert!(raw <= truncate(u128::MAX, size));
|
||||||
|
Self { raw, size: size.bytes() as u8, signed, is_ptr_sized_integral }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl std::fmt::Debug for ConstInt {
|
||||||
|
fn fmt(&self, fmt: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
|
let Self { size, signed, raw, is_ptr_sized_integral } = *self;
|
||||||
|
if signed {
|
||||||
|
let bit_size = size * 8;
|
||||||
|
let min = 1u128 << (bit_size - 1);
|
||||||
|
let max = min - 1;
|
||||||
|
if raw == min {
|
||||||
|
match (size, is_ptr_sized_integral) {
|
||||||
|
(_, true) => write!(fmt, "isize::MIN"),
|
||||||
|
(1, _) => write!(fmt, "i8::MIN"),
|
||||||
|
(2, _) => write!(fmt, "i16::MIN"),
|
||||||
|
(4, _) => write!(fmt, "i32::MIN"),
|
||||||
|
(8, _) => write!(fmt, "i64::MIN"),
|
||||||
|
(16, _) => write!(fmt, "i128::MIN"),
|
||||||
|
_ => bug!("ConstInt 0x{:x} with size = {} and signed = {}", raw, size, signed),
|
||||||
|
}
|
||||||
|
} else if raw == max {
|
||||||
|
match (size, is_ptr_sized_integral) {
|
||||||
|
(_, true) => write!(fmt, "isize::MAX"),
|
||||||
|
(1, _) => write!(fmt, "i8::MAX"),
|
||||||
|
(2, _) => write!(fmt, "i16::MAX"),
|
||||||
|
(4, _) => write!(fmt, "i32::MAX"),
|
||||||
|
(8, _) => write!(fmt, "i64::MAX"),
|
||||||
|
(16, _) => write!(fmt, "i128::MAX"),
|
||||||
|
_ => bug!("ConstInt 0x{:x} with size = {} and signed = {}", raw, size, signed),
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
match size {
|
||||||
|
1 => write!(fmt, "{}", raw as i8)?,
|
||||||
|
2 => write!(fmt, "{}", raw as i16)?,
|
||||||
|
4 => write!(fmt, "{}", raw as i32)?,
|
||||||
|
8 => write!(fmt, "{}", raw as i64)?,
|
||||||
|
16 => write!(fmt, "{}", raw as i128)?,
|
||||||
|
_ => bug!("ConstInt 0x{:x} with size = {} and signed = {}", raw, size, signed),
|
||||||
|
}
|
||||||
|
if fmt.alternate() {
|
||||||
|
match (size, is_ptr_sized_integral) {
|
||||||
|
(_, true) => write!(fmt, "_isize")?,
|
||||||
|
(1, _) => write!(fmt, "_i8")?,
|
||||||
|
(2, _) => write!(fmt, "_i16")?,
|
||||||
|
(4, _) => write!(fmt, "_i32")?,
|
||||||
|
(8, _) => write!(fmt, "_i64")?,
|
||||||
|
(16, _) => write!(fmt, "_i128")?,
|
||||||
|
_ => bug!(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
let max = truncate(u128::MAX, Size::from_bytes(size));
|
||||||
|
if raw == max {
|
||||||
|
match (size, is_ptr_sized_integral) {
|
||||||
|
(_, true) => write!(fmt, "usize::MAX"),
|
||||||
|
(1, _) => write!(fmt, "u8::MAX"),
|
||||||
|
(2, _) => write!(fmt, "u16::MAX"),
|
||||||
|
(4, _) => write!(fmt, "u32::MAX"),
|
||||||
|
(8, _) => write!(fmt, "u64::MAX"),
|
||||||
|
(16, _) => write!(fmt, "u128::MAX"),
|
||||||
|
_ => bug!("ConstInt 0x{:x} with size = {} and signed = {}", raw, size, signed),
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
match size {
|
||||||
|
1 => write!(fmt, "{}", raw as u8)?,
|
||||||
|
2 => write!(fmt, "{}", raw as u16)?,
|
||||||
|
4 => write!(fmt, "{}", raw as u32)?,
|
||||||
|
8 => write!(fmt, "{}", raw as u64)?,
|
||||||
|
16 => write!(fmt, "{}", raw as u128)?,
|
||||||
|
_ => bug!("ConstInt 0x{:x} with size = {} and signed = {}", raw, size, signed),
|
||||||
|
}
|
||||||
|
if fmt.alternate() {
|
||||||
|
match (size, is_ptr_sized_integral) {
|
||||||
|
(_, true) => write!(fmt, "_usize")?,
|
||||||
|
(1, _) => write!(fmt, "_u8")?,
|
||||||
|
(2, _) => write!(fmt, "_u16")?,
|
||||||
|
(4, _) => write!(fmt, "_u32")?,
|
||||||
|
(8, _) => write!(fmt, "_u64")?,
|
||||||
|
(16, _) => write!(fmt, "_u128")?,
|
||||||
|
_ => bug!(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -84,6 +84,8 @@ pub use self::trait_def::TraitDef;
|
|||||||
|
|
||||||
pub use self::query::queries;
|
pub use self::query::queries;
|
||||||
|
|
||||||
|
pub use self::consts::ConstInt;
|
||||||
|
|
||||||
pub mod adjustment;
|
pub mod adjustment;
|
||||||
pub mod binding;
|
pub mod binding;
|
||||||
pub mod cast;
|
pub mod cast;
|
||||||
@ -108,6 +110,7 @@ pub mod trait_def;
|
|||||||
pub mod util;
|
pub mod util;
|
||||||
pub mod walk;
|
pub mod walk;
|
||||||
|
|
||||||
|
mod consts;
|
||||||
mod context;
|
mod context;
|
||||||
mod diagnostics;
|
mod diagnostics;
|
||||||
mod instance;
|
mod instance;
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
use crate::middle::cstore::{ExternCrate, ExternCrateSource};
|
use crate::middle::cstore::{ExternCrate, ExternCrateSource};
|
||||||
use crate::mir::interpret::{
|
use crate::mir::interpret::{AllocId, ConstValue, GlobalAlloc, Pointer, Scalar};
|
||||||
sign_extend, truncate, AllocId, ConstValue, GlobalAlloc, Pointer, Scalar,
|
|
||||||
};
|
|
||||||
use crate::ty::layout::IntegerExt;
|
use crate::ty::layout::IntegerExt;
|
||||||
use crate::ty::subst::{GenericArg, GenericArgKind, Subst};
|
use crate::ty::subst::{GenericArg, GenericArgKind, Subst};
|
||||||
use crate::ty::{self, DefIdTree, ParamConst, Ty, TyCtxt, TypeFoldable};
|
use crate::ty::{self, ConstInt, DefIdTree, ParamConst, Ty, TyCtxt, TypeFoldable};
|
||||||
use rustc_apfloat::ieee::{Double, Single};
|
use rustc_apfloat::ieee::{Double, Single};
|
||||||
use rustc_apfloat::Float;
|
use rustc_apfloat::Float;
|
||||||
use rustc_ast::ast;
|
use rustc_ast::ast;
|
||||||
@ -981,35 +979,14 @@ pub trait PrettyPrinter<'tcx>:
|
|||||||
}
|
}
|
||||||
// Int
|
// Int
|
||||||
(Scalar::Raw { data, .. }, ty::Uint(ui)) => {
|
(Scalar::Raw { data, .. }, ty::Uint(ui)) => {
|
||||||
let bit_size = Integer::from_attr(&self.tcx(), UnsignedInt(*ui)).size();
|
let size = Integer::from_attr(&self.tcx(), UnsignedInt(*ui)).size();
|
||||||
let max = truncate(u128::MAX, bit_size);
|
let int = ConstInt::new(data, size, false, ty.is_ptr_sized_integral());
|
||||||
|
if print_ty { p!(write("{:#?}", int)) } else { p!(write("{:?}", int)) }
|
||||||
let ui_str = ui.name_str();
|
|
||||||
if data == max {
|
|
||||||
p!(write("{}::MAX", ui_str))
|
|
||||||
} else {
|
|
||||||
if print_ty { p!(write("{}{}", data, ui_str)) } else { p!(write("{}", data)) }
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
(Scalar::Raw { data, .. }, ty::Int(i)) => {
|
(Scalar::Raw { data, .. }, ty::Int(i)) => {
|
||||||
let size = Integer::from_attr(&self.tcx(), SignedInt(*i)).size();
|
let size = Integer::from_attr(&self.tcx(), SignedInt(*i)).size();
|
||||||
let bit_size = size.bits() as u128;
|
let int = ConstInt::new(data, size, true, ty.is_ptr_sized_integral());
|
||||||
let min = 1u128 << (bit_size - 1);
|
if print_ty { p!(write("{:#?}", int)) } else { p!(write("{:?}", int)) }
|
||||||
let max = min - 1;
|
|
||||||
|
|
||||||
let i_str = i.name_str();
|
|
||||||
match data {
|
|
||||||
d if d == min => p!(write("{}::MIN", i_str)),
|
|
||||||
d if d == max => p!(write("{}::MAX", i_str)),
|
|
||||||
_ => {
|
|
||||||
let data = sign_extend(data, size) as i128;
|
|
||||||
if print_ty {
|
|
||||||
p!(write("{}{}", data, i_str))
|
|
||||||
} else {
|
|
||||||
p!(write("{}", data))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// Char
|
// Char
|
||||||
(Scalar::Raw { data, .. }, ty::Char) if char::from_u32(data as u32).is_some() => {
|
(Scalar::Raw { data, .. }, ty::Char) if char::from_u32(data as u32).is_some() => {
|
||||||
|
@ -2,6 +2,7 @@ use std::error::Error;
|
|||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
use rustc_middle::mir::AssertKind;
|
use rustc_middle::mir::AssertKind;
|
||||||
|
use rustc_middle::ty::ConstInt;
|
||||||
use rustc_span::{Span, Symbol};
|
use rustc_span::{Span, Symbol};
|
||||||
|
|
||||||
use super::InterpCx;
|
use super::InterpCx;
|
||||||
@ -13,7 +14,7 @@ pub enum ConstEvalErrKind {
|
|||||||
NeedsRfc(String),
|
NeedsRfc(String),
|
||||||
ConstAccessesStatic,
|
ConstAccessesStatic,
|
||||||
ModifiedGlobal,
|
ModifiedGlobal,
|
||||||
AssertFailure(AssertKind<u64>),
|
AssertFailure(AssertKind<ConstInt>),
|
||||||
Panic { msg: Symbol, line: u32, col: u32, file: Symbol },
|
Panic { msg: Symbol, line: u32, col: u32, file: Symbol },
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -248,25 +248,19 @@ impl<'mir, 'tcx> interpret::Machine<'mir, 'tcx> for CompileTimeInterpreter<'mir,
|
|||||||
_unwind: Option<mir::BasicBlock>,
|
_unwind: Option<mir::BasicBlock>,
|
||||||
) -> InterpResult<'tcx> {
|
) -> InterpResult<'tcx> {
|
||||||
use rustc_middle::mir::AssertKind::*;
|
use rustc_middle::mir::AssertKind::*;
|
||||||
// Convert `AssertKind<Operand>` to `AssertKind<u64>`.
|
// Convert `AssertKind<Operand>` to `AssertKind<Scalar>`.
|
||||||
|
let eval_to_int =
|
||||||
|
|op| ecx.read_immediate(ecx.eval_operand(op, None)?).map(|x| x.to_const_int());
|
||||||
let err = match msg {
|
let err = match msg {
|
||||||
BoundsCheck { ref len, ref index } => {
|
BoundsCheck { ref len, ref index } => {
|
||||||
let len = ecx
|
let len = eval_to_int(len)?;
|
||||||
.read_immediate(ecx.eval_operand(len, None)?)
|
let index = eval_to_int(index)?;
|
||||||
.expect("can't eval len")
|
|
||||||
.to_scalar()?
|
|
||||||
.to_machine_usize(&*ecx)?;
|
|
||||||
let index = ecx
|
|
||||||
.read_immediate(ecx.eval_operand(index, None)?)
|
|
||||||
.expect("can't eval index")
|
|
||||||
.to_scalar()?
|
|
||||||
.to_machine_usize(&*ecx)?;
|
|
||||||
BoundsCheck { len, index }
|
BoundsCheck { len, index }
|
||||||
}
|
}
|
||||||
Overflow(op) => Overflow(*op),
|
Overflow(op, l, r) => Overflow(*op, eval_to_int(l)?, eval_to_int(r)?),
|
||||||
OverflowNeg => OverflowNeg,
|
OverflowNeg(op) => OverflowNeg(eval_to_int(op)?),
|
||||||
DivisionByZero => DivisionByZero,
|
DivisionByZero(op) => DivisionByZero(eval_to_int(op)?),
|
||||||
RemainderByZero => RemainderByZero,
|
RemainderByZero(op) => RemainderByZero(eval_to_int(op)?),
|
||||||
ResumedAfterReturn(generator_kind) => ResumedAfterReturn(*generator_kind),
|
ResumedAfterReturn(generator_kind) => ResumedAfterReturn(*generator_kind),
|
||||||
ResumedAfterPanic(generator_kind) => ResumedAfterPanic(*generator_kind),
|
ResumedAfterPanic(generator_kind) => ResumedAfterPanic(*generator_kind),
|
||||||
};
|
};
|
||||||
|
@ -9,7 +9,7 @@ use rustc_hir::def::Namespace;
|
|||||||
use rustc_macros::HashStable;
|
use rustc_macros::HashStable;
|
||||||
use rustc_middle::ty::layout::{PrimitiveExt, TyAndLayout};
|
use rustc_middle::ty::layout::{PrimitiveExt, TyAndLayout};
|
||||||
use rustc_middle::ty::print::{FmtPrinter, PrettyPrinter, Printer};
|
use rustc_middle::ty::print::{FmtPrinter, PrettyPrinter, Printer};
|
||||||
use rustc_middle::ty::Ty;
|
use rustc_middle::ty::{ConstInt, Ty};
|
||||||
use rustc_middle::{mir, ty};
|
use rustc_middle::{mir, ty};
|
||||||
use rustc_target::abi::{Abi, HasDataLayout, LayoutOf, Size, TagEncoding};
|
use rustc_target::abi::{Abi, HasDataLayout, LayoutOf, Size, TagEncoding};
|
||||||
use rustc_target::abi::{VariantIdx, Variants};
|
use rustc_target::abi::{VariantIdx, Variants};
|
||||||
@ -207,6 +207,19 @@ impl<'tcx, Tag: Copy> ImmTy<'tcx, Tag> {
|
|||||||
pub fn from_int(i: impl Into<i128>, layout: TyAndLayout<'tcx>) -> Self {
|
pub fn from_int(i: impl Into<i128>, layout: TyAndLayout<'tcx>) -> Self {
|
||||||
Self::from_scalar(Scalar::from_int(i, layout.size), layout)
|
Self::from_scalar(Scalar::from_int(i, layout.size), layout)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
pub fn to_const_int(self) -> ConstInt {
|
||||||
|
assert!(self.layout.ty.is_integral());
|
||||||
|
ConstInt::new(
|
||||||
|
self.to_scalar()
|
||||||
|
.expect("to_const_int doesn't work on scalar pairs")
|
||||||
|
.assert_bits(self.layout.size),
|
||||||
|
self.layout.size,
|
||||||
|
self.layout.ty.is_signed(),
|
||||||
|
self.layout.ty.is_ptr_sized_integral(),
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
||||||
|
@ -19,7 +19,7 @@ use rustc_middle::mir::{
|
|||||||
};
|
};
|
||||||
use rustc_middle::ty::layout::{HasTyCtxt, LayoutError, TyAndLayout};
|
use rustc_middle::ty::layout::{HasTyCtxt, LayoutError, TyAndLayout};
|
||||||
use rustc_middle::ty::subst::{InternalSubsts, Subst};
|
use rustc_middle::ty::subst::{InternalSubsts, Subst};
|
||||||
use rustc_middle::ty::{self, ConstKind, Instance, ParamEnv, Ty, TyCtxt, TypeFoldable};
|
use rustc_middle::ty::{self, ConstInt, ConstKind, Instance, ParamEnv, Ty, TyCtxt, TypeFoldable};
|
||||||
use rustc_session::lint;
|
use rustc_session::lint;
|
||||||
use rustc_span::{def_id::DefId, Span};
|
use rustc_span::{def_id::DefId, Span};
|
||||||
use rustc_target::abi::{HasDataLayout, LayoutOf, Size, TargetDataLayout};
|
use rustc_target::abi::{HasDataLayout, LayoutOf, Size, TargetDataLayout};
|
||||||
@ -449,7 +449,7 @@ impl<'mir, 'tcx> ConstPropagator<'mir, 'tcx> {
|
|||||||
lint: &'static lint::Lint,
|
lint: &'static lint::Lint,
|
||||||
source_info: SourceInfo,
|
source_info: SourceInfo,
|
||||||
message: &'static str,
|
message: &'static str,
|
||||||
panic: AssertKind<u64>,
|
panic: AssertKind<ConstInt>,
|
||||||
) -> Option<()> {
|
) -> Option<()> {
|
||||||
let lint_root = self.lint_root(source_info)?;
|
let lint_root = self.lint_root(source_info)?;
|
||||||
self.tcx.struct_span_lint_hir(lint, lint_root, source_info.span, |lint| {
|
self.tcx.struct_span_lint_hir(lint, lint_root, source_info.span, |lint| {
|
||||||
@ -466,10 +466,10 @@ impl<'mir, 'tcx> ConstPropagator<'mir, 'tcx> {
|
|||||||
arg: &Operand<'tcx>,
|
arg: &Operand<'tcx>,
|
||||||
source_info: SourceInfo,
|
source_info: SourceInfo,
|
||||||
) -> Option<()> {
|
) -> Option<()> {
|
||||||
if self.use_ecx(|this| {
|
if let (val, true) = self.use_ecx(|this| {
|
||||||
let val = this.ecx.read_immediate(this.ecx.eval_operand(arg, None)?)?;
|
let val = this.ecx.read_immediate(this.ecx.eval_operand(arg, None)?)?;
|
||||||
let (_res, overflow, _ty) = this.ecx.overflowing_unary_op(op, val)?;
|
let (_res, overflow, _ty) = this.ecx.overflowing_unary_op(op, val)?;
|
||||||
Ok(overflow)
|
Ok((val, overflow))
|
||||||
})? {
|
})? {
|
||||||
// `AssertKind` only has an `OverflowNeg` variant, so make sure that is
|
// `AssertKind` only has an `OverflowNeg` variant, so make sure that is
|
||||||
// appropriate to use.
|
// appropriate to use.
|
||||||
@ -478,7 +478,7 @@ impl<'mir, 'tcx> ConstPropagator<'mir, 'tcx> {
|
|||||||
lint::builtin::ARITHMETIC_OVERFLOW,
|
lint::builtin::ARITHMETIC_OVERFLOW,
|
||||||
source_info,
|
source_info,
|
||||||
"this arithmetic operation will overflow",
|
"this arithmetic operation will overflow",
|
||||||
AssertKind::OverflowNeg,
|
AssertKind::OverflowNeg(val.to_const_int()),
|
||||||
)?;
|
)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -494,29 +494,44 @@ impl<'mir, 'tcx> ConstPropagator<'mir, 'tcx> {
|
|||||||
) -> Option<()> {
|
) -> Option<()> {
|
||||||
let r =
|
let r =
|
||||||
self.use_ecx(|this| this.ecx.read_immediate(this.ecx.eval_operand(right, None)?))?;
|
self.use_ecx(|this| this.ecx.read_immediate(this.ecx.eval_operand(right, None)?))?;
|
||||||
|
let l = self.use_ecx(|this| this.ecx.read_immediate(this.ecx.eval_operand(left, None)?));
|
||||||
// Check for exceeding shifts *even if* we cannot evaluate the LHS.
|
// Check for exceeding shifts *even if* we cannot evaluate the LHS.
|
||||||
if op == BinOp::Shr || op == BinOp::Shl {
|
if op == BinOp::Shr || op == BinOp::Shl {
|
||||||
// We need the type of the LHS. We cannot use `place_layout` as that is the type
|
// We need the type of the LHS. We cannot use `place_layout` as that is the type
|
||||||
// of the result, which for checked binops is not the same!
|
// of the result, which for checked binops is not the same!
|
||||||
let left_ty = left.ty(&self.local_decls, self.tcx);
|
let left_ty = left.ty(&self.local_decls, self.tcx);
|
||||||
let left_size_bits = self.ecx.layout_of(left_ty).ok()?.size.bits();
|
let left_size = self.ecx.layout_of(left_ty).ok()?.size;
|
||||||
let right_size = r.layout.size;
|
let right_size = r.layout.size;
|
||||||
let r_bits = r.to_scalar().ok();
|
let r_bits = r.to_scalar().ok();
|
||||||
// This is basically `force_bits`.
|
// This is basically `force_bits`.
|
||||||
let r_bits = r_bits.and_then(|r| r.to_bits_or_ptr(right_size, &self.tcx).ok());
|
let r_bits = r_bits.and_then(|r| r.to_bits_or_ptr(right_size, &self.tcx).ok());
|
||||||
if r_bits.map_or(false, |b| b >= left_size_bits as u128) {
|
if r_bits.map_or(false, |b| b >= left_size.bits() as u128) {
|
||||||
self.report_assert_as_lint(
|
self.report_assert_as_lint(
|
||||||
lint::builtin::ARITHMETIC_OVERFLOW,
|
lint::builtin::ARITHMETIC_OVERFLOW,
|
||||||
source_info,
|
source_info,
|
||||||
"this arithmetic operation will overflow",
|
"this arithmetic operation will overflow",
|
||||||
AssertKind::Overflow(op),
|
AssertKind::Overflow(
|
||||||
|
op,
|
||||||
|
match l {
|
||||||
|
Some(l) => l.to_const_int(),
|
||||||
|
// Invent a dummy value, the diagnostic ignores it anyway
|
||||||
|
None => ConstInt::new(
|
||||||
|
1,
|
||||||
|
left_size,
|
||||||
|
left_ty.is_signed(),
|
||||||
|
left_ty.is_ptr_sized_integral(),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
r.to_const_int(),
|
||||||
|
),
|
||||||
)?;
|
)?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let l = l?;
|
||||||
|
|
||||||
// The remaining operators are handled through `overflowing_binary_op`.
|
// The remaining operators are handled through `overflowing_binary_op`.
|
||||||
if self.use_ecx(|this| {
|
if self.use_ecx(|this| {
|
||||||
let l = this.ecx.read_immediate(this.ecx.eval_operand(left, None)?)?;
|
|
||||||
let (_res, overflow, _ty) = this.ecx.overflowing_binary_op(op, l, r)?;
|
let (_res, overflow, _ty) = this.ecx.overflowing_binary_op(op, l, r)?;
|
||||||
Ok(overflow)
|
Ok(overflow)
|
||||||
})? {
|
})? {
|
||||||
@ -524,7 +539,7 @@ impl<'mir, 'tcx> ConstPropagator<'mir, 'tcx> {
|
|||||||
lint::builtin::ARITHMETIC_OVERFLOW,
|
lint::builtin::ARITHMETIC_OVERFLOW,
|
||||||
source_info,
|
source_info,
|
||||||
"this arithmetic operation will overflow",
|
"this arithmetic operation will overflow",
|
||||||
AssertKind::Overflow(op),
|
AssertKind::Overflow(op, l.to_const_int(), r.to_const_int()),
|
||||||
)?;
|
)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -949,31 +964,26 @@ impl<'mir, 'tcx> MutVisitor<'tcx> for ConstPropagator<'mir, 'tcx> {
|
|||||||
}
|
}
|
||||||
Operand::Constant(_) => {}
|
Operand::Constant(_) => {}
|
||||||
}
|
}
|
||||||
|
let mut eval_to_int = |op| {
|
||||||
|
let op = self
|
||||||
|
.eval_operand(op, source_info)
|
||||||
|
.expect("if we got here, it must be const");
|
||||||
|
self.ecx.read_immediate(op).unwrap().to_const_int()
|
||||||
|
};
|
||||||
let msg = match msg {
|
let msg = match msg {
|
||||||
AssertKind::DivisionByZero => AssertKind::DivisionByZero,
|
AssertKind::DivisionByZero(op) => {
|
||||||
AssertKind::RemainderByZero => AssertKind::RemainderByZero,
|
AssertKind::DivisionByZero(eval_to_int(op))
|
||||||
|
}
|
||||||
|
AssertKind::RemainderByZero(op) => {
|
||||||
|
AssertKind::RemainderByZero(eval_to_int(op))
|
||||||
|
}
|
||||||
AssertKind::BoundsCheck { ref len, ref index } => {
|
AssertKind::BoundsCheck { ref len, ref index } => {
|
||||||
let len =
|
let len = eval_to_int(len);
|
||||||
self.eval_operand(len, source_info).expect("len must be const");
|
let index = eval_to_int(index);
|
||||||
let len = self
|
|
||||||
.ecx
|
|
||||||
.read_scalar(len)
|
|
||||||
.unwrap()
|
|
||||||
.to_machine_usize(&self.tcx)
|
|
||||||
.unwrap();
|
|
||||||
let index = self
|
|
||||||
.eval_operand(index, source_info)
|
|
||||||
.expect("index must be const");
|
|
||||||
let index = self
|
|
||||||
.ecx
|
|
||||||
.read_scalar(index)
|
|
||||||
.unwrap()
|
|
||||||
.to_machine_usize(&self.tcx)
|
|
||||||
.unwrap();
|
|
||||||
AssertKind::BoundsCheck { len, index }
|
AssertKind::BoundsCheck { len, index }
|
||||||
}
|
}
|
||||||
// Overflow is are already covered by checks on the binary operators.
|
// Overflow is are already covered by checks on the binary operators.
|
||||||
AssertKind::Overflow(_) | AssertKind::OverflowNeg => return,
|
AssertKind::Overflow(..) | AssertKind::OverflowNeg(_) => return,
|
||||||
// Need proper const propagator for these.
|
// Need proper const propagator for these.
|
||||||
_ => return,
|
_ => return,
|
||||||
};
|
};
|
||||||
|
@ -87,7 +87,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
|
|||||||
block,
|
block,
|
||||||
Operand::Move(is_min),
|
Operand::Move(is_min),
|
||||||
false,
|
false,
|
||||||
AssertKind::OverflowNeg,
|
AssertKind::OverflowNeg(arg.to_copy()),
|
||||||
expr_span,
|
expr_span,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -288,7 +288,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
|
|||||||
block,
|
block,
|
||||||
source_info,
|
source_info,
|
||||||
result_value,
|
result_value,
|
||||||
Rvalue::CheckedBinaryOp(op, lhs, rhs),
|
Rvalue::CheckedBinaryOp(op, lhs.to_copy(), rhs.to_copy()),
|
||||||
);
|
);
|
||||||
let val_fld = Field::new(0);
|
let val_fld = Field::new(0);
|
||||||
let of_fld = Field::new(1);
|
let of_fld = Field::new(1);
|
||||||
@ -297,7 +297,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
|
|||||||
let val = tcx.mk_place_field(result_value, val_fld, ty);
|
let val = tcx.mk_place_field(result_value, val_fld, ty);
|
||||||
let of = tcx.mk_place_field(result_value, of_fld, bool_ty);
|
let of = tcx.mk_place_field(result_value, of_fld, bool_ty);
|
||||||
|
|
||||||
let err = AssertKind::Overflow(op);
|
let err = AssertKind::Overflow(op, lhs, rhs);
|
||||||
|
|
||||||
block = self.assert(block, Operand::Move(of), false, err, span);
|
block = self.assert(block, Operand::Move(of), false, err, span);
|
||||||
|
|
||||||
@ -308,11 +308,11 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
|
|||||||
// and 2. there are two possible failure cases, divide-by-zero and overflow.
|
// and 2. there are two possible failure cases, divide-by-zero and overflow.
|
||||||
|
|
||||||
let zero_err = if op == BinOp::Div {
|
let zero_err = if op == BinOp::Div {
|
||||||
AssertKind::DivisionByZero
|
AssertKind::DivisionByZero(lhs.to_copy())
|
||||||
} else {
|
} else {
|
||||||
AssertKind::RemainderByZero
|
AssertKind::RemainderByZero(lhs.to_copy())
|
||||||
};
|
};
|
||||||
let overflow_err = AssertKind::Overflow(op);
|
let overflow_err = AssertKind::Overflow(op, lhs.to_copy(), rhs.to_copy());
|
||||||
|
|
||||||
// Check for / 0
|
// Check for / 0
|
||||||
let is_zero = self.temp(bool_ty, span);
|
let is_zero = self.temp(bool_ty, span);
|
||||||
|
@ -481,8 +481,8 @@ pub fn print_const(cx: &DocContext<'_>, n: &'tcx ty::Const<'_>) -> String {
|
|||||||
_ => {
|
_ => {
|
||||||
let mut s = n.to_string();
|
let mut s = n.to_string();
|
||||||
// array lengths are obviously usize
|
// array lengths are obviously usize
|
||||||
if s.ends_with("usize") {
|
if s.ends_with("_usize") {
|
||||||
let n = s.len() - "usize".len();
|
let n = s.len() - "_usize".len();
|
||||||
s.truncate(n);
|
s.truncate(n);
|
||||||
if s.ends_with(": ") {
|
if s.ends_with(": ") {
|
||||||
let n = s.len() - ": ".len();
|
let n = s.len() - ": ".len();
|
||||||
|
@ -128,7 +128,7 @@ fn address_of_reborrow() -> () {
|
|||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/address-of.rs:4:9: 4:10
|
StorageLive(_1); // scope 0 at $DIR/address-of.rs:4:9: 4:10
|
||||||
StorageLive(_2); // scope 0 at $DIR/address-of.rs:4:14: 4:21
|
StorageLive(_2); // scope 0 at $DIR/address-of.rs:4:14: 4:21
|
||||||
_2 = [const 0i32; 10]; // scope 0 at $DIR/address-of.rs:4:14: 4:21
|
_2 = [const 0_i32; 10]; // scope 0 at $DIR/address-of.rs:4:14: 4:21
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -139,7 +139,7 @@ fn address_of_reborrow() -> () {
|
|||||||
FakeRead(ForLet, _1); // scope 0 at $DIR/address-of.rs:4:9: 4:10
|
FakeRead(ForLet, _1); // scope 0 at $DIR/address-of.rs:4:9: 4:10
|
||||||
StorageLive(_3); // scope 1 at $DIR/address-of.rs:5:9: 5:14
|
StorageLive(_3); // scope 1 at $DIR/address-of.rs:5:9: 5:14
|
||||||
StorageLive(_4); // scope 1 at $DIR/address-of.rs:5:22: 5:29
|
StorageLive(_4); // scope 1 at $DIR/address-of.rs:5:22: 5:29
|
||||||
_4 = [const 0i32; 10]; // scope 1 at $DIR/address-of.rs:5:22: 5:29
|
_4 = [const 0_i32; 10]; // scope 1 at $DIR/address-of.rs:5:22: 5:29
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
|
@ -25,7 +25,7 @@ fn main() -> () {
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/array-index-is-temporary.rs:13:9: 13:14
|
StorageLive(_1); // scope 0 at $DIR/array-index-is-temporary.rs:13:9: 13:14
|
||||||
_1 = [const 42u32, const 43u32, const 44u32]; // scope 0 at $DIR/array-index-is-temporary.rs:13:17: 13:29
|
_1 = [const 42_u32, const 43_u32, const 44_u32]; // scope 0 at $DIR/array-index-is-temporary.rs:13:17: 13:29
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -45,7 +45,7 @@ fn main() -> () {
|
|||||||
// + span: $DIR/array-index-is-temporary.rs:13:26: 13:28
|
// + span: $DIR/array-index-is-temporary.rs:13:26: 13:28
|
||||||
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002c)) }
|
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002c)) }
|
||||||
StorageLive(_2); // scope 1 at $DIR/array-index-is-temporary.rs:14:9: 14:14
|
StorageLive(_2); // scope 1 at $DIR/array-index-is-temporary.rs:14:9: 14:14
|
||||||
_2 = const 1usize; // scope 1 at $DIR/array-index-is-temporary.rs:14:17: 14:18
|
_2 = const 1_usize; // scope 1 at $DIR/array-index-is-temporary.rs:14:17: 14:18
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
@ -25,7 +25,7 @@ fn main() -> () {
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/array-index-is-temporary.rs:13:9: 13:14
|
StorageLive(_1); // scope 0 at $DIR/array-index-is-temporary.rs:13:9: 13:14
|
||||||
_1 = [const 42u32, const 43u32, const 44u32]; // scope 0 at $DIR/array-index-is-temporary.rs:13:17: 13:29
|
_1 = [const 42_u32, const 43_u32, const 44_u32]; // scope 0 at $DIR/array-index-is-temporary.rs:13:17: 13:29
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -45,7 +45,7 @@ fn main() -> () {
|
|||||||
// + span: $DIR/array-index-is-temporary.rs:13:26: 13:28
|
// + span: $DIR/array-index-is-temporary.rs:13:26: 13:28
|
||||||
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002c)) }
|
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002c)) }
|
||||||
StorageLive(_2); // scope 1 at $DIR/array-index-is-temporary.rs:14:9: 14:14
|
StorageLive(_2); // scope 1 at $DIR/array-index-is-temporary.rs:14:9: 14:14
|
||||||
_2 = const 1usize; // scope 1 at $DIR/array-index-is-temporary.rs:14:17: 14:18
|
_2 = const 1_usize; // scope 1 at $DIR/array-index-is-temporary.rs:14:17: 14:18
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000001))
|
// + val: Value(Scalar(0x0000000000000001))
|
||||||
|
@ -21,7 +21,7 @@ fn main() -> () {
|
|||||||
// + span: $DIR/byte_slice.rs:5:13: 5:19
|
// + span: $DIR/byte_slice.rs:5:13: 5:19
|
||||||
// + literal: Const { ty: &[u8; 3], val: Value(Scalar(alloc0)) }
|
// + literal: Const { ty: &[u8; 3], val: Value(Scalar(alloc0)) }
|
||||||
StorageLive(_2); // scope 1 at $DIR/byte_slice.rs:6:9: 6:10
|
StorageLive(_2); // scope 1 at $DIR/byte_slice.rs:6:9: 6:10
|
||||||
_2 = [const 5u8, const 120u8]; // scope 1 at $DIR/byte_slice.rs:6:13: 6:24
|
_2 = [const 5_u8, const 120_u8]; // scope 1 at $DIR/byte_slice.rs:6:13: 6:24
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u8
|
// + ty: u8
|
||||||
// + val: Value(Scalar(0x05))
|
// + val: Value(Scalar(0x05))
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_2); // scope 0 at $DIR/combine_array_len.rs:5:9: 5:10
|
StorageLive(_2); // scope 0 at $DIR/combine_array_len.rs:5:9: 5:10
|
||||||
StorageLive(_3); // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
|
StorageLive(_3); // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
|
||||||
_3 = const 0usize; // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
|
_3 = const 0_usize; // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -36,7 +36,7 @@
|
|||||||
// + span: $DIR/combine_array_len.rs:5:15: 5:16
|
// + span: $DIR/combine_array_len.rs:5:15: 5:16
|
||||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) }
|
// + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) }
|
||||||
- _4 = Len(_1); // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
|
- _4 = Len(_1); // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
|
||||||
+ _4 = const 2usize; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
|
+ _4 = const 2_usize; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: usize
|
+ // + ty: usize
|
||||||
+ // + val: Value(Scalar(0x00000002))
|
+ // + val: Value(Scalar(0x00000002))
|
||||||
@ -52,7 +52,7 @@
|
|||||||
StorageDead(_3); // scope 0 at $DIR/combine_array_len.rs:5:17: 5:18
|
StorageDead(_3); // scope 0 at $DIR/combine_array_len.rs:5:17: 5:18
|
||||||
StorageLive(_6); // scope 1 at $DIR/combine_array_len.rs:6:9: 6:10
|
StorageLive(_6); // scope 1 at $DIR/combine_array_len.rs:6:9: 6:10
|
||||||
StorageLive(_7); // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
|
StorageLive(_7); // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
|
||||||
_7 = const 1usize; // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
|
_7 = const 1_usize; // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -60,7 +60,7 @@
|
|||||||
// + span: $DIR/combine_array_len.rs:6:15: 6:16
|
// + span: $DIR/combine_array_len.rs:6:15: 6:16
|
||||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
|
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
|
||||||
- _8 = Len(_1); // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
|
- _8 = Len(_1); // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
|
||||||
+ _8 = const 2usize; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
|
+ _8 = const 2_usize; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: usize
|
+ // + ty: usize
|
||||||
+ // + val: Value(Scalar(0x00000002))
|
+ // + val: Value(Scalar(0x00000002))
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_2); // scope 0 at $DIR/combine_array_len.rs:5:9: 5:10
|
StorageLive(_2); // scope 0 at $DIR/combine_array_len.rs:5:9: 5:10
|
||||||
StorageLive(_3); // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
|
StorageLive(_3); // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
|
||||||
_3 = const 0usize; // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
|
_3 = const 0_usize; // scope 0 at $DIR/combine_array_len.rs:5:15: 5:16
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000000))
|
// + val: Value(Scalar(0x0000000000000000))
|
||||||
@ -36,7 +36,7 @@
|
|||||||
// + span: $DIR/combine_array_len.rs:5:15: 5:16
|
// + span: $DIR/combine_array_len.rs:5:15: 5:16
|
||||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
|
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
|
||||||
- _4 = Len(_1); // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
|
- _4 = Len(_1); // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
|
||||||
+ _4 = const 2usize; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
|
+ _4 = const 2_usize; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: usize
|
+ // + ty: usize
|
||||||
+ // + val: Value(Scalar(0x0000000000000002))
|
+ // + val: Value(Scalar(0x0000000000000002))
|
||||||
@ -52,7 +52,7 @@
|
|||||||
StorageDead(_3); // scope 0 at $DIR/combine_array_len.rs:5:17: 5:18
|
StorageDead(_3); // scope 0 at $DIR/combine_array_len.rs:5:17: 5:18
|
||||||
StorageLive(_6); // scope 1 at $DIR/combine_array_len.rs:6:9: 6:10
|
StorageLive(_6); // scope 1 at $DIR/combine_array_len.rs:6:9: 6:10
|
||||||
StorageLive(_7); // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
|
StorageLive(_7); // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
|
||||||
_7 = const 1usize; // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
|
_7 = const 1_usize; // scope 1 at $DIR/combine_array_len.rs:6:15: 6:16
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000001))
|
// + val: Value(Scalar(0x0000000000000001))
|
||||||
@ -60,7 +60,7 @@
|
|||||||
// + span: $DIR/combine_array_len.rs:6:15: 6:16
|
// + span: $DIR/combine_array_len.rs:6:15: 6:16
|
||||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
|
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
|
||||||
- _8 = Len(_1); // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
|
- _8 = Len(_1); // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
|
||||||
+ _8 = const 2usize; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
|
+ _8 = const 2_usize; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: usize
|
+ // + ty: usize
|
||||||
+ // + val: Value(Scalar(0x0000000000000002))
|
+ // + val: Value(Scalar(0x0000000000000002))
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
StorageLive(_1); // scope 0 at $DIR/aggregate.rs:5:9: 5:10
|
StorageLive(_1); // scope 0 at $DIR/aggregate.rs:5:9: 5:10
|
||||||
StorageLive(_2); // scope 0 at $DIR/aggregate.rs:5:13: 5:24
|
StorageLive(_2); // scope 0 at $DIR/aggregate.rs:5:13: 5:24
|
||||||
StorageLive(_3); // scope 0 at $DIR/aggregate.rs:5:13: 5:22
|
StorageLive(_3); // scope 0 at $DIR/aggregate.rs:5:13: 5:22
|
||||||
_3 = (const 0i32, const 1i32, const 2i32); // scope 0 at $DIR/aggregate.rs:5:13: 5:22
|
_3 = (const 0_i32, const 1_i32, const 2_i32); // scope 0 at $DIR/aggregate.rs:5:13: 5:22
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -34,8 +34,8 @@
|
|||||||
// + span: $DIR/aggregate.rs:5:20: 5:21
|
// + span: $DIR/aggregate.rs:5:20: 5:21
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
|
||||||
- _2 = (_3.1: i32); // scope 0 at $DIR/aggregate.rs:5:13: 5:24
|
- _2 = (_3.1: i32); // scope 0 at $DIR/aggregate.rs:5:13: 5:24
|
||||||
- _1 = Add(move _2, const 0i32); // scope 0 at $DIR/aggregate.rs:5:13: 5:28
|
- _1 = Add(move _2, const 0_i32); // scope 0 at $DIR/aggregate.rs:5:13: 5:28
|
||||||
+ _2 = const 1i32; // scope 0 at $DIR/aggregate.rs:5:13: 5:24
|
+ _2 = const 1_i32; // scope 0 at $DIR/aggregate.rs:5:13: 5:24
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
- // + val: Value(Scalar(0x00000000))
|
- // + val: Value(Scalar(0x00000000))
|
||||||
@ -45,7 +45,7 @@
|
|||||||
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) }
|
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) }
|
||||||
+ // + span: $DIR/aggregate.rs:5:13: 5:24
|
+ // + span: $DIR/aggregate.rs:5:13: 5:24
|
||||||
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
||||||
+ _1 = const 1i32; // scope 0 at $DIR/aggregate.rs:5:13: 5:28
|
+ _1 = const 1_i32; // scope 0 at $DIR/aggregate.rs:5:13: 5:28
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: i32
|
+ // + ty: i32
|
||||||
+ // + val: Value(Scalar(0x00000001))
|
+ // + val: Value(Scalar(0x00000001))
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/array_index.rs:5:9: 5:10
|
StorageLive(_1); // scope 0 at $DIR/array_index.rs:5:9: 5:10
|
||||||
StorageLive(_2); // scope 0 at $DIR/array_index.rs:5:18: 5:30
|
StorageLive(_2); // scope 0 at $DIR/array_index.rs:5:18: 5:30
|
||||||
_2 = [const 0u32, const 1u32, const 2u32, const 3u32]; // scope 0 at $DIR/array_index.rs:5:18: 5:30
|
_2 = [const 0_u32, const 1_u32, const 2_u32, const 3_u32]; // scope 0 at $DIR/array_index.rs:5:18: 5:30
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -41,14 +41,14 @@
|
|||||||
// + span: $DIR/array_index.rs:5:28: 5:29
|
// + span: $DIR/array_index.rs:5:28: 5:29
|
||||||
// + literal: Const { ty: u32, val: Value(Scalar(0x00000003)) }
|
// + literal: Const { ty: u32, val: Value(Scalar(0x00000003)) }
|
||||||
StorageLive(_3); // scope 0 at $DIR/array_index.rs:5:31: 5:32
|
StorageLive(_3); // scope 0 at $DIR/array_index.rs:5:31: 5:32
|
||||||
_3 = const 2usize; // scope 0 at $DIR/array_index.rs:5:31: 5:32
|
_3 = const 2_usize; // scope 0 at $DIR/array_index.rs:5:31: 5:32
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000002))
|
// + val: Value(Scalar(0x00000002))
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/array_index.rs:5:31: 5:32
|
// + span: $DIR/array_index.rs:5:31: 5:32
|
||||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) }
|
// + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) }
|
||||||
_4 = const 4usize; // scope 0 at $DIR/array_index.rs:5:18: 5:33
|
_4 = const 4_usize; // scope 0 at $DIR/array_index.rs:5:18: 5:33
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000004))
|
// + val: Value(Scalar(0x00000004))
|
||||||
@ -75,7 +75,7 @@
|
|||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _1 = _2[_3]; // scope 0 at $DIR/array_index.rs:5:18: 5:33
|
- _1 = _2[_3]; // scope 0 at $DIR/array_index.rs:5:18: 5:33
|
||||||
+ _1 = const 2u32; // scope 0 at $DIR/array_index.rs:5:18: 5:33
|
+ _1 = const 2_u32; // scope 0 at $DIR/array_index.rs:5:18: 5:33
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u32
|
+ // + ty: u32
|
||||||
+ // + val: Value(Scalar(0x00000002))
|
+ // + val: Value(Scalar(0x00000002))
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/array_index.rs:5:9: 5:10
|
StorageLive(_1); // scope 0 at $DIR/array_index.rs:5:9: 5:10
|
||||||
StorageLive(_2); // scope 0 at $DIR/array_index.rs:5:18: 5:30
|
StorageLive(_2); // scope 0 at $DIR/array_index.rs:5:18: 5:30
|
||||||
_2 = [const 0u32, const 1u32, const 2u32, const 3u32]; // scope 0 at $DIR/array_index.rs:5:18: 5:30
|
_2 = [const 0_u32, const 1_u32, const 2_u32, const 3_u32]; // scope 0 at $DIR/array_index.rs:5:18: 5:30
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -41,14 +41,14 @@
|
|||||||
// + span: $DIR/array_index.rs:5:28: 5:29
|
// + span: $DIR/array_index.rs:5:28: 5:29
|
||||||
// + literal: Const { ty: u32, val: Value(Scalar(0x00000003)) }
|
// + literal: Const { ty: u32, val: Value(Scalar(0x00000003)) }
|
||||||
StorageLive(_3); // scope 0 at $DIR/array_index.rs:5:31: 5:32
|
StorageLive(_3); // scope 0 at $DIR/array_index.rs:5:31: 5:32
|
||||||
_3 = const 2usize; // scope 0 at $DIR/array_index.rs:5:31: 5:32
|
_3 = const 2_usize; // scope 0 at $DIR/array_index.rs:5:31: 5:32
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000002))
|
// + val: Value(Scalar(0x0000000000000002))
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/array_index.rs:5:31: 5:32
|
// + span: $DIR/array_index.rs:5:31: 5:32
|
||||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) }
|
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) }
|
||||||
_4 = const 4usize; // scope 0 at $DIR/array_index.rs:5:18: 5:33
|
_4 = const 4_usize; // scope 0 at $DIR/array_index.rs:5:18: 5:33
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000004))
|
// + val: Value(Scalar(0x0000000000000004))
|
||||||
@ -75,7 +75,7 @@
|
|||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _1 = _2[_3]; // scope 0 at $DIR/array_index.rs:5:18: 5:33
|
- _1 = _2[_3]; // scope 0 at $DIR/array_index.rs:5:18: 5:33
|
||||||
+ _1 = const 2u32; // scope 0 at $DIR/array_index.rs:5:18: 5:33
|
+ _1 = const 2_u32; // scope 0 at $DIR/array_index.rs:5:18: 5:33
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u32
|
+ // + ty: u32
|
||||||
+ // + val: Value(Scalar(0x00000002))
|
+ // + val: Value(Scalar(0x00000002))
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/bad_op_div_by_zero.rs:4:9: 4:10
|
StorageLive(_1); // scope 0 at $DIR/bad_op_div_by_zero.rs:4:9: 4:10
|
||||||
_1 = const 0i32; // scope 0 at $DIR/bad_op_div_by_zero.rs:4:13: 4:14
|
_1 = const 0_i32; // scope 0 at $DIR/bad_op_div_by_zero.rs:4:13: 4:14
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -29,8 +29,8 @@
|
|||||||
StorageLive(_2); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:9: 5:11
|
StorageLive(_2); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:9: 5:11
|
||||||
StorageLive(_3); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:18: 5:19
|
StorageLive(_3); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:18: 5:19
|
||||||
- _3 = _1; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:18: 5:19
|
- _3 = _1; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:18: 5:19
|
||||||
- _4 = Eq(_3, const 0i32); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
- _4 = Eq(_3, const 0_i32); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
+ _3 = const 0i32; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:18: 5:19
|
+ _3 = const 0_i32; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:18: 5:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -45,11 +45,17 @@
|
|||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
+ // + span: $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
|
||||||
assert(!move _4, "attempt to divide by zero") -> bb1; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
assert(!move _4, "attempt to divide {} by zero", const 1_i32) -> bb1; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
|
// ty::Const
|
||||||
|
// + ty: i32
|
||||||
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/bad_op_div_by_zero.rs:5:14: 5:15
|
||||||
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _5 = Eq(_3, const -1i32); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
- _5 = Eq(_3, const -1_i32); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
+ _5 = const false; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
+ _5 = const false; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
- // + ty: i32
|
- // + ty: i32
|
||||||
@ -59,7 +65,7 @@
|
|||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
// + span: $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
- // + literal: Const { ty: i32, val: Value(Scalar(0xffffffff)) }
|
- // + literal: Const { ty: i32, val: Value(Scalar(0xffffffff)) }
|
||||||
- _6 = Eq(const 1i32, const i32::MIN); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
- _6 = Eq(const 1_i32, const i32::MIN); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
+ _6 = const false; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
+ _6 = const false; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
@ -82,19 +88,25 @@
|
|||||||
// + span: $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
// + span: $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
- // + literal: Const { ty: i32, val: Value(Scalar(0x80000000)) }
|
- // + literal: Const { ty: i32, val: Value(Scalar(0x80000000)) }
|
||||||
- _7 = BitAnd(move _5, move _6); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
- _7 = BitAnd(move _5, move _6); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
- assert(!move _7, "attempt to divide with overflow") -> bb2; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
- assert(!move _7, "attempt to compute `{} / {}` which would overflow", const 1_i32, _3) -> bb2; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
+ assert(!const false, "attempt to divide with overflow") -> bb2; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
+ assert(!const false, "attempt to compute `{} / {}` which would overflow", const 1_i32, _3) -> bb2; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: bool
|
+ // + ty: bool
|
||||||
+ // + val: Value(Scalar(0x00))
|
+ // + val: Value(Scalar(0x00))
|
||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
+ // + span: $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
|
// ty::Const
|
||||||
|
// + ty: i32
|
||||||
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/bad_op_div_by_zero.rs:5:14: 5:15
|
||||||
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
||||||
}
|
}
|
||||||
|
|
||||||
bb2: {
|
bb2: {
|
||||||
_2 = Div(const 1i32, move _3); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
_2 = Div(const 1_i32, move _3); // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/bad_op_mod_by_zero.rs:4:9: 4:10
|
StorageLive(_1); // scope 0 at $DIR/bad_op_mod_by_zero.rs:4:9: 4:10
|
||||||
_1 = const 0i32; // scope 0 at $DIR/bad_op_mod_by_zero.rs:4:13: 4:14
|
_1 = const 0_i32; // scope 0 at $DIR/bad_op_mod_by_zero.rs:4:13: 4:14
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -29,8 +29,8 @@
|
|||||||
StorageLive(_2); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:9: 5:11
|
StorageLive(_2); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:9: 5:11
|
||||||
StorageLive(_3); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:18: 5:19
|
StorageLive(_3); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:18: 5:19
|
||||||
- _3 = _1; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:18: 5:19
|
- _3 = _1; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:18: 5:19
|
||||||
- _4 = Eq(_3, const 0i32); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
- _4 = Eq(_3, const 0_i32); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
+ _3 = const 0i32; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:18: 5:19
|
+ _3 = const 0_i32; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:18: 5:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -45,11 +45,17 @@
|
|||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
+ // + span: $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
|
||||||
assert(!move _4, "attempt to calculate the remainder with a divisor of zero") -> bb1; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
assert(!move _4, "attempt to calculate the remainder of {} with a divisor of zero", const 1_i32) -> bb1; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
|
// ty::Const
|
||||||
|
// + ty: i32
|
||||||
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/bad_op_mod_by_zero.rs:5:14: 5:15
|
||||||
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _5 = Eq(_3, const -1i32); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
- _5 = Eq(_3, const -1_i32); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
+ _5 = const false; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
+ _5 = const false; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
- // + ty: i32
|
- // + ty: i32
|
||||||
@ -59,7 +65,7 @@
|
|||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
// + span: $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
- // + literal: Const { ty: i32, val: Value(Scalar(0xffffffff)) }
|
- // + literal: Const { ty: i32, val: Value(Scalar(0xffffffff)) }
|
||||||
- _6 = Eq(const 1i32, const i32::MIN); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
- _6 = Eq(const 1_i32, const i32::MIN); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
+ _6 = const false; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
+ _6 = const false; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
@ -82,19 +88,25 @@
|
|||||||
// + span: $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
// + span: $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
- // + literal: Const { ty: i32, val: Value(Scalar(0x80000000)) }
|
- // + literal: Const { ty: i32, val: Value(Scalar(0x80000000)) }
|
||||||
- _7 = BitAnd(move _5, move _6); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
- _7 = BitAnd(move _5, move _6); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
- assert(!move _7, "attempt to calculate the remainder with overflow") -> bb2; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
- assert(!move _7, "attempt to compute the remainder of `{} % {}` which would overflow", const 1_i32, _3) -> bb2; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
+ assert(!const false, "attempt to calculate the remainder with overflow") -> bb2; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
+ assert(!const false, "attempt to compute the remainder of `{} % {}` which would overflow", const 1_i32, _3) -> bb2; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: bool
|
+ // + ty: bool
|
||||||
+ // + val: Value(Scalar(0x00))
|
+ // + val: Value(Scalar(0x00))
|
||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
+ // + span: $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
|
// ty::Const
|
||||||
|
// + ty: i32
|
||||||
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/bad_op_mod_by_zero.rs:5:14: 5:15
|
||||||
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
||||||
}
|
}
|
||||||
|
|
||||||
bb2: {
|
bb2: {
|
||||||
_2 = Rem(const 1i32, move _3); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
_2 = Rem(const 1_i32, move _3); // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
StorageDead(_3); // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:35: 5:36
|
StorageDead(_3); // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:35: 5:36
|
||||||
StorageLive(_5); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:13: 7:15
|
StorageLive(_5); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:13: 7:15
|
||||||
StorageLive(_6); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
|
StorageLive(_6); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
|
||||||
_6 = const 3usize; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
|
_6 = const 3_usize; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
StorageDead(_3); // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:35: 5:36
|
StorageDead(_3); // scope 0 at $DIR/bad_op_unsafe_oob_for_slices.rs:5:35: 5:36
|
||||||
StorageLive(_5); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:13: 7:15
|
StorageLive(_5); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:13: 7:15
|
||||||
StorageLive(_6); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
|
StorageLive(_6); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
|
||||||
_6 = const 3usize; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
|
_6 = const 3_usize; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:23: 7:24
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000003))
|
// + val: Value(Scalar(0x0000000000000003))
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
StorageLive(_3); // scope 0 at $DIR/boxes.rs:12:14: 12:22
|
StorageLive(_3); // scope 0 at $DIR/boxes.rs:12:14: 12:22
|
||||||
StorageLive(_4); // scope 0 at $DIR/boxes.rs:12:14: 12:22
|
StorageLive(_4); // scope 0 at $DIR/boxes.rs:12:14: 12:22
|
||||||
_4 = Box(i32); // scope 0 at $DIR/boxes.rs:12:14: 12:22
|
_4 = Box(i32); // scope 0 at $DIR/boxes.rs:12:14: 12:22
|
||||||
(*_4) = const 42i32; // scope 0 at $DIR/boxes.rs:12:19: 12:21
|
(*_4) = const 42_i32; // scope 0 at $DIR/boxes.rs:12:19: 12:21
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -27,7 +27,7 @@
|
|||||||
_3 = move _4; // scope 0 at $DIR/boxes.rs:12:14: 12:22
|
_3 = move _4; // scope 0 at $DIR/boxes.rs:12:14: 12:22
|
||||||
StorageDead(_4); // scope 0 at $DIR/boxes.rs:12:21: 12:22
|
StorageDead(_4); // scope 0 at $DIR/boxes.rs:12:21: 12:22
|
||||||
_2 = (*_3); // scope 0 at $DIR/boxes.rs:12:13: 12:22
|
_2 = (*_3); // scope 0 at $DIR/boxes.rs:12:13: 12:22
|
||||||
_1 = Add(move _2, const 0i32); // scope 0 at $DIR/boxes.rs:12:13: 12:26
|
_1 = Add(move _2, const 0_i32); // scope 0 at $DIR/boxes.rs:12:13: 12:26
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/cast.rs:4:9: 4:10
|
StorageLive(_1); // scope 0 at $DIR/cast.rs:4:9: 4:10
|
||||||
- _1 = const 42u8 as u32 (Misc); // scope 0 at $DIR/cast.rs:4:13: 4:24
|
- _1 = const 42_u8 as u32 (Misc); // scope 0 at $DIR/cast.rs:4:13: 4:24
|
||||||
+ _1 = const 42u32; // scope 0 at $DIR/cast.rs:4:13: 4:24
|
+ _1 = const 42_u32; // scope 0 at $DIR/cast.rs:4:13: 4:24
|
||||||
// ty::Const
|
// ty::Const
|
||||||
- // + ty: u8
|
- // + ty: u8
|
||||||
- // + val: Value(Scalar(0x2a))
|
- // + val: Value(Scalar(0x2a))
|
||||||
@ -23,7 +23,7 @@
|
|||||||
- // + span: $DIR/cast.rs:4:13: 4:17
|
- // + span: $DIR/cast.rs:4:13: 4:17
|
||||||
- // + literal: Const { ty: u8, val: Value(Scalar(0x2a)) }
|
- // + literal: Const { ty: u8, val: Value(Scalar(0x2a)) }
|
||||||
- StorageLive(_2); // scope 1 at $DIR/cast.rs:6:9: 6:10
|
- StorageLive(_2); // scope 1 at $DIR/cast.rs:6:9: 6:10
|
||||||
- _2 = const 42u32 as u8 (Misc); // scope 1 at $DIR/cast.rs:6:13: 6:24
|
- _2 = const 42_u32 as u8 (Misc); // scope 1 at $DIR/cast.rs:6:13: 6:24
|
||||||
- // ty::Const
|
- // ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -32,7 +32,7 @@
|
|||||||
+ // + span: $DIR/cast.rs:4:13: 4:24
|
+ // + span: $DIR/cast.rs:4:13: 4:24
|
||||||
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
||||||
+ StorageLive(_2); // scope 1 at $DIR/cast.rs:6:9: 6:10
|
+ StorageLive(_2); // scope 1 at $DIR/cast.rs:6:9: 6:10
|
||||||
+ _2 = const 42u8; // scope 1 at $DIR/cast.rs:6:13: 6:24
|
+ _2 = const 42_u8; // scope 1 at $DIR/cast.rs:6:13: 6:24
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u8
|
+ // + ty: u8
|
||||||
+ // + val: Value(Scalar(0x2a))
|
+ // + val: Value(Scalar(0x2a))
|
||||||
|
@ -11,8 +11,8 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/checked_add.rs:5:9: 5:10
|
StorageLive(_1); // scope 0 at $DIR/checked_add.rs:5:9: 5:10
|
||||||
- _2 = CheckedAdd(const 1u32, const 1u32); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
- _2 = CheckedAdd(const 1_u32, const 1_u32); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
||||||
+ _2 = (const 2u32, const false); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
+ _2 = (const 2_u32, const false); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
- // + val: Value(Scalar(0x00000001))
|
- // + val: Value(Scalar(0x00000001))
|
||||||
@ -30,21 +30,33 @@
|
|||||||
// mir::Constant
|
// mir::Constant
|
||||||
- // + span: $DIR/checked_add.rs:5:22: 5:23
|
- // + span: $DIR/checked_add.rs:5:22: 5:23
|
||||||
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000001)) }
|
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000001)) }
|
||||||
- assert(!move (_2.1: bool), "attempt to add with overflow") -> bb1; // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
- assert(!move (_2.1: bool), "attempt to compute `{} + {}` which would overflow", const 1_u32, const 1_u32) -> bb1; // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
||||||
+ // + span: $DIR/checked_add.rs:5:18: 5:23
|
+ // + span: $DIR/checked_add.rs:5:18: 5:23
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
+ assert(!const false, "attempt to add with overflow") -> bb1; // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
+ assert(!const false, "attempt to compute `{} + {}` which would overflow", const 1_u32, const 1_u32) -> bb1; // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
||||||
+ // ty::Const
|
// ty::Const
|
||||||
+ // + ty: bool
|
+ // + ty: bool
|
||||||
+ // + val: Value(Scalar(0x00))
|
+ // + val: Value(Scalar(0x00))
|
||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/checked_add.rs:5:18: 5:23
|
+ // + span: $DIR/checked_add.rs:5:18: 5:23
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
|
+ // ty::Const
|
||||||
|
// + ty: u32
|
||||||
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/checked_add.rs:5:18: 5:19
|
||||||
|
// + literal: Const { ty: u32, val: Value(Scalar(0x00000001)) }
|
||||||
|
// ty::Const
|
||||||
|
// + ty: u32
|
||||||
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/checked_add.rs:5:22: 5:23
|
||||||
|
// + literal: Const { ty: u32, val: Value(Scalar(0x00000001)) }
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _1 = move (_2.0: u32); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
- _1 = move (_2.0: u32); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
||||||
+ _1 = const 2u32; // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
+ _1 = const 2_u32; // scope 0 at $DIR/checked_add.rs:5:18: 5:23
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u32
|
+ // + ty: u32
|
||||||
+ // + val: Value(Scalar(0x00000002))
|
+ // + val: Value(Scalar(0x00000002))
|
||||||
|
@ -25,17 +25,17 @@
|
|||||||
- // + span: $DIR/discriminant.rs:11:39: 11:43
|
- // + span: $DIR/discriminant.rs:11:39: 11:43
|
||||||
- // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
|
- // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
|
||||||
- _4 = discriminant(_3); // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
- _4 = discriminant(_3); // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
||||||
- switchInt(move _4) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
- switchInt(move _4) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
||||||
+ // + span: $DIR/discriminant.rs:11:34: 11:44
|
+ // + span: $DIR/discriminant.rs:11:34: 11:44
|
||||||
+ // + literal: Const { ty: std::option::Option<bool>, val: Value(Scalar(0x01)) }
|
+ // + literal: Const { ty: std::option::Option<bool>, val: Value(Scalar(0x01)) }
|
||||||
+ _4 = const 1isize; // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
+ _4 = const 1_isize; // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: isize
|
+ // + ty: isize
|
||||||
+ // + val: Value(Scalar(0x00000001))
|
+ // + val: Value(Scalar(0x00000001))
|
||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/discriminant.rs:11:21: 11:31
|
+ // + span: $DIR/discriminant.rs:11:21: 11:31
|
||||||
+ // + literal: Const { ty: isize, val: Value(Scalar(0x00000001)) }
|
+ // + literal: Const { ty: isize, val: Value(Scalar(0x00000001)) }
|
||||||
+ switchInt(const 1isize) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
+ switchInt(const 1_isize) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: isize
|
+ // + ty: isize
|
||||||
+ // + val: Value(Scalar(0x00000001))
|
+ // + val: Value(Scalar(0x00000001))
|
||||||
@ -45,7 +45,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
_2 = const 10i32; // scope 0 at $DIR/discriminant.rs:11:59: 11:61
|
_2 = const 10_i32; // scope 0 at $DIR/discriminant.rs:11:59: 11:61
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000000a))
|
// + val: Value(Scalar(0x0000000a))
|
||||||
@ -60,7 +60,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb3: {
|
bb3: {
|
||||||
_2 = const 42i32; // scope 0 at $DIR/discriminant.rs:11:47: 11:49
|
_2 = const 42_i32; // scope 0 at $DIR/discriminant.rs:11:47: 11:49
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -71,7 +71,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb4: {
|
bb4: {
|
||||||
_1 = Add(move _2, const 0i32); // scope 0 at $DIR/discriminant.rs:11:13: 11:68
|
_1 = Add(move _2, const 0_i32); // scope 0 at $DIR/discriminant.rs:11:13: 11:68
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
|
@ -25,17 +25,17 @@
|
|||||||
- // + span: $DIR/discriminant.rs:11:39: 11:43
|
- // + span: $DIR/discriminant.rs:11:39: 11:43
|
||||||
- // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
|
- // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
|
||||||
- _4 = discriminant(_3); // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
- _4 = discriminant(_3); // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
||||||
- switchInt(move _4) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
- switchInt(move _4) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
||||||
+ // + span: $DIR/discriminant.rs:11:34: 11:44
|
+ // + span: $DIR/discriminant.rs:11:34: 11:44
|
||||||
+ // + literal: Const { ty: std::option::Option<bool>, val: Value(Scalar(0x01)) }
|
+ // + literal: Const { ty: std::option::Option<bool>, val: Value(Scalar(0x01)) }
|
||||||
+ _4 = const 1isize; // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
+ _4 = const 1_isize; // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: isize
|
+ // + ty: isize
|
||||||
+ // + val: Value(Scalar(0x0000000000000001))
|
+ // + val: Value(Scalar(0x0000000000000001))
|
||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/discriminant.rs:11:21: 11:31
|
+ // + span: $DIR/discriminant.rs:11:21: 11:31
|
||||||
+ // + literal: Const { ty: isize, val: Value(Scalar(0x0000000000000001)) }
|
+ // + literal: Const { ty: isize, val: Value(Scalar(0x0000000000000001)) }
|
||||||
+ switchInt(const 1isize) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
+ switchInt(const 1_isize) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/discriminant.rs:11:21: 11:31
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: isize
|
+ // + ty: isize
|
||||||
+ // + val: Value(Scalar(0x0000000000000001))
|
+ // + val: Value(Scalar(0x0000000000000001))
|
||||||
@ -45,7 +45,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
_2 = const 10i32; // scope 0 at $DIR/discriminant.rs:11:59: 11:61
|
_2 = const 10_i32; // scope 0 at $DIR/discriminant.rs:11:59: 11:61
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000000a))
|
// + val: Value(Scalar(0x0000000a))
|
||||||
@ -60,7 +60,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb3: {
|
bb3: {
|
||||||
_2 = const 42i32; // scope 0 at $DIR/discriminant.rs:11:47: 11:49
|
_2 = const 42_i32; // scope 0 at $DIR/discriminant.rs:11:47: 11:49
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -71,7 +71,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb4: {
|
bb4: {
|
||||||
_1 = Add(move _2, const 0i32); // scope 0 at $DIR/discriminant.rs:11:13: 11:68
|
_1 = Add(move _2, const 0_i32); // scope 0 at $DIR/discriminant.rs:11:13: 11:68
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
|
@ -13,8 +13,8 @@
|
|||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/indirect.rs:5:9: 5:10
|
StorageLive(_1); // scope 0 at $DIR/indirect.rs:5:9: 5:10
|
||||||
StorageLive(_2); // scope 0 at $DIR/indirect.rs:5:13: 5:25
|
StorageLive(_2); // scope 0 at $DIR/indirect.rs:5:13: 5:25
|
||||||
- _2 = const 2u32 as u8 (Misc); // scope 0 at $DIR/indirect.rs:5:13: 5:25
|
- _2 = const 2_u32 as u8 (Misc); // scope 0 at $DIR/indirect.rs:5:13: 5:25
|
||||||
+ _2 = const 2u8; // scope 0 at $DIR/indirect.rs:5:13: 5:25
|
+ _2 = const 2_u8; // scope 0 at $DIR/indirect.rs:5:13: 5:25
|
||||||
// ty::Const
|
// ty::Const
|
||||||
- // + ty: u32
|
- // + ty: u32
|
||||||
- // + val: Value(Scalar(0x00000002))
|
- // + val: Value(Scalar(0x00000002))
|
||||||
@ -23,10 +23,10 @@
|
|||||||
// mir::Constant
|
// mir::Constant
|
||||||
- // + span: $DIR/indirect.rs:5:14: 5:18
|
- // + span: $DIR/indirect.rs:5:14: 5:18
|
||||||
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
|
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
|
||||||
- _3 = CheckedAdd(move _2, const 1u8); // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
- _3 = CheckedAdd(_2, const 1_u8); // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
||||||
+ // + span: $DIR/indirect.rs:5:13: 5:25
|
+ // + span: $DIR/indirect.rs:5:13: 5:25
|
||||||
+ // + literal: Const { ty: u8, val: Value(Scalar(0x02)) }
|
+ // + literal: Const { ty: u8, val: Value(Scalar(0x02)) }
|
||||||
+ _3 = (const 3u8, const false); // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
+ _3 = (const 3_u8, const false); // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u8
|
// + ty: u8
|
||||||
- // + val: Value(Scalar(0x01))
|
- // + val: Value(Scalar(0x01))
|
||||||
@ -34,27 +34,33 @@
|
|||||||
// mir::Constant
|
// mir::Constant
|
||||||
- // + span: $DIR/indirect.rs:5:28: 5:29
|
- // + span: $DIR/indirect.rs:5:28: 5:29
|
||||||
- // + literal: Const { ty: u8, val: Value(Scalar(0x01)) }
|
- // + literal: Const { ty: u8, val: Value(Scalar(0x01)) }
|
||||||
- assert(!move (_3.1: bool), "attempt to add with overflow") -> bb1; // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
- assert(!move (_3.1: bool), "attempt to compute `{} + {}` which would overflow", move _2, const 1_u8) -> bb1; // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
||||||
+ // + span: $DIR/indirect.rs:5:13: 5:29
|
+ // + span: $DIR/indirect.rs:5:13: 5:29
|
||||||
+ // + literal: Const { ty: u8, val: Value(Scalar(0x03)) }
|
+ // + literal: Const { ty: u8, val: Value(Scalar(0x03)) }
|
||||||
|
// ty::Const
|
||||||
|
+ // + ty: bool
|
||||||
|
+ // + val: Value(Scalar(0x00))
|
||||||
|
+ // mir::Constant
|
||||||
|
+ // + span: $DIR/indirect.rs:5:13: 5:29
|
||||||
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
|
+ assert(!const false, "attempt to compute `{} + {}` which would overflow", move _2, const 1_u8) -> bb1; // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: bool
|
+ // + ty: bool
|
||||||
+ // + val: Value(Scalar(0x00))
|
+ // + val: Value(Scalar(0x00))
|
||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/indirect.rs:5:13: 5:29
|
+ // + span: $DIR/indirect.rs:5:13: 5:29
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
+ assert(!const false, "attempt to add with overflow") -> bb1; // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: bool
|
// + ty: u8
|
||||||
+ // + val: Value(Scalar(0x00))
|
// + val: Value(Scalar(0x01))
|
||||||
+ // mir::Constant
|
// mir::Constant
|
||||||
+ // + span: $DIR/indirect.rs:5:13: 5:29
|
// + span: $DIR/indirect.rs:5:28: 5:29
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
// + literal: Const { ty: u8, val: Value(Scalar(0x01)) }
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _1 = move (_3.0: u8); // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
- _1 = move (_3.0: u8); // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
||||||
+ _1 = const 3u8; // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
+ _1 = const 3_u8; // scope 0 at $DIR/indirect.rs:5:13: 5:29
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u8
|
+ // + ty: u8
|
||||||
+ // + val: Value(Scalar(0x03))
|
+ // + val: Value(Scalar(0x03))
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/issue-66971.rs:16:13: 16:15
|
+ // + span: $DIR/issue-66971.rs:16:13: 16:15
|
||||||
+ // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
|
+ // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
|
||||||
_2 = (move _3, const 0u8, const 0u8); // scope 0 at $DIR/issue-66971.rs:16:12: 16:22
|
_2 = (move _3, const 0_u8, const 0_u8); // scope 0 at $DIR/issue-66971.rs:16:12: 16:22
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u8
|
// + ty: u8
|
||||||
// + val: Value(Scalar(0x00))
|
// + val: Value(Scalar(0x00))
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
StorageLive(_1); // scope 0 at $DIR/issue-67019.rs:11:5: 11:20
|
StorageLive(_1); // scope 0 at $DIR/issue-67019.rs:11:5: 11:20
|
||||||
StorageLive(_2); // scope 0 at $DIR/issue-67019.rs:11:10: 11:19
|
StorageLive(_2); // scope 0 at $DIR/issue-67019.rs:11:10: 11:19
|
||||||
StorageLive(_3); // scope 0 at $DIR/issue-67019.rs:11:11: 11:17
|
StorageLive(_3); // scope 0 at $DIR/issue-67019.rs:11:11: 11:17
|
||||||
_3 = (const 1u8, const 2u8); // scope 0 at $DIR/issue-67019.rs:11:11: 11:17
|
_3 = (const 1_u8, const 2_u8); // scope 0 at $DIR/issue-67019.rs:11:11: 11:17
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u8
|
// + ty: u8
|
||||||
// + val: Value(Scalar(0x01))
|
// + val: Value(Scalar(0x01))
|
||||||
|
@ -14,14 +14,14 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/mutable_variable.rs:5:9: 5:14
|
StorageLive(_1); // scope 0 at $DIR/mutable_variable.rs:5:9: 5:14
|
||||||
_1 = const 42i32; // scope 0 at $DIR/mutable_variable.rs:5:17: 5:19
|
_1 = const 42_i32; // scope 0 at $DIR/mutable_variable.rs:5:17: 5:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/mutable_variable.rs:5:17: 5:19
|
// + span: $DIR/mutable_variable.rs:5:17: 5:19
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
|
||||||
_1 = const 99i32; // scope 1 at $DIR/mutable_variable.rs:6:5: 6:11
|
_1 = const 99_i32; // scope 1 at $DIR/mutable_variable.rs:6:5: 6:11
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000063))
|
// + val: Value(Scalar(0x00000063))
|
||||||
@ -30,7 +30,7 @@
|
|||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000063)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000063)) }
|
||||||
StorageLive(_2); // scope 1 at $DIR/mutable_variable.rs:7:9: 7:10
|
StorageLive(_2); // scope 1 at $DIR/mutable_variable.rs:7:9: 7:10
|
||||||
- _2 = _1; // scope 1 at $DIR/mutable_variable.rs:7:13: 7:14
|
- _2 = _1; // scope 1 at $DIR/mutable_variable.rs:7:13: 7:14
|
||||||
+ _2 = const 99i32; // scope 1 at $DIR/mutable_variable.rs:7:13: 7:14
|
+ _2 = const 99_i32; // scope 1 at $DIR/mutable_variable.rs:7:13: 7:14
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: i32
|
+ // + ty: i32
|
||||||
+ // + val: Value(Scalar(0x00000063))
|
+ // + val: Value(Scalar(0x00000063))
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/mutable_variable_aggregate.rs:5:9: 5:14
|
StorageLive(_1); // scope 0 at $DIR/mutable_variable_aggregate.rs:5:9: 5:14
|
||||||
_1 = (const 42i32, const 43i32); // scope 0 at $DIR/mutable_variable_aggregate.rs:5:17: 5:25
|
_1 = (const 42_i32, const 43_i32); // scope 0 at $DIR/mutable_variable_aggregate.rs:5:17: 5:25
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -29,7 +29,7 @@
|
|||||||
- // + span: $DIR/mutable_variable_aggregate.rs:5:22: 5:24
|
- // + span: $DIR/mutable_variable_aggregate.rs:5:22: 5:24
|
||||||
+ // + span: $DIR/mutable_variable_aggregate.rs:5:17: 5:25
|
+ // + span: $DIR/mutable_variable_aggregate.rs:5:17: 5:25
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002b)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002b)) }
|
||||||
(_1.1: i32) = const 99i32; // scope 1 at $DIR/mutable_variable_aggregate.rs:6:5: 6:13
|
(_1.1: i32) = const 99_i32; // scope 1 at $DIR/mutable_variable_aggregate.rs:6:5: 6:13
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000063))
|
// + val: Value(Scalar(0x00000063))
|
||||||
@ -38,7 +38,7 @@
|
|||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000063)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000063)) }
|
||||||
StorageLive(_2); // scope 1 at $DIR/mutable_variable_aggregate.rs:7:9: 7:10
|
StorageLive(_2); // scope 1 at $DIR/mutable_variable_aggregate.rs:7:9: 7:10
|
||||||
- _2 = _1; // scope 1 at $DIR/mutable_variable_aggregate.rs:7:13: 7:14
|
- _2 = _1; // scope 1 at $DIR/mutable_variable_aggregate.rs:7:13: 7:14
|
||||||
+ _2 = (const 42i32, const 99i32); // scope 1 at $DIR/mutable_variable_aggregate.rs:7:13: 7:14
|
+ _2 = (const 42_i32, const 99_i32); // scope 1 at $DIR/mutable_variable_aggregate.rs:7:13: 7:14
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: i32
|
+ // + ty: i32
|
||||||
+ // + val: Value(Scalar(0x0000002a))
|
+ // + val: Value(Scalar(0x0000002a))
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:5:9: 5:14
|
StorageLive(_1); // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:5:9: 5:14
|
||||||
_1 = (const 42i32, const 43i32); // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:5:17: 5:25
|
_1 = (const 42_i32, const 43_i32); // scope 0 at $DIR/mutable_variable_aggregate_mut_ref.rs:5:17: 5:25
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -35,7 +35,7 @@
|
|||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002b)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002b)) }
|
||||||
StorageLive(_2); // scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:6:9: 6:10
|
StorageLive(_2); // scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:6:9: 6:10
|
||||||
_2 = &mut _1; // scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:6:13: 6:19
|
_2 = &mut _1; // scope 1 at $DIR/mutable_variable_aggregate_mut_ref.rs:6:13: 6:19
|
||||||
((*_2).1: i32) = const 99i32; // scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:7:5: 7:13
|
((*_2).1: i32) = const 99_i32; // scope 2 at $DIR/mutable_variable_aggregate_mut_ref.rs:7:5: 7:13
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000063))
|
// + val: Value(Scalar(0x00000063))
|
||||||
|
@ -24,14 +24,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
(_1.1: i32) = const 99i32; // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:6:5: 6:13
|
(_1.1: i32) = const 99_i32; // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:6:5: 6:13
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000063))
|
// + val: Value(Scalar(0x00000063))
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/mutable_variable_aggregate_partial_read.rs:6:11: 6:13
|
// + span: $DIR/mutable_variable_aggregate_partial_read.rs:6:11: 6:13
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000063)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000063)) }
|
||||||
(_1.0: i32) = const 42i32; // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:7:5: 7:13
|
(_1.0: i32) = const 42_i32; // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:7:5: 7:13
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -40,7 +40,7 @@
|
|||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
|
||||||
StorageLive(_2); // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:8:9: 8:10
|
StorageLive(_2); // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:8:9: 8:10
|
||||||
- _2 = (_1.1: i32); // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:8:13: 8:16
|
- _2 = (_1.1: i32); // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:8:13: 8:16
|
||||||
+ _2 = const 99i32; // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:8:13: 8:16
|
+ _2 = const 99_i32; // scope 1 at $DIR/mutable_variable_aggregate_partial_read.rs:8:13: 8:16
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: i32
|
+ // + ty: i32
|
||||||
+ // + val: Value(Scalar(0x00000063))
|
+ // + val: Value(Scalar(0x00000063))
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/mutable_variable_no_prop.rs:7:9: 7:14
|
StorageLive(_1); // scope 0 at $DIR/mutable_variable_no_prop.rs:7:9: 7:14
|
||||||
_1 = const 42u32; // scope 0 at $DIR/mutable_variable_no_prop.rs:7:17: 7:19
|
_1 = const 42_u32; // scope 0 at $DIR/mutable_variable_no_prop.rs:7:17: 7:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
StorageLive(_2); // scope 1 at $DIR/mutable_variable_unprop_assign.rs:6:9: 6:14
|
StorageLive(_2); // scope 1 at $DIR/mutable_variable_unprop_assign.rs:6:9: 6:14
|
||||||
_2 = (const 1i32, const 2i32); // scope 1 at $DIR/mutable_variable_unprop_assign.rs:6:29: 6:35
|
_2 = (const 1_i32, const 2_i32); // scope 1 at $DIR/mutable_variable_unprop_assign.rs:6:29: 6:35
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
@ -24,8 +24,8 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
|
StorageLive(_1); // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
|
||||||
- _2 = CheckedAdd(const 2i32, const 2i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
- _2 = CheckedAdd(const 2_i32, const 2_i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ _2 = (const 4i32, const false); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
+ _2 = (const 4_i32, const false); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
- // + val: Value(Scalar(0x00000002))
|
- // + val: Value(Scalar(0x00000002))
|
||||||
@ -43,21 +43,33 @@
|
|||||||
// mir::Constant
|
// mir::Constant
|
||||||
- // + span: $DIR/optimizes_into_variable.rs:12:17: 12:18
|
- // + span: $DIR/optimizes_into_variable.rs:12:17: 12:18
|
||||||
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
|
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
|
||||||
- assert(!move (_2.1: bool), "attempt to add with overflow") -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
- assert(!move (_2.1: bool), "attempt to compute `{} + {}` which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
+ assert(!const false, "attempt to add with overflow") -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
+ assert(!const false, "attempt to compute `{} + {}` which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ // ty::Const
|
// ty::Const
|
||||||
+ // + ty: bool
|
+ // + ty: bool
|
||||||
+ // + val: Value(Scalar(0x00))
|
+ // + val: Value(Scalar(0x00))
|
||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
|
+ // ty::Const
|
||||||
|
// + ty: i32
|
||||||
|
// + val: Value(Scalar(0x00000002))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/optimizes_into_variable.rs:12:13: 12:14
|
||||||
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
|
||||||
|
// ty::Const
|
||||||
|
// + ty: i32
|
||||||
|
// + val: Value(Scalar(0x00000002))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/optimizes_into_variable.rs:12:17: 12:18
|
||||||
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _1 = move (_2.0: i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
- _1 = move (_2.0: i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ _1 = const 4i32; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
+ _1 = const 4_i32; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: i32
|
+ // + ty: i32
|
||||||
+ // + val: Value(Scalar(0x00000004))
|
+ // + val: Value(Scalar(0x00000004))
|
||||||
@ -66,7 +78,7 @@
|
|||||||
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
|
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
|
||||||
StorageLive(_3); // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
|
StorageLive(_3); // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
|
||||||
StorageLive(_4); // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
|
StorageLive(_4); // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
|
||||||
_4 = [const 0i32, const 1i32, const 2i32, const 3i32, const 4i32, const 5i32]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
|
_4 = [const 0_i32, const 1_i32, const 2_i32, const 3_i32, const 4_i32, const 5_i32]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -104,14 +116,14 @@
|
|||||||
// + span: $DIR/optimizes_into_variable.rs:13:29: 13:30
|
// + span: $DIR/optimizes_into_variable.rs:13:29: 13:30
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) }
|
||||||
StorageLive(_5); // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
|
StorageLive(_5); // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
|
||||||
_5 = const 3usize; // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
|
_5 = const 3_usize; // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/optimizes_into_variable.rs:13:32: 13:33
|
// + span: $DIR/optimizes_into_variable.rs:13:32: 13:33
|
||||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000003)) }
|
// + literal: Const { ty: usize, val: Value(Scalar(0x00000003)) }
|
||||||
_6 = const 6usize; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
_6 = const 6_usize; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000006))
|
// + val: Value(Scalar(0x00000006))
|
||||||
@ -138,7 +150,7 @@
|
|||||||
|
|
||||||
bb2: {
|
bb2: {
|
||||||
- _3 = _4[_5]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
- _3 = _4[_5]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
||||||
+ _3 = const 3i32; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
+ _3 = const 3_i32; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: i32
|
+ // + ty: i32
|
||||||
+ // + val: Value(Scalar(0x00000003))
|
+ // + val: Value(Scalar(0x00000003))
|
||||||
@ -149,7 +161,7 @@
|
|||||||
StorageDead(_4); // scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35
|
StorageDead(_4); // scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35
|
||||||
StorageLive(_8); // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
|
StorageLive(_8); // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
|
||||||
StorageLive(_9); // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
|
StorageLive(_9); // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
|
||||||
_9 = Point { x: const 12u32, y: const 42u32 }; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
|
_9 = Point { x: const 12_u32, y: const 42_u32 }; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x0000000c))
|
// + val: Value(Scalar(0x0000000c))
|
||||||
@ -163,7 +175,7 @@
|
|||||||
// + span: $DIR/optimizes_into_variable.rs:14:32: 14:34
|
// + span: $DIR/optimizes_into_variable.rs:14:32: 14:34
|
||||||
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
||||||
- _8 = (_9.1: u32); // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
|
- _8 = (_9.1: u32); // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
|
||||||
+ _8 = const 42u32; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
|
+ _8 = const 42_u32; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u32
|
+ // + ty: u32
|
||||||
+ // + val: Value(Scalar(0x0000002a))
|
+ // + val: Value(Scalar(0x0000002a))
|
||||||
|
@ -17,7 +17,7 @@ fn main() -> () {
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
|
StorageLive(_1); // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
|
||||||
_1 = const 4i32; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
_1 = const 4_i32; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000004))
|
// + val: Value(Scalar(0x00000004))
|
||||||
@ -25,7 +25,7 @@ fn main() -> () {
|
|||||||
// + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
// + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
|
||||||
StorageLive(_2); // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
|
StorageLive(_2); // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
|
||||||
_2 = const 3i32; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
_2 = const 3_i32; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
@ -33,7 +33,7 @@ fn main() -> () {
|
|||||||
// + span: $DIR/optimizes_into_variable.rs:13:13: 13:34
|
// + span: $DIR/optimizes_into_variable.rs:13:13: 13:34
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
|
||||||
StorageLive(_3); // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
|
StorageLive(_3); // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
|
||||||
_3 = const 42u32; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
|
_3 = const 42_u32; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
|
@ -24,8 +24,8 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
|
StorageLive(_1); // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
|
||||||
- _2 = CheckedAdd(const 2i32, const 2i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
- _2 = CheckedAdd(const 2_i32, const 2_i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ _2 = (const 4i32, const false); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
+ _2 = (const 4_i32, const false); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
- // + val: Value(Scalar(0x00000002))
|
- // + val: Value(Scalar(0x00000002))
|
||||||
@ -43,21 +43,33 @@
|
|||||||
// mir::Constant
|
// mir::Constant
|
||||||
- // + span: $DIR/optimizes_into_variable.rs:12:17: 12:18
|
- // + span: $DIR/optimizes_into_variable.rs:12:17: 12:18
|
||||||
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
|
- // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
|
||||||
- assert(!move (_2.1: bool), "attempt to add with overflow") -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
- assert(!move (_2.1: bool), "attempt to compute `{} + {}` which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
+ assert(!const false, "attempt to add with overflow") -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
+ assert(!const false, "attempt to compute `{} + {}` which would overflow", const 2_i32, const 2_i32) -> bb1; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ // ty::Const
|
// ty::Const
|
||||||
+ // + ty: bool
|
+ // + ty: bool
|
||||||
+ // + val: Value(Scalar(0x00))
|
+ // + val: Value(Scalar(0x00))
|
||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
+ // + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
|
+ // ty::Const
|
||||||
|
// + ty: i32
|
||||||
|
// + val: Value(Scalar(0x00000002))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/optimizes_into_variable.rs:12:13: 12:14
|
||||||
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
|
||||||
|
// ty::Const
|
||||||
|
// + ty: i32
|
||||||
|
// + val: Value(Scalar(0x00000002))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/optimizes_into_variable.rs:12:17: 12:18
|
||||||
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _1 = move (_2.0: i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
- _1 = move (_2.0: i32); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ _1 = const 4i32; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
+ _1 = const 4_i32; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: i32
|
+ // + ty: i32
|
||||||
+ // + val: Value(Scalar(0x00000004))
|
+ // + val: Value(Scalar(0x00000004))
|
||||||
@ -66,7 +78,7 @@
|
|||||||
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
|
+ // + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
|
||||||
StorageLive(_3); // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
|
StorageLive(_3); // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
|
||||||
StorageLive(_4); // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
|
StorageLive(_4); // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
|
||||||
_4 = [const 0i32, const 1i32, const 2i32, const 3i32, const 4i32, const 5i32]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
|
_4 = [const 0_i32, const 1_i32, const 2_i32, const 3_i32, const 4_i32, const 5_i32]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:31
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -104,14 +116,14 @@
|
|||||||
// + span: $DIR/optimizes_into_variable.rs:13:29: 13:30
|
// + span: $DIR/optimizes_into_variable.rs:13:29: 13:30
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) }
|
||||||
StorageLive(_5); // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
|
StorageLive(_5); // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
|
||||||
_5 = const 3usize; // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
|
_5 = const 3_usize; // scope 1 at $DIR/optimizes_into_variable.rs:13:32: 13:33
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000003))
|
// + val: Value(Scalar(0x0000000000000003))
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/optimizes_into_variable.rs:13:32: 13:33
|
// + span: $DIR/optimizes_into_variable.rs:13:32: 13:33
|
||||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000003)) }
|
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000003)) }
|
||||||
_6 = const 6usize; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
_6 = const 6_usize; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000006))
|
// + val: Value(Scalar(0x0000000000000006))
|
||||||
@ -138,7 +150,7 @@
|
|||||||
|
|
||||||
bb2: {
|
bb2: {
|
||||||
- _3 = _4[_5]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
- _3 = _4[_5]; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
||||||
+ _3 = const 3i32; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
+ _3 = const 3_i32; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: i32
|
+ // + ty: i32
|
||||||
+ // + val: Value(Scalar(0x00000003))
|
+ // + val: Value(Scalar(0x00000003))
|
||||||
@ -149,7 +161,7 @@
|
|||||||
StorageDead(_4); // scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35
|
StorageDead(_4); // scope 1 at $DIR/optimizes_into_variable.rs:13:34: 13:35
|
||||||
StorageLive(_8); // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
|
StorageLive(_8); // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
|
||||||
StorageLive(_9); // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
|
StorageLive(_9); // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
|
||||||
_9 = Point { x: const 12u32, y: const 42u32 }; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
|
_9 = Point { x: const 12_u32, y: const 42_u32 }; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:36
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x0000000c))
|
// + val: Value(Scalar(0x0000000c))
|
||||||
@ -163,7 +175,7 @@
|
|||||||
// + span: $DIR/optimizes_into_variable.rs:14:32: 14:34
|
// + span: $DIR/optimizes_into_variable.rs:14:32: 14:34
|
||||||
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
||||||
- _8 = (_9.1: u32); // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
|
- _8 = (_9.1: u32); // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
|
||||||
+ _8 = const 42u32; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
|
+ _8 = const 42_u32; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u32
|
+ // + ty: u32
|
||||||
+ // + val: Value(Scalar(0x0000002a))
|
+ // + val: Value(Scalar(0x0000002a))
|
||||||
|
@ -17,7 +17,7 @@ fn main() -> () {
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
|
StorageLive(_1); // scope 0 at $DIR/optimizes_into_variable.rs:12:9: 12:10
|
||||||
_1 = const 4i32; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
_1 = const 4_i32; // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000004))
|
// + val: Value(Scalar(0x00000004))
|
||||||
@ -25,7 +25,7 @@ fn main() -> () {
|
|||||||
// + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
// + span: $DIR/optimizes_into_variable.rs:12:13: 12:18
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000004)) }
|
||||||
StorageLive(_2); // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
|
StorageLive(_2); // scope 1 at $DIR/optimizes_into_variable.rs:13:9: 13:10
|
||||||
_2 = const 3i32; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
_2 = const 3_i32; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
@ -33,7 +33,7 @@ fn main() -> () {
|
|||||||
// + span: $DIR/optimizes_into_variable.rs:13:13: 13:34
|
// + span: $DIR/optimizes_into_variable.rs:13:13: 13:34
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000003)) }
|
||||||
StorageLive(_3); // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
|
StorageLive(_3); // scope 2 at $DIR/optimizes_into_variable.rs:14:9: 14:10
|
||||||
_3 = const 42u32; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
|
_3 = const 42_u32; // scope 2 at $DIR/optimizes_into_variable.rs:14:13: 14:38
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
// + span: $DIR/read_immutable_static.rs:7:13: 7:16
|
// + span: $DIR/read_immutable_static.rs:7:13: 7:16
|
||||||
// + literal: Const { ty: &u8, val: Value(Scalar(alloc0)) }
|
// + literal: Const { ty: &u8, val: Value(Scalar(alloc0)) }
|
||||||
- _2 = (*_3); // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
|
- _2 = (*_3); // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
|
||||||
+ _2 = const 2u8; // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
|
+ _2 = const 2_u8; // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:16
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u8
|
+ // + ty: u8
|
||||||
+ // + val: Value(Scalar(0x02))
|
+ // + val: Value(Scalar(0x02))
|
||||||
@ -42,14 +42,14 @@
|
|||||||
// + literal: Const { ty: &u8, val: Value(Scalar(alloc0)) }
|
// + literal: Const { ty: &u8, val: Value(Scalar(alloc0)) }
|
||||||
- _4 = (*_5); // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
|
- _4 = (*_5); // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
|
||||||
- _1 = Add(move _2, move _4); // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:22
|
- _1 = Add(move _2, move _4); // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:22
|
||||||
+ _4 = const 2u8; // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
|
+ _4 = const 2_u8; // scope 0 at $DIR/read_immutable_static.rs:7:19: 7:22
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u8
|
+ // + ty: u8
|
||||||
+ // + val: Value(Scalar(0x02))
|
+ // + val: Value(Scalar(0x02))
|
||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/read_immutable_static.rs:7:19: 7:22
|
+ // + span: $DIR/read_immutable_static.rs:7:19: 7:22
|
||||||
+ // + literal: Const { ty: u8, val: Value(Scalar(0x02)) }
|
+ // + literal: Const { ty: u8, val: Value(Scalar(0x02)) }
|
||||||
+ _1 = const 4u8; // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:22
|
+ _1 = const 4_u8; // scope 0 at $DIR/read_immutable_static.rs:7:13: 7:22
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u8
|
+ // + ty: u8
|
||||||
+ // + val: Value(Scalar(0x04))
|
+ // + val: Value(Scalar(0x04))
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
// + literal: Const { ty: &i32, val: Unevaluated(DefId(0:3 ~ ref_deref[317d]::main[0]), [], Some(promoted[0])) }
|
// + literal: Const { ty: &i32, val: Unevaluated(DefId(0:3 ~ ref_deref[317d]::main[0]), [], Some(promoted[0])) }
|
||||||
_2 = _4; // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
|
_2 = _4; // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
|
||||||
- _1 = (*_2); // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
|
- _1 = (*_2); // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
|
||||||
+ _1 = const 4i32; // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
|
+ _1 = const 4_i32; // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: i32
|
+ // + ty: i32
|
||||||
+ // + val: Value(Scalar(0x00000004))
|
+ // + val: Value(Scalar(0x00000004))
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
StorageLive(_1); // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
|
StorageLive(_1); // scope 0 at $DIR/ref_deref.rs:5:5: 5:10
|
||||||
StorageLive(_2); // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
|
StorageLive(_2); // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
|
||||||
- StorageLive(_3); // scope 0 at $DIR/ref_deref.rs:5:8: 5:9
|
- StorageLive(_3); // scope 0 at $DIR/ref_deref.rs:5:8: 5:9
|
||||||
- _3 = const 4i32; // scope 0 at $DIR/ref_deref.rs:5:8: 5:9
|
- _3 = const 4_i32; // scope 0 at $DIR/ref_deref.rs:5:8: 5:9
|
||||||
+ _4 = const main::promoted[0]; // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
|
+ _4 = const main::promoted[0]; // scope 0 at $DIR/ref_deref.rs:5:6: 5:10
|
||||||
// ty::Const
|
// ty::Const
|
||||||
- // + ty: i32
|
- // + ty: i32
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
StorageLive(_1); // scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
|
StorageLive(_1); // scope 0 at $DIR/ref_deref_project.rs:5:5: 5:17
|
||||||
StorageLive(_2); // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
|
StorageLive(_2); // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
|
||||||
- StorageLive(_3); // scope 0 at $DIR/ref_deref_project.rs:5:8: 5:14
|
- StorageLive(_3); // scope 0 at $DIR/ref_deref_project.rs:5:8: 5:14
|
||||||
- _3 = (const 4i32, const 5i32); // scope 0 at $DIR/ref_deref_project.rs:5:8: 5:14
|
- _3 = (const 4_i32, const 5_i32); // scope 0 at $DIR/ref_deref_project.rs:5:8: 5:14
|
||||||
+ _4 = const main::promoted[0]; // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
|
+ _4 = const main::promoted[0]; // scope 0 at $DIR/ref_deref_project.rs:5:6: 5:17
|
||||||
// ty::Const
|
// ty::Const
|
||||||
- // + ty: i32
|
- // + ty: i32
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
StorageLive(_1); // scope 0 at $DIR/repeat.rs:6:9: 6:10
|
StorageLive(_1); // scope 0 at $DIR/repeat.rs:6:9: 6:10
|
||||||
StorageLive(_2); // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
StorageLive(_2); // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
||||||
StorageLive(_3); // scope 0 at $DIR/repeat.rs:6:18: 6:25
|
StorageLive(_3); // scope 0 at $DIR/repeat.rs:6:18: 6:25
|
||||||
_3 = [const 42u32; 8]; // scope 0 at $DIR/repeat.rs:6:18: 6:25
|
_3 = [const 42_u32; 8]; // scope 0 at $DIR/repeat.rs:6:18: 6:25
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -25,14 +25,14 @@
|
|||||||
// + span: $DIR/repeat.rs:6:19: 6:21
|
// + span: $DIR/repeat.rs:6:19: 6:21
|
||||||
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
||||||
StorageLive(_4); // scope 0 at $DIR/repeat.rs:6:26: 6:27
|
StorageLive(_4); // scope 0 at $DIR/repeat.rs:6:26: 6:27
|
||||||
_4 = const 2usize; // scope 0 at $DIR/repeat.rs:6:26: 6:27
|
_4 = const 2_usize; // scope 0 at $DIR/repeat.rs:6:26: 6:27
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000002))
|
// + val: Value(Scalar(0x00000002))
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/repeat.rs:6:26: 6:27
|
// + span: $DIR/repeat.rs:6:26: 6:27
|
||||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) }
|
// + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) }
|
||||||
_5 = const 8usize; // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
_5 = const 8_usize; // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000008))
|
// + val: Value(Scalar(0x00000008))
|
||||||
@ -59,8 +59,8 @@
|
|||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _2 = _3[_4]; // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
- _2 = _3[_4]; // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
||||||
- _1 = Add(move _2, const 0u32); // scope 0 at $DIR/repeat.rs:6:18: 6:32
|
- _1 = Add(move _2, const 0_u32); // scope 0 at $DIR/repeat.rs:6:18: 6:32
|
||||||
+ _2 = const 42u32; // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
+ _2 = const 42_u32; // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
- // + val: Value(Scalar(0x00000000))
|
- // + val: Value(Scalar(0x00000000))
|
||||||
@ -70,7 +70,7 @@
|
|||||||
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000000)) }
|
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000000)) }
|
||||||
+ // + span: $DIR/repeat.rs:6:18: 6:28
|
+ // + span: $DIR/repeat.rs:6:18: 6:28
|
||||||
+ // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
+ // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
||||||
+ _1 = const 42u32; // scope 0 at $DIR/repeat.rs:6:18: 6:32
|
+ _1 = const 42_u32; // scope 0 at $DIR/repeat.rs:6:18: 6:32
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u32
|
+ // + ty: u32
|
||||||
+ // + val: Value(Scalar(0x0000002a))
|
+ // + val: Value(Scalar(0x0000002a))
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
StorageLive(_1); // scope 0 at $DIR/repeat.rs:6:9: 6:10
|
StorageLive(_1); // scope 0 at $DIR/repeat.rs:6:9: 6:10
|
||||||
StorageLive(_2); // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
StorageLive(_2); // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
||||||
StorageLive(_3); // scope 0 at $DIR/repeat.rs:6:18: 6:25
|
StorageLive(_3); // scope 0 at $DIR/repeat.rs:6:18: 6:25
|
||||||
_3 = [const 42u32; 8]; // scope 0 at $DIR/repeat.rs:6:18: 6:25
|
_3 = [const 42_u32; 8]; // scope 0 at $DIR/repeat.rs:6:18: 6:25
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -25,14 +25,14 @@
|
|||||||
// + span: $DIR/repeat.rs:6:19: 6:21
|
// + span: $DIR/repeat.rs:6:19: 6:21
|
||||||
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
// + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
||||||
StorageLive(_4); // scope 0 at $DIR/repeat.rs:6:26: 6:27
|
StorageLive(_4); // scope 0 at $DIR/repeat.rs:6:26: 6:27
|
||||||
_4 = const 2usize; // scope 0 at $DIR/repeat.rs:6:26: 6:27
|
_4 = const 2_usize; // scope 0 at $DIR/repeat.rs:6:26: 6:27
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000002))
|
// + val: Value(Scalar(0x0000000000000002))
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/repeat.rs:6:26: 6:27
|
// + span: $DIR/repeat.rs:6:26: 6:27
|
||||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) }
|
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) }
|
||||||
_5 = const 8usize; // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
_5 = const 8_usize; // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000008))
|
// + val: Value(Scalar(0x0000000000000008))
|
||||||
@ -59,8 +59,8 @@
|
|||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _2 = _3[_4]; // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
- _2 = _3[_4]; // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
||||||
- _1 = Add(move _2, const 0u32); // scope 0 at $DIR/repeat.rs:6:18: 6:32
|
- _1 = Add(move _2, const 0_u32); // scope 0 at $DIR/repeat.rs:6:18: 6:32
|
||||||
+ _2 = const 42u32; // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
+ _2 = const 42_u32; // scope 0 at $DIR/repeat.rs:6:18: 6:28
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
- // + val: Value(Scalar(0x00000000))
|
- // + val: Value(Scalar(0x00000000))
|
||||||
@ -70,7 +70,7 @@
|
|||||||
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000000)) }
|
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000000)) }
|
||||||
+ // + span: $DIR/repeat.rs:6:18: 6:28
|
+ // + span: $DIR/repeat.rs:6:18: 6:28
|
||||||
+ // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
+ // + literal: Const { ty: u32, val: Value(Scalar(0x0000002a)) }
|
||||||
+ _1 = const 42u32; // scope 0 at $DIR/repeat.rs:6:18: 6:32
|
+ _1 = const 42_u32; // scope 0 at $DIR/repeat.rs:6:18: 6:32
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u32
|
+ // + ty: u32
|
||||||
+ // + val: Value(Scalar(0x0000002a))
|
+ // + val: Value(Scalar(0x0000002a))
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
let mut _1: (u32, bool); // in scope 0 at $DIR/return_place.rs:6:5: 6:10
|
let mut _1: (u32, bool); // in scope 0 at $DIR/return_place.rs:6:5: 6:10
|
||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
- _1 = CheckedAdd(const 2u32, const 2u32); // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
- _1 = CheckedAdd(const 2_u32, const 2_u32); // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
||||||
+ _1 = (const 4u32, const false); // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
+ _1 = (const 4_u32, const false); // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
- // + val: Value(Scalar(0x00000002))
|
- // + val: Value(Scalar(0x00000002))
|
||||||
@ -25,21 +25,33 @@
|
|||||||
// mir::Constant
|
// mir::Constant
|
||||||
- // + span: $DIR/return_place.rs:6:9: 6:10
|
- // + span: $DIR/return_place.rs:6:9: 6:10
|
||||||
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
|
- // + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
|
||||||
- assert(!move (_1.1: bool), "attempt to add with overflow") -> bb1; // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
- assert(!move (_1.1: bool), "attempt to compute `{} + {}` which would overflow", const 2_u32, const 2_u32) -> bb1; // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
||||||
+ // + span: $DIR/return_place.rs:6:5: 6:10
|
+ // + span: $DIR/return_place.rs:6:5: 6:10
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
+ assert(!const false, "attempt to add with overflow") -> bb1; // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
+ assert(!const false, "attempt to compute `{} + {}` which would overflow", const 2_u32, const 2_u32) -> bb1; // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
||||||
+ // ty::Const
|
// ty::Const
|
||||||
+ // + ty: bool
|
+ // + ty: bool
|
||||||
+ // + val: Value(Scalar(0x00))
|
+ // + val: Value(Scalar(0x00))
|
||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/return_place.rs:6:5: 6:10
|
+ // + span: $DIR/return_place.rs:6:5: 6:10
|
||||||
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
+ // + literal: Const { ty: bool, val: Value(Scalar(0x00)) }
|
||||||
|
+ // ty::Const
|
||||||
|
// + ty: u32
|
||||||
|
// + val: Value(Scalar(0x00000002))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/return_place.rs:6:5: 6:6
|
||||||
|
// + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
|
||||||
|
// ty::Const
|
||||||
|
// + ty: u32
|
||||||
|
// + val: Value(Scalar(0x00000002))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/return_place.rs:6:9: 6:10
|
||||||
|
// + literal: Const { ty: u32, val: Value(Scalar(0x00000002)) }
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _0 = move (_1.0: u32); // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
- _0 = move (_1.0: u32); // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
||||||
+ _0 = const 4u32; // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
+ _0 = const 4_u32; // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u32
|
+ // + ty: u32
|
||||||
+ // + val: Value(Scalar(0x00000004))
|
+ // + val: Value(Scalar(0x00000004))
|
||||||
|
@ -4,7 +4,7 @@ fn add() -> u32 {
|
|||||||
let mut _0: u32; // return place in scope 0 at $DIR/return_place.rs:5:13: 5:16
|
let mut _0: u32; // return place in scope 0 at $DIR/return_place.rs:5:13: 5:16
|
||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
_0 = const 4u32; // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
_0 = const 4_u32; // scope 0 at $DIR/return_place.rs:6:5: 6:10
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x00000004))
|
// + val: Value(Scalar(0x00000004))
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/scalar_literal_propagation.rs:3:9: 3:10
|
StorageLive(_1); // scope 0 at $DIR/scalar_literal_propagation.rs:3:9: 3:10
|
||||||
_1 = const 1u32; // scope 0 at $DIR/scalar_literal_propagation.rs:3:13: 3:14
|
_1 = const 1_u32; // scope 0 at $DIR/scalar_literal_propagation.rs:3:13: 3:14
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -23,14 +23,14 @@
|
|||||||
StorageLive(_3); // scope 1 at $DIR/scalar_literal_propagation.rs:4:13: 4:14
|
StorageLive(_3); // scope 1 at $DIR/scalar_literal_propagation.rs:4:13: 4:14
|
||||||
- _3 = _1; // scope 1 at $DIR/scalar_literal_propagation.rs:4:13: 4:14
|
- _3 = _1; // scope 1 at $DIR/scalar_literal_propagation.rs:4:13: 4:14
|
||||||
- _2 = const consume(move _3) -> bb1; // scope 1 at $DIR/scalar_literal_propagation.rs:4:5: 4:15
|
- _2 = const consume(move _3) -> bb1; // scope 1 at $DIR/scalar_literal_propagation.rs:4:5: 4:15
|
||||||
+ _3 = const 1u32; // scope 1 at $DIR/scalar_literal_propagation.rs:4:13: 4:14
|
+ _3 = const 1_u32; // scope 1 at $DIR/scalar_literal_propagation.rs:4:13: 4:14
|
||||||
// ty::Const
|
// ty::Const
|
||||||
+ // + ty: u32
|
+ // + ty: u32
|
||||||
+ // + val: Value(Scalar(0x00000001))
|
+ // + val: Value(Scalar(0x00000001))
|
||||||
+ // mir::Constant
|
+ // mir::Constant
|
||||||
+ // + span: $DIR/scalar_literal_propagation.rs:4:13: 4:14
|
+ // + span: $DIR/scalar_literal_propagation.rs:4:13: 4:14
|
||||||
+ // + literal: Const { ty: u32, val: Value(Scalar(0x00000001)) }
|
+ // + literal: Const { ty: u32, val: Value(Scalar(0x00000001)) }
|
||||||
+ _2 = const consume(const 1u32) -> bb1; // scope 1 at $DIR/scalar_literal_propagation.rs:4:5: 4:15
|
+ _2 = const consume(const 1_u32) -> bb1; // scope 1 at $DIR/scalar_literal_propagation.rs:4:5: 4:15
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
// + ty: fn(u32) {consume}
|
// + ty: fn(u32) {consume}
|
||||||
// + val: Value(Scalar(<ZST>))
|
// + val: Value(Scalar(<ZST>))
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
_2 = move _3 as &[u32] (Pointer(Unsize)); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
|
_2 = move _3 as &[u32] (Pointer(Unsize)); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
|
||||||
StorageDead(_3); // scope 0 at $DIR/slice_len.rs:5:18: 5:19
|
StorageDead(_3); // scope 0 at $DIR/slice_len.rs:5:18: 5:19
|
||||||
StorageLive(_6); // scope 0 at $DIR/slice_len.rs:5:31: 5:32
|
StorageLive(_6); // scope 0 at $DIR/slice_len.rs:5:31: 5:32
|
||||||
_6 = const 1usize; // scope 0 at $DIR/slice_len.rs:5:31: 5:32
|
_6 = const 1_usize; // scope 0 at $DIR/slice_len.rs:5:31: 5:32
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -40,7 +40,7 @@
|
|||||||
- _7 = Len((*_2)); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
- _7 = Len((*_2)); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
||||||
- _8 = Lt(_6, _7); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
- _8 = Lt(_6, _7); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
||||||
- assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
- assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
||||||
+ _7 = const 3usize; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
+ _7 = const 3_usize; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: usize
|
+ // + ty: usize
|
||||||
+ // + val: Value(Scalar(0x00000003))
|
+ // + val: Value(Scalar(0x00000003))
|
||||||
@ -65,7 +65,7 @@
|
|||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _1 = (*_2)[_6]; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
- _1 = (*_2)[_6]; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
||||||
+ _1 = const 2u32; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
+ _1 = const 2_u32; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u32
|
+ // + ty: u32
|
||||||
+ // + val: Value(Scalar(0x00000002))
|
+ // + val: Value(Scalar(0x00000002))
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
_2 = move _3 as &[u32] (Pointer(Unsize)); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
|
_2 = move _3 as &[u32] (Pointer(Unsize)); // scope 0 at $DIR/slice_len.rs:5:6: 5:19
|
||||||
StorageDead(_3); // scope 0 at $DIR/slice_len.rs:5:18: 5:19
|
StorageDead(_3); // scope 0 at $DIR/slice_len.rs:5:18: 5:19
|
||||||
StorageLive(_6); // scope 0 at $DIR/slice_len.rs:5:31: 5:32
|
StorageLive(_6); // scope 0 at $DIR/slice_len.rs:5:31: 5:32
|
||||||
_6 = const 1usize; // scope 0 at $DIR/slice_len.rs:5:31: 5:32
|
_6 = const 1_usize; // scope 0 at $DIR/slice_len.rs:5:31: 5:32
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000001))
|
// + val: Value(Scalar(0x0000000000000001))
|
||||||
@ -40,7 +40,7 @@
|
|||||||
- _7 = Len((*_2)); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
- _7 = Len((*_2)); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
||||||
- _8 = Lt(_6, _7); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
- _8 = Lt(_6, _7); // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
||||||
- assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
- assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
||||||
+ _7 = const 3usize; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
+ _7 = const 3_usize; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: usize
|
+ // + ty: usize
|
||||||
+ // + val: Value(Scalar(0x0000000000000003))
|
+ // + val: Value(Scalar(0x0000000000000003))
|
||||||
@ -65,7 +65,7 @@
|
|||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
- _1 = (*_2)[_6]; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
- _1 = (*_2)[_6]; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
||||||
+ _1 = const 2u32; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
+ _1 = const 2_u32; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u32
|
+ // + ty: u32
|
||||||
+ // + val: Value(Scalar(0x00000002))
|
+ // + val: Value(Scalar(0x00000002))
|
||||||
|
@ -7,15 +7,15 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/switch_int.rs:7:11: 7:12
|
StorageLive(_1); // scope 0 at $DIR/switch_int.rs:7:11: 7:12
|
||||||
_1 = const 1i32; // scope 0 at $DIR/switch_int.rs:7:11: 7:12
|
_1 = const 1_i32; // scope 0 at $DIR/switch_int.rs:7:11: 7:12
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/switch_int.rs:7:11: 7:12
|
// + span: $DIR/switch_int.rs:7:11: 7:12
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
||||||
- switchInt(_1) -> [1i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:8:9: 8:10
|
- switchInt(_1) -> [1_i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:8:9: 8:10
|
||||||
+ switchInt(const 1i32) -> [1i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:8:9: 8:10
|
+ switchInt(const 1_i32) -> [1_i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:8:9: 8:10
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: i32
|
+ // + ty: i32
|
||||||
+ // + val: Value(Scalar(0x00000001))
|
+ // + val: Value(Scalar(0x00000001))
|
||||||
@ -25,7 +25,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
_0 = const foo(const -1i32) -> bb3; // scope 0 at $DIR/switch_int.rs:9:14: 9:21
|
_0 = const foo(const -1_i32) -> bb3; // scope 0 at $DIR/switch_int.rs:9:14: 9:21
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: fn(i32) {foo}
|
// + ty: fn(i32) {foo}
|
||||||
// + val: Value(Scalar(<ZST>))
|
// + val: Value(Scalar(<ZST>))
|
||||||
@ -41,7 +41,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb2: {
|
bb2: {
|
||||||
_0 = const foo(const 0i32) -> bb3; // scope 0 at $DIR/switch_int.rs:8:14: 8:20
|
_0 = const foo(const 0_i32) -> bb3; // scope 0 at $DIR/switch_int.rs:8:14: 8:20
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: fn(i32) {foo}
|
// + ty: fn(i32) {foo}
|
||||||
// + val: Value(Scalar(<ZST>))
|
// + val: Value(Scalar(<ZST>))
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/switch_int.rs:7:11: 7:12
|
StorageLive(_1); // scope 0 at $DIR/switch_int.rs:7:11: 7:12
|
||||||
_1 = const 1i32; // scope 0 at $DIR/switch_int.rs:7:11: 7:12
|
_1 = const 1_i32; // scope 0 at $DIR/switch_int.rs:7:11: 7:12
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/switch_int.rs:7:11: 7:12
|
// + span: $DIR/switch_int.rs:7:11: 7:12
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
||||||
- switchInt(const 1i32) -> [1i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:8:9: 8:10
|
- switchInt(const 1_i32) -> [1_i32: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:8:9: 8:10
|
||||||
- // ty::Const
|
- // ty::Const
|
||||||
- // + ty: i32
|
- // + ty: i32
|
||||||
- // + val: Value(Scalar(0x00000001))
|
- // + val: Value(Scalar(0x00000001))
|
||||||
@ -25,7 +25,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
_0 = const foo(const -1i32) -> bb3; // scope 0 at $DIR/switch_int.rs:9:14: 9:21
|
_0 = const foo(const -1_i32) -> bb3; // scope 0 at $DIR/switch_int.rs:9:14: 9:21
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: fn(i32) {foo}
|
// + ty: fn(i32) {foo}
|
||||||
// + val: Value(Scalar(<ZST>))
|
// + val: Value(Scalar(<ZST>))
|
||||||
@ -41,7 +41,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb2: {
|
bb2: {
|
||||||
_0 = const foo(const 0i32) -> bb3; // scope 0 at $DIR/switch_int.rs:8:14: 8:20
|
_0 = const foo(const 0_i32) -> bb3; // scope 0 at $DIR/switch_int.rs:8:14: 8:20
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: fn(i32) {foo}
|
// + ty: fn(i32) {foo}
|
||||||
// + val: Value(Scalar(<ZST>))
|
// + val: Value(Scalar(<ZST>))
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/tuple_literal_propagation.rs:3:9: 3:10
|
StorageLive(_1); // scope 0 at $DIR/tuple_literal_propagation.rs:3:9: 3:10
|
||||||
_1 = (const 1u32, const 2u32); // scope 0 at $DIR/tuple_literal_propagation.rs:3:13: 3:19
|
_1 = (const 1_u32, const 2_u32); // scope 0 at $DIR/tuple_literal_propagation.rs:3:13: 3:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -30,7 +30,7 @@
|
|||||||
StorageLive(_2); // scope 1 at $DIR/tuple_literal_propagation.rs:5:5: 5:15
|
StorageLive(_2); // scope 1 at $DIR/tuple_literal_propagation.rs:5:5: 5:15
|
||||||
StorageLive(_3); // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
|
StorageLive(_3); // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
|
||||||
- _3 = _1; // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
|
- _3 = _1; // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
|
||||||
+ _3 = (const 1u32, const 2u32); // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
|
+ _3 = (const 1_u32, const 2_u32); // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: u32
|
+ // + ty: u32
|
||||||
+ // + val: Value(Scalar(0x00000001))
|
+ // + val: Value(Scalar(0x00000001))
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/const_prop_miscompile.rs:12:9: 12:14
|
StorageLive(_1); // scope 0 at $DIR/const_prop_miscompile.rs:12:9: 12:14
|
||||||
- _1 = (const 1i32,); // scope 0 at $DIR/const_prop_miscompile.rs:12:17: 12:21
|
- _1 = (const 1_i32,); // scope 0 at $DIR/const_prop_miscompile.rs:12:17: 12:21
|
||||||
+ _1 = const (1i32,); // scope 0 at $DIR/const_prop_miscompile.rs:12:17: 12:21
|
+ _1 = const (1_i32,); // scope 0 at $DIR/const_prop_miscompile.rs:12:17: 12:21
|
||||||
// ty::Const
|
// ty::Const
|
||||||
- // + ty: i32
|
- // + ty: i32
|
||||||
+ // + ty: (i32,)
|
+ // + ty: (i32,)
|
||||||
@ -33,7 +33,7 @@
|
|||||||
StorageLive(_2); // scope 1 at $DIR/const_prop_miscompile.rs:13:5: 15:6
|
StorageLive(_2); // scope 1 at $DIR/const_prop_miscompile.rs:13:5: 15:6
|
||||||
StorageLive(_3); // scope 2 at $DIR/const_prop_miscompile.rs:14:10: 14:22
|
StorageLive(_3); // scope 2 at $DIR/const_prop_miscompile.rs:14:10: 14:22
|
||||||
_3 = &raw mut (_1.0: i32); // scope 2 at $DIR/const_prop_miscompile.rs:14:10: 14:22
|
_3 = &raw mut (_1.0: i32); // scope 2 at $DIR/const_prop_miscompile.rs:14:10: 14:22
|
||||||
(*_3) = const 5i32; // scope 2 at $DIR/const_prop_miscompile.rs:14:9: 14:26
|
(*_3) = const 5_i32; // scope 2 at $DIR/const_prop_miscompile.rs:14:9: 14:26
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000005))
|
// + val: Value(Scalar(0x00000005))
|
||||||
@ -52,7 +52,7 @@
|
|||||||
StorageLive(_4); // scope 1 at $DIR/const_prop_miscompile.rs:16:9: 16:10
|
StorageLive(_4); // scope 1 at $DIR/const_prop_miscompile.rs:16:9: 16:10
|
||||||
StorageLive(_5); // scope 1 at $DIR/const_prop_miscompile.rs:16:13: 16:20
|
StorageLive(_5); // scope 1 at $DIR/const_prop_miscompile.rs:16:13: 16:20
|
||||||
_5 = (_1.0: i32); // scope 1 at $DIR/const_prop_miscompile.rs:16:15: 16:18
|
_5 = (_1.0: i32); // scope 1 at $DIR/const_prop_miscompile.rs:16:15: 16:18
|
||||||
_4 = Eq(move _5, const 5i32); // scope 1 at $DIR/const_prop_miscompile.rs:16:13: 16:25
|
_4 = Eq(move _5, const 5_i32); // scope 1 at $DIR/const_prop_miscompile.rs:16:13: 16:25
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000005))
|
// + val: Value(Scalar(0x00000005))
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/const_prop_miscompile.rs:5:9: 5:14
|
StorageLive(_1); // scope 0 at $DIR/const_prop_miscompile.rs:5:9: 5:14
|
||||||
- _1 = (const 1i32,); // scope 0 at $DIR/const_prop_miscompile.rs:5:17: 5:21
|
- _1 = (const 1_i32,); // scope 0 at $DIR/const_prop_miscompile.rs:5:17: 5:21
|
||||||
+ _1 = const (1i32,); // scope 0 at $DIR/const_prop_miscompile.rs:5:17: 5:21
|
+ _1 = const (1_i32,); // scope 0 at $DIR/const_prop_miscompile.rs:5:17: 5:21
|
||||||
// ty::Const
|
// ty::Const
|
||||||
- // + ty: i32
|
- // + ty: i32
|
||||||
+ // + ty: (i32,)
|
+ // + ty: (i32,)
|
||||||
@ -29,7 +29,7 @@
|
|||||||
+ // + literal: Const { ty: (i32,), val: Value(Scalar(0x00000001)) }
|
+ // + literal: Const { ty: (i32,), val: Value(Scalar(0x00000001)) }
|
||||||
StorageLive(_2); // scope 1 at $DIR/const_prop_miscompile.rs:6:6: 6:14
|
StorageLive(_2); // scope 1 at $DIR/const_prop_miscompile.rs:6:6: 6:14
|
||||||
_2 = &mut (_1.0: i32); // scope 1 at $DIR/const_prop_miscompile.rs:6:6: 6:14
|
_2 = &mut (_1.0: i32); // scope 1 at $DIR/const_prop_miscompile.rs:6:6: 6:14
|
||||||
(*_2) = const 5i32; // scope 1 at $DIR/const_prop_miscompile.rs:6:5: 6:18
|
(*_2) = const 5_i32; // scope 1 at $DIR/const_prop_miscompile.rs:6:5: 6:18
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000005))
|
// + val: Value(Scalar(0x00000005))
|
||||||
@ -40,7 +40,7 @@
|
|||||||
StorageLive(_3); // scope 1 at $DIR/const_prop_miscompile.rs:7:9: 7:10
|
StorageLive(_3); // scope 1 at $DIR/const_prop_miscompile.rs:7:9: 7:10
|
||||||
StorageLive(_4); // scope 1 at $DIR/const_prop_miscompile.rs:7:13: 7:20
|
StorageLive(_4); // scope 1 at $DIR/const_prop_miscompile.rs:7:13: 7:20
|
||||||
_4 = (_1.0: i32); // scope 1 at $DIR/const_prop_miscompile.rs:7:15: 7:18
|
_4 = (_1.0: i32); // scope 1 at $DIR/const_prop_miscompile.rs:7:15: 7:18
|
||||||
_3 = Eq(move _4, const 5i32); // scope 1 at $DIR/const_prop_miscompile.rs:7:13: 7:25
|
_3 = Eq(move _4, const 5_i32); // scope 1 at $DIR/const_prop_miscompile.rs:7:13: 7:25
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000005))
|
// + val: Value(Scalar(0x00000005))
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_2); // scope 0 at $DIR/copy_propagation_arg.rs:28:9: 28:10
|
StorageLive(_2); // scope 0 at $DIR/copy_propagation_arg.rs:28:9: 28:10
|
||||||
_2 = _1; // scope 0 at $DIR/copy_propagation_arg.rs:28:13: 28:14
|
_2 = _1; // scope 0 at $DIR/copy_propagation_arg.rs:28:13: 28:14
|
||||||
_1 = const 123i32; // scope 1 at $DIR/copy_propagation_arg.rs:29:5: 29:12
|
_1 = const 123_i32; // scope 1 at $DIR/copy_propagation_arg.rs:29:5: 29:12
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000007b))
|
// + val: Value(Scalar(0x0000007b))
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
bb1: {
|
bb1: {
|
||||||
StorageDead(_3); // scope 0 at $DIR/copy_propagation_arg.rs:16:12: 16:13
|
StorageDead(_3); // scope 0 at $DIR/copy_propagation_arg.rs:16:12: 16:13
|
||||||
StorageDead(_2); // scope 0 at $DIR/copy_propagation_arg.rs:16:13: 16:14
|
StorageDead(_2); // scope 0 at $DIR/copy_propagation_arg.rs:16:13: 16:14
|
||||||
_1 = const 5u8; // scope 0 at $DIR/copy_propagation_arg.rs:17:5: 17:10
|
_1 = const 5_u8; // scope 0 at $DIR/copy_propagation_arg.rs:17:5: 17:10
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u8
|
// + ty: u8
|
||||||
// + val: Value(Scalar(0x05))
|
// + val: Value(Scalar(0x05))
|
||||||
|
@ -19,11 +19,11 @@ fn match_tuple(_1: (u32, bool, std::option::Option<i32>, u32)) -> u32 {
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
FakeRead(ForMatchedPlace, _1); // scope 0 at $DIR/exponential-or.rs:7:11: 7:12
|
FakeRead(ForMatchedPlace, _1); // scope 0 at $DIR/exponential-or.rs:7:11: 7:12
|
||||||
switchInt((_1.0: u32)) -> [1u32: bb2, 4u32: bb2, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:8:15: 8:16
|
switchInt((_1.0: u32)) -> [1_u32: bb2, 4_u32: bb2, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:8:15: 8:16
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
_0 = const 0u32; // scope 0 at $DIR/exponential-or.rs:9:14: 9:15
|
_0 = const 0_u32; // scope 0 at $DIR/exponential-or.rs:9:14: 9:15
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -35,15 +35,15 @@ fn match_tuple(_1: (u32, bool, std::option::Option<i32>, u32)) -> u32 {
|
|||||||
|
|
||||||
bb2: {
|
bb2: {
|
||||||
_2 = discriminant((_1.2: std::option::Option<i32>)); // scope 0 at $DIR/exponential-or.rs:8:37: 8:48
|
_2 = discriminant((_1.2: std::option::Option<i32>)); // scope 0 at $DIR/exponential-or.rs:8:37: 8:48
|
||||||
switchInt(move _2) -> [0isize: bb4, 1isize: bb3, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:8:37: 8:48
|
switchInt(move _2) -> [0_isize: bb4, 1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:8:37: 8:48
|
||||||
}
|
}
|
||||||
|
|
||||||
bb3: {
|
bb3: {
|
||||||
switchInt((((_1.2: std::option::Option<i32>) as Some).0: i32)) -> [1i32: bb4, 8i32: bb4, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:8:42: 8:43
|
switchInt((((_1.2: std::option::Option<i32>) as Some).0: i32)) -> [1_i32: bb4, 8_i32: bb4, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:8:42: 8:43
|
||||||
}
|
}
|
||||||
|
|
||||||
bb4: {
|
bb4: {
|
||||||
_5 = Le(const 6u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:8:62: 8:67
|
_5 = Le(const 6_u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:8:62: 8:67
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x00000006))
|
// + val: Value(Scalar(0x00000006))
|
||||||
@ -54,7 +54,7 @@ fn match_tuple(_1: (u32, bool, std::option::Option<i32>, u32)) -> u32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb5: {
|
bb5: {
|
||||||
_6 = Le((_1.3: u32), const 9u32); // scope 0 at $DIR/exponential-or.rs:8:62: 8:67
|
_6 = Le((_1.3: u32), const 9_u32); // scope 0 at $DIR/exponential-or.rs:8:62: 8:67
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x00000009))
|
// + val: Value(Scalar(0x00000009))
|
||||||
@ -65,7 +65,7 @@ fn match_tuple(_1: (u32, bool, std::option::Option<i32>, u32)) -> u32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb6: {
|
bb6: {
|
||||||
_3 = Le(const 13u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:8:70: 8:77
|
_3 = Le(const 13_u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:8:70: 8:77
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x0000000d))
|
// + val: Value(Scalar(0x0000000d))
|
||||||
@ -76,7 +76,7 @@ fn match_tuple(_1: (u32, bool, std::option::Option<i32>, u32)) -> u32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb7: {
|
bb7: {
|
||||||
_4 = Le((_1.3: u32), const 16u32); // scope 0 at $DIR/exponential-or.rs:8:70: 8:77
|
_4 = Le((_1.3: u32), const 16_u32); // scope 0 at $DIR/exponential-or.rs:8:70: 8:77
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u32
|
// + ty: u32
|
||||||
// + val: Value(Scalar(0x00000010))
|
// + val: Value(Scalar(0x00000010))
|
||||||
|
@ -34,7 +34,7 @@ fn main::{{closure}}#0(_1: *mut [generator@$DIR/generator-drop-cleanup.rs:10:15:
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
_9 = discriminant((*_1)); // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
|
_9 = discriminant((*_1)); // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
|
||||||
switchInt(move _9) -> [0u32: bb7, 3u32: bb11, otherwise: bb12]; // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
|
switchInt(move _9) -> [0_u32: bb7, 3_u32: bb11, otherwise: bb12]; // scope 0 at $DIR/generator-drop-cleanup.rs:10:15: 13:6
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1 (cleanup): {
|
bb1 (cleanup): {
|
||||||
|
@ -21,7 +21,7 @@ yields ()
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_3); // scope 0 at $DIR/generator-storage-dead-unwind.rs:23:13: 23:14
|
StorageLive(_3); // scope 0 at $DIR/generator-storage-dead-unwind.rs:23:13: 23:14
|
||||||
_3 = Foo(const 5i32); // scope 0 at $DIR/generator-storage-dead-unwind.rs:23:17: 23:23
|
_3 = Foo(const 5_i32); // scope 0 at $DIR/generator-storage-dead-unwind.rs:23:17: 23:23
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000005))
|
// + val: Value(Scalar(0x00000005))
|
||||||
@ -29,7 +29,7 @@ yields ()
|
|||||||
// + span: $DIR/generator-storage-dead-unwind.rs:23:21: 23:22
|
// + span: $DIR/generator-storage-dead-unwind.rs:23:21: 23:22
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) }
|
||||||
StorageLive(_4); // scope 1 at $DIR/generator-storage-dead-unwind.rs:24:13: 24:14
|
StorageLive(_4); // scope 1 at $DIR/generator-storage-dead-unwind.rs:24:13: 24:14
|
||||||
_4 = Bar(const 6i32); // scope 1 at $DIR/generator-storage-dead-unwind.rs:24:17: 24:23
|
_4 = Bar(const 6_i32); // scope 1 at $DIR/generator-storage-dead-unwind.rs:24:17: 24:23
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000006))
|
// + val: Value(Scalar(0x00000006))
|
||||||
|
@ -32,7 +32,7 @@ fn main::{{closure}}#0(_1: std::pin::Pin<&mut [generator@$DIR/generator-tiny.rs:
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
_11 = discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 25:6 {u8, HasDrop, ()}]))); // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6
|
_11 = discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 25:6 {u8, HasDrop, ()}]))); // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6
|
||||||
switchInt(move _11) -> [0u32: bb1, 3u32: bb5, otherwise: bb6]; // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6
|
switchInt(move _11) -> [0_u32: bb1, 3_u32: bb5, otherwise: bb6]; // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
|
@ -25,14 +25,14 @@ fn bar() -> bool {
|
|||||||
// + literal: Const { ty: fn(i32, i32) -> bool {foo}, val: Value(Scalar(<ZST>)) }
|
// + literal: Const { ty: fn(i32, i32) -> bool {foo}, val: Value(Scalar(<ZST>)) }
|
||||||
StorageLive(_2); // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6
|
StorageLive(_2); // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6
|
||||||
_2 = _1; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6
|
_2 = _1; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6
|
||||||
_3 = const 1i32; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
_3 = const 1_i32; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/inline-any-operand.rs:12:7: 12:8
|
// + span: $DIR/inline-any-operand.rs:12:7: 12:8
|
||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
||||||
_4 = const -1i32; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
_4 = const -1_i32; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0xffffffff))
|
// + val: Value(Scalar(0xffffffff))
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
_2 = Box(std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
|
_2 = Box(std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
|
||||||
- (*_2) = const std::vec::Vec::<u32>::new() -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
|
- (*_2) = const std::vec::Vec::<u32>::new() -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
|
||||||
+ _4 = &mut (*_2); // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
|
+ _4 = &mut (*_2); // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
|
||||||
+ ((*_4).0: alloc::raw_vec::RawVec<u32>) = const alloc::raw_vec::RawVec::<u32> { ptr: std::ptr::Unique::<u32> { pointer: {0x4 as *const u32}, _marker: std::marker::PhantomData::<u32> }, cap: 0usize, alloc: std::alloc::Global }; // scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL
|
+ ((*_4).0: alloc::raw_vec::RawVec<u32>) = const alloc::raw_vec::RawVec::<u32> { ptr: std::ptr::Unique::<u32> { pointer: {0x4 as *const u32}, _marker: std::marker::PhantomData::<u32> }, cap: 0_usize, alloc: std::alloc::Global }; // scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL
|
||||||
// ty::Const
|
// ty::Const
|
||||||
- // + ty: fn() -> std::vec::Vec<u32> {std::vec::Vec::<u32>::new}
|
- // + ty: fn() -> std::vec::Vec<u32> {std::vec::Vec::<u32>::new}
|
||||||
- // + val: Value(Scalar(<ZST>))
|
- // + val: Value(Scalar(<ZST>))
|
||||||
@ -39,7 +39,7 @@
|
|||||||
+ // + span: $SRC_DIR/liballoc/vec.rs:LL:COL
|
+ // + span: $SRC_DIR/liballoc/vec.rs:LL:COL
|
||||||
+ // + user_ty: UserType(0)
|
+ // + user_ty: UserType(0)
|
||||||
+ // + literal: Const { ty: alloc::raw_vec::RawVec<u32>, val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [255], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
|
+ // + literal: Const { ty: alloc::raw_vec::RawVec<u32>, val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [255], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
|
||||||
+ ((*_4).1: usize) = const 0usize; // scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL
|
+ ((*_4).1: usize) = const 0_usize; // scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: usize
|
+ // + ty: usize
|
||||||
+ // + val: Value(Scalar(0x00000000))
|
+ // + val: Value(Scalar(0x00000000))
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
_2 = Box(std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
|
_2 = Box(std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:8:29: 8:43
|
||||||
- (*_2) = const std::vec::Vec::<u32>::new() -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
|
- (*_2) = const std::vec::Vec::<u32>::new() -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
|
||||||
+ _4 = &mut (*_2); // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
|
+ _4 = &mut (*_2); // scope 0 at $DIR/inline-into-box-place.rs:8:33: 8:43
|
||||||
+ ((*_4).0: alloc::raw_vec::RawVec<u32>) = const alloc::raw_vec::RawVec::<u32> { ptr: std::ptr::Unique::<u32> { pointer: {0x4 as *const u32}, _marker: std::marker::PhantomData::<u32> }, cap: 0usize, alloc: std::alloc::Global }; // scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL
|
+ ((*_4).0: alloc::raw_vec::RawVec<u32>) = const alloc::raw_vec::RawVec::<u32> { ptr: std::ptr::Unique::<u32> { pointer: {0x4 as *const u32}, _marker: std::marker::PhantomData::<u32> }, cap: 0_usize, alloc: std::alloc::Global }; // scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL
|
||||||
// ty::Const
|
// ty::Const
|
||||||
- // + ty: fn() -> std::vec::Vec<u32> {std::vec::Vec::<u32>::new}
|
- // + ty: fn() -> std::vec::Vec<u32> {std::vec::Vec::<u32>::new}
|
||||||
- // + val: Value(Scalar(<ZST>))
|
- // + val: Value(Scalar(<ZST>))
|
||||||
@ -39,7 +39,7 @@
|
|||||||
+ // + span: $SRC_DIR/liballoc/vec.rs:LL:COL
|
+ // + span: $SRC_DIR/liballoc/vec.rs:LL:COL
|
||||||
+ // + user_ty: UserType(0)
|
+ // + user_ty: UserType(0)
|
||||||
+ // + literal: Const { ty: alloc::raw_vec::RawVec<u32>, val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [65535], len: Size { raw: 16 } }, size: Size { raw: 16 }, align: Align { pow2: 3 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
|
+ // + literal: Const { ty: alloc::raw_vec::RawVec<u32>, val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [65535], len: Size { raw: 16 } }, size: Size { raw: 16 }, align: Align { pow2: 3 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
|
||||||
+ ((*_4).1: usize) = const 0usize; // scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL
|
+ ((*_4).1: usize) = const 0_usize; // scope 2 at $SRC_DIR/liballoc/vec.rs:LL:COL
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: usize
|
+ // + ty: usize
|
||||||
+ // + val: Value(Scalar(0x0000000000000000))
|
+ // + val: Value(Scalar(0x0000000000000000))
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/inline-specialization.rs:5:9: 5:10
|
StorageLive(_1); // scope 0 at $DIR/inline-specialization.rs:5:9: 5:10
|
||||||
- _1 = const <std::vec::Vec<()> as Foo>::bar() -> bb1; // scope 0 at $DIR/inline-specialization.rs:5:13: 5:38
|
- _1 = const <std::vec::Vec<()> as Foo>::bar() -> bb1; // scope 0 at $DIR/inline-specialization.rs:5:13: 5:38
|
||||||
+ _1 = const 123u32; // scope 2 at $DIR/inline-specialization.rs:14:31: 14:34
|
+ _1 = const 123_u32; // scope 2 at $DIR/inline-specialization.rs:14:31: 14:34
|
||||||
// ty::Const
|
// ty::Const
|
||||||
- // + ty: fn() -> u32 {<std::vec::Vec<()> as Foo>::bar}
|
- // + ty: fn() -> u32 {<std::vec::Vec<()> as Foo>::bar}
|
||||||
- // + val: Value(Scalar(<ZST>))
|
- // + val: Value(Scalar(<ZST>))
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
+ StorageLive(_1); // scope 0 at $DIR/instrument_coverage.rs:18:1: 20:2
|
+ StorageLive(_1); // scope 0 at $DIR/instrument_coverage.rs:18:1: 20:2
|
||||||
+ _1 = const std::intrinsics::count_code_region(const 0u32) -> bb2; // scope 0 at $DIR/instrument_coverage.rs:18:1: 20:2
|
+ _1 = const std::intrinsics::count_code_region(const 0_u32) -> bb2; // scope 0 at $DIR/instrument_coverage.rs:18:1: 20:2
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: unsafe extern "rust-intrinsic" fn(u32) {std::intrinsics::count_code_region}
|
+ // + ty: unsafe extern "rust-intrinsic" fn(u32) {std::intrinsics::count_code_region}
|
||||||
+ // + val: Value(Scalar(<ZST>))
|
+ // + val: Value(Scalar(<ZST>))
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
bb0: {
|
bb0: {
|
||||||
- falseUnwind -> [real: bb1, cleanup: bb2]; // scope 0 at $DIR/instrument_coverage.rs:10:5: 14:6
|
- falseUnwind -> [real: bb1, cleanup: bb2]; // scope 0 at $DIR/instrument_coverage.rs:10:5: 14:6
|
||||||
+ StorageLive(_4); // scope 0 at $DIR/instrument_coverage.rs:9:1: 15:2
|
+ StorageLive(_4); // scope 0 at $DIR/instrument_coverage.rs:9:1: 15:2
|
||||||
+ _4 = const std::intrinsics::count_code_region(const 0u32) -> bb7; // scope 0 at $DIR/instrument_coverage.rs:9:1: 15:2
|
+ _4 = const std::intrinsics::count_code_region(const 0_u32) -> bb7; // scope 0 at $DIR/instrument_coverage.rs:9:1: 15:2
|
||||||
+ // ty::Const
|
+ // ty::Const
|
||||||
+ // + ty: unsafe extern "rust-intrinsic" fn(u32) {std::intrinsics::count_code_region}
|
+ // + ty: unsafe extern "rust-intrinsic" fn(u32) {std::intrinsics::count_code_region}
|
||||||
+ // + val: Value(Scalar(<ZST>))
|
+ // + val: Value(Scalar(<ZST>))
|
||||||
|
@ -5,7 +5,20 @@
|
|||||||
let mut _1: (usize, bool); // in scope 0 at $DIR/issue-41697.rs:18:19: 18:22
|
let mut _1: (usize, bool); // in scope 0 at $DIR/issue-41697.rs:18:19: 18:22
|
||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
_1 = CheckedAdd(const 1usize, const 1usize); // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
|
_1 = CheckedAdd(const 1_usize, const 1_usize); // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
|
||||||
|
// ty::Const
|
||||||
|
// + ty: usize
|
||||||
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/issue-41697.rs:18:19: 18:20
|
||||||
|
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
|
||||||
|
// ty::Const
|
||||||
|
// + ty: usize
|
||||||
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/issue-41697.rs:18:21: 18:22
|
||||||
|
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
|
||||||
|
assert(!move (_1.1: bool), "attempt to compute `{} + {}` which would overflow", const 1_usize, const 1_usize) -> [success: bb2, unwind: bb1]; // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -18,7 +31,6 @@
|
|||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/issue-41697.rs:18:21: 18:22
|
// + span: $DIR/issue-41697.rs:18:21: 18:22
|
||||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
|
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
|
||||||
assert(!move (_1.1: bool), "attempt to add with overflow") -> [success: bb2, unwind: bb1]; // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1 (cleanup): {
|
bb1 (cleanup): {
|
||||||
|
@ -5,7 +5,20 @@
|
|||||||
let mut _1: (usize, bool); // in scope 0 at $DIR/issue-41697.rs:18:19: 18:22
|
let mut _1: (usize, bool); // in scope 0 at $DIR/issue-41697.rs:18:19: 18:22
|
||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
_1 = CheckedAdd(const 1usize, const 1usize); // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
|
_1 = CheckedAdd(const 1_usize, const 1_usize); // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
|
||||||
|
// ty::Const
|
||||||
|
// + ty: usize
|
||||||
|
// + val: Value(Scalar(0x0000000000000001))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/issue-41697.rs:18:19: 18:20
|
||||||
|
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
|
||||||
|
// ty::Const
|
||||||
|
// + ty: usize
|
||||||
|
// + val: Value(Scalar(0x0000000000000001))
|
||||||
|
// mir::Constant
|
||||||
|
// + span: $DIR/issue-41697.rs:18:21: 18:22
|
||||||
|
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
|
||||||
|
assert(!move (_1.1: bool), "attempt to compute `{} + {}` which would overflow", const 1_usize, const 1_usize) -> [success: bb2, unwind: bb1]; // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000001))
|
// + val: Value(Scalar(0x0000000000000001))
|
||||||
@ -18,7 +31,6 @@
|
|||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/issue-41697.rs:18:21: 18:22
|
// + span: $DIR/issue-41697.rs:18:21: 18:22
|
||||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
|
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
|
||||||
assert(!move (_1.1: bool), "attempt to add with overflow") -> [success: bb2, unwind: bb1]; // scope 0 at $DIR/issue-41697.rs:18:19: 18:22
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1 (cleanup): {
|
bb1 (cleanup): {
|
||||||
|
@ -96,7 +96,7 @@ fn main() -> () {
|
|||||||
bb8: {
|
bb8: {
|
||||||
StorageDead(_3); // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
|
StorageDead(_3); // scope 1 at $DIR/issue-41888.rs:9:19: 9:20
|
||||||
_5 = discriminant(_1); // scope 1 at $DIR/issue-41888.rs:10:16: 10:24
|
_5 = discriminant(_1); // scope 1 at $DIR/issue-41888.rs:10:16: 10:24
|
||||||
switchInt(move _5) -> [0isize: bb10, otherwise: bb9]; // scope 1 at $DIR/issue-41888.rs:10:16: 10:24
|
switchInt(move _5) -> [0_isize: bb10, otherwise: bb9]; // scope 1 at $DIR/issue-41888.rs:10:16: 10:24
|
||||||
}
|
}
|
||||||
|
|
||||||
bb9: {
|
bb9: {
|
||||||
@ -250,7 +250,7 @@ fn main() -> () {
|
|||||||
|
|
||||||
bb20: {
|
bb20: {
|
||||||
_10 = discriminant(_1); // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
|
_10 = discriminant(_1); // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
|
||||||
switchInt(move _10) -> [0isize: bb15, otherwise: bb18]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
|
switchInt(move _10) -> [0_isize: bb15, otherwise: bb18]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
|
||||||
}
|
}
|
||||||
|
|
||||||
bb21: {
|
bb21: {
|
||||||
@ -259,7 +259,7 @@ fn main() -> () {
|
|||||||
|
|
||||||
bb22 (cleanup): {
|
bb22 (cleanup): {
|
||||||
_11 = discriminant(_1); // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
|
_11 = discriminant(_1); // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
|
||||||
switchInt(move _11) -> [0isize: bb17, otherwise: bb19]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
|
switchInt(move _11) -> [0_isize: bb17, otherwise: bb19]; // scope 0 at $DIR/issue-41888.rs:15:1: 15:2
|
||||||
}
|
}
|
||||||
|
|
||||||
bb23 (cleanup): {
|
bb23 (cleanup): {
|
||||||
|
@ -58,7 +58,7 @@ fn main() -> () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb7: {
|
bb7: {
|
||||||
_2 = const 4i32; // scope 0 at $DIR/issue-49232.rs:9:26: 9:27
|
_2 = const 4_i32; // scope 0 at $DIR/issue-49232.rs:9:26: 9:27
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000004))
|
// + val: Value(Scalar(0x00000004))
|
||||||
|
@ -46,7 +46,7 @@ fn test() -> std::option::Option<std::boxed::Box<u32>> {
|
|||||||
bb2: {
|
bb2: {
|
||||||
StorageDead(_4); // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
|
StorageDead(_4); // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
|
||||||
_5 = discriminant(_3); // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
|
_5 = discriminant(_3); // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
|
||||||
switchInt(move _5) -> [0isize: bb4, 1isize: bb6, otherwise: bb5]; // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
|
switchInt(move _5) -> [0_isize: bb4, 1_isize: bb6, otherwise: bb5]; // scope 0 at $DIR/issue-62289.rs:9:19: 9:20
|
||||||
}
|
}
|
||||||
|
|
||||||
bb3 (cleanup): {
|
bb3 (cleanup): {
|
||||||
|
@ -9,7 +9,7 @@ fn foo(_1: [(Never, u32); 1]) -> u32 {
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_2); // scope 0 at $DIR/issue-72181.rs:16:43: 16:44
|
StorageLive(_2); // scope 0 at $DIR/issue-72181.rs:16:43: 16:44
|
||||||
_2 = const 0usize; // scope 0 at $DIR/issue-72181.rs:16:43: 16:44
|
_2 = const 0_usize; // scope 0 at $DIR/issue-72181.rs:16:43: 16:44
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
|
@ -39,7 +39,7 @@ fn main() -> () {
|
|||||||
StorageDead(_1); // scope 0 at $DIR/issue-72181.rs:24:34: 24:35
|
StorageDead(_1); // scope 0 at $DIR/issue-72181.rs:24:34: 24:35
|
||||||
StorageLive(_2); // scope 1 at $DIR/issue-72181.rs:26:9: 26:10
|
StorageLive(_2); // scope 1 at $DIR/issue-72181.rs:26:9: 26:10
|
||||||
StorageLive(_3); // scope 1 at $DIR/issue-72181.rs:26:14: 26:27
|
StorageLive(_3); // scope 1 at $DIR/issue-72181.rs:26:14: 26:27
|
||||||
_3 = Foo { a: const 42u64 }; // scope 1 at $DIR/issue-72181.rs:26:14: 26:27
|
_3 = Foo { a: const 42_u64 }; // scope 1 at $DIR/issue-72181.rs:26:14: 26:27
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u64
|
// + ty: u64
|
||||||
// + val: Value(Scalar(0x000000000000002a))
|
// + val: Value(Scalar(0x000000000000002a))
|
||||||
@ -47,7 +47,7 @@ fn main() -> () {
|
|||||||
// + span: $DIR/issue-72181.rs:26:23: 26:25
|
// + span: $DIR/issue-72181.rs:26:23: 26:25
|
||||||
// + literal: Const { ty: u64, val: Value(Scalar(0x000000000000002a)) }
|
// + literal: Const { ty: u64, val: Value(Scalar(0x000000000000002a)) }
|
||||||
StorageLive(_4); // scope 1 at $DIR/issue-72181.rs:26:29: 26:42
|
StorageLive(_4); // scope 1 at $DIR/issue-72181.rs:26:29: 26:42
|
||||||
_4 = Foo { a: const 10u64 }; // scope 1 at $DIR/issue-72181.rs:26:29: 26:42
|
_4 = Foo { a: const 10_u64 }; // scope 1 at $DIR/issue-72181.rs:26:29: 26:42
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u64
|
// + ty: u64
|
||||||
// + val: Value(Scalar(0x000000000000000a))
|
// + val: Value(Scalar(0x000000000000000a))
|
||||||
@ -60,7 +60,7 @@ fn main() -> () {
|
|||||||
FakeRead(ForLet, _2); // scope 1 at $DIR/issue-72181.rs:26:9: 26:10
|
FakeRead(ForLet, _2); // scope 1 at $DIR/issue-72181.rs:26:9: 26:10
|
||||||
StorageLive(_5); // scope 2 at $DIR/issue-72181.rs:27:13: 27:30
|
StorageLive(_5); // scope 2 at $DIR/issue-72181.rs:27:13: 27:30
|
||||||
StorageLive(_6); // scope 4 at $DIR/issue-72181.rs:27:24: 27:25
|
StorageLive(_6); // scope 4 at $DIR/issue-72181.rs:27:24: 27:25
|
||||||
_6 = const 0usize; // scope 4 at $DIR/issue-72181.rs:27:24: 27:25
|
_6 = const 0_usize; // scope 4 at $DIR/issue-72181.rs:27:24: 27:25
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
|
@ -9,7 +9,7 @@ fn foo(_1: [(Never, u32); 1]) -> u32 {
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_2); // scope 0 at $DIR/issue-72181.rs:16:43: 16:44
|
StorageLive(_2); // scope 0 at $DIR/issue-72181.rs:16:43: 16:44
|
||||||
_2 = const 0usize; // scope 0 at $DIR/issue-72181.rs:16:43: 16:44
|
_2 = const 0_usize; // scope 0 at $DIR/issue-72181.rs:16:43: 16:44
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000000))
|
// + val: Value(Scalar(0x0000000000000000))
|
||||||
|
@ -39,7 +39,7 @@ fn main() -> () {
|
|||||||
StorageDead(_1); // scope 0 at $DIR/issue-72181.rs:24:34: 24:35
|
StorageDead(_1); // scope 0 at $DIR/issue-72181.rs:24:34: 24:35
|
||||||
StorageLive(_2); // scope 1 at $DIR/issue-72181.rs:26:9: 26:10
|
StorageLive(_2); // scope 1 at $DIR/issue-72181.rs:26:9: 26:10
|
||||||
StorageLive(_3); // scope 1 at $DIR/issue-72181.rs:26:14: 26:27
|
StorageLive(_3); // scope 1 at $DIR/issue-72181.rs:26:14: 26:27
|
||||||
_3 = Foo { a: const 42u64 }; // scope 1 at $DIR/issue-72181.rs:26:14: 26:27
|
_3 = Foo { a: const 42_u64 }; // scope 1 at $DIR/issue-72181.rs:26:14: 26:27
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u64
|
// + ty: u64
|
||||||
// + val: Value(Scalar(0x000000000000002a))
|
// + val: Value(Scalar(0x000000000000002a))
|
||||||
@ -47,7 +47,7 @@ fn main() -> () {
|
|||||||
// + span: $DIR/issue-72181.rs:26:23: 26:25
|
// + span: $DIR/issue-72181.rs:26:23: 26:25
|
||||||
// + literal: Const { ty: u64, val: Value(Scalar(0x000000000000002a)) }
|
// + literal: Const { ty: u64, val: Value(Scalar(0x000000000000002a)) }
|
||||||
StorageLive(_4); // scope 1 at $DIR/issue-72181.rs:26:29: 26:42
|
StorageLive(_4); // scope 1 at $DIR/issue-72181.rs:26:29: 26:42
|
||||||
_4 = Foo { a: const 10u64 }; // scope 1 at $DIR/issue-72181.rs:26:29: 26:42
|
_4 = Foo { a: const 10_u64 }; // scope 1 at $DIR/issue-72181.rs:26:29: 26:42
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u64
|
// + ty: u64
|
||||||
// + val: Value(Scalar(0x000000000000000a))
|
// + val: Value(Scalar(0x000000000000000a))
|
||||||
@ -60,7 +60,7 @@ fn main() -> () {
|
|||||||
FakeRead(ForLet, _2); // scope 1 at $DIR/issue-72181.rs:26:9: 26:10
|
FakeRead(ForLet, _2); // scope 1 at $DIR/issue-72181.rs:26:9: 26:10
|
||||||
StorageLive(_5); // scope 2 at $DIR/issue-72181.rs:27:13: 27:30
|
StorageLive(_5); // scope 2 at $DIR/issue-72181.rs:27:13: 27:30
|
||||||
StorageLive(_6); // scope 4 at $DIR/issue-72181.rs:27:24: 27:25
|
StorageLive(_6); // scope 4 at $DIR/issue-72181.rs:27:24: 27:25
|
||||||
_6 = const 0usize; // scope 4 at $DIR/issue-72181.rs:27:24: 27:25
|
_6 = const 0_usize; // scope 4 at $DIR/issue-72181.rs:27:24: 27:25
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000000))
|
// + val: Value(Scalar(0x0000000000000000))
|
||||||
|
@ -67,7 +67,7 @@ fn main() -> () {
|
|||||||
|
|
||||||
bb6: {
|
bb6: {
|
||||||
StorageLive(_6); // scope 0 at $DIR/loop_test.rs:14:13: 14:14
|
StorageLive(_6); // scope 0 at $DIR/loop_test.rs:14:13: 14:14
|
||||||
_6 = const 1i32; // scope 0 at $DIR/loop_test.rs:14:17: 14:18
|
_6 = const 1_i32; // scope 0 at $DIR/loop_test.rs:14:17: 14:18
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
|
@ -54,7 +54,7 @@ fn complicated_match(_1: bool, _2: (bool, bool, std::string::String)) -> i32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb5: {
|
bb5: {
|
||||||
_0 = const 1i32; // scope 1 at $DIR/match-arm-scopes.rs:16:77: 16:78
|
_0 = const 1_i32; // scope 1 at $DIR/match-arm-scopes.rs:16:77: 16:78
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -82,7 +82,7 @@ fn complicated_match(_1: bool, _2: (bool, bool, std::string::String)) -> i32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb8: {
|
bb8: {
|
||||||
_0 = const 3i32; // scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60
|
_0 = const 3_i32; // scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
@ -142,7 +142,7 @@ fn complicated_match(_1: bool, _2: (bool, bool, std::string::String)) -> i32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb16: {
|
bb16: {
|
||||||
_0 = const 3i32; // scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60
|
_0 = const 3_i32; // scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
@ -181,7 +181,7 @@ fn complicated_match(_1: bool, _2: (bool, bool, std::string::String)) -> i32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb20: {
|
bb20: {
|
||||||
_0 = const 2i32; // scope 2 at $DIR/match-arm-scopes.rs:17:41: 17:42
|
_0 = const 2_i32; // scope 2 at $DIR/match-arm-scopes.rs:17:41: 17:42
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000002))
|
// + val: Value(Scalar(0x00000002))
|
||||||
|
@ -67,7 +67,7 @@ fn complicated_match(_1: bool, _2: (bool, bool, std::string::String)) -> i32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb8: {
|
bb8: {
|
||||||
_0 = const 1i32; // scope 1 at $DIR/match-arm-scopes.rs:16:77: 16:78
|
_0 = const 1_i32; // scope 1 at $DIR/match-arm-scopes.rs:16:77: 16:78
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -102,7 +102,7 @@ fn complicated_match(_1: bool, _2: (bool, bool, std::string::String)) -> i32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb12: {
|
bb12: {
|
||||||
_0 = const 3i32; // scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60
|
_0 = const 3_i32; // scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
@ -173,7 +173,7 @@ fn complicated_match(_1: bool, _2: (bool, bool, std::string::String)) -> i32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb21: {
|
bb21: {
|
||||||
_0 = const 3i32; // scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60
|
_0 = const 3_i32; // scope 0 at $DIR/match-arm-scopes.rs:16:59: 16:60
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
@ -216,7 +216,7 @@ fn complicated_match(_1: bool, _2: (bool, bool, std::string::String)) -> i32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb25: {
|
bb25: {
|
||||||
_0 = const 2i32; // scope 2 at $DIR/match-arm-scopes.rs:17:41: 17:42
|
_0 = const 2_i32; // scope 2 at $DIR/match-arm-scopes.rs:17:41: 17:42
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000002))
|
// + val: Value(Scalar(0x00000002))
|
||||||
|
@ -26,7 +26,7 @@ fn full_tested_match() -> () {
|
|||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:15:13: 19:6
|
StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:15:13: 19:6
|
||||||
StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27
|
StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27
|
||||||
_2 = std::option::Option::<i32>::Some(const 42i32); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27
|
_2 = std::option::Option::<i32>::Some(const 42_i32); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -35,7 +35,7 @@ fn full_tested_match() -> () {
|
|||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
|
||||||
FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27
|
FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27
|
||||||
_3 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:16:9: 16:16
|
_3 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:16:9: 16:16
|
||||||
switchInt(move _3) -> [0isize: bb2, 1isize: bb3, otherwise: bb5]; // scope 0 at $DIR/match_false_edges.rs:16:9: 16:16
|
switchInt(move _3) -> [0_isize: bb2, 1_isize: bb3, otherwise: bb5]; // scope 0 at $DIR/match_false_edges.rs:16:9: 16:16
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1 (cleanup): {
|
bb1 (cleanup): {
|
||||||
@ -43,7 +43,7 @@ fn full_tested_match() -> () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb2: {
|
bb2: {
|
||||||
_1 = (const 3i32, const 3i32); // scope 0 at $DIR/match_false_edges.rs:18:17: 18:23
|
_1 = (const 3_i32, const 3_i32); // scope 0 at $DIR/match_false_edges.rs:18:17: 18:23
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
@ -104,7 +104,7 @@ fn full_tested_match() -> () {
|
|||||||
_5 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:16:14: 16:15
|
_5 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:16:14: 16:15
|
||||||
StorageLive(_8); // scope 2 at $DIR/match_false_edges.rs:16:35: 16:36
|
StorageLive(_8); // scope 2 at $DIR/match_false_edges.rs:16:35: 16:36
|
||||||
_8 = _5; // scope 2 at $DIR/match_false_edges.rs:16:35: 16:36
|
_8 = _5; // scope 2 at $DIR/match_false_edges.rs:16:35: 16:36
|
||||||
_1 = (const 1i32, move _8); // scope 2 at $DIR/match_false_edges.rs:16:31: 16:37
|
_1 = (const 1_i32, move _8); // scope 2 at $DIR/match_false_edges.rs:16:31: 16:37
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -128,7 +128,7 @@ fn full_tested_match() -> () {
|
|||||||
_9 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:17:14: 17:15
|
_9 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:17:14: 17:15
|
||||||
StorageLive(_10); // scope 3 at $DIR/match_false_edges.rs:17:24: 17:25
|
StorageLive(_10); // scope 3 at $DIR/match_false_edges.rs:17:24: 17:25
|
||||||
_10 = _9; // scope 3 at $DIR/match_false_edges.rs:17:24: 17:25
|
_10 = _9; // scope 3 at $DIR/match_false_edges.rs:17:24: 17:25
|
||||||
_1 = (const 2i32, move _10); // scope 3 at $DIR/match_false_edges.rs:17:20: 17:26
|
_1 = (const 2_i32, move _10); // scope 3 at $DIR/match_false_edges.rs:17:20: 17:26
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000002))
|
// + val: Value(Scalar(0x00000002))
|
||||||
|
@ -25,7 +25,7 @@ fn full_tested_match2() -> () {
|
|||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:26:13: 30:6
|
StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:26:13: 30:6
|
||||||
StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
|
StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
|
||||||
_2 = std::option::Option::<i32>::Some(const 42i32); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
|
_2 = std::option::Option::<i32>::Some(const 42_i32); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000002a))
|
// + val: Value(Scalar(0x0000002a))
|
||||||
@ -34,7 +34,7 @@ fn full_tested_match2() -> () {
|
|||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
|
||||||
FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
|
FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:26:19: 26:27
|
||||||
_3 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:27:9: 27:16
|
_3 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:27:9: 27:16
|
||||||
switchInt(move _3) -> [0isize: bb2, 1isize: bb3, otherwise: bb5]; // scope 0 at $DIR/match_false_edges.rs:27:9: 27:16
|
switchInt(move _3) -> [0_isize: bb2, 1_isize: bb3, otherwise: bb5]; // scope 0 at $DIR/match_false_edges.rs:27:9: 27:16
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1 (cleanup): {
|
bb1 (cleanup): {
|
||||||
@ -54,7 +54,7 @@ fn full_tested_match2() -> () {
|
|||||||
_9 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:29:14: 29:15
|
_9 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:29:14: 29:15
|
||||||
StorageLive(_10); // scope 3 at $DIR/match_false_edges.rs:29:24: 29:25
|
StorageLive(_10); // scope 3 at $DIR/match_false_edges.rs:29:24: 29:25
|
||||||
_10 = _9; // scope 3 at $DIR/match_false_edges.rs:29:24: 29:25
|
_10 = _9; // scope 3 at $DIR/match_false_edges.rs:29:24: 29:25
|
||||||
_1 = (const 2i32, move _10); // scope 3 at $DIR/match_false_edges.rs:29:20: 29:26
|
_1 = (const 2_i32, move _10); // scope 3 at $DIR/match_false_edges.rs:29:20: 29:26
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000002))
|
// + val: Value(Scalar(0x00000002))
|
||||||
@ -96,7 +96,7 @@ fn full_tested_match2() -> () {
|
|||||||
_5 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
|
_5 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:27:14: 27:15
|
||||||
StorageLive(_8); // scope 2 at $DIR/match_false_edges.rs:27:35: 27:36
|
StorageLive(_8); // scope 2 at $DIR/match_false_edges.rs:27:35: 27:36
|
||||||
_8 = _5; // scope 2 at $DIR/match_false_edges.rs:27:35: 27:36
|
_8 = _5; // scope 2 at $DIR/match_false_edges.rs:27:35: 27:36
|
||||||
_1 = (const 1i32, move _8); // scope 2 at $DIR/match_false_edges.rs:27:31: 27:37
|
_1 = (const 1_i32, move _8); // scope 2 at $DIR/match_false_edges.rs:27:31: 27:37
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -116,7 +116,7 @@ fn full_tested_match2() -> () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb10: {
|
bb10: {
|
||||||
_1 = (const 3i32, const 3i32); // scope 0 at $DIR/match_false_edges.rs:28:17: 28:23
|
_1 = (const 3_i32, const 3_i32); // scope 0 at $DIR/match_false_edges.rs:28:17: 28:23
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
|
@ -36,7 +36,7 @@ fn main() -> () {
|
|||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:35:13: 40:6
|
StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:35:13: 40:6
|
||||||
StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26
|
StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26
|
||||||
_2 = std::option::Option::<i32>::Some(const 1i32); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26
|
_2 = std::option::Option::<i32>::Some(const 1_i32); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -45,7 +45,7 @@ fn main() -> () {
|
|||||||
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
// + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
|
||||||
FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26
|
FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:35:19: 35:26
|
||||||
_4 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:36:9: 36:17
|
_4 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:36:9: 36:17
|
||||||
switchInt(move _4) -> [1isize: bb3, otherwise: bb2]; // scope 0 at $DIR/match_false_edges.rs:36:9: 36:17
|
switchInt(move _4) -> [1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/match_false_edges.rs:36:9: 36:17
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1 (cleanup): {
|
bb1 (cleanup): {
|
||||||
@ -63,7 +63,7 @@ fn main() -> () {
|
|||||||
bb4: {
|
bb4: {
|
||||||
StorageLive(_14); // scope 0 at $DIR/match_false_edges.rs:39:9: 39:11
|
StorageLive(_14); // scope 0 at $DIR/match_false_edges.rs:39:9: 39:11
|
||||||
_14 = _2; // scope 0 at $DIR/match_false_edges.rs:39:9: 39:11
|
_14 = _2; // scope 0 at $DIR/match_false_edges.rs:39:9: 39:11
|
||||||
_1 = const 4i32; // scope 5 at $DIR/match_false_edges.rs:39:15: 39:16
|
_1 = const 4_i32; // scope 5 at $DIR/match_false_edges.rs:39:15: 39:16
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000004))
|
// + val: Value(Scalar(0x00000004))
|
||||||
@ -102,7 +102,7 @@ fn main() -> () {
|
|||||||
FakeRead(ForGuardBinding, _7); // scope 0 at $DIR/match_false_edges.rs:36:27: 36:28
|
FakeRead(ForGuardBinding, _7); // scope 0 at $DIR/match_false_edges.rs:36:27: 36:28
|
||||||
StorageLive(_6); // scope 0 at $DIR/match_false_edges.rs:36:14: 36:16
|
StorageLive(_6); // scope 0 at $DIR/match_false_edges.rs:36:14: 36:16
|
||||||
_6 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:36:14: 36:16
|
_6 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:36:14: 36:16
|
||||||
_1 = const 1i32; // scope 2 at $DIR/match_false_edges.rs:36:32: 36:33
|
_1 = const 1_i32; // scope 2 at $DIR/match_false_edges.rs:36:32: 36:33
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -123,7 +123,7 @@ fn main() -> () {
|
|||||||
bb10: {
|
bb10: {
|
||||||
StorageLive(_9); // scope 0 at $DIR/match_false_edges.rs:37:9: 37:11
|
StorageLive(_9); // scope 0 at $DIR/match_false_edges.rs:37:9: 37:11
|
||||||
_9 = _2; // scope 0 at $DIR/match_false_edges.rs:37:9: 37:11
|
_9 = _2; // scope 0 at $DIR/match_false_edges.rs:37:9: 37:11
|
||||||
_1 = const 2i32; // scope 3 at $DIR/match_false_edges.rs:37:15: 37:16
|
_1 = const 2_i32; // scope 3 at $DIR/match_false_edges.rs:37:15: 37:16
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000002))
|
// + val: Value(Scalar(0x00000002))
|
||||||
@ -161,7 +161,7 @@ fn main() -> () {
|
|||||||
FakeRead(ForGuardBinding, _11); // scope 0 at $DIR/match_false_edges.rs:38:28: 38:29
|
FakeRead(ForGuardBinding, _11); // scope 0 at $DIR/match_false_edges.rs:38:28: 38:29
|
||||||
StorageLive(_10); // scope 0 at $DIR/match_false_edges.rs:38:14: 38:15
|
StorageLive(_10); // scope 0 at $DIR/match_false_edges.rs:38:14: 38:15
|
||||||
_10 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:38:14: 38:15
|
_10 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:38:14: 38:15
|
||||||
_1 = const 3i32; // scope 4 at $DIR/match_false_edges.rs:38:33: 38:34
|
_1 = const 3_i32; // scope 4 at $DIR/match_false_edges.rs:38:33: 38:34
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
|
@ -20,7 +20,7 @@ fn main() -> () {
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/match_test.rs:7:9: 7:10
|
StorageLive(_1); // scope 0 at $DIR/match_test.rs:7:9: 7:10
|
||||||
_1 = const 3i32; // scope 0 at $DIR/match_test.rs:7:13: 7:14
|
_1 = const 3_i32; // scope 0 at $DIR/match_test.rs:7:13: 7:14
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
@ -39,7 +39,7 @@ fn main() -> () {
|
|||||||
FakeRead(ForLet, _2); // scope 1 at $DIR/match_test.rs:8:9: 8:10
|
FakeRead(ForLet, _2); // scope 1 at $DIR/match_test.rs:8:9: 8:10
|
||||||
StorageLive(_3); // scope 2 at $DIR/match_test.rs:12:5: 17:6
|
StorageLive(_3); // scope 2 at $DIR/match_test.rs:12:5: 17:6
|
||||||
FakeRead(ForMatchedPlace, _1); // scope 2 at $DIR/match_test.rs:12:11: 12:12
|
FakeRead(ForMatchedPlace, _1); // scope 2 at $DIR/match_test.rs:12:11: 12:12
|
||||||
_6 = Le(const 0i32, _1); // scope 2 at $DIR/match_test.rs:13:9: 13:14
|
_6 = Le(const 0_i32, _1); // scope 2 at $DIR/match_test.rs:13:9: 13:14
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -50,7 +50,7 @@ fn main() -> () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
_7 = Lt(_1, const 10i32); // scope 2 at $DIR/match_test.rs:13:9: 13:14
|
_7 = Lt(_1, const 10_i32); // scope 2 at $DIR/match_test.rs:13:9: 13:14
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000000a))
|
// + val: Value(Scalar(0x0000000a))
|
||||||
@ -65,7 +65,7 @@ fn main() -> () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb3: {
|
bb3: {
|
||||||
_3 = const 3i32; // scope 2 at $DIR/match_test.rs:16:14: 16:15
|
_3 = const 3_i32; // scope 2 at $DIR/match_test.rs:16:14: 16:15
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000003))
|
// + val: Value(Scalar(0x00000003))
|
||||||
@ -76,7 +76,7 @@ fn main() -> () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb4: {
|
bb4: {
|
||||||
_4 = Le(const 10i32, _1); // scope 2 at $DIR/match_test.rs:14:9: 14:16
|
_4 = Le(const 10_i32, _1); // scope 2 at $DIR/match_test.rs:14:9: 14:16
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x0000000a))
|
// + val: Value(Scalar(0x0000000a))
|
||||||
@ -87,7 +87,7 @@ fn main() -> () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb5: {
|
bb5: {
|
||||||
_5 = Le(_1, const 20i32); // scope 2 at $DIR/match_test.rs:14:9: 14:16
|
_5 = Le(_1, const 20_i32); // scope 2 at $DIR/match_test.rs:14:9: 14:16
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000014))
|
// + val: Value(Scalar(0x00000014))
|
||||||
@ -102,7 +102,7 @@ fn main() -> () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb7: {
|
bb7: {
|
||||||
switchInt(_1) -> [-1i32: bb8, otherwise: bb3]; // scope 2 at $DIR/match_test.rs:15:9: 15:11
|
switchInt(_1) -> [-1_i32: bb8, otherwise: bb3]; // scope 2 at $DIR/match_test.rs:15:9: 15:11
|
||||||
}
|
}
|
||||||
|
|
||||||
bb8: {
|
bb8: {
|
||||||
@ -119,7 +119,7 @@ fn main() -> () {
|
|||||||
bb10: {
|
bb10: {
|
||||||
StorageDead(_9); // scope 2 at $DIR/match_test.rs:13:24: 13:25
|
StorageDead(_9); // scope 2 at $DIR/match_test.rs:13:24: 13:25
|
||||||
FakeRead(ForMatchGuard, _8); // scope 2 at $DIR/match_test.rs:13:18: 13:19
|
FakeRead(ForMatchGuard, _8); // scope 2 at $DIR/match_test.rs:13:18: 13:19
|
||||||
_3 = const 0i32; // scope 2 at $DIR/match_test.rs:13:23: 13:24
|
_3 = const 0_i32; // scope 2 at $DIR/match_test.rs:13:23: 13:24
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -135,7 +135,7 @@ fn main() -> () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb12: {
|
bb12: {
|
||||||
_3 = const 1i32; // scope 2 at $DIR/match_test.rs:14:20: 14:21
|
_3 = const 1_i32; // scope 2 at $DIR/match_test.rs:14:20: 14:21
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -146,7 +146,7 @@ fn main() -> () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb13: {
|
bb13: {
|
||||||
_3 = const 2i32; // scope 2 at $DIR/match_test.rs:15:15: 15:16
|
_3 = const 2_i32; // scope 2 at $DIR/match_test.rs:15:15: 15:16
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000002))
|
// + val: Value(Scalar(0x00000002))
|
||||||
|
@ -14,7 +14,7 @@ fn unwrap(_1: std::option::Option<T>) -> T {
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
_2 = discriminant(_1); // scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:9: 9:16
|
_2 = discriminant(_1); // scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:9: 9:16
|
||||||
switchInt(move _2) -> [0isize: bb2, 1isize: bb4, otherwise: bb3]; // scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:9: 9:16
|
switchInt(move _2) -> [0_isize: bb2, 1_isize: bb4, otherwise: bb3]; // scope 0 at $DIR/no-drop-for-inactive-variant.rs:9:9: 9:16
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1 (cleanup): {
|
bb1 (cleanup): {
|
||||||
|
@ -17,8 +17,8 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
- StorageLive(_2); // scope 0 at $DIR/nrvo-simple.rs:3:9: 3:16
|
- StorageLive(_2); // scope 0 at $DIR/nrvo-simple.rs:3:9: 3:16
|
||||||
- _2 = [const 0u8; 1024]; // scope 0 at $DIR/nrvo-simple.rs:3:19: 3:28
|
- _2 = [const 0_u8; 1024]; // scope 0 at $DIR/nrvo-simple.rs:3:19: 3:28
|
||||||
+ _0 = [const 0u8; 1024]; // scope 0 at $DIR/nrvo-simple.rs:3:19: 3:28
|
+ _0 = [const 0_u8; 1024]; // scope 0 at $DIR/nrvo-simple.rs:3:19: 3:28
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u8
|
// + ty: u8
|
||||||
// + val: Value(Scalar(0x00))
|
// + val: Value(Scalar(0x00))
|
||||||
|
@ -16,7 +16,7 @@ fn main() -> () {
|
|||||||
StorageLive(_1); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14
|
StorageLive(_1); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14
|
||||||
StorageLive(_2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
|
StorageLive(_2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
|
||||||
StorageLive(_3); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
|
StorageLive(_3); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
|
||||||
_3 = Droppy(const 0usize); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
|
_3 = Droppy(const 0_usize); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -29,7 +29,7 @@ fn main() -> () {
|
|||||||
StorageDead(_2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:42: 6:43
|
StorageDead(_2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:42: 6:43
|
||||||
StorageLive(_4); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
|
StorageLive(_4); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
|
||||||
StorageLive(_5); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
|
StorageLive(_5); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
|
||||||
_5 = Droppy(const 0usize); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
|
_5 = Droppy(const 0_usize); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
|
@ -16,7 +16,7 @@ fn main() -> () {
|
|||||||
StorageLive(_1); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14
|
StorageLive(_1); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:9: 6:14
|
||||||
StorageLive(_2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
|
StorageLive(_2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:24: 6:42
|
||||||
StorageLive(_3); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
|
StorageLive(_3); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
|
||||||
_3 = Droppy(const 0usize); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
|
_3 = Droppy(const 0_usize); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:32: 6:41
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000000))
|
// + val: Value(Scalar(0x0000000000000000))
|
||||||
@ -29,7 +29,7 @@ fn main() -> () {
|
|||||||
StorageDead(_2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:42: 6:43
|
StorageDead(_2); // scope 0 at $DIR/packed-struct-drop-aligned.rs:6:42: 6:43
|
||||||
StorageLive(_4); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
|
StorageLive(_4); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:11: 7:29
|
||||||
StorageLive(_5); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
|
StorageLive(_5); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
|
||||||
_5 = Droppy(const 0usize); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
|
_5 = Droppy(const 0_usize); // scope 1 at $DIR/packed-struct-drop-aligned.rs:7:19: 7:28
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000000))
|
// + val: Value(Scalar(0x0000000000000000))
|
||||||
|
@ -16,11 +16,11 @@
|
|||||||
- FakeRead(ForMatchedPlace, _1); // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
|
- FakeRead(ForMatchedPlace, _1); // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
|
||||||
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
|
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:7:11: 7:12
|
||||||
_3 = discriminant(_1); // scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16
|
_3 = discriminant(_1); // scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16
|
||||||
switchInt(move _3) -> [1isize: bb2, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16
|
switchInt(move _3) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:8:9: 8:16
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
_0 = const 1i32; // scope 0 at $DIR/remove_fake_borrows.rs:9:14: 9:15
|
_0 = const 1_i32; // scope 0 at $DIR/remove_fake_borrows.rs:9:14: 9:15
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000001))
|
// + val: Value(Scalar(0x00000001))
|
||||||
@ -31,7 +31,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb2: {
|
bb2: {
|
||||||
switchInt((*(*((_1 as Some).0: &&i32)))) -> [0i32: bb3, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:8:14: 8:15
|
switchInt((*(*((_1 as Some).0: &&i32)))) -> [0_i32: bb3, otherwise: bb1]; // scope 0 at $DIR/remove_fake_borrows.rs:8:14: 8:15
|
||||||
}
|
}
|
||||||
|
|
||||||
bb3: {
|
bb3: {
|
||||||
@ -62,7 +62,7 @@
|
|||||||
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
|
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
|
||||||
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
|
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
|
||||||
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
|
+ nop; // scope 0 at $DIR/remove_fake_borrows.rs:8:20: 8:21
|
||||||
_0 = const 0i32; // scope 0 at $DIR/remove_fake_borrows.rs:8:25: 8:26
|
_0 = const 0_i32; // scope 0 at $DIR/remove_fake_borrows.rs:8:25: 8:26
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
|
@ -56,7 +56,7 @@ fn main() -> () {
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/retag.rs:30:9: 30:14
|
StorageLive(_1); // scope 0 at $DIR/retag.rs:30:9: 30:14
|
||||||
_1 = const 0i32; // scope 0 at $DIR/retag.rs:30:17: 30:18
|
_1 = const 0_i32; // scope 0 at $DIR/retag.rs:30:17: 30:18
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -67,7 +67,7 @@ fn main() -> () {
|
|||||||
StorageLive(_3); // scope 1 at $DIR/retag.rs:32:13: 32:14
|
StorageLive(_3); // scope 1 at $DIR/retag.rs:32:13: 32:14
|
||||||
StorageLive(_4); // scope 1 at $DIR/retag.rs:32:17: 32:24
|
StorageLive(_4); // scope 1 at $DIR/retag.rs:32:17: 32:24
|
||||||
StorageLive(_5); // scope 1 at $DIR/retag.rs:32:17: 32:24
|
StorageLive(_5); // scope 1 at $DIR/retag.rs:32:17: 32:24
|
||||||
_5 = Test(const 0i32); // scope 1 at $DIR/retag.rs:32:17: 32:24
|
_5 = Test(const 0_i32); // scope 1 at $DIR/retag.rs:32:17: 32:24
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -170,7 +170,7 @@ fn main() -> () {
|
|||||||
StorageLive(_19); // scope 7 at $DIR/retag.rs:47:5: 47:24
|
StorageLive(_19); // scope 7 at $DIR/retag.rs:47:5: 47:24
|
||||||
StorageLive(_20); // scope 7 at $DIR/retag.rs:47:5: 47:12
|
StorageLive(_20); // scope 7 at $DIR/retag.rs:47:5: 47:12
|
||||||
StorageLive(_21); // scope 7 at $DIR/retag.rs:47:5: 47:12
|
StorageLive(_21); // scope 7 at $DIR/retag.rs:47:5: 47:12
|
||||||
_21 = Test(const 0i32); // scope 7 at $DIR/retag.rs:47:5: 47:12
|
_21 = Test(const 0_i32); // scope 7 at $DIR/retag.rs:47:5: 47:12
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: i32
|
// + ty: i32
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
|
@ -18,7 +18,7 @@ fn match_bool(_1: bool) -> usize {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb3: {
|
bb3: {
|
||||||
_0 = const 20usize; // scope 0 at $DIR/simple-match.rs:8:14: 8:16
|
_0 = const 20_usize; // scope 0 at $DIR/simple-match.rs:8:14: 8:16
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x00000014))
|
// + val: Value(Scalar(0x00000014))
|
||||||
@ -29,7 +29,7 @@ fn match_bool(_1: bool) -> usize {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb4: {
|
bb4: {
|
||||||
_0 = const 10usize; // scope 0 at $DIR/simple-match.rs:7:17: 7:19
|
_0 = const 10_usize; // scope 0 at $DIR/simple-match.rs:7:17: 7:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000a))
|
// + val: Value(Scalar(0x0000000a))
|
||||||
|
@ -18,7 +18,7 @@ fn match_bool(_1: bool) -> usize {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb3: {
|
bb3: {
|
||||||
_0 = const 20usize; // scope 0 at $DIR/simple-match.rs:8:14: 8:16
|
_0 = const 20_usize; // scope 0 at $DIR/simple-match.rs:8:14: 8:16
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x0000000000000014))
|
// + val: Value(Scalar(0x0000000000000014))
|
||||||
@ -29,7 +29,7 @@ fn match_bool(_1: bool) -> usize {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb4: {
|
bb4: {
|
||||||
_0 = const 10usize; // scope 0 at $DIR/simple-match.rs:7:17: 7:19
|
_0 = const 10_usize; // scope 0 at $DIR/simple-match.rs:7:17: 7:19
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: usize
|
// + ty: usize
|
||||||
// + val: Value(Scalar(0x000000000000000a))
|
// + val: Value(Scalar(0x000000000000000a))
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/simplify-arm-identity.rs:18:9: 18:10
|
StorageLive(_1); // scope 0 at $DIR/simplify-arm-identity.rs:18:9: 18:10
|
||||||
((_1 as Foo).0: u8) = const 0u8; // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
|
((_1 as Foo).0: u8) = const 0_u8; // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u8
|
// + ty: u8
|
||||||
// + val: Value(Scalar(0x00))
|
// + val: Value(Scalar(0x00))
|
||||||
@ -28,7 +28,7 @@
|
|||||||
// + literal: Const { ty: u8, val: Value(Scalar(0x00)) }
|
// + literal: Const { ty: u8, val: Value(Scalar(0x00)) }
|
||||||
discriminant(_1) = 0; // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
|
discriminant(_1) = 0; // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
|
||||||
StorageLive(_2); // scope 1 at $DIR/simplify-arm-identity.rs:19:18: 22:6
|
StorageLive(_2); // scope 1 at $DIR/simplify-arm-identity.rs:19:18: 22:6
|
||||||
_3 = const 0isize; // scope 1 at $DIR/simplify-arm-identity.rs:20:9: 20:20
|
_3 = const 0_isize; // scope 1 at $DIR/simplify-arm-identity.rs:20:9: 20:20
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: isize
|
// + ty: isize
|
||||||
// + val: Value(Scalar(0x00000000))
|
// + val: Value(Scalar(0x00000000))
|
||||||
@ -39,7 +39,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
_2 = const Dst::Foo(0u8); // scope 1 at $DIR/simplify-arm-identity.rs:21:21: 21:32
|
_2 = const Dst::Foo(0_u8); // scope 1 at $DIR/simplify-arm-identity.rs:21:21: 21:32
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: Dst
|
// + ty: Dst
|
||||||
// + val: Value(Scalar(0x00))
|
// + val: Value(Scalar(0x00))
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_1); // scope 0 at $DIR/simplify-arm-identity.rs:18:9: 18:10
|
StorageLive(_1); // scope 0 at $DIR/simplify-arm-identity.rs:18:9: 18:10
|
||||||
((_1 as Foo).0: u8) = const 0u8; // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
|
((_1 as Foo).0: u8) = const 0_u8; // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: u8
|
// + ty: u8
|
||||||
// + val: Value(Scalar(0x00))
|
// + val: Value(Scalar(0x00))
|
||||||
@ -28,7 +28,7 @@
|
|||||||
// + literal: Const { ty: u8, val: Value(Scalar(0x00)) }
|
// + literal: Const { ty: u8, val: Value(Scalar(0x00)) }
|
||||||
discriminant(_1) = 0; // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
|
discriminant(_1) = 0; // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
|
||||||
StorageLive(_2); // scope 1 at $DIR/simplify-arm-identity.rs:19:18: 22:6
|
StorageLive(_2); // scope 1 at $DIR/simplify-arm-identity.rs:19:18: 22:6
|
||||||
_3 = const 0isize; // scope 1 at $DIR/simplify-arm-identity.rs:20:9: 20:20
|
_3 = const 0_isize; // scope 1 at $DIR/simplify-arm-identity.rs:20:9: 20:20
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: isize
|
// + ty: isize
|
||||||
// + val: Value(Scalar(0x0000000000000000))
|
// + val: Value(Scalar(0x0000000000000000))
|
||||||
@ -39,7 +39,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
_2 = const Dst::Foo(0u8); // scope 1 at $DIR/simplify-arm-identity.rs:21:21: 21:32
|
_2 = const Dst::Foo(0_u8); // scope 1 at $DIR/simplify-arm-identity.rs:21:21: 21:32
|
||||||
// ty::Const
|
// ty::Const
|
||||||
// + ty: Dst
|
// + ty: Dst
|
||||||
// + val: Value(Scalar(0x00))
|
// + val: Value(Scalar(0x00))
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
_2 = discriminant(_1); // scope 0 at $DIR/simplify-arm.rs:11:9: 11:16
|
_2 = discriminant(_1); // scope 0 at $DIR/simplify-arm.rs:11:9: 11:16
|
||||||
switchInt(move _2) -> [0isize: bb1, 1isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:11:9: 11:16
|
switchInt(move _2) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:11:9: 11:16
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
_2 = discriminant(_1); // scope 0 at $DIR/simplify-arm.rs:11:9: 11:16
|
_2 = discriminant(_1); // scope 0 at $DIR/simplify-arm.rs:11:9: 11:16
|
||||||
switchInt(move _2) -> [0isize: bb1, 1isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:11:9: 11:16
|
switchInt(move _2) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:11:9: 11:16
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user