Auto merge of #76754 - varkor:diagnostic-cleanup-ii, r=ecstatic-morse

Clean up diagnostics for arithmetic operation errors

Plus a small tweak to a range pattern error message.
This commit is contained in:
bors 2020-09-29 14:28:58 +00:00
commit 4d52dc4790
119 changed files with 452 additions and 447 deletions

View File

@ -1300,49 +1300,49 @@ impl<O> AssertKind<O> {
match self { match self {
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 length is {{}} but the index is {{}}\", {:?}, {:?}",
len, index len, index
), ),
OverflowNeg(op) => { OverflowNeg(op) => {
write!(f, "\"attempt to negate {{}} which would overflow\", {:?}", op) write!(f, "\"attempt to negate `{{}}`, which would overflow\", {:?}", op)
} }
DivisionByZero(op) => write!(f, "\"attempt to divide {{}} by zero\", {:?}", op), DivisionByZero(op) => write!(f, "\"attempt to divide `{{}}` by zero\", {:?}", op),
RemainderByZero(op) => write!( RemainderByZero(op) => write!(
f, f,
"\"attempt to calculate the remainder of {{}} with a divisor of zero\", {:?}", "\"attempt to calculate the remainder of `{{}}` with a divisor of zero\", {:?}",
op op
), ),
Overflow(BinOp::Add, l, r) => write!( Overflow(BinOp::Add, l, r) => write!(
f, f,
"\"attempt to compute `{{}} + {{}}` which would overflow\", {:?}, {:?}", "\"attempt to compute `{{}} + {{}}`, which would overflow\", {:?}, {:?}",
l, r l, r
), ),
Overflow(BinOp::Sub, l, r) => write!( Overflow(BinOp::Sub, l, r) => write!(
f, f,
"\"attempt to compute `{{}} - {{}}` which would overflow\", {:?}, {:?}", "\"attempt to compute `{{}} - {{}}`, which would overflow\", {:?}, {:?}",
l, r l, r
), ),
Overflow(BinOp::Mul, l, r) => write!( Overflow(BinOp::Mul, l, r) => write!(
f, f,
"\"attempt to compute `{{}} * {{}}` which would overflow\", {:?}, {:?}", "\"attempt to compute `{{}} * {{}}`, which would overflow\", {:?}, {:?}",
l, r l, r
), ),
Overflow(BinOp::Div, l, r) => write!( Overflow(BinOp::Div, l, r) => write!(
f, f,
"\"attempt to compute `{{}} / {{}}` which would overflow\", {:?}, {:?}", "\"attempt to compute `{{}} / {{}}`, which would overflow\", {:?}, {:?}",
l, r l, r
), ),
Overflow(BinOp::Rem, l, r) => write!( Overflow(BinOp::Rem, l, r) => write!(
f, f,
"\"attempt to compute the remainder of `{{}} % {{}}` which would overflow\", {:?}, {:?}", "\"attempt to compute the remainder of `{{}} % {{}}`, which would overflow\", {:?}, {:?}",
l, r l, r
), ),
Overflow(BinOp::Shr, _, r) => { Overflow(BinOp::Shr, _, r) => {
write!(f, "\"attempt to shift right by {{}} which would overflow\", {:?}", r) write!(f, "\"attempt to shift right by `{{}}`, which would overflow\", {:?}", r)
} }
Overflow(BinOp::Shl, _, r) => { Overflow(BinOp::Shl, _, r) => {
write!(f, "\"attempt to shift left by {{}} which would overflow\", {:?}", r) write!(f, "\"attempt to shift left by `{{}}`, which would overflow\", {:?}", r)
} }
_ => write!(f, "\"{}\"", self.description()), _ => write!(f, "\"{}\"", self.description()),
} }
@ -1353,36 +1353,40 @@ impl<O: fmt::Debug> fmt::Debug for AssertKind<O> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
use AssertKind::*; use AssertKind::*;
match self { match self {
BoundsCheck { ref len, ref index } => { BoundsCheck { ref len, ref index } => write!(
write!(f, "index out of bounds: the len is {:?} but the index is {:?}", len, index) f,
} "index out of bounds: the length is {:?} but the index is {:?}",
OverflowNeg(op) => write!(f, "attempt to negate {:#?} which would overflow", op), len, index
DivisionByZero(op) => write!(f, "attempt to divide {:#?} by zero", op), ),
RemainderByZero(op) => { OverflowNeg(op) => write!(f, "attempt to negate `{:#?}`, which would overflow", op),
write!(f, "attempt to calculate the remainder of {:#?} with a divisor of zero", 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) => { Overflow(BinOp::Add, l, r) => {
write!(f, "attempt to compute `{:#?} + {:#?}` which would overflow", l, r) write!(f, "attempt to compute `{:#?} + {:#?}`, which would overflow", l, r)
} }
Overflow(BinOp::Sub, l, r) => { Overflow(BinOp::Sub, l, r) => {
write!(f, "attempt to compute `{:#?} - {:#?}` which would overflow", l, r) write!(f, "attempt to compute `{:#?} - {:#?}`, which would overflow", l, r)
} }
Overflow(BinOp::Mul, l, r) => { Overflow(BinOp::Mul, l, r) => {
write!(f, "attempt to compute `{:#?} * {:#?}` which would overflow", l, r) write!(f, "attempt to compute `{:#?} * {:#?}`, which would overflow", l, r)
} }
Overflow(BinOp::Div, l, r) => { Overflow(BinOp::Div, l, r) => {
write!(f, "attempt to compute `{:#?} / {:#?}` which would overflow", l, r) write!(f, "attempt to compute `{:#?} / {:#?}`, which would overflow", l, r)
} }
Overflow(BinOp::Rem, l, r) => write!( Overflow(BinOp::Rem, l, r) => write!(
f, f,
"attempt to compute the remainder of `{:#?} % {:#?}` which would overflow", "attempt to compute the remainder of `{:#?} % {:#?}`, which would overflow",
l, r l, r
), ),
Overflow(BinOp::Shr, _, r) => { Overflow(BinOp::Shr, _, r) => {
write!(f, "attempt to shift right by {:#?} which would overflow", r) write!(f, "attempt to shift right by `{:#?}`, which would overflow", r)
} }
Overflow(BinOp::Shl, _, r) => { Overflow(BinOp::Shl, _, r) => {
write!(f, "attempt to shift left by {:#?} which would overflow", r) write!(f, "attempt to shift left by `{:#?}`, which would overflow", r)
} }
_ => write!(f, "{}", self.description()), _ => write!(f, "{}", self.description()),
} }

View File

@ -495,7 +495,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
self.tcx.sess, self.tcx.sess,
span, span,
E0029, E0029,
"only char and numeric types are allowed in range patterns" "only `char` and numeric types are allowed in range patterns"
); );
let msg = |ty| format!("this is of type `{}` but it should be `char` or numeric", ty); let msg = |ty| format!("this is of type `{}` but it should be `char` or numeric", ty);
let mut one_side_err = |first_span, first_ty, second: Option<(bool, Ty<'tcx>, Span)>| { let mut one_side_err = |first_span, first_ty, second: Option<(bool, Ty<'tcx>, Span)>| {

View File

@ -48,7 +48,7 @@ fn main() -> () {
_7 = _2; // scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8 _7 = _2; // scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8
_8 = Len(_1); // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9 _8 = Len(_1); // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
_9 = Lt(_7, _8); // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9 _9 = Lt(_7, _8); // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
assert(move _9, "index out of bounds: the len is {} but the index is {}", move _8, _7) -> bb2; // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9 assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
} }
bb2: { bb2: {

View File

@ -48,7 +48,7 @@ fn main() -> () {
_7 = _2; // scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8 _7 = _2; // scope 3 at $DIR/array-index-is-temporary.rs:16:7: 16:8
_8 = Len(_1); // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9 _8 = Len(_1); // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
_9 = Lt(_7, _8); // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9 _9 = Lt(_7, _8); // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
assert(move _9, "index out of bounds: the len is {} but the index is {}", move _8, _7) -> bb2; // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9 assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 3 at $DIR/array-index-is-temporary.rs:16:5: 16:9
} }
bb2: { bb2: {

View File

@ -32,7 +32,7 @@
- _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 2_usize; // 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
_5 = Lt(_3, _4); // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 _5 = Lt(_3, _4); // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
} }
bb1: { bb1: {
@ -44,7 +44,7 @@
- _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 2_usize; // 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
_9 = Lt(_7, _8); // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 _9 = Lt(_7, _8); // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
assert(move _9, "index out of bounds: the len is {} but the index is {}", move _8, _7) -> bb2; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
} }
bb2: { bb2: {

View File

@ -32,7 +32,7 @@
- _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 2_usize; // 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
_5 = Lt(_3, _4); // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 _5 = Lt(_3, _4); // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17 assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/combine_array_len.rs:5:13: 5:17
} }
bb1: { bb1: {
@ -44,7 +44,7 @@
- _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 2_usize; // 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
_9 = Lt(_7, _8); // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 _9 = Lt(_7, _8); // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
assert(move _9, "index out of bounds: the len is {} but the index is {}", move _8, _7) -> bb2; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17 assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 1 at $DIR/combine_array_len.rs:6:13: 6:17
} }
bb2: { bb2: {

View File

@ -20,9 +20,9 @@
_3 = const 2_usize; // 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
_4 = const 4_usize; // 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
- _5 = Lt(_3, _4); // scope 0 at $DIR/array_index.rs:5:18: 5:33 - _5 = Lt(_3, _4); // scope 0 at $DIR/array_index.rs:5:18: 5:33
- assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33 - assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ _5 = const true; // scope 0 at $DIR/array_index.rs:5:18: 5:33 + _5 = const true; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ assert(const true, "index out of bounds: the len is {} but the index is {}", const 4_usize, const 2_usize) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33 + assert(const true, "index out of bounds: the length is {} but the index is {}", const 4_usize, const 2_usize) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33
} }
bb1: { bb1: {

View File

@ -20,9 +20,9 @@
_3 = const 2_usize; // 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
_4 = const 4_usize; // 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
- _5 = Lt(_3, _4); // scope 0 at $DIR/array_index.rs:5:18: 5:33 - _5 = Lt(_3, _4); // scope 0 at $DIR/array_index.rs:5:18: 5:33
- assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33 - assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ _5 = const true; // scope 0 at $DIR/array_index.rs:5:18: 5:33 + _5 = const true; // scope 0 at $DIR/array_index.rs:5:18: 5:33
+ assert(const true, "index out of bounds: the len is {} but the index is {}", const 4_usize, const 2_usize) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33 + assert(const true, "index out of bounds: the length is {} but the index is {}", const 4_usize, const 2_usize) -> bb1; // scope 0 at $DIR/array_index.rs:5:18: 5:33
} }
bb1: { bb1: {

View File

@ -24,21 +24,21 @@
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 0_i32); // 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
- 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 - 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
+ _3 = const 0_i32; // 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
+ _4 = const true; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19 + _4 = const true; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
+ assert(!const true, "attempt to divide {} by zero", const 1_i32) -> bb1; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19 + assert(!const true, "attempt to divide `{}` by zero", const 1_i32) -> bb1; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
} }
bb1: { bb1: {
- _5 = Eq(_3, const -1_i32); // 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
- _6 = Eq(const 1_i32, 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
- _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 compute `{} / {}` which would overflow", const 1_i32, _3) -> 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
+ _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
+ _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
+ _7 = const false; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19 + _7 = const false; // 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, const 0_i32) -> 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, const 0_i32) -> bb2; // scope 1 at $DIR/bad_op_div_by_zero.rs:5:14: 5:19
} }
bb2: { bb2: {

View File

@ -24,21 +24,21 @@
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 0_i32); // 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
- 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 - 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
+ _3 = const 0_i32; // 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
+ _4 = const true; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19 + _4 = const true; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
+ assert(!const true, "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 + assert(!const true, "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
} }
bb1: { bb1: {
- _5 = Eq(_3, const -1_i32); // 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
- _6 = Eq(const 1_i32, 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
- _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 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 - 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
+ _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
+ _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
+ _7 = const false; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19 + _7 = const false; // 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, const 0_i32) -> 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, const 0_i32) -> bb2; // scope 1 at $DIR/bad_op_mod_by_zero.rs:5:14: 5:19
} }
bb2: { bb2: {

View File

@ -42,9 +42,9 @@
_6 = const 3_usize; // 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
_7 = Len((*_1)); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25 _7 = Len((*_1)); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
- _8 = Lt(_6, _7); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25 - _8 = Lt(_6, _7); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
- assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25 - assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
+ _8 = Lt(const 3_usize, _7); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25 + _8 = Lt(const 3_usize, _7); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
+ assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, const 3_usize) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25 + assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, const 3_usize) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
} }
bb1: { bb1: {

View File

@ -42,9 +42,9 @@
_6 = const 3_usize; // 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
_7 = Len((*_1)); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25 _7 = Len((*_1)); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
- _8 = Lt(_6, _7); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25 - _8 = Lt(_6, _7); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
- assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25 - assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
+ _8 = Lt(const 3_usize, _7); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25 + _8 = Lt(const 3_usize, _7); // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
+ assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, const 3_usize) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25 + assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, const 3_usize) -> bb1; // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:7:18: 7:25
} }
bb1: { bb1: {

View File

@ -12,7 +12,7 @@
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 1_u32, const 1_u32); // 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
- 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 - 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
+ _2 = const (2_u32, false); // scope 0 at $DIR/checked_add.rs:5:18: 5:23 + _2 = const (2_u32, false); // scope 0 at $DIR/checked_add.rs:5:18: 5:23
+ // ty::Const + // ty::Const
+ // + ty: (u32, bool) + // + ty: (u32, bool)
@ -20,7 +20,7 @@
+ // 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: (u32, bool), val: Value(ByRef { alloc: Allocation { bytes: [2, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) } + // + literal: Const { ty: (u32, bool), val: Value(ByRef { alloc: Allocation { bytes: [2, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
+ 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 + 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
} }
bb1: { bb1: {

View File

@ -15,7 +15,7 @@
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 2_u32 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
- _3 = CheckedAdd(_2, const 1_u8); // 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
- 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 - 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
+ _2 = const 2_u8; // scope 0 at $DIR/indirect.rs:5:13: 5:25 + _2 = const 2_u8; // scope 0 at $DIR/indirect.rs:5:13: 5:25
+ _3 = const (3_u8, false); // scope 0 at $DIR/indirect.rs:5:13: 5:29 + _3 = const (3_u8, false); // scope 0 at $DIR/indirect.rs:5:13: 5:29
+ // ty::Const + // ty::Const
@ -24,7 +24,7 @@
+ // mir::Constant + // mir::Constant
+ // + span: $DIR/indirect.rs:5:13: 5:29 + // + span: $DIR/indirect.rs:5:13: 5:29
+ // + literal: Const { ty: (u8, bool), val: Value(ByRef { alloc: Allocation { bytes: [3, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [3], len: Size { raw: 2 } }, size: Size { raw: 2 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) } + // + literal: Const { ty: (u8, bool), val: Value(ByRef { alloc: Allocation { bytes: [3, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [3], len: Size { raw: 2 } }, size: Size { raw: 2 }, align: Align { pow2: 0 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
+ assert(!const false, "attempt to compute `{} + {}` which would overflow", const 2_u8, const 1_u8) -> bb1; // scope 0 at $DIR/indirect.rs:5:13: 5:29 + assert(!const false, "attempt to compute `{} + {}`, which would overflow", const 2_u8, const 1_u8) -> bb1; // scope 0 at $DIR/indirect.rs:5:13: 5:29
} }
bb1: { bb1: {

View File

@ -20,9 +20,9 @@
_3 = const 2_usize; // scope 0 at $DIR/large_array_index.rs:6:30: 6:31 _3 = const 2_usize; // scope 0 at $DIR/large_array_index.rs:6:30: 6:31
_4 = const 5000_usize; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32 _4 = const 5000_usize; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
- _5 = Lt(_3, _4); // scope 0 at $DIR/large_array_index.rs:6:17: 6:32 - _5 = Lt(_3, _4); // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
- assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32 - assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
+ _5 = const true; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32 + _5 = const true; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
+ assert(const true, "index out of bounds: the len is {} but the index is {}", const 5000_usize, const 2_usize) -> bb1; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32 + assert(const true, "index out of bounds: the length is {} but the index is {}", const 5000_usize, const 2_usize) -> bb1; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
} }
bb1: { bb1: {

View File

@ -20,9 +20,9 @@
_3 = const 2_usize; // scope 0 at $DIR/large_array_index.rs:6:30: 6:31 _3 = const 2_usize; // scope 0 at $DIR/large_array_index.rs:6:30: 6:31
_4 = const 5000_usize; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32 _4 = const 5000_usize; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
- _5 = Lt(_3, _4); // scope 0 at $DIR/large_array_index.rs:6:17: 6:32 - _5 = Lt(_3, _4); // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
- assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32 - assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
+ _5 = const true; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32 + _5 = const true; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
+ assert(const true, "index out of bounds: the len is {} but the index is {}", const 5000_usize, const 2_usize) -> bb1; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32 + assert(const true, "index out of bounds: the length is {} but the index is {}", const 5000_usize, const 2_usize) -> bb1; // scope 0 at $DIR/large_array_index.rs:6:17: 6:32
} }
bb1: { bb1: {

View File

@ -25,7 +25,7 @@
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 2_i32, const 2_i32); // 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
- 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 - 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
+ _2 = const (4_i32, false); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 + _2 = const (4_i32, false); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+ // ty::Const + // ty::Const
+ // + ty: (i32, bool) + // + ty: (i32, bool)
@ -33,7 +33,7 @@
+ // 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: (i32, bool), val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) } + // + literal: Const { ty: (i32, bool), val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
+ 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 + 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
} }
bb1: { bb1: {
@ -46,9 +46,9 @@
_5 = const 3_usize; // 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
_6 = const 6_usize; // 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
- _7 = Lt(_5, _6); // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 - _7 = Lt(_5, _6); // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
- assert(move _7, "index out of bounds: the len is {} but the index is {}", move _6, _5) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 - assert(move _7, "index out of bounds: the length is {} but the index is {}", move _6, _5) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ _7 = const true; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 + _7 = const true; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ assert(const true, "index out of bounds: the len is {} but the index is {}", const 6_usize, const 3_usize) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 + assert(const true, "index out of bounds: the length is {} but the index is {}", const 6_usize, const 3_usize) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
} }
bb2: { bb2: {

View File

@ -25,7 +25,7 @@
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 2_i32, const 2_i32); // 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
- 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 - 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
+ _2 = const (4_i32, false); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18 + _2 = const (4_i32, false); // scope 0 at $DIR/optimizes_into_variable.rs:12:13: 12:18
+ // ty::Const + // ty::Const
+ // + ty: (i32, bool) + // + ty: (i32, bool)
@ -33,7 +33,7 @@
+ // 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: (i32, bool), val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) } + // + literal: Const { ty: (i32, bool), val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
+ 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 + 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
} }
bb1: { bb1: {
@ -46,9 +46,9 @@
_5 = const 3_usize; // 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
_6 = const 6_usize; // 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
- _7 = Lt(_5, _6); // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 - _7 = Lt(_5, _6); // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
- assert(move _7, "index out of bounds: the len is {} but the index is {}", move _6, _5) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 - assert(move _7, "index out of bounds: the length is {} but the index is {}", move _6, _5) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ _7 = const true; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 + _7 = const true; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
+ assert(const true, "index out of bounds: the len is {} but the index is {}", const 6_usize, const 3_usize) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34 + assert(const true, "index out of bounds: the length is {} but the index is {}", const 6_usize, const 3_usize) -> bb2; // scope 1 at $DIR/optimizes_into_variable.rs:13:13: 13:34
} }
bb2: { bb2: {

View File

@ -22,9 +22,9 @@
_4 = const 2_usize; // scope 0 at $DIR/repeat.rs:6:26: 6:27 _4 = const 2_usize; // scope 0 at $DIR/repeat.rs:6:26: 6:27
_5 = const 8_usize; // scope 0 at $DIR/repeat.rs:6:18: 6:28 _5 = const 8_usize; // scope 0 at $DIR/repeat.rs:6:18: 6:28
- _6 = Lt(_4, _5); // scope 0 at $DIR/repeat.rs:6:18: 6:28 - _6 = Lt(_4, _5); // scope 0 at $DIR/repeat.rs:6:18: 6:28
- assert(move _6, "index out of bounds: the len is {} but the index is {}", move _5, _4) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28 - assert(move _6, "index out of bounds: the length is {} but the index is {}", move _5, _4) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28
+ _6 = const true; // scope 0 at $DIR/repeat.rs:6:18: 6:28 + _6 = const true; // scope 0 at $DIR/repeat.rs:6:18: 6:28
+ assert(const true, "index out of bounds: the len is {} but the index is {}", const 8_usize, const 2_usize) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28 + assert(const true, "index out of bounds: the length is {} but the index is {}", const 8_usize, const 2_usize) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28
} }
bb1: { bb1: {

View File

@ -22,9 +22,9 @@
_4 = const 2_usize; // scope 0 at $DIR/repeat.rs:6:26: 6:27 _4 = const 2_usize; // scope 0 at $DIR/repeat.rs:6:26: 6:27
_5 = const 8_usize; // scope 0 at $DIR/repeat.rs:6:18: 6:28 _5 = const 8_usize; // scope 0 at $DIR/repeat.rs:6:18: 6:28
- _6 = Lt(_4, _5); // scope 0 at $DIR/repeat.rs:6:18: 6:28 - _6 = Lt(_4, _5); // scope 0 at $DIR/repeat.rs:6:18: 6:28
- assert(move _6, "index out of bounds: the len is {} but the index is {}", move _5, _4) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28 - assert(move _6, "index out of bounds: the length is {} but the index is {}", move _5, _4) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28
+ _6 = const true; // scope 0 at $DIR/repeat.rs:6:18: 6:28 + _6 = const true; // scope 0 at $DIR/repeat.rs:6:18: 6:28
+ assert(const true, "index out of bounds: the len is {} but the index is {}", const 8_usize, const 2_usize) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28 + assert(const true, "index out of bounds: the length is {} but the index is {}", const 8_usize, const 2_usize) -> bb1; // scope 0 at $DIR/repeat.rs:6:18: 6:28
} }
bb1: { bb1: {

View File

@ -7,7 +7,7 @@
bb0: { bb0: {
- _1 = CheckedAdd(const 2_u32, const 2_u32); // 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
- 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 - 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
+ _1 = const (4_u32, false); // scope 0 at $DIR/return_place.rs:6:5: 6:10 + _1 = const (4_u32, false); // scope 0 at $DIR/return_place.rs:6:5: 6:10
+ // ty::Const + // ty::Const
+ // + ty: (u32, bool) + // + ty: (u32, bool)
@ -15,7 +15,7 @@
+ // 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: (u32, bool), val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) } + // + literal: Const { ty: (u32, bool), val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
+ 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 + 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
} }
bb1: { bb1: {

View File

@ -33,10 +33,10 @@
_6 = const 1_usize; // 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
- _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 length is {} but the index is {}", move _7, _6) -> bb1; // 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 + _7 = const 3_usize; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ _8 = const true; // scope 0 at $DIR/slice_len.rs:5:5: 5:33 + _8 = const true; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ assert(const true, "index out of bounds: the len is {} but the index is {}", const 3_usize, const 1_usize) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33 + assert(const true, "index out of bounds: the length is {} but the index is {}", const 3_usize, const 1_usize) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
} }
bb1: { bb1: {

View File

@ -33,10 +33,10 @@
_6 = const 1_usize; // 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
- _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 length is {} but the index is {}", move _7, _6) -> bb1; // 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 + _7 = const 3_usize; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ _8 = const true; // scope 0 at $DIR/slice_len.rs:5:5: 5:33 + _8 = const true; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
+ assert(const true, "index out of bounds: the len is {} but the index is {}", const 3_usize, const 1_usize) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33 + assert(const true, "index out of bounds: the length is {} but the index is {}", const 3_usize, const 1_usize) -> bb1; // scope 0 at $DIR/slice_len.rs:5:5: 5:33
} }
bb1: { bb1: {

View File

@ -6,7 +6,7 @@
bb0: { bb0: {
_1 = CheckedAdd(const 1_usize, const 1_usize); // 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
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 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
} }
bb1 (cleanup): { bb1 (cleanup): {

View File

@ -6,7 +6,7 @@
bb0: { bb0: {
_1 = CheckedAdd(const 1_usize, const 1_usize); // 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
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 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
} }
bb1 (cleanup): { bb1 (cleanup): {

View File

@ -12,7 +12,7 @@ fn foo(_1: [(Never, u32); 1]) -> u32 {
_2 = const 0_usize; // 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
_3 = Len(_1); // scope 0 at $DIR/issue-72181.rs:16:40: 16:45 _3 = Len(_1); // scope 0 at $DIR/issue-72181.rs:16:40: 16:45
_4 = Lt(_2, _3); // scope 0 at $DIR/issue-72181.rs:16:40: 16:45 _4 = Lt(_2, _3); // scope 0 at $DIR/issue-72181.rs:16:40: 16:45
assert(move _4, "index out of bounds: the len is {} but the index is {}", move _3, _2) -> [success: bb2, unwind: bb1]; // scope 0 at $DIR/issue-72181.rs:16:40: 16:45 assert(move _4, "index out of bounds: the length is {} but the index is {}", move _3, _2) -> [success: bb2, unwind: bb1]; // scope 0 at $DIR/issue-72181.rs:16:40: 16:45
} }
bb1 (cleanup): { bb1 (cleanup): {

View File

@ -12,7 +12,7 @@ fn foo(_1: [(Never, u32); 1]) -> u32 {
_2 = const 0_usize; // 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
_3 = Len(_1); // scope 0 at $DIR/issue-72181.rs:16:40: 16:45 _3 = Len(_1); // scope 0 at $DIR/issue-72181.rs:16:40: 16:45
_4 = Lt(_2, _3); // scope 0 at $DIR/issue-72181.rs:16:40: 16:45 _4 = Lt(_2, _3); // scope 0 at $DIR/issue-72181.rs:16:40: 16:45
assert(move _4, "index out of bounds: the len is {} but the index is {}", move _3, _2) -> [success: bb2, unwind: bb1]; // scope 0 at $DIR/issue-72181.rs:16:40: 16:45 assert(move _4, "index out of bounds: the length is {} but the index is {}", move _3, _2) -> [success: bb2, unwind: bb1]; // scope 0 at $DIR/issue-72181.rs:16:40: 16:45
} }
bb1 (cleanup): { bb1 (cleanup): {

View File

@ -48,7 +48,7 @@ fn main() -> () {
_6 = const 0_usize; // 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
_7 = Len(_2); // scope 4 at $DIR/issue-72181.rs:27:22: 27:26 _7 = Len(_2); // scope 4 at $DIR/issue-72181.rs:27:22: 27:26
_8 = Lt(_6, _7); // scope 4 at $DIR/issue-72181.rs:27:22: 27:26 _8 = Lt(_6, _7); // scope 4 at $DIR/issue-72181.rs:27:22: 27:26
assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> [success: bb3, unwind: bb1]; // scope 4 at $DIR/issue-72181.rs:27:22: 27:26 assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> [success: bb3, unwind: bb1]; // scope 4 at $DIR/issue-72181.rs:27:22: 27:26
} }
bb3: { bb3: {

View File

@ -48,7 +48,7 @@ fn main() -> () {
_6 = const 0_usize; // 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
_7 = Len(_2); // scope 4 at $DIR/issue-72181.rs:27:22: 27:26 _7 = Len(_2); // scope 4 at $DIR/issue-72181.rs:27:22: 27:26
_8 = Lt(_6, _7); // scope 4 at $DIR/issue-72181.rs:27:22: 27:26 _8 = Lt(_6, _7); // scope 4 at $DIR/issue-72181.rs:27:22: 27:26
assert(move _8, "index out of bounds: the len is {} but the index is {}", move _7, _6) -> [success: bb3, unwind: bb1]; // scope 4 at $DIR/issue-72181.rs:27:22: 27:26 assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> [success: bb3, unwind: bb1]; // scope 4 at $DIR/issue-72181.rs:27:22: 27:26
} }
bb3: { bb3: {

View File

@ -52,7 +52,7 @@ fn main() -> () {
_3 = const Const(Value(Scalar(0x00000000)): usize); // bb0[5]: scope 1 at $DIR/region-subtyping-basic.rs:18:16: 18:17 _3 = const Const(Value(Scalar(0x00000000)): usize); // bb0[5]: scope 1 at $DIR/region-subtyping-basic.rs:18:16: 18:17
_4 = Len(_1); // bb0[6]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18 _4 = Len(_1); // bb0[6]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18
_5 = Lt(_3, _4); // bb0[7]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18 _5 = Lt(_3, _4); // bb0[7]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18
assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> [success: bb2, unwind: bb1]; // bb0[8]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18 assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb2, unwind: bb1]; // bb0[8]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18
} }
bb1 (cleanup): { bb1 (cleanup): {

View File

@ -52,7 +52,7 @@ fn main() -> () {
_3 = const Const(Value(Scalar(0x0000000000000000)): usize); // bb0[5]: scope 1 at $DIR/region-subtyping-basic.rs:18:16: 18:17 _3 = const Const(Value(Scalar(0x0000000000000000)): usize); // bb0[5]: scope 1 at $DIR/region-subtyping-basic.rs:18:16: 18:17
_4 = Len(_1); // bb0[6]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18 _4 = Len(_1); // bb0[6]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18
_5 = Lt(_3, _4); // bb0[7]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18 _5 = Lt(_3, _4); // bb0[7]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18
assert(move _5, "index out of bounds: the len is {} but the index is {}", move _4, _3) -> [success: bb2, unwind: bb1]; // bb0[8]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18 assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb2, unwind: bb1]; // bb0[8]: scope 1 at $DIR/region-subtyping-basic.rs:18:14: 18:18
} }
bb1 (cleanup): { bb1 (cleanup): {

View File

@ -118,7 +118,7 @@
18:5-18:6: StorageDead: StorageDead(_8) 18:5-18:6: StorageDead: StorageDead(_8)
9:5-18:6: Goto: goto -&gt; bb28"> </span><span class="code odd" style="--layer: 4" title="bb8: ../instrument-coverage/coverage_of_if_else.rs:10:9: 10:23: 9:5-18:6: Goto: goto -&gt; bb28"> </span><span class="code odd" style="--layer: 4" title="bb8: ../instrument-coverage/coverage_of_if_else.rs:10:9: 10:23:
10:9-10:23: Assign: _7 = CheckedSub(_1, const 4_i32) 10:9-10:23: Assign: _7 = CheckedSub(_1, const 4_i32)
10:9-10:23: Assert: assert(!move (_7.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _1, const 4_i32) -&gt; [success: bb9, unwind: bb1]"><span class="annotation">8⦊</span>countdown -= 4<span class="annotation">⦉8</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: 10:9-10:23: Assert: assert(!move (_7.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 4_i32) -&gt; [success: bb9, unwind: bb1]"><span class="annotation">8⦊</span>countdown -= 4<span class="annotation">⦉8</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
15:9-15:23: Assign: _1 = move (_19.0: i32) 15:9-15:23: Assign: _1 = move (_19.0: i32)
11:29-16:6: Assign: _4 = const () 11:29-16:6: Assign: _4 = const ()
18:5-18:6: StorageDead: StorageDead(_8) 18:5-18:6: StorageDead: StorageDead(_8)
@ -223,7 +223,7 @@
14:9-14:10: StorageDead: StorageDead(_11) 14:9-14:10: StorageDead: StorageDead(_11)
14:9-14:10: StorageDead: StorageDead(_10) 14:9-14:10: StorageDead: StorageDead(_10)
15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32) 15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32)
15:9-15:23: Assert: assert(!move (_19.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _1, const 5_i32) -&gt; [success: bb25, unwind: bb1]"><span class="annotation">24⦊</span>}</span><span class="code odd" style="--layer: 5" title="bb22: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: 15:9-15:23: Assert: assert(!move (_19.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 5_i32) -&gt; [success: bb25, unwind: bb1]"><span class="annotation">24⦊</span>}</span><span class="code odd" style="--layer: 5" title="bb22: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
12:9-14:10: Assign: _10 = const () 12:9-14:10: Assign: _10 = const ()
12:9-14:10: Goto: goto -&gt; bb24"><span class="annotation">⦉22</span></span><span class="code even" style="--layer: 6" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: 12:9-14:10: Goto: goto -&gt; bb24"><span class="annotation">⦉22</span></span><span class="code even" style="--layer: 6" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
13:13-13:26: Assign: _1 = const 0_i32 13:13-13:26: Assign: _1 = const 0_i32
@ -234,12 +234,12 @@
14:9-14:10: StorageDead: StorageDead(_11) 14:9-14:10: StorageDead: StorageDead(_11)
14:9-14:10: StorageDead: StorageDead(_10) 14:9-14:10: StorageDead: StorageDead(_10)
15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32) 15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32)
15:9-15:23: Assert: assert(!move (_19.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _1, const 5_i32) -&gt; [success: bb25, unwind: bb1]"></span></span> 15:9-15:23: Assert: assert(!move (_19.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 5_i32) -&gt; [success: bb25, unwind: bb1]"></span></span>
<span class="line"><span class="code odd" style="--layer: 8" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23: <span class="line"><span class="code odd" style="--layer: 8" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23:
14:9-14:10: StorageDead: StorageDead(_11) 14:9-14:10: StorageDead: StorageDead(_11)
14:9-14:10: StorageDead: StorageDead(_10) 14:9-14:10: StorageDead: StorageDead(_10)
15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32) 15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32)
15:9-15:23: Assert: assert(!move (_19.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _1, const 5_i32) -&gt; [success: bb25, unwind: bb1]"> countdown -= 5<span class="annotation">⦉24</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: 15:9-15:23: Assert: assert(!move (_19.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 5_i32) -&gt; [success: bb25, unwind: bb1]"> countdown -= 5<span class="annotation">⦉24</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
11:12-18:6: FalseEdge: falseEdge -&gt; [real: bb12, imaginary: bb11]">;</span></span> 11:12-18:6: FalseEdge: falseEdge -&gt; [real: bb12, imaginary: bb11]">;</span></span>
<span class="line"><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: <span class="line"><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
11:12-18:6: FalseEdge: falseEdge -&gt; [real: bb12, imaginary: bb11]"> } else {</span></span> 11:12-18:6: FalseEdge: falseEdge -&gt; [real: bb12, imaginary: bb11]"> } else {</span></span>
@ -353,7 +353,7 @@
25:22-27:6: Assign: _24 = const () 25:22-27:6: Assign: _24 = const ()
25:5-34:6: Goto: goto -&gt; bb53"> </span><span class="code odd" style="--layer: 9" title="bb35: ../instrument-coverage/coverage_of_if_else.rs:26:9: 26:23: 25:5-34:6: Goto: goto -&gt; bb53"> </span><span class="code odd" style="--layer: 9" title="bb35: ../instrument-coverage/coverage_of_if_else.rs:26:9: 26:23:
26:9-26:23: Assign: _27 = CheckedSub(_21, const 4_i32) 26:9-26:23: Assign: _27 = CheckedSub(_21, const 4_i32)
26:9-26:23: Assert: assert(!move (_27.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _21, const 4_i32) -&gt; [success: bb36, unwind: bb1]"><span class="annotation">35⦊</span>countdown -= 4<span class="annotation">⦉35</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: 26:9-26:23: Assert: assert(!move (_27.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 4_i32) -&gt; [success: bb36, unwind: bb1]"><span class="annotation">35⦊</span>countdown -= 4<span class="annotation">⦉35</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
26:9-26:23: Assign: _21 = move (_27.0: i32) 26:9-26:23: Assign: _21 = move (_27.0: i32)
25:22-27:6: Assign: _24 = const () 25:22-27:6: Assign: _24 = const ()
25:5-34:6: Goto: goto -&gt; bb53">;</span></span> 25:5-34:6: Goto: goto -&gt; bb53">;</span></span>
@ -459,7 +459,7 @@
30:9-30:10: StorageDead: StorageDead(_31) 30:9-30:10: StorageDead: StorageDead(_31)
30:9-30:10: StorageDead: StorageDead(_30) 30:9-30:10: StorageDead: StorageDead(_30)
31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32) 31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32)
31:9-31:23: Assert: assert(!move (_39.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _21, const 5_i32) -&gt; [success: bb52, unwind: bb1]"><span class="annotation">51⦊</span>}</span><span class="code odd" style="--layer: 10" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: 31:9-31:23: Assert: assert(!move (_39.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 5_i32) -&gt; [success: bb52, unwind: bb1]"><span class="annotation">51⦊</span>}</span><span class="code odd" style="--layer: 10" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
28:9-30:10: FalseEdge: falseEdge -&gt; [real: bb50, imaginary: bb49]"><span class="annotation">⦉48</span></span><span class="code even" style="--layer: 11" title="bb50: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: 28:9-30:10: FalseEdge: falseEdge -&gt; [real: bb50, imaginary: bb49]"><span class="annotation">⦉48</span></span><span class="code even" style="--layer: 11" title="bb50: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
29:13-29:26: Assign: _21 = const 0_i32 29:13-29:26: Assign: _21 = const 0_i32
28:61-30:10: Assign: _30 = const () 28:61-30:10: Assign: _30 = const ()
@ -471,12 +471,12 @@
30:9-30:10: StorageDead: StorageDead(_31) 30:9-30:10: StorageDead: StorageDead(_31)
30:9-30:10: StorageDead: StorageDead(_30) 30:9-30:10: StorageDead: StorageDead(_30)
31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32) 31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32)
31:9-31:23: Assert: assert(!move (_39.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _21, const 5_i32) -&gt; [success: bb52, unwind: bb1]"></span></span> 31:9-31:23: Assert: assert(!move (_39.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 5_i32) -&gt; [success: bb52, unwind: bb1]"></span></span>
<span class="line"><span class="code odd" style="--layer: 13" title="bb51: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23: <span class="line"><span class="code odd" style="--layer: 13" title="bb51: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23:
30:9-30:10: StorageDead: StorageDead(_31) 30:9-30:10: StorageDead: StorageDead(_31)
30:9-30:10: StorageDead: StorageDead(_30) 30:9-30:10: StorageDead: StorageDead(_30)
31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32) 31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32)
31:9-31:23: Assert: assert(!move (_39.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _21, const 5_i32) -&gt; [success: bb52, unwind: bb1]"> countdown -= 5<span class="annotation">⦉51</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: 31:9-31:23: Assert: assert(!move (_39.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 5_i32) -&gt; [success: bb52, unwind: bb1]"> countdown -= 5<span class="annotation">⦉51</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
27:12-34:6: FalseEdge: falseEdge -&gt; [real: bb39, imaginary: bb38]">;</span></span> 27:12-34:6: FalseEdge: falseEdge -&gt; [real: bb39, imaginary: bb38]">;</span></span>
<span class="line"><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: <span class="line"><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
27:12-34:6: FalseEdge: falseEdge -&gt; [real: bb39, imaginary: bb38]"> } else {</span></span> 27:12-34:6: FalseEdge: falseEdge -&gt; [real: bb39, imaginary: bb38]"> } else {</span></span>
@ -614,7 +614,7 @@
50:5-50:6: StorageDead: StorageDead(_47) 50:5-50:6: StorageDead: StorageDead(_47)
41:5-50:6: Goto: goto -&gt; bb78"> </span><span class="code odd" style="--layer: 14" title="bb60: ../instrument-coverage/coverage_of_if_else.rs:42:9: 42:23: 41:5-50:6: Goto: goto -&gt; bb78"> </span><span class="code odd" style="--layer: 14" title="bb60: ../instrument-coverage/coverage_of_if_else.rs:42:9: 42:23:
42:9-42:23: Assign: _46 = CheckedSub(_41, const 4_i32) 42:9-42:23: Assign: _46 = CheckedSub(_41, const 4_i32)
42:9-42:23: Assert: assert(!move (_46.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _41, const 4_i32) -&gt; [success: bb61, unwind: bb1]"><span class="annotation">60⦊</span>countdown -= 4<span class="annotation">⦉60</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: 42:9-42:23: Assert: assert(!move (_46.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 4_i32) -&gt; [success: bb61, unwind: bb1]"><span class="annotation">60⦊</span>countdown -= 4<span class="annotation">⦉60</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
47:9-47:23: Assign: _41 = move (_58.0: i32) 47:9-47:23: Assign: _41 = move (_58.0: i32)
43:29-48:6: Assign: _0 = const () 43:29-48:6: Assign: _0 = const ()
50:5-50:6: StorageDead: StorageDead(_47) 50:5-50:6: StorageDead: StorageDead(_47)
@ -719,7 +719,7 @@
46:9-46:10: StorageDead: StorageDead(_50) 46:9-46:10: StorageDead: StorageDead(_50)
46:9-46:10: StorageDead: StorageDead(_49) 46:9-46:10: StorageDead: StorageDead(_49)
47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32) 47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32)
47:9-47:23: Assert: assert(!move (_58.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _41, const 5_i32) -&gt; [success: bb77, unwind: bb1]"><span class="annotation">76⦊</span>}</span><span class="code odd" style="--layer: 15" title="bb75: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: 47:9-47:23: Assert: assert(!move (_58.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 5_i32) -&gt; [success: bb77, unwind: bb1]"><span class="annotation">76⦊</span>}</span><span class="code odd" style="--layer: 15" title="bb75: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
45:13-45:26: Assign: _41 = const 0_i32 45:13-45:26: Assign: _41 = const 0_i32
44:61-46:10: Assign: _49 = const () 44:61-46:10: Assign: _49 = const ()
44:9-46:10: Goto: goto -&gt; bb76"><span class="annotation">⦉75</span></span><span class="code even" style="--layer: 16" title="bb74: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: 44:9-46:10: Goto: goto -&gt; bb76"><span class="annotation">⦉75</span></span><span class="code even" style="--layer: 16" title="bb74: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
@ -730,12 +730,12 @@
46:9-46:10: StorageDead: StorageDead(_50) 46:9-46:10: StorageDead: StorageDead(_50)
46:9-46:10: StorageDead: StorageDead(_49) 46:9-46:10: StorageDead: StorageDead(_49)
47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32) 47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32)
47:9-47:23: Assert: assert(!move (_58.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _41, const 5_i32) -&gt; [success: bb77, unwind: bb1]"></span></span> 47:9-47:23: Assert: assert(!move (_58.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 5_i32) -&gt; [success: bb77, unwind: bb1]"></span></span>
<span class="line"><span class="code odd" style="--layer: 18" title="bb76: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23: <span class="line"><span class="code odd" style="--layer: 18" title="bb76: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23:
46:9-46:10: StorageDead: StorageDead(_50) 46:9-46:10: StorageDead: StorageDead(_50)
46:9-46:10: StorageDead: StorageDead(_49) 46:9-46:10: StorageDead: StorageDead(_49)
47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32) 47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32)
47:9-47:23: Assert: assert(!move (_58.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _41, const 5_i32) -&gt; [success: bb77, unwind: bb1]"> countdown -= 5<span class="annotation">⦉76</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: 47:9-47:23: Assert: assert(!move (_58.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 5_i32) -&gt; [success: bb77, unwind: bb1]"> countdown -= 5<span class="annotation">⦉76</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
43:12-50:6: FalseEdge: falseEdge -&gt; [real: bb64, imaginary: bb63]">;</span></span> 43:12-50:6: FalseEdge: falseEdge -&gt; [real: bb64, imaginary: bb63]">;</span></span>
<span class="line"><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: <span class="line"><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
43:12-50:6: FalseEdge: falseEdge -&gt; [real: bb64, imaginary: bb63]"> } else {</span></span> 43:12-50:6: FalseEdge: falseEdge -&gt; [real: bb64, imaginary: bb63]"> } else {</span></span>

View File

@ -118,7 +118,7 @@
18:5-18:6: StorageDead: StorageDead(_8) 18:5-18:6: StorageDead: StorageDead(_8)
9:5-18:6: Goto: goto -&gt; bb28"> </span><span class="code odd" style="--layer: 4" title="bb8: ../instrument-coverage/coverage_of_if_else.rs:10:9: 10:23: 9:5-18:6: Goto: goto -&gt; bb28"> </span><span class="code odd" style="--layer: 4" title="bb8: ../instrument-coverage/coverage_of_if_else.rs:10:9: 10:23:
10:9-10:23: Assign: _7 = CheckedSub(_1, const 4_i32) 10:9-10:23: Assign: _7 = CheckedSub(_1, const 4_i32)
10:9-10:23: Assert: assert(!move (_7.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _1, const 4_i32) -&gt; [success: bb9, unwind: bb1]"><span class="annotation">8⦊</span>countdown -= 4<span class="annotation">⦉8</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6: 10:9-10:23: Assert: assert(!move (_7.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 4_i32) -&gt; [success: bb9, unwind: bb1]"><span class="annotation">8⦊</span>countdown -= 4<span class="annotation">⦉8</span></span><span class="code even" style="--layer: 3" title="bb25: ../instrument-coverage/coverage_of_if_else.rs:9:5: 18:6:
15:9-15:23: Assign: _1 = move (_19.0: i32) 15:9-15:23: Assign: _1 = move (_19.0: i32)
11:29-16:6: Assign: _4 = const () 11:29-16:6: Assign: _4 = const ()
18:5-18:6: StorageDead: StorageDead(_8) 18:5-18:6: StorageDead: StorageDead(_8)
@ -223,7 +223,7 @@
14:9-14:10: StorageDead: StorageDead(_11) 14:9-14:10: StorageDead: StorageDead(_11)
14:9-14:10: StorageDead: StorageDead(_10) 14:9-14:10: StorageDead: StorageDead(_10)
15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32) 15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32)
15:9-15:23: Assert: assert(!move (_19.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _1, const 5_i32) -&gt; [success: bb25, unwind: bb1]"><span class="annotation">24⦊</span>}</span><span class="code odd" style="--layer: 5" title="bb22: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: 15:9-15:23: Assert: assert(!move (_19.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 5_i32) -&gt; [success: bb25, unwind: bb1]"><span class="annotation">24⦊</span>}</span><span class="code odd" style="--layer: 5" title="bb22: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
12:9-14:10: Assign: _10 = const () 12:9-14:10: Assign: _10 = const ()
12:9-14:10: Goto: goto -&gt; bb24"><span class="annotation">⦉22</span></span><span class="code even" style="--layer: 6" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10: 12:9-14:10: Goto: goto -&gt; bb24"><span class="annotation">⦉22</span></span><span class="code even" style="--layer: 6" title="bb23: ../instrument-coverage/coverage_of_if_else.rs:12:9: 14:10:
13:13-13:26: Assign: _1 = const 0_i32 13:13-13:26: Assign: _1 = const 0_i32
@ -234,12 +234,12 @@
14:9-14:10: StorageDead: StorageDead(_11) 14:9-14:10: StorageDead: StorageDead(_11)
14:9-14:10: StorageDead: StorageDead(_10) 14:9-14:10: StorageDead: StorageDead(_10)
15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32) 15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32)
15:9-15:23: Assert: assert(!move (_19.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _1, const 5_i32) -&gt; [success: bb25, unwind: bb1]"></span></span> 15:9-15:23: Assert: assert(!move (_19.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 5_i32) -&gt; [success: bb25, unwind: bb1]"></span></span>
<span class="line"><span class="code odd" style="--layer: 8" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23: <span class="line"><span class="code odd" style="--layer: 8" title="bb24: ../instrument-coverage/coverage_of_if_else.rs:14:9: 15:23:
14:9-14:10: StorageDead: StorageDead(_11) 14:9-14:10: StorageDead: StorageDead(_11)
14:9-14:10: StorageDead: StorageDead(_10) 14:9-14:10: StorageDead: StorageDead(_10)
15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32) 15:9-15:23: Assign: _19 = CheckedSub(_1, const 5_i32)
15:9-15:23: Assert: assert(!move (_19.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _1, const 5_i32) -&gt; [success: bb25, unwind: bb1]"> countdown -= 5<span class="annotation">⦉24</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: 15:9-15:23: Assert: assert(!move (_19.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _1, const 5_i32) -&gt; [success: bb25, unwind: bb1]"> countdown -= 5<span class="annotation">⦉24</span></span><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
11:12-18:6: FalseEdge: falseEdge -&gt; [real: bb12, imaginary: bb11]">;</span></span> 11:12-18:6: FalseEdge: falseEdge -&gt; [real: bb12, imaginary: bb11]">;</span></span>
<span class="line"><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6: <span class="line"><span class="code even" style="--layer: 4" title="bb10: ../instrument-coverage/coverage_of_if_else.rs:11:12: 18:6:
11:12-18:6: FalseEdge: falseEdge -&gt; [real: bb12, imaginary: bb11]"> } else {</span></span> 11:12-18:6: FalseEdge: falseEdge -&gt; [real: bb12, imaginary: bb11]"> } else {</span></span>
@ -353,7 +353,7 @@
25:22-27:6: Assign: _24 = const () 25:22-27:6: Assign: _24 = const ()
25:5-34:6: Goto: goto -&gt; bb53"> </span><span class="code odd" style="--layer: 9" title="bb35: ../instrument-coverage/coverage_of_if_else.rs:26:9: 26:23: 25:5-34:6: Goto: goto -&gt; bb53"> </span><span class="code odd" style="--layer: 9" title="bb35: ../instrument-coverage/coverage_of_if_else.rs:26:9: 26:23:
26:9-26:23: Assign: _27 = CheckedSub(_21, const 4_i32) 26:9-26:23: Assign: _27 = CheckedSub(_21, const 4_i32)
26:9-26:23: Assert: assert(!move (_27.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _21, const 4_i32) -&gt; [success: bb36, unwind: bb1]"><span class="annotation">35⦊</span>countdown -= 4<span class="annotation">⦉35</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6: 26:9-26:23: Assert: assert(!move (_27.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 4_i32) -&gt; [success: bb36, unwind: bb1]"><span class="annotation">35⦊</span>countdown -= 4<span class="annotation">⦉35</span></span><span class="code even" style="--layer: 8" title="bb36: ../instrument-coverage/coverage_of_if_else.rs:25:5: 34:6:
26:9-26:23: Assign: _21 = move (_27.0: i32) 26:9-26:23: Assign: _21 = move (_27.0: i32)
25:22-27:6: Assign: _24 = const () 25:22-27:6: Assign: _24 = const ()
25:5-34:6: Goto: goto -&gt; bb53">;</span></span> 25:5-34:6: Goto: goto -&gt; bb53">;</span></span>
@ -459,7 +459,7 @@
30:9-30:10: StorageDead: StorageDead(_31) 30:9-30:10: StorageDead: StorageDead(_31)
30:9-30:10: StorageDead: StorageDead(_30) 30:9-30:10: StorageDead: StorageDead(_30)
31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32) 31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32)
31:9-31:23: Assert: assert(!move (_39.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _21, const 5_i32) -&gt; [success: bb52, unwind: bb1]"><span class="annotation">51⦊</span>}</span><span class="code odd" style="--layer: 10" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: 31:9-31:23: Assert: assert(!move (_39.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 5_i32) -&gt; [success: bb52, unwind: bb1]"><span class="annotation">51⦊</span>}</span><span class="code odd" style="--layer: 10" title="bb48: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
28:9-30:10: FalseEdge: falseEdge -&gt; [real: bb50, imaginary: bb49]"><span class="annotation">⦉48</span></span><span class="code even" style="--layer: 11" title="bb50: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10: 28:9-30:10: FalseEdge: falseEdge -&gt; [real: bb50, imaginary: bb49]"><span class="annotation">⦉48</span></span><span class="code even" style="--layer: 11" title="bb50: ../instrument-coverage/coverage_of_if_else.rs:28:9: 30:10:
29:13-29:26: Assign: _21 = const 0_i32 29:13-29:26: Assign: _21 = const 0_i32
28:61-30:10: Assign: _30 = const () 28:61-30:10: Assign: _30 = const ()
@ -471,12 +471,12 @@
30:9-30:10: StorageDead: StorageDead(_31) 30:9-30:10: StorageDead: StorageDead(_31)
30:9-30:10: StorageDead: StorageDead(_30) 30:9-30:10: StorageDead: StorageDead(_30)
31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32) 31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32)
31:9-31:23: Assert: assert(!move (_39.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _21, const 5_i32) -&gt; [success: bb52, unwind: bb1]"></span></span> 31:9-31:23: Assert: assert(!move (_39.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 5_i32) -&gt; [success: bb52, unwind: bb1]"></span></span>
<span class="line"><span class="code odd" style="--layer: 13" title="bb51: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23: <span class="line"><span class="code odd" style="--layer: 13" title="bb51: ../instrument-coverage/coverage_of_if_else.rs:30:9: 31:23:
30:9-30:10: StorageDead: StorageDead(_31) 30:9-30:10: StorageDead: StorageDead(_31)
30:9-30:10: StorageDead: StorageDead(_30) 30:9-30:10: StorageDead: StorageDead(_30)
31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32) 31:9-31:23: Assign: _39 = CheckedSub(_21, const 5_i32)
31:9-31:23: Assert: assert(!move (_39.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _21, const 5_i32) -&gt; [success: bb52, unwind: bb1]"> countdown -= 5<span class="annotation">⦉51</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: 31:9-31:23: Assert: assert(!move (_39.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _21, const 5_i32) -&gt; [success: bb52, unwind: bb1]"> countdown -= 5<span class="annotation">⦉51</span></span><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
27:12-34:6: FalseEdge: falseEdge -&gt; [real: bb39, imaginary: bb38]">;</span></span> 27:12-34:6: FalseEdge: falseEdge -&gt; [real: bb39, imaginary: bb38]">;</span></span>
<span class="line"><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6: <span class="line"><span class="code even" style="--layer: 9" title="bb37: ../instrument-coverage/coverage_of_if_else.rs:27:12: 34:6:
27:12-34:6: FalseEdge: falseEdge -&gt; [real: bb39, imaginary: bb38]"> } else {</span></span> 27:12-34:6: FalseEdge: falseEdge -&gt; [real: bb39, imaginary: bb38]"> } else {</span></span>
@ -614,7 +614,7 @@
50:5-50:6: StorageDead: StorageDead(_47) 50:5-50:6: StorageDead: StorageDead(_47)
41:5-50:6: Goto: goto -&gt; bb78"> </span><span class="code odd" style="--layer: 14" title="bb60: ../instrument-coverage/coverage_of_if_else.rs:42:9: 42:23: 41:5-50:6: Goto: goto -&gt; bb78"> </span><span class="code odd" style="--layer: 14" title="bb60: ../instrument-coverage/coverage_of_if_else.rs:42:9: 42:23:
42:9-42:23: Assign: _46 = CheckedSub(_41, const 4_i32) 42:9-42:23: Assign: _46 = CheckedSub(_41, const 4_i32)
42:9-42:23: Assert: assert(!move (_46.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _41, const 4_i32) -&gt; [success: bb61, unwind: bb1]"><span class="annotation">60⦊</span>countdown -= 4<span class="annotation">⦉60</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6: 42:9-42:23: Assert: assert(!move (_46.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 4_i32) -&gt; [success: bb61, unwind: bb1]"><span class="annotation">60⦊</span>countdown -= 4<span class="annotation">⦉60</span></span><span class="code even" style="--layer: 13" title="bb77: ../instrument-coverage/coverage_of_if_else.rs:41:5: 50:6:
47:9-47:23: Assign: _41 = move (_58.0: i32) 47:9-47:23: Assign: _41 = move (_58.0: i32)
43:29-48:6: Assign: _0 = const () 43:29-48:6: Assign: _0 = const ()
50:5-50:6: StorageDead: StorageDead(_47) 50:5-50:6: StorageDead: StorageDead(_47)
@ -719,7 +719,7 @@
46:9-46:10: StorageDead: StorageDead(_50) 46:9-46:10: StorageDead: StorageDead(_50)
46:9-46:10: StorageDead: StorageDead(_49) 46:9-46:10: StorageDead: StorageDead(_49)
47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32) 47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32)
47:9-47:23: Assert: assert(!move (_58.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _41, const 5_i32) -&gt; [success: bb77, unwind: bb1]"><span class="annotation">76⦊</span>}</span><span class="code odd" style="--layer: 15" title="bb75: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: 47:9-47:23: Assert: assert(!move (_58.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 5_i32) -&gt; [success: bb77, unwind: bb1]"><span class="annotation">76⦊</span>}</span><span class="code odd" style="--layer: 15" title="bb75: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
45:13-45:26: Assign: _41 = const 0_i32 45:13-45:26: Assign: _41 = const 0_i32
44:61-46:10: Assign: _49 = const () 44:61-46:10: Assign: _49 = const ()
44:9-46:10: Goto: goto -&gt; bb76"><span class="annotation">⦉75</span></span><span class="code even" style="--layer: 16" title="bb74: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10: 44:9-46:10: Goto: goto -&gt; bb76"><span class="annotation">⦉75</span></span><span class="code even" style="--layer: 16" title="bb74: ../instrument-coverage/coverage_of_if_else.rs:44:9: 46:10:
@ -730,12 +730,12 @@
46:9-46:10: StorageDead: StorageDead(_50) 46:9-46:10: StorageDead: StorageDead(_50)
46:9-46:10: StorageDead: StorageDead(_49) 46:9-46:10: StorageDead: StorageDead(_49)
47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32) 47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32)
47:9-47:23: Assert: assert(!move (_58.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _41, const 5_i32) -&gt; [success: bb77, unwind: bb1]"></span></span> 47:9-47:23: Assert: assert(!move (_58.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 5_i32) -&gt; [success: bb77, unwind: bb1]"></span></span>
<span class="line"><span class="code odd" style="--layer: 18" title="bb76: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23: <span class="line"><span class="code odd" style="--layer: 18" title="bb76: ../instrument-coverage/coverage_of_if_else.rs:46:9: 47:23:
46:9-46:10: StorageDead: StorageDead(_50) 46:9-46:10: StorageDead: StorageDead(_50)
46:9-46:10: StorageDead: StorageDead(_49) 46:9-46:10: StorageDead: StorageDead(_49)
47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32) 47:9-47:23: Assign: _58 = CheckedSub(_41, const 5_i32)
47:9-47:23: Assert: assert(!move (_58.1: bool), &quot;attempt to compute `{} - {}` which would overflow&quot;, _41, const 5_i32) -&gt; [success: bb77, unwind: bb1]"> countdown -= 5<span class="annotation">⦉76</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: 47:9-47:23: Assert: assert(!move (_58.1: bool), &quot;attempt to compute `{} - {}`, which would overflow&quot;, _41, const 5_i32) -&gt; [success: bb77, unwind: bb1]"> countdown -= 5<span class="annotation">⦉76</span></span><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
43:12-50:6: FalseEdge: falseEdge -&gt; [real: bb64, imaginary: bb63]">;</span></span> 43:12-50:6: FalseEdge: falseEdge -&gt; [real: bb64, imaginary: bb63]">;</span></span>
<span class="line"><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6: <span class="line"><span class="code even" style="--layer: 14" title="bb62: ../instrument-coverage/coverage_of_if_else.rs:43:12: 50:6:
43:12-50:6: FalseEdge: falseEdge -&gt; [real: bb64, imaginary: bb63]"> } else {</span></span> 43:12-50:6: FalseEdge: falseEdge -&gt; [real: bb64, imaginary: bb63]"> } else {</span></span>

View File

@ -1,6 +1,6 @@
const A: &'static [i32] = &[]; const A: &'static [i32] = &[];
const B: i32 = (&A)[1]; const B: i32 = (&A)[1];
//~^ index out of bounds: the len is 0 but the index is 1 //~^ index out of bounds: the length is 0 but the index is 1
//~| ERROR any use of this value will cause an error //~| ERROR any use of this value will cause an error
fn main() { fn main() {

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | const B: i32 = (&A)[1]; LL | const B: i32 = (&A)[1];
| ---------------^^^^^^^- | ---------------^^^^^^^-
| | | |
| index out of bounds: the len is 0 but the index is 1 | index out of bounds: the length is 0 but the index is 1
| |
= note: `#[deny(const_err)]` on by default = note: `#[deny(const_err)]` on by default

View File

@ -1,6 +1,6 @@
const A: [i32; 0] = []; const A: [i32; 0] = [];
const B: i32 = A[1]; const B: i32 = A[1];
//~^ index out of bounds: the len is 0 but the index is 1 //~^ index out of bounds: the length is 0 but the index is 1
//~| ERROR any use of this value will cause an error //~| ERROR any use of this value will cause an error
fn main() { fn main() {

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | const B: i32 = A[1]; LL | const B: i32 = A[1];
| ---------------^^^^- | ---------------^^^^-
| | | |
| index out of bounds: the len is 0 but the index is 1 | index out of bounds: the length is 0 but the index is 1
| |
= note: `#[deny(const_err)]` on by default = note: `#[deny(const_err)]` on by default

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | const B: u8 = Self::A + 1; LL | const B: u8 = Self::A + 1;
| --------------^^^^^^^^^^^- | --------------^^^^^^^^^^^-
| | | |
| attempt to compute `u8::MAX + 1_u8` which would overflow | attempt to compute `u8::MAX + 1_u8`, which would overflow
| |
= note: `#[deny(const_err)]` on by default = note: `#[deny(const_err)]` on by default

View File

@ -2,7 +2,7 @@ error: this arithmetic operation will overflow
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:29:22 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:29:22
| |
LL | const NEG: i32 = -i32::MIN + T::NEG; LL | const NEG: i32 = -i32::MIN + T::NEG;
| ^^^^^^^^^ attempt to negate i32::MIN which would overflow | ^^^^^^^^^ attempt to negate `i32::MIN`, which would overflow
| |
= note: `#[deny(arithmetic_overflow)]` on by default = note: `#[deny(arithmetic_overflow)]` on by default
@ -10,25 +10,25 @@ error: this arithmetic operation will overflow
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:31:35 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:31:35
| |
LL | const NEG_REV: i32 = T::NEG + (-i32::MIN); LL | const NEG_REV: i32 = T::NEG + (-i32::MIN);
| ^^^^^^^^^^^ attempt to negate i32::MIN which would overflow | ^^^^^^^^^^^ attempt to negate `i32::MIN`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:34:22 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:34:22
| |
LL | const ADD: i32 = (i32::MAX+1) + T::ADD; LL | const ADD: i32 = (i32::MAX+1) + T::ADD;
| ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32` which would overflow | ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:36:36 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:36:36
| |
LL | const ADD_REV: i32 = T::ADD + (i32::MAX+1); LL | const ADD_REV: i32 = T::ADD + (i32::MAX+1);
| ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32` which would overflow | ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32`, which would overflow
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:39:22 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:39:22
| |
LL | const DIV: i32 = (1/0) + T::DIV; LL | const DIV: i32 = (1/0) + T::DIV;
| ^^^^^ attempt to divide 1_i32 by zero | ^^^^^ attempt to divide `1_i32` by zero
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default
@ -36,19 +36,19 @@ error: this operation will panic at runtime
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:41:35 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:41:35
| |
LL | const DIV_REV: i32 = T::DIV + (1/0); LL | const DIV_REV: i32 = T::DIV + (1/0);
| ^^^^^ attempt to divide 1_i32 by zero | ^^^^^ attempt to divide `1_i32` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:44:22 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:44:22
| |
LL | const OOB: i32 = [1][1] + T::OOB; LL | const OOB: i32 = [1][1] + T::OOB;
| ^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^ index out of bounds: the length is 1 but the index is 1
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:46:35 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:46:35
| |
LL | const OOB_REV: i32 = T::OOB + [1][1]; LL | const OOB_REV: i32 = T::OOB + [1][1];
| ^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^ index out of bounds: the length is 1 but the index is 1
error: aborting due to 8 previous errors error: aborting due to 8 previous errors

View File

@ -2,7 +2,7 @@ error: this arithmetic operation will overflow
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:29:22 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:29:22
| |
LL | const NEG: i32 = -i32::MIN + T::NEG; LL | const NEG: i32 = -i32::MIN + T::NEG;
| ^^^^^^^^^ attempt to negate i32::MIN which would overflow | ^^^^^^^^^ attempt to negate `i32::MIN`, which would overflow
| |
= note: `#[deny(arithmetic_overflow)]` on by default = note: `#[deny(arithmetic_overflow)]` on by default
@ -10,25 +10,25 @@ error: this arithmetic operation will overflow
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:31:35 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:31:35
| |
LL | const NEG_REV: i32 = T::NEG + (-i32::MIN); LL | const NEG_REV: i32 = T::NEG + (-i32::MIN);
| ^^^^^^^^^^^ attempt to negate i32::MIN which would overflow | ^^^^^^^^^^^ attempt to negate `i32::MIN`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:34:22 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:34:22
| |
LL | const ADD: i32 = (i32::MAX+1) + T::ADD; LL | const ADD: i32 = (i32::MAX+1) + T::ADD;
| ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32` which would overflow | ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:36:36 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:36:36
| |
LL | const ADD_REV: i32 = T::ADD + (i32::MAX+1); LL | const ADD_REV: i32 = T::ADD + (i32::MAX+1);
| ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32` which would overflow | ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32`, which would overflow
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:39:22 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:39:22
| |
LL | const DIV: i32 = (1/0) + T::DIV; LL | const DIV: i32 = (1/0) + T::DIV;
| ^^^^^ attempt to divide 1_i32 by zero | ^^^^^ attempt to divide `1_i32` by zero
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default
@ -36,19 +36,19 @@ error: this operation will panic at runtime
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:41:35 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:41:35
| |
LL | const DIV_REV: i32 = T::DIV + (1/0); LL | const DIV_REV: i32 = T::DIV + (1/0);
| ^^^^^ attempt to divide 1_i32 by zero | ^^^^^ attempt to divide `1_i32` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:44:22 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:44:22
| |
LL | const OOB: i32 = [1][1] + T::OOB; LL | const OOB: i32 = [1][1] + T::OOB;
| ^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^ index out of bounds: the length is 1 but the index is 1
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:46:35 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:46:35
| |
LL | const OOB_REV: i32 = T::OOB + [1][1]; LL | const OOB_REV: i32 = T::OOB + [1][1];
| ^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^ index out of bounds: the length is 1 but the index is 1
error: aborting due to 8 previous errors error: aborting due to 8 previous errors

View File

@ -2,7 +2,7 @@ error: this arithmetic operation will overflow
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:29:22 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:29:22
| |
LL | const NEG: i32 = -i32::MIN + T::NEG; LL | const NEG: i32 = -i32::MIN + T::NEG;
| ^^^^^^^^^ attempt to negate i32::MIN which would overflow | ^^^^^^^^^ attempt to negate `i32::MIN`, which would overflow
| |
= note: `#[deny(arithmetic_overflow)]` on by default = note: `#[deny(arithmetic_overflow)]` on by default
@ -10,25 +10,25 @@ error: this arithmetic operation will overflow
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:31:35 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:31:35
| |
LL | const NEG_REV: i32 = T::NEG + (-i32::MIN); LL | const NEG_REV: i32 = T::NEG + (-i32::MIN);
| ^^^^^^^^^^^ attempt to negate i32::MIN which would overflow | ^^^^^^^^^^^ attempt to negate `i32::MIN`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:34:22 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:34:22
| |
LL | const ADD: i32 = (i32::MAX+1) + T::ADD; LL | const ADD: i32 = (i32::MAX+1) + T::ADD;
| ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32` which would overflow | ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:36:36 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:36:36
| |
LL | const ADD_REV: i32 = T::ADD + (i32::MAX+1); LL | const ADD_REV: i32 = T::ADD + (i32::MAX+1);
| ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32` which would overflow | ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32`, which would overflow
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:39:22 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:39:22
| |
LL | const DIV: i32 = (1/0) + T::DIV; LL | const DIV: i32 = (1/0) + T::DIV;
| ^^^^^ attempt to divide 1_i32 by zero | ^^^^^ attempt to divide `1_i32` by zero
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default
@ -36,19 +36,19 @@ error: this operation will panic at runtime
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:41:35 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:41:35
| |
LL | const DIV_REV: i32 = T::DIV + (1/0); LL | const DIV_REV: i32 = T::DIV + (1/0);
| ^^^^^ attempt to divide 1_i32 by zero | ^^^^^ attempt to divide `1_i32` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:44:22 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:44:22
| |
LL | const OOB: i32 = [1][1] + T::OOB; LL | const OOB: i32 = [1][1] + T::OOB;
| ^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^ index out of bounds: the length is 1 but the index is 1
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-69020-assoc-const-arith-overflow.rs:46:35 --> $DIR/issue-69020-assoc-const-arith-overflow.rs:46:35
| |
LL | const OOB_REV: i32 = T::OOB + [1][1]; LL | const OOB_REV: i32 = T::OOB + [1][1];
| ^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^ index out of bounds: the length is 1 but the index is 1
error: aborting due to 8 previous errors error: aborting due to 8 previous errors

View File

@ -2,7 +2,7 @@ error[E0080]: evaluation of constant value failed
--> $DIR/from-sig-fail.rs:4:35 --> $DIR/from-sig-fail.rs:4:35
| |
LL | fn test<const N: usize>() -> [u8; N - 1] { LL | fn test<const N: usize>() -> [u8; N - 1] {
| ^^^^^ attempt to compute `0_usize - 1_usize` which would overflow | ^^^^^ attempt to compute `0_usize - 1_usize`, which would overflow
error: aborting due to previous error error: aborting due to previous error

View File

@ -2,7 +2,7 @@ error[E0080]: evaluation of constant value failed
--> $DIR/simple_fail.rs:7:33 --> $DIR/simple_fail.rs:7:33
| |
LL | type Arr<const N: usize> = [u8; N - 1]; LL | type Arr<const N: usize> = [u8; N - 1];
| ^^^^^ attempt to compute `0_usize - 1_usize` which would overflow | ^^^^^ attempt to compute `0_usize - 1_usize`, which would overflow
error: aborting due to previous error error: aborting due to previous error

View File

@ -2,7 +2,7 @@ warning: this operation will panic at runtime
--> $DIR/ice-assert-fail-div-by-zero.rs:11:5 --> $DIR/ice-assert-fail-div-by-zero.rs:11:5
| |
LL | f.0 / 0; LL | f.0 / 0;
| ^^^^^^^ attempt to divide _ by zero | ^^^^^^^ attempt to divide `_` by zero
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/ice-assert-fail-div-by-zero.rs:5:9 --> $DIR/ice-assert-fail-div-by-zero.rs:5:9

View File

@ -2,7 +2,7 @@ warning: this operation will panic at runtime
--> $DIR/array-literal-index-oob.rs:7:8 --> $DIR/array-literal-index-oob.rs:7:8
| |
LL | &{ [1, 2, 3][4] }; LL | &{ [1, 2, 3][4] };
| ^^^^^^^^^^^^ index out of bounds: the len is 3 but the index is 4 | ^^^^^^^^^^^^ index out of bounds: the length is 3 but the index is 4
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/array-literal-index-oob.rs:4:20 --> $DIR/array-literal-index-oob.rs:4:20

View File

@ -4,7 +4,7 @@ warning: any use of this value will cause an error
LL | const I_AM_ZERO_SIZED: () = [()][std::mem::size_of::<Self>()]; LL | const I_AM_ZERO_SIZED: () = [()][std::mem::size_of::<Self>()];
| -----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- | -----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
| | | |
| index out of bounds: the len is 1 but the index is 4 | index out of bounds: the length is 1 but the index is 4
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/assoc_const_generic_impl.rs:3:9 --> $DIR/assoc_const_generic_impl.rs:3:9

View File

@ -5,7 +5,7 @@ const BAR: usize = FOO[5]; // no error, because the error below occurs before re
const BLUB: [u32; FOO[4]] = [5, 6]; const BLUB: [u32; FOO[4]] = [5, 6];
//~^ ERROR evaluation of constant value failed [E0080] //~^ ERROR evaluation of constant value failed [E0080]
//~| index out of bounds: the len is 3 but the index is 4 //~| index out of bounds: the length is 3 but the index is 4
fn main() { fn main() {
let _ = BAR; let _ = BAR;

View File

@ -2,7 +2,7 @@ error[E0080]: evaluation of constant value failed
--> $DIR/const-array-oob.rs:6:19 --> $DIR/const-array-oob.rs:6:19
| |
LL | const BLUB: [u32; FOO[4]] = [5, 6]; LL | const BLUB: [u32; FOO[4]] = [5, 6];
| ^^^^^^ index out of bounds: the len is 3 but the index is 4 | ^^^^^^ index out of bounds: the length is 3 but the index is 4
error: aborting due to previous error error: aborting due to previous error

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | pub const A: i8 = -std::i8::MIN; LL | pub const A: i8 = -std::i8::MIN;
| ------------------^^^^^^^^^^^^^- | ------------------^^^^^^^^^^^^^-
| | | |
| attempt to negate i8::MIN which would overflow | attempt to negate `i8::MIN`, which would overflow
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/const-err-early.rs:1:9 --> $DIR/const-err-early.rs:1:9
@ -18,7 +18,7 @@ error: any use of this value will cause an error
LL | pub const B: u8 = 200u8 + 200u8; LL | pub const B: u8 = 200u8 + 200u8;
| ------------------^^^^^^^^^^^^^- | ------------------^^^^^^^^^^^^^-
| | | |
| attempt to compute `200_u8 + 200_u8` which would overflow | attempt to compute `200_u8 + 200_u8`, which would overflow
error: any use of this value will cause an error error: any use of this value will cause an error
--> $DIR/const-err-early.rs:5:19 --> $DIR/const-err-early.rs:5:19
@ -26,7 +26,7 @@ error: any use of this value will cause an error
LL | pub const C: u8 = 200u8 * 4; LL | pub const C: u8 = 200u8 * 4;
| ------------------^^^^^^^^^- | ------------------^^^^^^^^^-
| | | |
| attempt to compute `200_u8 * 4_u8` which would overflow | attempt to compute `200_u8 * 4_u8`, which would overflow
error: any use of this value will cause an error error: any use of this value will cause an error
--> $DIR/const-err-early.rs:6:19 --> $DIR/const-err-early.rs:6:19
@ -34,7 +34,7 @@ error: any use of this value will cause an error
LL | pub const D: u8 = 42u8 - (42u8 + 1); LL | pub const D: u8 = 42u8 - (42u8 + 1);
| ------------------^^^^^^^^^^^^^^^^^- | ------------------^^^^^^^^^^^^^^^^^-
| | | |
| attempt to compute `42_u8 - 43_u8` which would overflow | attempt to compute `42_u8 - 43_u8`, which would overflow
error: any use of this value will cause an error error: any use of this value will cause an error
--> $DIR/const-err-early.rs:7:19 --> $DIR/const-err-early.rs:7:19
@ -42,7 +42,7 @@ error: any use of this value will cause an error
LL | pub const E: u8 = [5u8][1]; LL | pub const E: u8 = [5u8][1];
| ------------------^^^^^^^^- | ------------------^^^^^^^^-
| | | |
| index out of bounds: the len is 1 but the index is 1 | index out of bounds: the length is 1 but the index is 1
error: aborting due to 5 previous errors error: aborting due to 5 previous errors

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | pub const A: i8 = -std::i8::MIN; LL | pub const A: i8 = -std::i8::MIN;
| ------------------^^^^^^^^^^^^^- | ------------------^^^^^^^^^^^^^-
| | | |
| attempt to negate i8::MIN which would overflow | attempt to negate `i8::MIN`, which would overflow
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/const-err-multi.rs:1:9 --> $DIR/const-err-multi.rs:1:9

View File

@ -4,7 +4,7 @@ warning: any use of this value will cause an error
LL | const FOO: u8 = [5u8][1]; LL | const FOO: u8 = [5u8][1];
| ----------------^^^^^^^^- | ----------------^^^^^^^^-
| | | |
| index out of bounds: the len is 1 but the index is 1 | index out of bounds: the length is 1 but the index is 1
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/const-err.rs:5:9 --> $DIR/const-err.rs:5:9

View File

@ -2,7 +2,7 @@ error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:19:13 --> $DIR/const-err2.rs:19:13
| |
LL | let a = -std::i8::MIN; LL | let a = -std::i8::MIN;
| ^^^^^^^^^^^^^ attempt to negate i8::MIN which would overflow | ^^^^^^^^^^^^^ attempt to negate `i8::MIN`, which would overflow
| |
= note: `#[deny(arithmetic_overflow)]` on by default = note: `#[deny(arithmetic_overflow)]` on by default
@ -10,37 +10,37 @@ error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:21:18 --> $DIR/const-err2.rs:21:18
| |
LL | let a_i128 = -std::i128::MIN; LL | let a_i128 = -std::i128::MIN;
| ^^^^^^^^^^^^^^^ attempt to negate i128::MIN which would overflow | ^^^^^^^^^^^^^^^ attempt to negate `i128::MIN`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:23:13 --> $DIR/const-err2.rs:23:13
| |
LL | let b = 200u8 + 200u8 + 200u8; LL | let b = 200u8 + 200u8 + 200u8;
| ^^^^^^^^^^^^^ attempt to compute `200_u8 + 200_u8` which would overflow | ^^^^^^^^^^^^^ attempt to compute `200_u8 + 200_u8`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:25:18 --> $DIR/const-err2.rs:25:18
| |
LL | let b_i128 = std::i128::MIN - std::i128::MAX; LL | let b_i128 = std::i128::MIN - std::i128::MAX;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `i128::MIN - i128::MAX` which would overflow | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `i128::MIN - i128::MAX`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:27:13 --> $DIR/const-err2.rs:27:13
| |
LL | let c = 200u8 * 4; LL | let c = 200u8 * 4;
| ^^^^^^^^^ attempt to compute `200_u8 * 4_u8` which would overflow | ^^^^^^^^^ attempt to compute `200_u8 * 4_u8`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:29:13 --> $DIR/const-err2.rs:29:13
| |
LL | let d = 42u8 - (42u8 + 1); LL | let d = 42u8 - (42u8 + 1);
| ^^^^^^^^^^^^^^^^^ attempt to compute `42_u8 - 43_u8` which would overflow | ^^^^^^^^^^^^^^^^^ attempt to compute `42_u8 - 43_u8`, which would overflow
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/const-err2.rs:31:14 --> $DIR/const-err2.rs:31:14
| |
LL | let _e = [5u8][1]; LL | let _e = [5u8][1];
| ^^^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^^^ index out of bounds: the length is 1 but the index is 1
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default

View File

@ -2,7 +2,7 @@ error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:19:13 --> $DIR/const-err2.rs:19:13
| |
LL | let a = -std::i8::MIN; LL | let a = -std::i8::MIN;
| ^^^^^^^^^^^^^ attempt to negate i8::MIN which would overflow | ^^^^^^^^^^^^^ attempt to negate `i8::MIN`, which would overflow
| |
= note: `#[deny(arithmetic_overflow)]` on by default = note: `#[deny(arithmetic_overflow)]` on by default
@ -10,37 +10,37 @@ error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:21:18 --> $DIR/const-err2.rs:21:18
| |
LL | let a_i128 = -std::i128::MIN; LL | let a_i128 = -std::i128::MIN;
| ^^^^^^^^^^^^^^^ attempt to negate i128::MIN which would overflow | ^^^^^^^^^^^^^^^ attempt to negate `i128::MIN`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:23:13 --> $DIR/const-err2.rs:23:13
| |
LL | let b = 200u8 + 200u8 + 200u8; LL | let b = 200u8 + 200u8 + 200u8;
| ^^^^^^^^^^^^^ attempt to compute `200_u8 + 200_u8` which would overflow | ^^^^^^^^^^^^^ attempt to compute `200_u8 + 200_u8`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:25:18 --> $DIR/const-err2.rs:25:18
| |
LL | let b_i128 = std::i128::MIN - std::i128::MAX; LL | let b_i128 = std::i128::MIN - std::i128::MAX;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `i128::MIN - i128::MAX` which would overflow | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `i128::MIN - i128::MAX`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:27:13 --> $DIR/const-err2.rs:27:13
| |
LL | let c = 200u8 * 4; LL | let c = 200u8 * 4;
| ^^^^^^^^^ attempt to compute `200_u8 * 4_u8` which would overflow | ^^^^^^^^^ attempt to compute `200_u8 * 4_u8`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:29:13 --> $DIR/const-err2.rs:29:13
| |
LL | let d = 42u8 - (42u8 + 1); LL | let d = 42u8 - (42u8 + 1);
| ^^^^^^^^^^^^^^^^^ attempt to compute `42_u8 - 43_u8` which would overflow | ^^^^^^^^^^^^^^^^^ attempt to compute `42_u8 - 43_u8`, which would overflow
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/const-err2.rs:31:14 --> $DIR/const-err2.rs:31:14
| |
LL | let _e = [5u8][1]; LL | let _e = [5u8][1];
| ^^^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^^^ index out of bounds: the length is 1 but the index is 1
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default

View File

@ -2,7 +2,7 @@ error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:19:13 --> $DIR/const-err2.rs:19:13
| |
LL | let a = -std::i8::MIN; LL | let a = -std::i8::MIN;
| ^^^^^^^^^^^^^ attempt to negate i8::MIN which would overflow | ^^^^^^^^^^^^^ attempt to negate `i8::MIN`, which would overflow
| |
= note: `#[deny(arithmetic_overflow)]` on by default = note: `#[deny(arithmetic_overflow)]` on by default
@ -10,37 +10,37 @@ error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:21:18 --> $DIR/const-err2.rs:21:18
| |
LL | let a_i128 = -std::i128::MIN; LL | let a_i128 = -std::i128::MIN;
| ^^^^^^^^^^^^^^^ attempt to negate i128::MIN which would overflow | ^^^^^^^^^^^^^^^ attempt to negate `i128::MIN`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:23:13 --> $DIR/const-err2.rs:23:13
| |
LL | let b = 200u8 + 200u8 + 200u8; LL | let b = 200u8 + 200u8 + 200u8;
| ^^^^^^^^^^^^^ attempt to compute `200_u8 + 200_u8` which would overflow | ^^^^^^^^^^^^^ attempt to compute `200_u8 + 200_u8`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:25:18 --> $DIR/const-err2.rs:25:18
| |
LL | let b_i128 = std::i128::MIN - std::i128::MAX; LL | let b_i128 = std::i128::MIN - std::i128::MAX;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `i128::MIN - i128::MAX` which would overflow | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `i128::MIN - i128::MAX`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:27:13 --> $DIR/const-err2.rs:27:13
| |
LL | let c = 200u8 * 4; LL | let c = 200u8 * 4;
| ^^^^^^^^^ attempt to compute `200_u8 * 4_u8` which would overflow | ^^^^^^^^^ attempt to compute `200_u8 * 4_u8`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/const-err2.rs:29:13 --> $DIR/const-err2.rs:29:13
| |
LL | let d = 42u8 - (42u8 + 1); LL | let d = 42u8 - (42u8 + 1);
| ^^^^^^^^^^^^^^^^^ attempt to compute `42_u8 - 43_u8` which would overflow | ^^^^^^^^^^^^^^^^^ attempt to compute `42_u8 - 43_u8`, which would overflow
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/const-err2.rs:31:14 --> $DIR/const-err2.rs:31:14
| |
LL | let _e = [5u8][1]; LL | let _e = [5u8][1];
| ^^^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^^^ index out of bounds: the length is 1 but the index is 1
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default

View File

@ -4,7 +4,7 @@ warning: any use of this value will cause an error
LL | const FOO: u32 = [X - Y, Y - X][(X < Y) as usize]; LL | const FOO: u32 = [X - Y, Y - X][(X < Y) as usize];
| ------------------^^^^^--------------------------- | ------------------^^^^^---------------------------
| | | |
| attempt to compute `5_u32 - 6_u32` which would overflow | attempt to compute `5_u32 - 6_u32`, which would overflow
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/conditional_array_execution.rs:3:9 --> $DIR/conditional_array_execution.rs:3:9

View File

@ -2,7 +2,7 @@ error[E0080]: evaluation of constant value failed
--> $DIR/const-eval-overflow-3.rs:20:11 --> $DIR/const-eval-overflow-3.rs:20:11
| |
LL | = [0; (i8::MAX + 1) as usize]; LL | = [0; (i8::MAX + 1) as usize];
| ^^^^^^^^^^^^^ attempt to compute `i8::MAX + 1_i8` which would overflow | ^^^^^^^^^^^^^ attempt to compute `i8::MAX + 1_i8`, which would overflow
error: aborting due to previous error error: aborting due to previous error

View File

@ -2,7 +2,7 @@ error[E0080]: evaluation of constant value failed
--> $DIR/const-eval-overflow-4.rs:13:13 --> $DIR/const-eval-overflow-4.rs:13:13
| |
LL | : [u32; (i8::MAX as i8 + 1i8) as usize] LL | : [u32; (i8::MAX as i8 + 1i8) as usize]
| ^^^^^^^^^^^^^^^^^^^^^ attempt to compute `i8::MAX + 1_i8` which would overflow | ^^^^^^^^^^^^^^^^^^^^^ attempt to compute `i8::MAX + 1_i8`, which would overflow
error: aborting due to previous error error: aborting due to previous error

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | / const VALS_I8: (i8,) = LL | / const VALS_I8: (i8,) =
LL | | ( LL | | (
LL | | i8::MIN - 1, LL | | i8::MIN - 1,
| | ^^^^^^^^^^^ attempt to compute `i8::MIN - 1_i8` which would overflow | | ^^^^^^^^^^^ attempt to compute `i8::MIN - 1_i8`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
| |
@ -20,7 +20,7 @@ error: any use of this value will cause an error
LL | / const VALS_I16: (i16,) = LL | / const VALS_I16: (i16,) =
LL | | ( LL | | (
LL | | i16::MIN - 1, LL | | i16::MIN - 1,
| | ^^^^^^^^^^^^ attempt to compute `i16::MIN - 1_i16` which would overflow | | ^^^^^^^^^^^^ attempt to compute `i16::MIN - 1_i16`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -30,7 +30,7 @@ error: any use of this value will cause an error
LL | / const VALS_I32: (i32,) = LL | / const VALS_I32: (i32,) =
LL | | ( LL | | (
LL | | i32::MIN - 1, LL | | i32::MIN - 1,
| | ^^^^^^^^^^^^ attempt to compute `i32::MIN - 1_i32` which would overflow | | ^^^^^^^^^^^^ attempt to compute `i32::MIN - 1_i32`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -40,7 +40,7 @@ error: any use of this value will cause an error
LL | / const VALS_I64: (i64,) = LL | / const VALS_I64: (i64,) =
LL | | ( LL | | (
LL | | i64::MIN - 1, LL | | i64::MIN - 1,
| | ^^^^^^^^^^^^ attempt to compute `i64::MIN - 1_i64` which would overflow | | ^^^^^^^^^^^^ attempt to compute `i64::MIN - 1_i64`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -50,7 +50,7 @@ error: any use of this value will cause an error
LL | / const VALS_U8: (u8,) = LL | / const VALS_U8: (u8,) =
LL | | ( LL | | (
LL | | u8::MIN - 1, LL | | u8::MIN - 1,
| | ^^^^^^^^^^^ attempt to compute `0_u8 - 1_u8` which would overflow | | ^^^^^^^^^^^ attempt to compute `0_u8 - 1_u8`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -59,7 +59,7 @@ error: any use of this value will cause an error
| |
LL | / const VALS_U16: (u16,) = ( LL | / const VALS_U16: (u16,) = (
LL | | u16::MIN - 1, LL | | u16::MIN - 1,
| | ^^^^^^^^^^^^ attempt to compute `0_u16 - 1_u16` which would overflow | | ^^^^^^^^^^^^ attempt to compute `0_u16 - 1_u16`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -68,7 +68,7 @@ error: any use of this value will cause an error
| |
LL | / const VALS_U32: (u32,) = ( LL | / const VALS_U32: (u32,) = (
LL | | u32::MIN - 1, LL | | u32::MIN - 1,
| | ^^^^^^^^^^^^ attempt to compute `0_u32 - 1_u32` which would overflow | | ^^^^^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -78,7 +78,7 @@ error: any use of this value will cause an error
LL | / const VALS_U64: (u64,) = LL | / const VALS_U64: (u64,) =
LL | | ( LL | | (
LL | | u64::MIN - 1, LL | | u64::MIN - 1,
| | ^^^^^^^^^^^^ attempt to compute `0_u64 - 1_u64` which would overflow | | ^^^^^^^^^^^^ attempt to compute `0_u64 - 1_u64`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | / const VALS_I8: (i8,) = LL | / const VALS_I8: (i8,) =
LL | | ( LL | | (
LL | | i8::MAX + 1, LL | | i8::MAX + 1,
| | ^^^^^^^^^^^ attempt to compute `i8::MAX + 1_i8` which would overflow | | ^^^^^^^^^^^ attempt to compute `i8::MAX + 1_i8`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
| |
@ -20,7 +20,7 @@ error: any use of this value will cause an error
LL | / const VALS_I16: (i16,) = LL | / const VALS_I16: (i16,) =
LL | | ( LL | | (
LL | | i16::MAX + 1, LL | | i16::MAX + 1,
| | ^^^^^^^^^^^^ attempt to compute `i16::MAX + 1_i16` which would overflow | | ^^^^^^^^^^^^ attempt to compute `i16::MAX + 1_i16`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -30,7 +30,7 @@ error: any use of this value will cause an error
LL | / const VALS_I32: (i32,) = LL | / const VALS_I32: (i32,) =
LL | | ( LL | | (
LL | | i32::MAX + 1, LL | | i32::MAX + 1,
| | ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32` which would overflow | | ^^^^^^^^^^^^ attempt to compute `i32::MAX + 1_i32`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -40,7 +40,7 @@ error: any use of this value will cause an error
LL | / const VALS_I64: (i64,) = LL | / const VALS_I64: (i64,) =
LL | | ( LL | | (
LL | | i64::MAX + 1, LL | | i64::MAX + 1,
| | ^^^^^^^^^^^^ attempt to compute `i64::MAX + 1_i64` which would overflow | | ^^^^^^^^^^^^ attempt to compute `i64::MAX + 1_i64`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -50,7 +50,7 @@ error: any use of this value will cause an error
LL | / const VALS_U8: (u8,) = LL | / const VALS_U8: (u8,) =
LL | | ( LL | | (
LL | | u8::MAX + 1, LL | | u8::MAX + 1,
| | ^^^^^^^^^^^ attempt to compute `u8::MAX + 1_u8` which would overflow | | ^^^^^^^^^^^ attempt to compute `u8::MAX + 1_u8`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -59,7 +59,7 @@ error: any use of this value will cause an error
| |
LL | / const VALS_U16: (u16,) = ( LL | / const VALS_U16: (u16,) = (
LL | | u16::MAX + 1, LL | | u16::MAX + 1,
| | ^^^^^^^^^^^^ attempt to compute `u16::MAX + 1_u16` which would overflow | | ^^^^^^^^^^^^ attempt to compute `u16::MAX + 1_u16`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -68,7 +68,7 @@ error: any use of this value will cause an error
| |
LL | / const VALS_U32: (u32,) = ( LL | / const VALS_U32: (u32,) = (
LL | | u32::MAX + 1, LL | | u32::MAX + 1,
| | ^^^^^^^^^^^^ attempt to compute `u32::MAX + 1_u32` which would overflow | | ^^^^^^^^^^^^ attempt to compute `u32::MAX + 1_u32`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -78,7 +78,7 @@ error: any use of this value will cause an error
LL | / const VALS_U64: (u64,) = LL | / const VALS_U64: (u64,) =
LL | | ( LL | | (
LL | | u64::MAX + 1, LL | | u64::MAX + 1,
| | ^^^^^^^^^^^^ attempt to compute `u64::MAX + 1_u64` which would overflow | | ^^^^^^^^^^^^ attempt to compute `u64::MAX + 1_u64`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | / const VALS_I8: (i8,) = LL | / const VALS_I8: (i8,) =
LL | | ( LL | | (
LL | | i8::MIN * 2, LL | | i8::MIN * 2,
| | ^^^^^^^^^^^ attempt to compute `i8::MIN * 2_i8` which would overflow | | ^^^^^^^^^^^ attempt to compute `i8::MIN * 2_i8`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
| |
@ -20,7 +20,7 @@ error: any use of this value will cause an error
LL | / const VALS_I16: (i16,) = LL | / const VALS_I16: (i16,) =
LL | | ( LL | | (
LL | | i16::MIN * 2, LL | | i16::MIN * 2,
| | ^^^^^^^^^^^^ attempt to compute `i16::MIN * 2_i16` which would overflow | | ^^^^^^^^^^^^ attempt to compute `i16::MIN * 2_i16`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -30,7 +30,7 @@ error: any use of this value will cause an error
LL | / const VALS_I32: (i32,) = LL | / const VALS_I32: (i32,) =
LL | | ( LL | | (
LL | | i32::MIN * 2, LL | | i32::MIN * 2,
| | ^^^^^^^^^^^^ attempt to compute `i32::MIN * 2_i32` which would overflow | | ^^^^^^^^^^^^ attempt to compute `i32::MIN * 2_i32`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -40,7 +40,7 @@ error: any use of this value will cause an error
LL | / const VALS_I64: (i64,) = LL | / const VALS_I64: (i64,) =
LL | | ( LL | | (
LL | | i64::MIN * 2, LL | | i64::MIN * 2,
| | ^^^^^^^^^^^^ attempt to compute `i64::MIN * 2_i64` which would overflow | | ^^^^^^^^^^^^ attempt to compute `i64::MIN * 2_i64`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -50,7 +50,7 @@ error: any use of this value will cause an error
LL | / const VALS_U8: (u8,) = LL | / const VALS_U8: (u8,) =
LL | | ( LL | | (
LL | | u8::MAX * 2, LL | | u8::MAX * 2,
| | ^^^^^^^^^^^ attempt to compute `u8::MAX * 2_u8` which would overflow | | ^^^^^^^^^^^ attempt to compute `u8::MAX * 2_u8`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -59,7 +59,7 @@ error: any use of this value will cause an error
| |
LL | / const VALS_U16: (u16,) = ( LL | / const VALS_U16: (u16,) = (
LL | | u16::MAX * 2, LL | | u16::MAX * 2,
| | ^^^^^^^^^^^^ attempt to compute `u16::MAX * 2_u16` which would overflow | | ^^^^^^^^^^^^ attempt to compute `u16::MAX * 2_u16`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -68,7 +68,7 @@ error: any use of this value will cause an error
| |
LL | / const VALS_U32: (u32,) = ( LL | / const VALS_U32: (u32,) = (
LL | | u32::MAX * 2, LL | | u32::MAX * 2,
| | ^^^^^^^^^^^^ attempt to compute `u32::MAX * 2_u32` which would overflow | | ^^^^^^^^^^^^ attempt to compute `u32::MAX * 2_u32`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-
@ -78,7 +78,7 @@ error: any use of this value will cause an error
LL | / const VALS_U64: (u64,) = LL | / const VALS_U64: (u64,) =
LL | | ( LL | | (
LL | | u64::MAX * 2, LL | | u64::MAX * 2,
| | ^^^^^^^^^^^^ attempt to compute `u64::MAX * 2_u64` which would overflow | | ^^^^^^^^^^^^ attempt to compute `u64::MAX * 2_u64`, which would overflow
LL | | ); LL | | );
| |_______- | |_______-

View File

@ -2,7 +2,7 @@ warning: this operation will panic at runtime
--> $DIR/erroneous-const.rs:6:22 --> $DIR/erroneous-const.rs:6:22
| |
LL | const VOID: () = [()][2]; LL | const VOID: () = [()][2];
| ^^^^^^^ index out of bounds: the len is 1 but the index is 2 | ^^^^^^^ index out of bounds: the length is 1 but the index is 2
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/erroneous-const.rs:2:20 --> $DIR/erroneous-const.rs:2:20
@ -16,7 +16,7 @@ warning: any use of this value will cause an error
LL | const VOID: () = [()][2]; LL | const VOID: () = [()][2];
| -----------------^^^^^^^- | -----------------^^^^^^^-
| | | |
| index out of bounds: the len is 1 but the index is 2 | index out of bounds: the length is 1 but the index is 2
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/erroneous-const.rs:2:9 --> $DIR/erroneous-const.rs:2:9

View File

@ -4,7 +4,7 @@ warning: any use of this value will cause an error
LL | const VOID: ! = { let x = 0 * std::mem::size_of::<T>(); [][x] }; LL | const VOID: ! = { let x = 0 * std::mem::size_of::<T>(); [][x] };
| --------------------------------------------------------^^^^^--- | --------------------------------------------------------^^^^^---
| | | |
| index out of bounds: the len is 0 but the index is 0 | index out of bounds: the length is 0 but the index is 0
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/index-out-of-bounds-never-type.rs:4:9 --> $DIR/index-out-of-bounds-never-type.rs:4:9

View File

@ -2,7 +2,7 @@ error[E0080]: could not evaluate static initializer
--> $DIR/index_out_of_bounds.rs:1:19 --> $DIR/index_out_of_bounds.rs:1:19
| |
LL | static FOO: i32 = [][0]; LL | static FOO: i32 = [][0];
| ^^^^^ index out of bounds: the len is 0 but the index is 0 | ^^^^^ index out of bounds: the length is 0 but the index is 0
error: aborting due to previous error error: aborting due to previous error

View File

@ -2,7 +2,7 @@ error: this operation will panic at runtime
--> $DIR/index_out_of_bounds_propagated.rs:5:5 --> $DIR/index_out_of_bounds_propagated.rs:5:5
| |
LL | array[1]; LL | array[1];
| ^^^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^^^ index out of bounds: the length is 1 but the index is 1
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default

View File

@ -4,7 +4,7 @@ warning: any use of this value will cause an error
LL | const X: u32 = 0 - 1; LL | const X: u32 = 0 - 1;
| ---------------^^^^^- | ---------------^^^^^-
| | | |
| attempt to compute `0_u32 - 1_u32` which would overflow | attempt to compute `0_u32 - 1_u32`, which would overflow
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/issue-43197.rs:3:9 --> $DIR/issue-43197.rs:3:9
@ -18,7 +18,7 @@ warning: any use of this value will cause an error
LL | const Y: u32 = foo(0 - 1); LL | const Y: u32 = foo(0 - 1);
| -------------------^^^^^-- | -------------------^^^^^--
| | | |
| attempt to compute `0_u32 - 1_u32` which would overflow | attempt to compute `0_u32 - 1_u32`, which would overflow
error[E0080]: evaluation of constant expression failed error[E0080]: evaluation of constant expression failed
--> $DIR/issue-43197.rs:14:23 --> $DIR/issue-43197.rs:14:23

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | const BAR: usize = [5, 6, 7][T::BOO]; LL | const BAR: usize = [5, 6, 7][T::BOO];
| -------------------^^^^^^^^^^^^^^^^^- | -------------------^^^^^^^^^^^^^^^^^-
| | | |
| index out of bounds: the len is 3 but the index is 42 | index out of bounds: the length is 3 but the index is 42
| |
= note: `#[deny(const_err)]` on by default = note: `#[deny(const_err)]` on by default

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | const MAX: u8 = A::MAX + B::MAX; LL | const MAX: u8 = A::MAX + B::MAX;
| ----------------^^^^^^^^^^^^^^^- | ----------------^^^^^^^^^^^^^^^-
| | | |
| attempt to compute `u8::MAX + u8::MAX` which would overflow | attempt to compute `u8::MAX + u8::MAX`, which would overflow
| |
= note: `#[deny(const_err)]` on by default = note: `#[deny(const_err)]` on by default

View File

@ -2,7 +2,7 @@ warning: this arithmetic operation will overflow
--> $DIR/promoted_errors.rs:12:20 --> $DIR/promoted_errors.rs:12:20
| |
LL | println!("{}", 0u32 - 1); LL | println!("{}", 0u32 - 1);
| ^^^^^^^^ attempt to compute `0_u32 - 1_u32` which would overflow | ^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/promoted_errors.rs:9:20 --> $DIR/promoted_errors.rs:9:20
@ -14,13 +14,13 @@ warning: this arithmetic operation will overflow
--> $DIR/promoted_errors.rs:14:14 --> $DIR/promoted_errors.rs:14:14
| |
LL | let _x = 0u32 - 1; LL | let _x = 0u32 - 1;
| ^^^^^^^^ attempt to compute `0_u32 - 1_u32` which would overflow | ^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
warning: this operation will panic at runtime warning: this operation will panic at runtime
--> $DIR/promoted_errors.rs:16:20 --> $DIR/promoted_errors.rs:16:20
| |
LL | println!("{}", 1 / (1 - 1)); LL | println!("{}", 1 / (1 - 1));
| ^^^^^^^^^^^ attempt to divide 1_i32 by zero | ^^^^^^^^^^^ attempt to divide `1_i32` by zero
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/promoted_errors.rs:9:41 --> $DIR/promoted_errors.rs:9:41
@ -50,13 +50,13 @@ warning: this operation will panic at runtime
--> $DIR/promoted_errors.rs:20:14 --> $DIR/promoted_errors.rs:20:14
| |
LL | let _x = 1 / (1 - 1); LL | let _x = 1 / (1 - 1);
| ^^^^^^^^^^^ attempt to divide 1_i32 by zero | ^^^^^^^^^^^ attempt to divide `1_i32` by zero
warning: this operation will panic at runtime warning: this operation will panic at runtime
--> $DIR/promoted_errors.rs:22:20 --> $DIR/promoted_errors.rs:22:20
| |
LL | println!("{}", 1 / (false as u32)); LL | println!("{}", 1 / (false as u32));
| ^^^^^^^^^^^^^^^^^^ attempt to divide 1_u32 by zero | ^^^^^^^^^^^^^^^^^^ attempt to divide `1_u32` by zero
warning: reaching this expression at runtime will panic or abort warning: reaching this expression at runtime will panic or abort
--> $DIR/promoted_errors.rs:22:20 --> $DIR/promoted_errors.rs:22:20
@ -74,7 +74,7 @@ warning: this operation will panic at runtime
--> $DIR/promoted_errors.rs:26:14 --> $DIR/promoted_errors.rs:26:14
| |
LL | let _x = 1 / (false as u32); LL | let _x = 1 / (false as u32);
| ^^^^^^^^^^^^^^^^^^ attempt to divide 1_u32 by zero | ^^^^^^^^^^^^^^^^^^ attempt to divide `1_u32` by zero
warning: 10 warnings emitted warning: 10 warnings emitted

View File

@ -2,7 +2,7 @@ warning: this arithmetic operation will overflow
--> $DIR/promoted_errors.rs:14:14 --> $DIR/promoted_errors.rs:14:14
| |
LL | let _x = 0u32 - 1; LL | let _x = 0u32 - 1;
| ^^^^^^^^ attempt to compute `0_u32 - 1_u32` which would overflow | ^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/promoted_errors.rs:9:20 --> $DIR/promoted_errors.rs:9:20
@ -14,7 +14,7 @@ warning: this operation will panic at runtime
--> $DIR/promoted_errors.rs:16:20 --> $DIR/promoted_errors.rs:16:20
| |
LL | println!("{}", 1 / (1 - 1)); LL | println!("{}", 1 / (1 - 1));
| ^^^^^^^^^^^ attempt to divide 1_i32 by zero | ^^^^^^^^^^^ attempt to divide `1_i32` by zero
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/promoted_errors.rs:9:41 --> $DIR/promoted_errors.rs:9:41
@ -44,13 +44,13 @@ warning: this operation will panic at runtime
--> $DIR/promoted_errors.rs:20:14 --> $DIR/promoted_errors.rs:20:14
| |
LL | let _x = 1 / (1 - 1); LL | let _x = 1 / (1 - 1);
| ^^^^^^^^^^^ attempt to divide 1_i32 by zero | ^^^^^^^^^^^ attempt to divide `1_i32` by zero
warning: this operation will panic at runtime warning: this operation will panic at runtime
--> $DIR/promoted_errors.rs:22:20 --> $DIR/promoted_errors.rs:22:20
| |
LL | println!("{}", 1 / (false as u32)); LL | println!("{}", 1 / (false as u32));
| ^^^^^^^^^^^^^^^^^^ attempt to divide 1_u32 by zero | ^^^^^^^^^^^^^^^^^^ attempt to divide `1_u32` by zero
warning: reaching this expression at runtime will panic or abort warning: reaching this expression at runtime will panic or abort
--> $DIR/promoted_errors.rs:22:20 --> $DIR/promoted_errors.rs:22:20
@ -68,7 +68,7 @@ warning: this operation will panic at runtime
--> $DIR/promoted_errors.rs:26:14 --> $DIR/promoted_errors.rs:26:14
| |
LL | let _x = 1 / (false as u32); LL | let _x = 1 / (false as u32);
| ^^^^^^^^^^^^^^^^^^ attempt to divide 1_u32 by zero | ^^^^^^^^^^^^^^^^^^ attempt to divide `1_u32` by zero
warning: 9 warnings emitted warning: 9 warnings emitted

View File

@ -2,7 +2,7 @@ warning: this arithmetic operation will overflow
--> $DIR/promoted_errors.rs:12:20 --> $DIR/promoted_errors.rs:12:20
| |
LL | println!("{}", 0u32 - 1); LL | println!("{}", 0u32 - 1);
| ^^^^^^^^ attempt to compute `0_u32 - 1_u32` which would overflow | ^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/promoted_errors.rs:9:20 --> $DIR/promoted_errors.rs:9:20
@ -14,13 +14,13 @@ warning: this arithmetic operation will overflow
--> $DIR/promoted_errors.rs:14:14 --> $DIR/promoted_errors.rs:14:14
| |
LL | let _x = 0u32 - 1; LL | let _x = 0u32 - 1;
| ^^^^^^^^ attempt to compute `0_u32 - 1_u32` which would overflow | ^^^^^^^^ attempt to compute `0_u32 - 1_u32`, which would overflow
warning: this operation will panic at runtime warning: this operation will panic at runtime
--> $DIR/promoted_errors.rs:16:20 --> $DIR/promoted_errors.rs:16:20
| |
LL | println!("{}", 1 / (1 - 1)); LL | println!("{}", 1 / (1 - 1));
| ^^^^^^^^^^^ attempt to divide 1_i32 by zero | ^^^^^^^^^^^ attempt to divide `1_i32` by zero
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/promoted_errors.rs:9:41 --> $DIR/promoted_errors.rs:9:41
@ -50,13 +50,13 @@ warning: this operation will panic at runtime
--> $DIR/promoted_errors.rs:20:14 --> $DIR/promoted_errors.rs:20:14
| |
LL | let _x = 1 / (1 - 1); LL | let _x = 1 / (1 - 1);
| ^^^^^^^^^^^ attempt to divide 1_i32 by zero | ^^^^^^^^^^^ attempt to divide `1_i32` by zero
warning: this operation will panic at runtime warning: this operation will panic at runtime
--> $DIR/promoted_errors.rs:22:20 --> $DIR/promoted_errors.rs:22:20
| |
LL | println!("{}", 1 / (false as u32)); LL | println!("{}", 1 / (false as u32));
| ^^^^^^^^^^^^^^^^^^ attempt to divide 1_u32 by zero | ^^^^^^^^^^^^^^^^^^ attempt to divide `1_u32` by zero
warning: reaching this expression at runtime will panic or abort warning: reaching this expression at runtime will panic or abort
--> $DIR/promoted_errors.rs:22:20 --> $DIR/promoted_errors.rs:22:20
@ -74,7 +74,7 @@ warning: this operation will panic at runtime
--> $DIR/promoted_errors.rs:26:14 --> $DIR/promoted_errors.rs:26:14
| |
LL | let _x = 1 / (false as u32); LL | let _x = 1 / (false as u32);
| ^^^^^^^^^^^^^^^^^^ attempt to divide 1_u32 by zero | ^^^^^^^^^^^^^^^^^^ attempt to divide `1_u32` by zero
warning: 10 warnings emitted warning: 10 warnings emitted

View File

@ -4,7 +4,7 @@ warning: any use of this value will cause an error
LL | pub const Z: u32 = 0 - 1; LL | pub const Z: u32 = 0 - 1;
| -------------------^^^^^- | -------------------^^^^^-
| | | |
| attempt to compute `0_u32 - 1_u32` which would overflow | attempt to compute `0_u32 - 1_u32`, which would overflow
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/pub_const_err.rs:2:9 --> $DIR/pub_const_err.rs:2:9

View File

@ -4,7 +4,7 @@ warning: any use of this value will cause an error
LL | pub const Z: u32 = 0 - 1; LL | pub const Z: u32 = 0 - 1;
| -------------------^^^^^- | -------------------^^^^^-
| | | |
| attempt to compute `0_u32 - 1_u32` which would overflow | attempt to compute `0_u32 - 1_u32`, which would overflow
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/pub_const_err_bin.rs:2:9 --> $DIR/pub_const_err_bin.rs:2:9

View File

@ -2,7 +2,7 @@ error[E0080]: evaluation of constant value failed
--> $DIR/shift_overflow.rs:3:9 --> $DIR/shift_overflow.rs:3:9
| |
LL | X = 1 << ((u32::MAX as u64) + 1), LL | X = 1 << ((u32::MAX as u64) + 1),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to shift left by 4294967296_u64 which would overflow | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to shift left by `4294967296_u64`, which would overflow
error: aborting due to previous error error: aborting due to previous error

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | const FOO: i32 = [][0]; LL | const FOO: i32 = [][0];
| -----------------^^^^^- | -----------------^^^^^-
| | | |
| index out of bounds: the len is 0 but the index is 0 | index out of bounds: the length is 0 but the index is 0
| |
= note: `#[deny(const_err)]` on by default = note: `#[deny(const_err)]` on by default

View File

@ -2,7 +2,7 @@ error: any use of this value will cause an error
--> $DIR/const-external-macro-const-err.rs:12:5 --> $DIR/const-external-macro-const-err.rs:12:5
| |
LL | static_assert!(2 + 2 == 5); LL | static_assert!(2 + 2 == 5);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the length is 1 but the index is 1
| |
= note: `#[deny(const_err)]` on by default = note: `#[deny(const_err)]` on by default
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | const LEN: usize = ONE - TWO; LL | const LEN: usize = ONE - TWO;
| -------------------^^^^^^^^^- | -------------------^^^^^^^^^-
| | | |
| attempt to compute `1_usize - 2_usize` which would overflow | attempt to compute `1_usize - 2_usize`, which would overflow
| |
= note: `#[deny(const_err)]` on by default = note: `#[deny(const_err)]` on by default

View File

@ -7,5 +7,5 @@ const TWO: usize = 2;
fn main() { fn main() {
let a: [i8; ONE - TWO] = unimplemented!(); let a: [i8; ONE - TWO] = unimplemented!();
//~^ ERROR evaluation of constant value failed //~^ ERROR evaluation of constant value failed
//~| attempt to compute `1_usize - 2_usize` which would overflow //~| attempt to compute `1_usize - 2_usize`, which would overflow
} }

View File

@ -2,7 +2,7 @@ error[E0080]: evaluation of constant value failed
--> $DIR/const-len-underflow-subspans.rs:8:17 --> $DIR/const-len-underflow-subspans.rs:8:17
| |
LL | let a: [i8; ONE - TWO] = unimplemented!(); LL | let a: [i8; ONE - TWO] = unimplemented!();
| ^^^^^^^^^ attempt to compute `1_usize - 2_usize` which would overflow | ^^^^^^^^^ attempt to compute `1_usize - 2_usize`, which would overflow
error: aborting due to previous error error: aborting due to previous error

View File

@ -2,7 +2,7 @@ error: this operation will panic at runtime
--> $DIR/const-prop-ice.rs:4:5 --> $DIR/const-prop-ice.rs:4:5
| |
LL | [0; 3][3u64 as usize]; LL | [0; 3][3u64 as usize];
| ^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the len is 3 but the index is 3 | ^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the length is 3 but the index is 3
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default

View File

@ -2,7 +2,7 @@ error: this operation will panic at runtime
--> $DIR/const-prop-ice2.rs:6:20 --> $DIR/const-prop-ice2.rs:6:20
| |
LL | println!("{}", xs[Enum::One as usize]); LL | println!("{}", xs[Enum::One as usize]);
| ^^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the length is 1 but the index is 1
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default

View File

@ -2,7 +2,7 @@
const FOO: &'static[u32] = &[1, 2, 3]; const FOO: &'static[u32] = &[1, 2, 3];
const BAR: u32 = FOO[5]; const BAR: u32 = FOO[5];
//~^ index out of bounds: the len is 3 but the index is 5 //~^ index out of bounds: the length is 3 but the index is 5
//~| ERROR any use of this value will cause an error //~| ERROR any use of this value will cause an error
fn main() { fn main() {

View File

@ -4,7 +4,7 @@ error: any use of this value will cause an error
LL | const BAR: u32 = FOO[5]; LL | const BAR: u32 = FOO[5];
| -----------------^^^^^^- | -----------------^^^^^^-
| | | |
| index out of bounds: the len is 3 but the index is 5 | index out of bounds: the length is 3 but the index is 5
| |
= note: `#[deny(const_err)]` on by default = note: `#[deny(const_err)]` on by default

View File

@ -5,7 +5,7 @@ fn main() {
match s { match s {
"hello" ..= "world" => {} "hello" ..= "world" => {}
//~^ ERROR only char and numeric types are allowed in range patterns //~^ ERROR only `char` and numeric types are allowed in range patterns
_ => {} _ => {}
} }
} }

View File

@ -1,4 +1,4 @@
error[E0029]: only char and numeric types are allowed in range patterns error[E0029]: only `char` and numeric types are allowed in range patterns
--> $DIR/E0029-teach.rs:7:9 --> $DIR/E0029-teach.rs:7:9
| |
LL | "hello" ..= "world" => {} LL | "hello" ..= "world" => {}

View File

@ -3,7 +3,7 @@ fn main() {
match s { match s {
"hello" ..= "world" => {} "hello" ..= "world" => {}
//~^ ERROR only char and numeric types are allowed in range patterns //~^ ERROR only `char` and numeric types are allowed in range patterns
_ => {} _ => {}
} }
} }

View File

@ -1,4 +1,4 @@
error[E0029]: only char and numeric types are allowed in range patterns error[E0029]: only `char` and numeric types are allowed in range patterns
--> $DIR/E0029.rs:5:9 --> $DIR/E0029.rs:5:9
| |
LL | "hello" ..= "world" => {} LL | "hello" ..= "world" => {}

View File

@ -1,6 +1,6 @@
enum Enum { enum Enum {
X = (1 << 500), //~ ERROR E0080 X = (1 << 500), //~ ERROR E0080
//~| attempt to shift left by 500_i32 which would overflow //~| attempt to shift left by `500_i32`, which would overflow
Y = (1 / 0) //~ ERROR E0080 Y = (1 / 0) //~ ERROR E0080
} }

View File

@ -2,13 +2,13 @@ error[E0080]: evaluation of constant value failed
--> $DIR/E0080.rs:2:9 --> $DIR/E0080.rs:2:9
| |
LL | X = (1 << 500), LL | X = (1 << 500),
| ^^^^^^^^^^ attempt to shift left by 500_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `500_i32`, which would overflow
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $DIR/E0080.rs:4:9 --> $DIR/E0080.rs:4:9
| |
LL | Y = (1 / 0) LL | Y = (1 / 0)
| ^^^^^^^ attempt to divide 1_isize by zero | ^^^^^^^ attempt to divide `1_isize` by zero
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -1,9 +1,9 @@
enum Test { enum Test {
DivZero = 1/0, DivZero = 1/0,
//~^ attempt to divide 1_isize by zero //~^ attempt to divide `1_isize` by zero
//~| ERROR evaluation of constant value failed //~| ERROR evaluation of constant value failed
RemZero = 1%0, RemZero = 1%0,
//~^ attempt to calculate the remainder of 1_isize with a divisor of zero //~^ attempt to calculate the remainder of `1_isize` with a divisor of zero
//~| ERROR evaluation of constant value failed //~| ERROR evaluation of constant value failed
} }

View File

@ -2,13 +2,13 @@ error[E0080]: evaluation of constant value failed
--> $DIR/eval-enum.rs:2:15 --> $DIR/eval-enum.rs:2:15
| |
LL | DivZero = 1/0, LL | DivZero = 1/0,
| ^^^ attempt to divide 1_isize by zero | ^^^ attempt to divide `1_isize` by zero
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $DIR/eval-enum.rs:5:15 --> $DIR/eval-enum.rs:5:15
| |
LL | RemZero = 1%0, LL | RemZero = 1%0,
| ^^^ attempt to calculate the remainder of 1_isize with a divisor of zero | ^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -2,7 +2,7 @@
#![feature(exclusive_range_pattern)] #![feature(exclusive_range_pattern)]
fn main() { fn main() {
let "a".. = "a"; //~ ERROR only char and numeric types are allowed in range patterns let "a".. = "a"; //~ ERROR only `char` and numeric types are allowed in range patterns
let .."a" = "a"; //~ ERROR only char and numeric types are allowed in range patterns let .."a" = "a"; //~ ERROR only `char` and numeric types are allowed in range patterns
let ..="a" = "a"; //~ ERROR only char and numeric types are allowed in range patterns let ..="a" = "a"; //~ ERROR only `char` and numeric types are allowed in range patterns
} }

View File

@ -1,16 +1,16 @@
error[E0029]: only char and numeric types are allowed in range patterns error[E0029]: only `char` and numeric types are allowed in range patterns
--> $DIR/half-open-range-pats-bad-types.rs:5:9 --> $DIR/half-open-range-pats-bad-types.rs:5:9
| |
LL | let "a".. = "a"; LL | let "a".. = "a";
| ^^^ this is of type `&'static str` but it should be `char` or numeric | ^^^ this is of type `&'static str` but it should be `char` or numeric
error[E0029]: only char and numeric types are allowed in range patterns error[E0029]: only `char` and numeric types are allowed in range patterns
--> $DIR/half-open-range-pats-bad-types.rs:6:11 --> $DIR/half-open-range-pats-bad-types.rs:6:11
| |
LL | let .."a" = "a"; LL | let .."a" = "a";
| ^^^ this is of type `&'static str` but it should be `char` or numeric | ^^^ this is of type `&'static str` but it should be `char` or numeric
error[E0029]: only char and numeric types are allowed in range patterns error[E0029]: only `char` and numeric types are allowed in range patterns
--> $DIR/half-open-range-pats-bad-types.rs:7:12 --> $DIR/half-open-range-pats-bad-types.rs:7:12
| |
LL | let ..="a" = "a"; LL | let ..="a" = "a";

View File

@ -2,7 +2,7 @@ error: this operation will panic at runtime
--> $DIR/issue-54348.rs:5:5 --> $DIR/issue-54348.rs:5:5
| |
LL | [1][1.5 as usize]; LL | [1][1.5 as usize];
| ^^^^^^^^^^^^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^^^^^^^^^^^^ index out of bounds: the length is 1 but the index is 1
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default
@ -10,7 +10,7 @@ error: this operation will panic at runtime
--> $DIR/issue-54348.rs:6:5 --> $DIR/issue-54348.rs:6:5
| |
LL | [1][1u64 as usize]; LL | [1][1u64 as usize];
| ^^^^^^^^^^^^^^^^^^ index out of bounds: the len is 1 but the index is 1 | ^^^^^^^^^^^^^^^^^^ index out of bounds: the length is 1 but the index is 1
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -2,7 +2,7 @@ error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:14:36 --> $DIR/issue-8460-const.rs:14:36
| |
LL | assert!(thread::spawn(move|| { isize::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { isize::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^^^ attempt to compute `isize::MIN / -1_isize` which would overflow | ^^^^^^^^^^^^^^^ attempt to compute `isize::MIN / -1_isize`, which would overflow
| |
= note: `#[deny(arithmetic_overflow)]` on by default = note: `#[deny(arithmetic_overflow)]` on by default
@ -10,37 +10,37 @@ error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:16:36 --> $DIR/issue-8460-const.rs:16:36
| |
LL | assert!(thread::spawn(move|| { i8::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i8::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^ attempt to compute `i8::MIN / -1_i8` which would overflow | ^^^^^^^^^^^^ attempt to compute `i8::MIN / -1_i8`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:18:36 --> $DIR/issue-8460-const.rs:18:36
| |
LL | assert!(thread::spawn(move|| { i16::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i16::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute `i16::MIN / -1_i16` which would overflow | ^^^^^^^^^^^^^ attempt to compute `i16::MIN / -1_i16`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:20:36 --> $DIR/issue-8460-const.rs:20:36
| |
LL | assert!(thread::spawn(move|| { i32::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i32::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute `i32::MIN / -1_i32` which would overflow | ^^^^^^^^^^^^^ attempt to compute `i32::MIN / -1_i32`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:22:36 --> $DIR/issue-8460-const.rs:22:36
| |
LL | assert!(thread::spawn(move|| { i64::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i64::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute `i64::MIN / -1_i64` which would overflow | ^^^^^^^^^^^^^ attempt to compute `i64::MIN / -1_i64`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:24:36 --> $DIR/issue-8460-const.rs:24:36
| |
LL | assert!(thread::spawn(move|| { i128::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i128::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^^ attempt to compute `i128::MIN / -1_i128` which would overflow | ^^^^^^^^^^^^^^ attempt to compute `i128::MIN / -1_i128`, which would overflow
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:26:36 --> $DIR/issue-8460-const.rs:26:36
| |
LL | assert!(thread::spawn(move|| { 1isize / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1isize / 0; }).join().is_err());
| ^^^^^^^^^^ attempt to divide 1_isize by zero | ^^^^^^^^^^ attempt to divide `1_isize` by zero
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default
@ -48,103 +48,103 @@ error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:28:36 --> $DIR/issue-8460-const.rs:28:36
| |
LL | assert!(thread::spawn(move|| { 1i8 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i8 / 0; }).join().is_err());
| ^^^^^^^ attempt to divide 1_i8 by zero | ^^^^^^^ attempt to divide `1_i8` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:30:36 --> $DIR/issue-8460-const.rs:30:36
| |
LL | assert!(thread::spawn(move|| { 1i16 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i16 / 0; }).join().is_err());
| ^^^^^^^^ attempt to divide 1_i16 by zero | ^^^^^^^^ attempt to divide `1_i16` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:32:36 --> $DIR/issue-8460-const.rs:32:36
| |
LL | assert!(thread::spawn(move|| { 1i32 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i32 / 0; }).join().is_err());
| ^^^^^^^^ attempt to divide 1_i32 by zero | ^^^^^^^^ attempt to divide `1_i32` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:34:36 --> $DIR/issue-8460-const.rs:34:36
| |
LL | assert!(thread::spawn(move|| { 1i64 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i64 / 0; }).join().is_err());
| ^^^^^^^^ attempt to divide 1_i64 by zero | ^^^^^^^^ attempt to divide `1_i64` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:36:36 --> $DIR/issue-8460-const.rs:36:36
| |
LL | assert!(thread::spawn(move|| { 1i128 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i128 / 0; }).join().is_err());
| ^^^^^^^^^ attempt to divide 1_i128 by zero | ^^^^^^^^^ attempt to divide `1_i128` by zero
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:38:36 --> $DIR/issue-8460-const.rs:38:36
| |
LL | assert!(thread::spawn(move|| { isize::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { isize::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^^^ attempt to compute the remainder of `isize::MIN % -1_isize` which would overflow | ^^^^^^^^^^^^^^^ attempt to compute the remainder of `isize::MIN % -1_isize`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:40:36 --> $DIR/issue-8460-const.rs:40:36
| |
LL | assert!(thread::spawn(move|| { i8::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i8::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^ attempt to compute the remainder of `i8::MIN % -1_i8` which would overflow | ^^^^^^^^^^^^ attempt to compute the remainder of `i8::MIN % -1_i8`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:42:36 --> $DIR/issue-8460-const.rs:42:36
| |
LL | assert!(thread::spawn(move|| { i16::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i16::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute the remainder of `i16::MIN % -1_i16` which would overflow | ^^^^^^^^^^^^^ attempt to compute the remainder of `i16::MIN % -1_i16`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:44:36 --> $DIR/issue-8460-const.rs:44:36
| |
LL | assert!(thread::spawn(move|| { i32::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i32::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute the remainder of `i32::MIN % -1_i32` which would overflow | ^^^^^^^^^^^^^ attempt to compute the remainder of `i32::MIN % -1_i32`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:46:36 --> $DIR/issue-8460-const.rs:46:36
| |
LL | assert!(thread::spawn(move|| { i64::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i64::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute the remainder of `i64::MIN % -1_i64` which would overflow | ^^^^^^^^^^^^^ attempt to compute the remainder of `i64::MIN % -1_i64`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:48:36 --> $DIR/issue-8460-const.rs:48:36
| |
LL | assert!(thread::spawn(move|| { i128::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i128::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^^ attempt to compute the remainder of `i128::MIN % -1_i128` which would overflow | ^^^^^^^^^^^^^^ attempt to compute the remainder of `i128::MIN % -1_i128`, which would overflow
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:50:36 --> $DIR/issue-8460-const.rs:50:36
| |
LL | assert!(thread::spawn(move|| { 1isize % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1isize % 0; }).join().is_err());
| ^^^^^^^^^^ attempt to calculate the remainder of 1_isize with a divisor of zero | ^^^^^^^^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:52:36 --> $DIR/issue-8460-const.rs:52:36
| |
LL | assert!(thread::spawn(move|| { 1i8 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i8 % 0; }).join().is_err());
| ^^^^^^^ attempt to calculate the remainder of 1_i8 with a divisor of zero | ^^^^^^^ attempt to calculate the remainder of `1_i8` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:54:36 --> $DIR/issue-8460-const.rs:54:36
| |
LL | assert!(thread::spawn(move|| { 1i16 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i16 % 0; }).join().is_err());
| ^^^^^^^^ attempt to calculate the remainder of 1_i16 with a divisor of zero | ^^^^^^^^ attempt to calculate the remainder of `1_i16` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:56:36 --> $DIR/issue-8460-const.rs:56:36
| |
LL | assert!(thread::spawn(move|| { 1i32 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i32 % 0; }).join().is_err());
| ^^^^^^^^ attempt to calculate the remainder of 1_i32 with a divisor of zero | ^^^^^^^^ attempt to calculate the remainder of `1_i32` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:58:36 --> $DIR/issue-8460-const.rs:58:36
| |
LL | assert!(thread::spawn(move|| { 1i64 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i64 % 0; }).join().is_err());
| ^^^^^^^^ attempt to calculate the remainder of 1_i64 with a divisor of zero | ^^^^^^^^ attempt to calculate the remainder of `1_i64` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:60:36 --> $DIR/issue-8460-const.rs:60:36
| |
LL | assert!(thread::spawn(move|| { 1i128 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i128 % 0; }).join().is_err());
| ^^^^^^^^^ attempt to calculate the remainder of 1_i128 with a divisor of zero | ^^^^^^^^^ attempt to calculate the remainder of `1_i128` with a divisor of zero
error: aborting due to 24 previous errors error: aborting due to 24 previous errors

View File

@ -2,7 +2,7 @@ error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:14:36 --> $DIR/issue-8460-const.rs:14:36
| |
LL | assert!(thread::spawn(move|| { isize::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { isize::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^^^ attempt to compute `isize::MIN / -1_isize` which would overflow | ^^^^^^^^^^^^^^^ attempt to compute `isize::MIN / -1_isize`, which would overflow
| |
= note: `#[deny(arithmetic_overflow)]` on by default = note: `#[deny(arithmetic_overflow)]` on by default
@ -10,37 +10,37 @@ error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:16:36 --> $DIR/issue-8460-const.rs:16:36
| |
LL | assert!(thread::spawn(move|| { i8::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i8::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^ attempt to compute `i8::MIN / -1_i8` which would overflow | ^^^^^^^^^^^^ attempt to compute `i8::MIN / -1_i8`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:18:36 --> $DIR/issue-8460-const.rs:18:36
| |
LL | assert!(thread::spawn(move|| { i16::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i16::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute `i16::MIN / -1_i16` which would overflow | ^^^^^^^^^^^^^ attempt to compute `i16::MIN / -1_i16`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:20:36 --> $DIR/issue-8460-const.rs:20:36
| |
LL | assert!(thread::spawn(move|| { i32::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i32::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute `i32::MIN / -1_i32` which would overflow | ^^^^^^^^^^^^^ attempt to compute `i32::MIN / -1_i32`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:22:36 --> $DIR/issue-8460-const.rs:22:36
| |
LL | assert!(thread::spawn(move|| { i64::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i64::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute `i64::MIN / -1_i64` which would overflow | ^^^^^^^^^^^^^ attempt to compute `i64::MIN / -1_i64`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:24:36 --> $DIR/issue-8460-const.rs:24:36
| |
LL | assert!(thread::spawn(move|| { i128::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i128::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^^ attempt to compute `i128::MIN / -1_i128` which would overflow | ^^^^^^^^^^^^^^ attempt to compute `i128::MIN / -1_i128`, which would overflow
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:26:36 --> $DIR/issue-8460-const.rs:26:36
| |
LL | assert!(thread::spawn(move|| { 1isize / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1isize / 0; }).join().is_err());
| ^^^^^^^^^^ attempt to divide 1_isize by zero | ^^^^^^^^^^ attempt to divide `1_isize` by zero
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default
@ -48,103 +48,103 @@ error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:28:36 --> $DIR/issue-8460-const.rs:28:36
| |
LL | assert!(thread::spawn(move|| { 1i8 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i8 / 0; }).join().is_err());
| ^^^^^^^ attempt to divide 1_i8 by zero | ^^^^^^^ attempt to divide `1_i8` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:30:36 --> $DIR/issue-8460-const.rs:30:36
| |
LL | assert!(thread::spawn(move|| { 1i16 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i16 / 0; }).join().is_err());
| ^^^^^^^^ attempt to divide 1_i16 by zero | ^^^^^^^^ attempt to divide `1_i16` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:32:36 --> $DIR/issue-8460-const.rs:32:36
| |
LL | assert!(thread::spawn(move|| { 1i32 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i32 / 0; }).join().is_err());
| ^^^^^^^^ attempt to divide 1_i32 by zero | ^^^^^^^^ attempt to divide `1_i32` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:34:36 --> $DIR/issue-8460-const.rs:34:36
| |
LL | assert!(thread::spawn(move|| { 1i64 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i64 / 0; }).join().is_err());
| ^^^^^^^^ attempt to divide 1_i64 by zero | ^^^^^^^^ attempt to divide `1_i64` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:36:36 --> $DIR/issue-8460-const.rs:36:36
| |
LL | assert!(thread::spawn(move|| { 1i128 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i128 / 0; }).join().is_err());
| ^^^^^^^^^ attempt to divide 1_i128 by zero | ^^^^^^^^^ attempt to divide `1_i128` by zero
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:38:36 --> $DIR/issue-8460-const.rs:38:36
| |
LL | assert!(thread::spawn(move|| { isize::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { isize::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^^^ attempt to compute the remainder of `isize::MIN % -1_isize` which would overflow | ^^^^^^^^^^^^^^^ attempt to compute the remainder of `isize::MIN % -1_isize`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:40:36 --> $DIR/issue-8460-const.rs:40:36
| |
LL | assert!(thread::spawn(move|| { i8::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i8::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^ attempt to compute the remainder of `i8::MIN % -1_i8` which would overflow | ^^^^^^^^^^^^ attempt to compute the remainder of `i8::MIN % -1_i8`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:42:36 --> $DIR/issue-8460-const.rs:42:36
| |
LL | assert!(thread::spawn(move|| { i16::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i16::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute the remainder of `i16::MIN % -1_i16` which would overflow | ^^^^^^^^^^^^^ attempt to compute the remainder of `i16::MIN % -1_i16`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:44:36 --> $DIR/issue-8460-const.rs:44:36
| |
LL | assert!(thread::spawn(move|| { i32::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i32::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute the remainder of `i32::MIN % -1_i32` which would overflow | ^^^^^^^^^^^^^ attempt to compute the remainder of `i32::MIN % -1_i32`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:46:36 --> $DIR/issue-8460-const.rs:46:36
| |
LL | assert!(thread::spawn(move|| { i64::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i64::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute the remainder of `i64::MIN % -1_i64` which would overflow | ^^^^^^^^^^^^^ attempt to compute the remainder of `i64::MIN % -1_i64`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:48:36 --> $DIR/issue-8460-const.rs:48:36
| |
LL | assert!(thread::spawn(move|| { i128::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i128::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^^ attempt to compute the remainder of `i128::MIN % -1_i128` which would overflow | ^^^^^^^^^^^^^^ attempt to compute the remainder of `i128::MIN % -1_i128`, which would overflow
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:50:36 --> $DIR/issue-8460-const.rs:50:36
| |
LL | assert!(thread::spawn(move|| { 1isize % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1isize % 0; }).join().is_err());
| ^^^^^^^^^^ attempt to calculate the remainder of 1_isize with a divisor of zero | ^^^^^^^^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:52:36 --> $DIR/issue-8460-const.rs:52:36
| |
LL | assert!(thread::spawn(move|| { 1i8 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i8 % 0; }).join().is_err());
| ^^^^^^^ attempt to calculate the remainder of 1_i8 with a divisor of zero | ^^^^^^^ attempt to calculate the remainder of `1_i8` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:54:36 --> $DIR/issue-8460-const.rs:54:36
| |
LL | assert!(thread::spawn(move|| { 1i16 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i16 % 0; }).join().is_err());
| ^^^^^^^^ attempt to calculate the remainder of 1_i16 with a divisor of zero | ^^^^^^^^ attempt to calculate the remainder of `1_i16` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:56:36 --> $DIR/issue-8460-const.rs:56:36
| |
LL | assert!(thread::spawn(move|| { 1i32 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i32 % 0; }).join().is_err());
| ^^^^^^^^ attempt to calculate the remainder of 1_i32 with a divisor of zero | ^^^^^^^^ attempt to calculate the remainder of `1_i32` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:58:36 --> $DIR/issue-8460-const.rs:58:36
| |
LL | assert!(thread::spawn(move|| { 1i64 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i64 % 0; }).join().is_err());
| ^^^^^^^^ attempt to calculate the remainder of 1_i64 with a divisor of zero | ^^^^^^^^ attempt to calculate the remainder of `1_i64` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:60:36 --> $DIR/issue-8460-const.rs:60:36
| |
LL | assert!(thread::spawn(move|| { 1i128 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i128 % 0; }).join().is_err());
| ^^^^^^^^^ attempt to calculate the remainder of 1_i128 with a divisor of zero | ^^^^^^^^^ attempt to calculate the remainder of `1_i128` with a divisor of zero
error: aborting due to 24 previous errors error: aborting due to 24 previous errors

View File

@ -2,7 +2,7 @@ error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:14:36 --> $DIR/issue-8460-const.rs:14:36
| |
LL | assert!(thread::spawn(move|| { isize::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { isize::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^^^ attempt to compute `isize::MIN / -1_isize` which would overflow | ^^^^^^^^^^^^^^^ attempt to compute `isize::MIN / -1_isize`, which would overflow
| |
= note: `#[deny(arithmetic_overflow)]` on by default = note: `#[deny(arithmetic_overflow)]` on by default
@ -10,37 +10,37 @@ error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:16:36 --> $DIR/issue-8460-const.rs:16:36
| |
LL | assert!(thread::spawn(move|| { i8::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i8::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^ attempt to compute `i8::MIN / -1_i8` which would overflow | ^^^^^^^^^^^^ attempt to compute `i8::MIN / -1_i8`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:18:36 --> $DIR/issue-8460-const.rs:18:36
| |
LL | assert!(thread::spawn(move|| { i16::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i16::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute `i16::MIN / -1_i16` which would overflow | ^^^^^^^^^^^^^ attempt to compute `i16::MIN / -1_i16`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:20:36 --> $DIR/issue-8460-const.rs:20:36
| |
LL | assert!(thread::spawn(move|| { i32::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i32::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute `i32::MIN / -1_i32` which would overflow | ^^^^^^^^^^^^^ attempt to compute `i32::MIN / -1_i32`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:22:36 --> $DIR/issue-8460-const.rs:22:36
| |
LL | assert!(thread::spawn(move|| { i64::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i64::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute `i64::MIN / -1_i64` which would overflow | ^^^^^^^^^^^^^ attempt to compute `i64::MIN / -1_i64`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:24:36 --> $DIR/issue-8460-const.rs:24:36
| |
LL | assert!(thread::spawn(move|| { i128::MIN / -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i128::MIN / -1; }).join().is_err());
| ^^^^^^^^^^^^^^ attempt to compute `i128::MIN / -1_i128` which would overflow | ^^^^^^^^^^^^^^ attempt to compute `i128::MIN / -1_i128`, which would overflow
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:26:36 --> $DIR/issue-8460-const.rs:26:36
| |
LL | assert!(thread::spawn(move|| { 1isize / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1isize / 0; }).join().is_err());
| ^^^^^^^^^^ attempt to divide 1_isize by zero | ^^^^^^^^^^ attempt to divide `1_isize` by zero
| |
= note: `#[deny(unconditional_panic)]` on by default = note: `#[deny(unconditional_panic)]` on by default
@ -48,103 +48,103 @@ error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:28:36 --> $DIR/issue-8460-const.rs:28:36
| |
LL | assert!(thread::spawn(move|| { 1i8 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i8 / 0; }).join().is_err());
| ^^^^^^^ attempt to divide 1_i8 by zero | ^^^^^^^ attempt to divide `1_i8` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:30:36 --> $DIR/issue-8460-const.rs:30:36
| |
LL | assert!(thread::spawn(move|| { 1i16 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i16 / 0; }).join().is_err());
| ^^^^^^^^ attempt to divide 1_i16 by zero | ^^^^^^^^ attempt to divide `1_i16` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:32:36 --> $DIR/issue-8460-const.rs:32:36
| |
LL | assert!(thread::spawn(move|| { 1i32 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i32 / 0; }).join().is_err());
| ^^^^^^^^ attempt to divide 1_i32 by zero | ^^^^^^^^ attempt to divide `1_i32` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:34:36 --> $DIR/issue-8460-const.rs:34:36
| |
LL | assert!(thread::spawn(move|| { 1i64 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i64 / 0; }).join().is_err());
| ^^^^^^^^ attempt to divide 1_i64 by zero | ^^^^^^^^ attempt to divide `1_i64` by zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:36:36 --> $DIR/issue-8460-const.rs:36:36
| |
LL | assert!(thread::spawn(move|| { 1i128 / 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i128 / 0; }).join().is_err());
| ^^^^^^^^^ attempt to divide 1_i128 by zero | ^^^^^^^^^ attempt to divide `1_i128` by zero
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:38:36 --> $DIR/issue-8460-const.rs:38:36
| |
LL | assert!(thread::spawn(move|| { isize::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { isize::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^^^ attempt to compute the remainder of `isize::MIN % -1_isize` which would overflow | ^^^^^^^^^^^^^^^ attempt to compute the remainder of `isize::MIN % -1_isize`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:40:36 --> $DIR/issue-8460-const.rs:40:36
| |
LL | assert!(thread::spawn(move|| { i8::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i8::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^ attempt to compute the remainder of `i8::MIN % -1_i8` which would overflow | ^^^^^^^^^^^^ attempt to compute the remainder of `i8::MIN % -1_i8`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:42:36 --> $DIR/issue-8460-const.rs:42:36
| |
LL | assert!(thread::spawn(move|| { i16::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i16::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute the remainder of `i16::MIN % -1_i16` which would overflow | ^^^^^^^^^^^^^ attempt to compute the remainder of `i16::MIN % -1_i16`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:44:36 --> $DIR/issue-8460-const.rs:44:36
| |
LL | assert!(thread::spawn(move|| { i32::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i32::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute the remainder of `i32::MIN % -1_i32` which would overflow | ^^^^^^^^^^^^^ attempt to compute the remainder of `i32::MIN % -1_i32`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:46:36 --> $DIR/issue-8460-const.rs:46:36
| |
LL | assert!(thread::spawn(move|| { i64::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i64::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^ attempt to compute the remainder of `i64::MIN % -1_i64` which would overflow | ^^^^^^^^^^^^^ attempt to compute the remainder of `i64::MIN % -1_i64`, which would overflow
error: this arithmetic operation will overflow error: this arithmetic operation will overflow
--> $DIR/issue-8460-const.rs:48:36 --> $DIR/issue-8460-const.rs:48:36
| |
LL | assert!(thread::spawn(move|| { i128::MIN % -1; }).join().is_err()); LL | assert!(thread::spawn(move|| { i128::MIN % -1; }).join().is_err());
| ^^^^^^^^^^^^^^ attempt to compute the remainder of `i128::MIN % -1_i128` which would overflow | ^^^^^^^^^^^^^^ attempt to compute the remainder of `i128::MIN % -1_i128`, which would overflow
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:50:36 --> $DIR/issue-8460-const.rs:50:36
| |
LL | assert!(thread::spawn(move|| { 1isize % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1isize % 0; }).join().is_err());
| ^^^^^^^^^^ attempt to calculate the remainder of 1_isize with a divisor of zero | ^^^^^^^^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:52:36 --> $DIR/issue-8460-const.rs:52:36
| |
LL | assert!(thread::spawn(move|| { 1i8 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i8 % 0; }).join().is_err());
| ^^^^^^^ attempt to calculate the remainder of 1_i8 with a divisor of zero | ^^^^^^^ attempt to calculate the remainder of `1_i8` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:54:36 --> $DIR/issue-8460-const.rs:54:36
| |
LL | assert!(thread::spawn(move|| { 1i16 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i16 % 0; }).join().is_err());
| ^^^^^^^^ attempt to calculate the remainder of 1_i16 with a divisor of zero | ^^^^^^^^ attempt to calculate the remainder of `1_i16` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:56:36 --> $DIR/issue-8460-const.rs:56:36
| |
LL | assert!(thread::spawn(move|| { 1i32 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i32 % 0; }).join().is_err());
| ^^^^^^^^ attempt to calculate the remainder of 1_i32 with a divisor of zero | ^^^^^^^^ attempt to calculate the remainder of `1_i32` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:58:36 --> $DIR/issue-8460-const.rs:58:36
| |
LL | assert!(thread::spawn(move|| { 1i64 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i64 % 0; }).join().is_err());
| ^^^^^^^^ attempt to calculate the remainder of 1_i64 with a divisor of zero | ^^^^^^^^ attempt to calculate the remainder of `1_i64` with a divisor of zero
error: this operation will panic at runtime error: this operation will panic at runtime
--> $DIR/issue-8460-const.rs:60:36 --> $DIR/issue-8460-const.rs:60:36
| |
LL | assert!(thread::spawn(move|| { 1i128 % 0; }).join().is_err()); LL | assert!(thread::spawn(move|| { 1i128 % 0; }).join().is_err());
| ^^^^^^^^^ attempt to calculate the remainder of 1_i128 with a divisor of zero | ^^^^^^^^^ attempt to calculate the remainder of `1_i128` with a divisor of zero
error: aborting due to 24 previous errors error: aborting due to 24 previous errors

View File

@ -2,7 +2,7 @@ warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:18:20 --> $DIR/lint-exceeding-bitshifts.rs:18:20
| |
LL | const N: i32 = T::N << 42; LL | const N: i32 = T::N << 42;
| ^^^^^^^^^^ attempt to shift left by 42_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `42_i32`, which would overflow
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/lint-exceeding-bitshifts.rs:10:9 --> $DIR/lint-exceeding-bitshifts.rs:10:9
@ -14,139 +14,139 @@ warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:22:13 --> $DIR/lint-exceeding-bitshifts.rs:22:13
| |
LL | let _ = x << 42; LL | let _ = x << 42;
| ^^^^^^^ attempt to shift left by 42_i32 which would overflow | ^^^^^^^ attempt to shift left by `42_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:27:15 --> $DIR/lint-exceeding-bitshifts.rs:27:15
| |
LL | let n = 1u8 << 8; LL | let n = 1u8 << 8;
| ^^^^^^^^ attempt to shift left by 8_i32 which would overflow | ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:29:15 --> $DIR/lint-exceeding-bitshifts.rs:29:15
| |
LL | let n = 1u16 << 16; LL | let n = 1u16 << 16;
| ^^^^^^^^^^ attempt to shift left by 16_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:31:15 --> $DIR/lint-exceeding-bitshifts.rs:31:15
| |
LL | let n = 1u32 << 32; LL | let n = 1u32 << 32;
| ^^^^^^^^^^ attempt to shift left by 32_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:33:15 --> $DIR/lint-exceeding-bitshifts.rs:33:15
| |
LL | let n = 1u64 << 64; LL | let n = 1u64 << 64;
| ^^^^^^^^^^ attempt to shift left by 64_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:35:15 --> $DIR/lint-exceeding-bitshifts.rs:35:15
| |
LL | let n = 1i8 << 8; LL | let n = 1i8 << 8;
| ^^^^^^^^ attempt to shift left by 8_i32 which would overflow | ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:37:15 --> $DIR/lint-exceeding-bitshifts.rs:37:15
| |
LL | let n = 1i16 << 16; LL | let n = 1i16 << 16;
| ^^^^^^^^^^ attempt to shift left by 16_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:39:15 --> $DIR/lint-exceeding-bitshifts.rs:39:15
| |
LL | let n = 1i32 << 32; LL | let n = 1i32 << 32;
| ^^^^^^^^^^ attempt to shift left by 32_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:41:15 --> $DIR/lint-exceeding-bitshifts.rs:41:15
| |
LL | let n = 1i64 << 64; LL | let n = 1i64 << 64;
| ^^^^^^^^^^ attempt to shift left by 64_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:44:15 --> $DIR/lint-exceeding-bitshifts.rs:44:15
| |
LL | let n = 1u8 >> 8; LL | let n = 1u8 >> 8;
| ^^^^^^^^ attempt to shift right by 8_i32 which would overflow | ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:46:15 --> $DIR/lint-exceeding-bitshifts.rs:46:15
| |
LL | let n = 1u16 >> 16; LL | let n = 1u16 >> 16;
| ^^^^^^^^^^ attempt to shift right by 16_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:48:15 --> $DIR/lint-exceeding-bitshifts.rs:48:15
| |
LL | let n = 1u32 >> 32; LL | let n = 1u32 >> 32;
| ^^^^^^^^^^ attempt to shift right by 32_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:50:15 --> $DIR/lint-exceeding-bitshifts.rs:50:15
| |
LL | let n = 1u64 >> 64; LL | let n = 1u64 >> 64;
| ^^^^^^^^^^ attempt to shift right by 64_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:52:15 --> $DIR/lint-exceeding-bitshifts.rs:52:15
| |
LL | let n = 1i8 >> 8; LL | let n = 1i8 >> 8;
| ^^^^^^^^ attempt to shift right by 8_i32 which would overflow | ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:54:15 --> $DIR/lint-exceeding-bitshifts.rs:54:15
| |
LL | let n = 1i16 >> 16; LL | let n = 1i16 >> 16;
| ^^^^^^^^^^ attempt to shift right by 16_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:56:15 --> $DIR/lint-exceeding-bitshifts.rs:56:15
| |
LL | let n = 1i32 >> 32; LL | let n = 1i32 >> 32;
| ^^^^^^^^^^ attempt to shift right by 32_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:58:15 --> $DIR/lint-exceeding-bitshifts.rs:58:15
| |
LL | let n = 1i64 >> 64; LL | let n = 1i64 >> 64;
| ^^^^^^^^^^ attempt to shift right by 64_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:62:15 --> $DIR/lint-exceeding-bitshifts.rs:62:15
| |
LL | let n = n << 8; LL | let n = n << 8;
| ^^^^^^ attempt to shift left by 8_i32 which would overflow | ^^^^^^ attempt to shift left by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:64:15 --> $DIR/lint-exceeding-bitshifts.rs:64:15
| |
LL | let n = 1u8 << -8; LL | let n = 1u8 << -8;
| ^^^^^^^^^ attempt to shift left by -8_i32 which would overflow | ^^^^^^^^^ attempt to shift left by `-8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:69:15 --> $DIR/lint-exceeding-bitshifts.rs:69:15
| |
LL | let n = 1u8 << (4+4); LL | let n = 1u8 << (4+4);
| ^^^^^^^^^^^^ attempt to shift left by 8_i32 which would overflow | ^^^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:71:15 --> $DIR/lint-exceeding-bitshifts.rs:71:15
| |
LL | let n = 1i64 >> [64][0]; LL | let n = 1i64 >> [64][0];
| ^^^^^^^^^^^^^^^ attempt to shift right by 64_i32 which would overflow | ^^^^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:77:15 --> $DIR/lint-exceeding-bitshifts.rs:77:15
| |
LL | let n = 1_isize << BITS; LL | let n = 1_isize << BITS;
| ^^^^^^^^^^^^^^^ attempt to shift left by %BITS% which would overflow | ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:78:15 --> $DIR/lint-exceeding-bitshifts.rs:78:15
| |
LL | let n = 1_usize << BITS; LL | let n = 1_usize << BITS;
| ^^^^^^^^^^^^^^^ attempt to shift left by %BITS% which would overflow | ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
warning: 24 warnings emitted warning: 24 warnings emitted

View File

@ -2,7 +2,7 @@ warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:18:20 --> $DIR/lint-exceeding-bitshifts.rs:18:20
| |
LL | const N: i32 = T::N << 42; LL | const N: i32 = T::N << 42;
| ^^^^^^^^^^ attempt to shift left by 42_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `42_i32`, which would overflow
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/lint-exceeding-bitshifts.rs:10:9 --> $DIR/lint-exceeding-bitshifts.rs:10:9
@ -14,139 +14,139 @@ warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:22:13 --> $DIR/lint-exceeding-bitshifts.rs:22:13
| |
LL | let _ = x << 42; LL | let _ = x << 42;
| ^^^^^^^ attempt to shift left by 42_i32 which would overflow | ^^^^^^^ attempt to shift left by `42_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:27:15 --> $DIR/lint-exceeding-bitshifts.rs:27:15
| |
LL | let n = 1u8 << 8; LL | let n = 1u8 << 8;
| ^^^^^^^^ attempt to shift left by 8_i32 which would overflow | ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:29:15 --> $DIR/lint-exceeding-bitshifts.rs:29:15
| |
LL | let n = 1u16 << 16; LL | let n = 1u16 << 16;
| ^^^^^^^^^^ attempt to shift left by 16_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:31:15 --> $DIR/lint-exceeding-bitshifts.rs:31:15
| |
LL | let n = 1u32 << 32; LL | let n = 1u32 << 32;
| ^^^^^^^^^^ attempt to shift left by 32_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:33:15 --> $DIR/lint-exceeding-bitshifts.rs:33:15
| |
LL | let n = 1u64 << 64; LL | let n = 1u64 << 64;
| ^^^^^^^^^^ attempt to shift left by 64_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:35:15 --> $DIR/lint-exceeding-bitshifts.rs:35:15
| |
LL | let n = 1i8 << 8; LL | let n = 1i8 << 8;
| ^^^^^^^^ attempt to shift left by 8_i32 which would overflow | ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:37:15 --> $DIR/lint-exceeding-bitshifts.rs:37:15
| |
LL | let n = 1i16 << 16; LL | let n = 1i16 << 16;
| ^^^^^^^^^^ attempt to shift left by 16_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:39:15 --> $DIR/lint-exceeding-bitshifts.rs:39:15
| |
LL | let n = 1i32 << 32; LL | let n = 1i32 << 32;
| ^^^^^^^^^^ attempt to shift left by 32_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:41:15 --> $DIR/lint-exceeding-bitshifts.rs:41:15
| |
LL | let n = 1i64 << 64; LL | let n = 1i64 << 64;
| ^^^^^^^^^^ attempt to shift left by 64_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:44:15 --> $DIR/lint-exceeding-bitshifts.rs:44:15
| |
LL | let n = 1u8 >> 8; LL | let n = 1u8 >> 8;
| ^^^^^^^^ attempt to shift right by 8_i32 which would overflow | ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:46:15 --> $DIR/lint-exceeding-bitshifts.rs:46:15
| |
LL | let n = 1u16 >> 16; LL | let n = 1u16 >> 16;
| ^^^^^^^^^^ attempt to shift right by 16_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:48:15 --> $DIR/lint-exceeding-bitshifts.rs:48:15
| |
LL | let n = 1u32 >> 32; LL | let n = 1u32 >> 32;
| ^^^^^^^^^^ attempt to shift right by 32_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:50:15 --> $DIR/lint-exceeding-bitshifts.rs:50:15
| |
LL | let n = 1u64 >> 64; LL | let n = 1u64 >> 64;
| ^^^^^^^^^^ attempt to shift right by 64_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:52:15 --> $DIR/lint-exceeding-bitshifts.rs:52:15
| |
LL | let n = 1i8 >> 8; LL | let n = 1i8 >> 8;
| ^^^^^^^^ attempt to shift right by 8_i32 which would overflow | ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:54:15 --> $DIR/lint-exceeding-bitshifts.rs:54:15
| |
LL | let n = 1i16 >> 16; LL | let n = 1i16 >> 16;
| ^^^^^^^^^^ attempt to shift right by 16_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:56:15 --> $DIR/lint-exceeding-bitshifts.rs:56:15
| |
LL | let n = 1i32 >> 32; LL | let n = 1i32 >> 32;
| ^^^^^^^^^^ attempt to shift right by 32_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:58:15 --> $DIR/lint-exceeding-bitshifts.rs:58:15
| |
LL | let n = 1i64 >> 64; LL | let n = 1i64 >> 64;
| ^^^^^^^^^^ attempt to shift right by 64_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:62:15 --> $DIR/lint-exceeding-bitshifts.rs:62:15
| |
LL | let n = n << 8; LL | let n = n << 8;
| ^^^^^^ attempt to shift left by 8_i32 which would overflow | ^^^^^^ attempt to shift left by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:64:15 --> $DIR/lint-exceeding-bitshifts.rs:64:15
| |
LL | let n = 1u8 << -8; LL | let n = 1u8 << -8;
| ^^^^^^^^^ attempt to shift left by -8_i32 which would overflow | ^^^^^^^^^ attempt to shift left by `-8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:69:15 --> $DIR/lint-exceeding-bitshifts.rs:69:15
| |
LL | let n = 1u8 << (4+4); LL | let n = 1u8 << (4+4);
| ^^^^^^^^^^^^ attempt to shift left by 8_i32 which would overflow | ^^^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:71:15 --> $DIR/lint-exceeding-bitshifts.rs:71:15
| |
LL | let n = 1i64 >> [64][0]; LL | let n = 1i64 >> [64][0];
| ^^^^^^^^^^^^^^^ attempt to shift right by 64_i32 which would overflow | ^^^^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:77:15 --> $DIR/lint-exceeding-bitshifts.rs:77:15
| |
LL | let n = 1_isize << BITS; LL | let n = 1_isize << BITS;
| ^^^^^^^^^^^^^^^ attempt to shift left by %BITS% which would overflow | ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:78:15 --> $DIR/lint-exceeding-bitshifts.rs:78:15
| |
LL | let n = 1_usize << BITS; LL | let n = 1_usize << BITS;
| ^^^^^^^^^^^^^^^ attempt to shift left by %BITS% which would overflow | ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
warning: 24 warnings emitted warning: 24 warnings emitted

View File

@ -2,7 +2,7 @@ warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:18:20 --> $DIR/lint-exceeding-bitshifts.rs:18:20
| |
LL | const N: i32 = T::N << 42; LL | const N: i32 = T::N << 42;
| ^^^^^^^^^^ attempt to shift left by 42_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `42_i32`, which would overflow
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/lint-exceeding-bitshifts.rs:10:9 --> $DIR/lint-exceeding-bitshifts.rs:10:9
@ -14,139 +14,139 @@ warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:22:13 --> $DIR/lint-exceeding-bitshifts.rs:22:13
| |
LL | let _ = x << 42; LL | let _ = x << 42;
| ^^^^^^^ attempt to shift left by 42_i32 which would overflow | ^^^^^^^ attempt to shift left by `42_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:27:15 --> $DIR/lint-exceeding-bitshifts.rs:27:15
| |
LL | let n = 1u8 << 8; LL | let n = 1u8 << 8;
| ^^^^^^^^ attempt to shift left by 8_i32 which would overflow | ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:29:15 --> $DIR/lint-exceeding-bitshifts.rs:29:15
| |
LL | let n = 1u16 << 16; LL | let n = 1u16 << 16;
| ^^^^^^^^^^ attempt to shift left by 16_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:31:15 --> $DIR/lint-exceeding-bitshifts.rs:31:15
| |
LL | let n = 1u32 << 32; LL | let n = 1u32 << 32;
| ^^^^^^^^^^ attempt to shift left by 32_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:33:15 --> $DIR/lint-exceeding-bitshifts.rs:33:15
| |
LL | let n = 1u64 << 64; LL | let n = 1u64 << 64;
| ^^^^^^^^^^ attempt to shift left by 64_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:35:15 --> $DIR/lint-exceeding-bitshifts.rs:35:15
| |
LL | let n = 1i8 << 8; LL | let n = 1i8 << 8;
| ^^^^^^^^ attempt to shift left by 8_i32 which would overflow | ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:37:15 --> $DIR/lint-exceeding-bitshifts.rs:37:15
| |
LL | let n = 1i16 << 16; LL | let n = 1i16 << 16;
| ^^^^^^^^^^ attempt to shift left by 16_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:39:15 --> $DIR/lint-exceeding-bitshifts.rs:39:15
| |
LL | let n = 1i32 << 32; LL | let n = 1i32 << 32;
| ^^^^^^^^^^ attempt to shift left by 32_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:41:15 --> $DIR/lint-exceeding-bitshifts.rs:41:15
| |
LL | let n = 1i64 << 64; LL | let n = 1i64 << 64;
| ^^^^^^^^^^ attempt to shift left by 64_i32 which would overflow | ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:44:15 --> $DIR/lint-exceeding-bitshifts.rs:44:15
| |
LL | let n = 1u8 >> 8; LL | let n = 1u8 >> 8;
| ^^^^^^^^ attempt to shift right by 8_i32 which would overflow | ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:46:15 --> $DIR/lint-exceeding-bitshifts.rs:46:15
| |
LL | let n = 1u16 >> 16; LL | let n = 1u16 >> 16;
| ^^^^^^^^^^ attempt to shift right by 16_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:48:15 --> $DIR/lint-exceeding-bitshifts.rs:48:15
| |
LL | let n = 1u32 >> 32; LL | let n = 1u32 >> 32;
| ^^^^^^^^^^ attempt to shift right by 32_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:50:15 --> $DIR/lint-exceeding-bitshifts.rs:50:15
| |
LL | let n = 1u64 >> 64; LL | let n = 1u64 >> 64;
| ^^^^^^^^^^ attempt to shift right by 64_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:52:15 --> $DIR/lint-exceeding-bitshifts.rs:52:15
| |
LL | let n = 1i8 >> 8; LL | let n = 1i8 >> 8;
| ^^^^^^^^ attempt to shift right by 8_i32 which would overflow | ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:54:15 --> $DIR/lint-exceeding-bitshifts.rs:54:15
| |
LL | let n = 1i16 >> 16; LL | let n = 1i16 >> 16;
| ^^^^^^^^^^ attempt to shift right by 16_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:56:15 --> $DIR/lint-exceeding-bitshifts.rs:56:15
| |
LL | let n = 1i32 >> 32; LL | let n = 1i32 >> 32;
| ^^^^^^^^^^ attempt to shift right by 32_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:58:15 --> $DIR/lint-exceeding-bitshifts.rs:58:15
| |
LL | let n = 1i64 >> 64; LL | let n = 1i64 >> 64;
| ^^^^^^^^^^ attempt to shift right by 64_i32 which would overflow | ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:62:15 --> $DIR/lint-exceeding-bitshifts.rs:62:15
| |
LL | let n = n << 8; LL | let n = n << 8;
| ^^^^^^ attempt to shift left by 8_i32 which would overflow | ^^^^^^ attempt to shift left by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:64:15 --> $DIR/lint-exceeding-bitshifts.rs:64:15
| |
LL | let n = 1u8 << -8; LL | let n = 1u8 << -8;
| ^^^^^^^^^ attempt to shift left by -8_i32 which would overflow | ^^^^^^^^^ attempt to shift left by `-8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:69:15 --> $DIR/lint-exceeding-bitshifts.rs:69:15
| |
LL | let n = 1u8 << (4+4); LL | let n = 1u8 << (4+4);
| ^^^^^^^^^^^^ attempt to shift left by 8_i32 which would overflow | ^^^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:71:15 --> $DIR/lint-exceeding-bitshifts.rs:71:15
| |
LL | let n = 1i64 >> [64][0]; LL | let n = 1i64 >> [64][0];
| ^^^^^^^^^^^^^^^ attempt to shift right by 64_i32 which would overflow | ^^^^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:77:15 --> $DIR/lint-exceeding-bitshifts.rs:77:15
| |
LL | let n = 1_isize << BITS; LL | let n = 1_isize << BITS;
| ^^^^^^^^^^^^^^^ attempt to shift left by %BITS% which would overflow | ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
warning: this arithmetic operation will overflow warning: this arithmetic operation will overflow
--> $DIR/lint-exceeding-bitshifts.rs:78:15 --> $DIR/lint-exceeding-bitshifts.rs:78:15
| |
LL | let n = 1_usize << BITS; LL | let n = 1_usize << BITS;
| ^^^^^^^^^^^^^^^ attempt to shift left by %BITS% which would overflow | ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
warning: 24 warnings emitted warning: 24 warnings emitted

View File

@ -4,7 +4,7 @@
//[opt_with_overflow_checks]compile-flags: -C overflow-checks=on -O //[opt_with_overflow_checks]compile-flags: -C overflow-checks=on -O
// build-pass // build-pass
// ignore-pass (test emits codegen-time warnings and verifies that they are not errors) // ignore-pass (test emits codegen-time warnings and verifies that they are not errors)
// normalize-stderr-test "shift left by (64|32)_usize which" -> "shift left by %BITS% which" // normalize-stderr-test "shift left by `(64|32)_usize`, which" -> "shift left by `%BITS%`, which"
#![crate_type="lib"] #![crate_type="lib"]
#![warn(arithmetic_overflow, const_err)] #![warn(arithmetic_overflow, const_err)]

Some files were not shown because too many files have changed in this diff Show More