Skip to content

Commit

Permalink
Auto merge of rust-lang#2590 - RalfJung:rustup, r=RalfJung
Browse files Browse the repository at this point in the history
Rustup
  • Loading branch information
bors committed Oct 9, 2022
2 parents a74436e + b2ad178 commit 644891b
Show file tree
Hide file tree
Showing 14 changed files with 19 additions and 59 deletions.
2 changes: 1 addition & 1 deletion rust-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
e42c4d7218b2596276152c5eb1e69335621f3086
f382c2748aec2ada91eff88840c996644ff0f70d
5 changes: 0 additions & 5 deletions test-cargo-miri/test.filter.cross-target.stdout.ref
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out


running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out
Expand Down
10 changes: 5 additions & 5 deletions test-cargo-miri/test.filter.stdout.ref
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out


running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out
Expand All @@ -15,3 +10,8 @@ test simple ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out


running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in $TIME

1 change: 0 additions & 1 deletion tests/fail/erroneous_const.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
// Inlining changes the error location
//@compile-flags: -Zmir-opt-level=0
#![feature(never_type)]
#![warn(warnings, const_err)]

struct PrintName<T>(T);
impl<T> PrintName<T> {
Expand Down
8 changes: 2 additions & 6 deletions tests/fail/erroneous_const2.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
const X: u32 = 5;
const Y: u32 = 6;
const FOO: u32 = [X - Y, Y - X][(X < Y) as usize];
//~^ERROR: any use of this value
//~|WARN: previously accepted
//~^ERROR: evaluation of constant value failed

#[rustfmt::skip] // rustfmt bug: https://github.com/rust-lang/rustfmt/issues/5391
fn main() {
println!("{}", FOO); //~ERROR: post-monomorphization error
//~|ERROR: evaluation of constant value failed
//~|ERROR: erroneous constant used
//~|WARN: previously accepted
println!("{}", FOO);
}
36 changes: 3 additions & 33 deletions tests/fail/erroneous_const2.stderr
Original file line number Diff line number Diff line change
@@ -1,39 +1,9 @@
error: any use of this value will cause an error
--> $DIR/erroneous_const2.rs:LL:CC
|
LL | const FOO: u32 = [X - Y, Y - X][(X < Y) as usize];
| -------------- ^^^^^ attempt to compute `5_u32 - 6_u32`, which would overflow
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
= note: `#[deny(const_err)]` on by default

error[E0080]: evaluation of constant value failed
--> $DIR/erroneous_const2.rs:LL:CC
|
LL | println!("{}", FOO);
| ^^^ referenced constant has errors

error: erroneous constant used
--> $DIR/erroneous_const2.rs:LL:CC
|
LL | println!("{}", FOO);
| ^^^ referenced constant has errors
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>
= note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)

error: post-monomorphization error: referenced constant has errors
--> $DIR/erroneous_const2.rs:LL:CC
|
LL | println!("{}", FOO);
| ^^^ referenced constant has errors
|
= note: inside `main` at $DIR/erroneous_const2.rs:LL:CC

note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace
LL | const FOO: u32 = [X - Y, Y - X][(X < Y) as usize];
| ^^^^^ attempt to compute `5_u32 - 6_u32`, which would overflow

error: aborting due to 4 previous errors
error: aborting due to previous error

For more information about this error, try `rustc --explain E0080`.
2 changes: 1 addition & 1 deletion tests/fail/unaligned_pointers/dyn_alignment.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ struct MuchAlign;

fn main() {
// Try many times as this might work by chance.
for _ in 0..10 {
for _ in 0..20 {
let buf = [0u32; 256];
// `buf` is sufficiently aligned for `layout.align` on a `dyn Debug`, but not
// for the actual alignment required by `MuchAlign`.
Expand Down
2 changes: 1 addition & 1 deletion tests/fail/unaligned_pointers/reference_to_packed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ struct Foo {

fn main() {
// Try many times as this might work by chance.
for _ in 0..10 {
for _ in 0..20 {
let foo = Foo { x: 42, y: 99 };
let p = &foo.x;
let i = *p; //~ERROR: alignment 4 is required
Expand Down
2 changes: 1 addition & 1 deletion tests/fail/unaligned_pointers/unaligned_ptr1.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

fn main() {
// Try many times as this might work by chance.
for _ in 0..10 {
for _ in 0..20 {
let x = [2u16, 3, 4]; // Make it big enough so we don't get an out-of-bounds error.
let x = &x[0] as *const _ as *const u32;
// This must fail because alignment is violated: the allocation's base is not sufficiently aligned.
Expand Down
2 changes: 1 addition & 1 deletion tests/fail/unaligned_pointers/unaligned_ptr3.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

fn main() {
// Try many times as this might work by chance.
for _ in 0..10 {
for _ in 0..20 {
let x = [2u16, 3, 4, 5]; // Make it big enough so we don't get an out-of-bounds error.
let x = &x[0] as *const _ as *const *const u8; // cast to ptr-to-ptr, so that we load a ptr
// This must fail because alignment is violated. Test specifically for loading pointers,
Expand Down
2 changes: 1 addition & 1 deletion tests/fail/unaligned_pointers/unaligned_ptr4.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ fn main() {
// (This would be missed if u8 allocations are *always* at odd addresses.)
//
// Try many times as this might work by chance.
for _ in 0..10 {
for _ in 0..20 {
let x = [0u8; 4];
let ptr = x.as_ptr().wrapping_offset(1).cast::<u16>();
let _val = unsafe { *ptr }; //~ERROR: but alignment
Expand Down
2 changes: 1 addition & 1 deletion tests/fail/unaligned_pointers/unaligned_ptr_addr_of.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use std::ptr;

fn main() {
// Try many times as this might work by chance.
for _ in 0..10 {
for _ in 0..20 {
let x = [2u16, 3, 4]; // Make it big enough so we don't get an out-of-bounds error.
let x = &x[0] as *const _ as *const u32;
// This must fail because alignment is violated: the allocation's base is not sufficiently aligned.
Expand Down
2 changes: 1 addition & 1 deletion tests/fail/unaligned_pointers/unaligned_ptr_zst.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

fn main() {
// Try many times as this might work by chance.
for i in 0..10 {
for i in 0..20 {
let x = i as u8;
let x = &x as *const _ as *const [u32; 0];
// This must fail because alignment is violated. Test specifically for loading ZST.
Expand Down
2 changes: 1 addition & 1 deletion tests/pass/align.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ fn align_to() {

fn main() {
// Do this a couple times in a loop because it may work "by chance".
for _ in 0..10 {
for _ in 0..20 {
manual_alignment();
align_to();
}
Expand Down

0 comments on commit 644891b

Please sign in to comment.