Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 5 pull requests #125624

Closed
wants to merge 17 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
c8b0e5b
The number of tests does not depend on the architecture's pointer width
tbu- May 20, 2024
90fec5a
Add `copy_dir_all` and `recursive_diff` functions to `run-make-support`
GuillaumeGomez May 25, 2024
1551fd1
Add file path in case it cannot be read in `Diff::actual_file`
GuillaumeGomez May 25, 2024
f0ab814
Add `Rustdoc::output_format`
GuillaumeGomez May 25, 2024
bdf3864
Migrate `run-make/rustdoc-verify-output-files` to `rmake.rs`
GuillaumeGomez May 25, 2024
7d24f87
MIR validation: ensure that downcast projection is followed by field …
RalfJung May 27, 2024
b3ee911
Use `rmake` for `windows-` run-make tests
ChrisDenton May 27, 2024
57e68b6
Remove Makefiles from allowed_run_make_makefiles
ChrisDenton May 27, 2024
e081170
Add linker option to run-make-support
ChrisDenton May 27, 2024
ad5dce5
Move run-make windows_subsystem tests to ui tests
ChrisDenton May 27, 2024
e5d1003
crashes: increment the number of tracked ones
matthiaskrgr May 25, 2024
894386a
remove fixed crashes, add fixed crashes to tests, add new cashed foun…
matthiaskrgr May 27, 2024
569f510
Rollup merge of #125339 - tbu-:pr_tidy_ui_tests_u32, r=clubby789
matthiaskrgr May 27, 2024
22e8279
Rollup merge of #125539 - matthiaskrgr:cräsh, r=jieyouxu
matthiaskrgr May 27, 2024
69308e9
Rollup merge of #125542 - GuillaumeGomez:migrate-rustdoc-verify-outpu…
matthiaskrgr May 27, 2024
834914c
Rollup merge of #125613 - ChrisDenton:windows-recipie, r=jieyouxu
matthiaskrgr May 27, 2024
a3d4b5f
Rollup merge of #125616 - RalfJung:mir-validate-downcast-projection, …
matthiaskrgr May 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
remove fixed crashes, add fixed crashes to tests, add new cashed foun…
…d in the meantime
  • Loading branch information
matthiaskrgr committed May 27, 2024
commit 894386a2b9a5dc3e8534fa63d4b6364c6907d715
16 changes: 0 additions & 16 deletions tests/crashes/125370.rs

This file was deleted.

17 changes: 0 additions & 17 deletions tests/crashes/125432.rs

This file was deleted.

16 changes: 0 additions & 16 deletions tests/crashes/125520.rs

This file was deleted.

15 changes: 15 additions & 0 deletions tests/crashes/125553.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//@ known-bug: rust-lang/rust#125553
//@ edition:2021

#[derive(Copy, Clone)]
struct Foo((u32, u32));

fn main() {
type T = impl Copy(Copy, Clone)
let foo: T = Foo((1u32, 1u32));
let x = move || {
let derive = move || {
let Foo((a, b)) = foo;
};
};
}
14 changes: 14 additions & 0 deletions tests/crashes/125556.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//@ known-bug: rust-lang/rust#125556
//@ compile-flags: -Znext-solver=coherence

#![feature(generic_const_exprs)]

pub struct A<const z: [usize; x]> {}

impl A<2> {
pub const fn B() {}
}

impl A<2> {
pub const fn B() {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// issue: rust-lang/rust#125520
#![feature(generic_const_exprs)]
//~^ WARN the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes

struct Outer<const A: i64, const B: i64>();
impl<const A: usize, const B: usize> Outer<A, B>
//~^ ERROR the constant `A` is not of type `i64`
//~| ERROR the constant `B` is not of type `i64`
//~| ERROR mismatched types
//~| ERROR mismatched types
where
[(); A + (B * 2)]:,
{
fn i() -> Self {
//~^ ERROR the constant `A` is not of type `i64`
//~| ERROR the constant `B` is not of type `i64`
Self
//~^ ERROR mismatched types
//~| ERROR the constant `A` is not of type `i64`
//~| ERROR the constant `B` is not of type `i64`
}
}

fn main() {
Outer::<1, 1>::o();
//~^ ERROR no function or associated item named `o` found for struct `Outer` in the current scope
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:2:12
|
LL | #![feature(generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
= note: `#[warn(incomplete_features)]` on by default

error: the constant `A` is not of type `i64`
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:6:38
|
LL | impl<const A: usize, const B: usize> Outer<A, B>
| ^^^^^^^^^^^ expected `i64`, found `usize`
|
note: required by a bound in `Outer`
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:5:14
|
LL | struct Outer<const A: i64, const B: i64>();
| ^^^^^^^^^^^^ required by this bound in `Outer`

error: the constant `B` is not of type `i64`
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:6:38
|
LL | impl<const A: usize, const B: usize> Outer<A, B>
| ^^^^^^^^^^^ expected `i64`, found `usize`
|
note: required by a bound in `Outer`
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:5:28
|
LL | struct Outer<const A: i64, const B: i64>();
| ^^^^^^^^^^^^ required by this bound in `Outer`

error: the constant `A` is not of type `i64`
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:14:15
|
LL | fn i() -> Self {
| ^^^^ expected `i64`, found `usize`
|
note: required by a bound in `Outer`
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:5:14
|
LL | struct Outer<const A: i64, const B: i64>();
| ^^^^^^^^^^^^ required by this bound in `Outer`

error: the constant `B` is not of type `i64`
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:14:15
|
LL | fn i() -> Self {
| ^^^^ expected `i64`, found `usize`
|
note: required by a bound in `Outer`
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:5:28
|
LL | struct Outer<const A: i64, const B: i64>();
| ^^^^^^^^^^^^ required by this bound in `Outer`

error[E0308]: mismatched types
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:17:9
|
LL | struct Outer<const A: i64, const B: i64>();
| ---------------------------------------- `Outer` defines a struct constructor here, which should be called
...
LL | fn i() -> Self {
| ---- expected `Outer<A, B>` because of return type
...
LL | Self
| ^^^^ expected `Outer<A, B>`, found struct constructor
|
= note: expected struct `Outer<A, B>`
found struct constructor `fn() -> Outer<A, B> {Outer::<A, B>}`
help: use parentheses to construct this tuple struct
|
LL | Self()
| ++

error: the constant `A` is not of type `i64`
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:17:9
|
LL | Self
| ^^^^ expected `i64`, found `usize`
|
note: required by a bound in `Outer`
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:5:14
|
LL | struct Outer<const A: i64, const B: i64>();
| ^^^^^^^^^^^^ required by this bound in `Outer`

error: the constant `B` is not of type `i64`
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:17:9
|
LL | Self
| ^^^^ expected `i64`, found `usize`
|
note: required by a bound in `Outer`
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:5:28
|
LL | struct Outer<const A: i64, const B: i64>();
| ^^^^^^^^^^^^ required by this bound in `Outer`

error[E0599]: no function or associated item named `o` found for struct `Outer` in the current scope
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:25:20
|
LL | struct Outer<const A: i64, const B: i64>();
| ---------------------------------------- function or associated item `o` not found for this struct
...
LL | Outer::<1, 1>::o();
| ^ function or associated item not found in `Outer<1, 1>`

error[E0308]: mismatched types
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:6:44
|
LL | impl<const A: usize, const B: usize> Outer<A, B>
| ^ expected `i64`, found `usize`

error[E0308]: mismatched types
--> $DIR/ice-125520-layout-mismatch-mulwithoverflow.rs:6:47
|
LL | impl<const A: usize, const B: usize> Outer<A, B>
| ^ expected `i64`, found `usize`

error: aborting due to 10 previous errors; 1 warning emitted

Some errors have detailed explanations: E0308, E0599.
For more information about an error, try `rustc --explain E0308`.
2 changes: 1 addition & 1 deletion tests/ui/const-generics/issues/issue-105821.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//@ failure-status: 101
//@ known-bug: unknown
//@ known-bug: rust-lang/rust#125451
//@ normalize-stderr-test "note: .*\n\n" -> ""
//@ normalize-stderr-test "thread 'rustc' panicked.*\n.*\n" -> ""
//@ normalize-stderr-test "(error: internal compiler error: [^:]+):\d+:\d+: " -> "$1:LL:CC: "
Expand Down
Loading