From 1480b144d2fcd605cf9f18e581f0490f317514cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= Date: Fri, 22 Mar 2024 19:21:50 +0100 Subject: [PATCH] add issue numbers via // issue: rust-lang/rust#ISSUE_NUM directive --- ...uilding-vtable-representation-ice-90691.rs | 1 + .../failed-to-normalize-ice-issue-88421.rs | 2 +- .../ice-bad-input-type-for-cast-83056.rs | 1 + .../ice-bad-input-type-for-cast-83056.stderr | 2 +- .../extern-C-non-FFI-safe-arg-ice-52334.rs | 5 +++- ...extern-C-non-FFI-safe-arg-ice-52334.stderr | 8 +++--- tests/ui/extern/extern-C-str-arg-ice-80125.rs | 2 +- ...-infinite-global-import-cycle-ice-64784.rs | 1 + ...ck-overflow-trait-infer-98842.32bit.stderr | 25 +++++++++++++++++++ ...ck-overflow-trait-infer-98842.64bit.stderr | 25 +++++++++++++++++++ .../sized/stack-overflow-trait-infer-98842.rs | 5 +++- .../stack-overflow-trait-infer-98842.stderr | 4 +-- ...nd_align_of-closure-not-supported-88212.rs | 2 +- 13 files changed, 71 insertions(+), 12 deletions(-) create mode 100644 tests/ui/sized/stack-overflow-trait-infer-98842.32bit.stderr create mode 100644 tests/ui/sized/stack-overflow-trait-infer-98842.64bit.stderr diff --git a/tests/ui/associated-type-bounds/resolution-failure-building-vtable-representation-ice-90691.rs b/tests/ui/associated-type-bounds/resolution-failure-building-vtable-representation-ice-90691.rs index 33776809a7912..d3c13974127cb 100644 --- a/tests/ui/associated-type-bounds/resolution-failure-building-vtable-representation-ice-90691.rs +++ b/tests/ui/associated-type-bounds/resolution-failure-building-vtable-representation-ice-90691.rs @@ -1,5 +1,6 @@ // ICE #90691 Encountered error `Unimplemented` selecting ... //@ build-pass +// issue: rust-lang/rust#90691 trait TError: std::fmt::Debug {} impl TError for () {} diff --git a/tests/ui/const-generics/generic_const_exprs/failed-to-normalize-ice-issue-88421.rs b/tests/ui/const-generics/generic_const_exprs/failed-to-normalize-ice-issue-88421.rs index 2ea7394fb72a5..3d41eeeff45cd 100644 --- a/tests/ui/const-generics/generic_const_exprs/failed-to-normalize-ice-issue-88421.rs +++ b/tests/ui/const-generics/generic_const_exprs/failed-to-normalize-ice-issue-88421.rs @@ -1,5 +1,5 @@ //@ check-pass - +// issue: rust-lang/rust#88421 #![feature(adt_const_params)] #![feature(generic_const_exprs)] #![allow(incomplete_features)] diff --git a/tests/ui/consts/ice-bad-input-type-for-cast-83056.rs b/tests/ui/consts/ice-bad-input-type-for-cast-83056.rs index ea0aba2c91160..1a22dc2b5495a 100644 --- a/tests/ui/consts/ice-bad-input-type-for-cast-83056.rs +++ b/tests/ui/consts/ice-bad-input-type-for-cast-83056.rs @@ -1,4 +1,5 @@ // #83056 ICE "bad input type for cast" +// issue: rust-lang/rust#83056 struct S([bool; f as usize]); fn f() -> T {} diff --git a/tests/ui/consts/ice-bad-input-type-for-cast-83056.stderr b/tests/ui/consts/ice-bad-input-type-for-cast-83056.stderr index 4764f49cf464a..115f168852058 100644 --- a/tests/ui/consts/ice-bad-input-type-for-cast-83056.stderr +++ b/tests/ui/consts/ice-bad-input-type-for-cast-83056.stderr @@ -1,5 +1,5 @@ error[E0412]: cannot find type `T` in this scope - --> $DIR/ice-bad-input-type-for-cast-83056.rs:4:11 + --> $DIR/ice-bad-input-type-for-cast-83056.rs:5:11 | LL | struct S([bool; f as usize]); | ----------------------------- similarly named struct `S` defined here diff --git a/tests/ui/extern/extern-C-non-FFI-safe-arg-ice-52334.rs b/tests/ui/extern/extern-C-non-FFI-safe-arg-ice-52334.rs index 3f515ea890935..fbe47492b3892 100644 --- a/tests/ui/extern/extern-C-non-FFI-safe-arg-ice-52334.rs +++ b/tests/ui/extern/extern-C-non-FFI-safe-arg-ice-52334.rs @@ -1,5 +1,8 @@ -// test for #52334 ICE when casting extern "C" fn when it has a non-FFI-safe argument +// test for ICE when casting extern "C" fn when it has a non-FFI-safe argument +// issue: rust-lang/rust#52334 //@ check-pass +//@ normalize-stderr-test "\[i8\]" -> "[i8 or u8 (arch dependant)]" +//@ normalize-stderr-test "\[u8\]" -> "[i8 or u8 (arch dependant)]" type Foo = extern "C" fn(::std::ffi::CStr); //~^ WARN `extern` fn uses type `[i8]`, which is not FFI-safe diff --git a/tests/ui/extern/extern-C-non-FFI-safe-arg-ice-52334.stderr b/tests/ui/extern/extern-C-non-FFI-safe-arg-ice-52334.stderr index 97c632740e884..8349298847918 100644 --- a/tests/ui/extern/extern-C-non-FFI-safe-arg-ice-52334.stderr +++ b/tests/ui/extern/extern-C-non-FFI-safe-arg-ice-52334.stderr @@ -1,5 +1,5 @@ -warning: `extern` fn uses type `[i8]`, which is not FFI-safe - --> $DIR/extern-C-non-FFI-safe-arg-ice-52334.rs:4:12 +warning: `extern` fn uses type `[i8 or u8 (arch dependant)]`, which is not FFI-safe + --> $DIR/extern-C-non-FFI-safe-arg-ice-52334.rs:7:12 | LL | type Foo = extern "C" fn(::std::ffi::CStr); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe @@ -8,8 +8,8 @@ LL | type Foo = extern "C" fn(::std::ffi::CStr); = note: slices have no C equivalent = note: `#[warn(improper_ctypes_definitions)]` on by default -warning: `extern` block uses type `[i8]`, which is not FFI-safe - --> $DIR/extern-C-non-FFI-safe-arg-ice-52334.rs:7:18 +warning: `extern` block uses type `[i8 or u8 (arch dependant)]`, which is not FFI-safe + --> $DIR/extern-C-non-FFI-safe-arg-ice-52334.rs:10:18 | LL | fn meh(blah: Foo); | ^^^ not FFI-safe diff --git a/tests/ui/extern/extern-C-str-arg-ice-80125.rs b/tests/ui/extern/extern-C-str-arg-ice-80125.rs index 71098fed2efad..0908d6199efb8 100644 --- a/tests/ui/extern/extern-C-str-arg-ice-80125.rs +++ b/tests/ui/extern/extern-C-str-arg-ice-80125.rs @@ -1,4 +1,4 @@ -// test for #80125 +// issue: rust-lang/rust#80125 //@ check-pass type ExternCallback = extern "C" fn(*const u8, u32, str); //~^ WARN `extern` fn uses type `str`, which is not FFI-safe diff --git a/tests/ui/privacy/decl-macro-infinite-global-import-cycle-ice-64784.rs b/tests/ui/privacy/decl-macro-infinite-global-import-cycle-ice-64784.rs index da7c5442d36da..72b1ea7ccc8ba 100644 --- a/tests/ui/privacy/decl-macro-infinite-global-import-cycle-ice-64784.rs +++ b/tests/ui/privacy/decl-macro-infinite-global-import-cycle-ice-64784.rs @@ -1,5 +1,6 @@ // ICE #64784 already borrowed: BorrowMutError //@ check-pass +// issue: rust-lang/rust#64784 #![feature(decl_macro)] pub macro m($i:ident, $j:ident) { diff --git a/tests/ui/sized/stack-overflow-trait-infer-98842.32bit.stderr b/tests/ui/sized/stack-overflow-trait-infer-98842.32bit.stderr new file mode 100644 index 0000000000000..3f8011d961ae7 --- /dev/null +++ b/tests/ui/sized/stack-overflow-trait-infer-98842.32bit.stderr @@ -0,0 +1,25 @@ +error[E0391]: cycle detected when computing layout of `Foo` + | + = note: ...which requires computing layout of `<&'static Foo as core::ops::deref::Deref>::Target`... + = note: ...which again requires computing layout of `Foo`, completing the cycle +note: cycle used when const-evaluating + checking `_` + --> $DIR/stack-overflow-trait-infer-98842.rs:15:1 + | +LL | const _: *const Foo = 0 as _; + | ^^^^^^^^^^^^^^^^^^^ + = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information + +error[E0080]: it is undefined behavior to use this value + --> $DIR/stack-overflow-trait-infer-98842.rs:15:1 + | +LL | const _: *const Foo = 0 as _; + | ^^^^^^^^^^^^^^^^^^^ a cycle occurred during layout computation + | + = note: the raw bytes of the constant (size: 4, align: 4) { + 00 00 00 00 │ .... + } + +error: aborting due to 2 previous errors + +Some errors have detailed explanations: E0080, E0391. +For more information about an error, try `rustc --explain E0080`. diff --git a/tests/ui/sized/stack-overflow-trait-infer-98842.64bit.stderr b/tests/ui/sized/stack-overflow-trait-infer-98842.64bit.stderr new file mode 100644 index 0000000000000..04e2c4483bf64 --- /dev/null +++ b/tests/ui/sized/stack-overflow-trait-infer-98842.64bit.stderr @@ -0,0 +1,25 @@ +error[E0391]: cycle detected when computing layout of `Foo` + | + = note: ...which requires computing layout of `<&'static Foo as core::ops::deref::Deref>::Target`... + = note: ...which again requires computing layout of `Foo`, completing the cycle +note: cycle used when const-evaluating + checking `_` + --> $DIR/stack-overflow-trait-infer-98842.rs:15:1 + | +LL | const _: *const Foo = 0 as _; + | ^^^^^^^^^^^^^^^^^^^ + = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information + +error[E0080]: it is undefined behavior to use this value + --> $DIR/stack-overflow-trait-infer-98842.rs:15:1 + | +LL | const _: *const Foo = 0 as _; + | ^^^^^^^^^^^^^^^^^^^ a cycle occurred during layout computation + | + = note: the raw bytes of the constant (size: 8, align: 8) { + 00 00 00 00 00 00 00 00 │ ........ + } + +error: aborting due to 2 previous errors + +Some errors have detailed explanations: E0080, E0391. +For more information about an error, try `rustc --explain E0080`. diff --git a/tests/ui/sized/stack-overflow-trait-infer-98842.rs b/tests/ui/sized/stack-overflow-trait-infer-98842.rs index 2bba0777be49f..54d50346cc831 100644 --- a/tests/ui/sized/stack-overflow-trait-infer-98842.rs +++ b/tests/ui/sized/stack-overflow-trait-infer-98842.rs @@ -1,7 +1,10 @@ // #98842 stack overflow in trait inference +// issue: rust-lang/rust#98842 //@ check-fail //@ edition:2021 -//~^^^ ERROR cycle detected when computing layout of `Foo` +//@ stderr-per-bitwidth +//@ ignore-endian-big +//~^^^^^^ ERROR cycle detected when computing layout of `Foo` // If the inner `Foo` is named through an associated type, // the "infinite size" error does not occur. diff --git a/tests/ui/sized/stack-overflow-trait-infer-98842.stderr b/tests/ui/sized/stack-overflow-trait-infer-98842.stderr index 42b2718e33246..8ddddeb5bf2d1 100644 --- a/tests/ui/sized/stack-overflow-trait-infer-98842.stderr +++ b/tests/ui/sized/stack-overflow-trait-infer-98842.stderr @@ -3,14 +3,14 @@ error[E0391]: cycle detected when computing layout of `Foo` = note: ...which requires computing layout of `<&'static Foo as core::ops::deref::Deref>::Target`... = note: ...which again requires computing layout of `Foo`, completing the cycle note: cycle used when const-evaluating + checking `_` - --> $DIR/stack-overflow-trait-infer-98842.rs:12:1 + --> $DIR/stack-overflow-trait-infer-98842.rs:13:1 | LL | const _: *const Foo = 0 as _; | ^^^^^^^^^^^^^^^^^^^ = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information error[E0080]: it is undefined behavior to use this value - --> $DIR/stack-overflow-trait-infer-98842.rs:12:1 + --> $DIR/stack-overflow-trait-infer-98842.rs:13:1 | LL | const _: *const Foo = 0 as _; | ^^^^^^^^^^^^^^^^^^^ a cycle occurred during layout computation diff --git a/tests/ui/unsized-locals/ice-size_and_align_of-closure-not-supported-88212.rs b/tests/ui/unsized-locals/ice-size_and_align_of-closure-not-supported-88212.rs index 1c43e3a448976..ec475673d0d84 100644 --- a/tests/ui/unsized-locals/ice-size_and_align_of-closure-not-supported-88212.rs +++ b/tests/ui/unsized-locals/ice-size_and_align_of-closure-not-supported-88212.rs @@ -1,5 +1,5 @@ // ICE size_and_align_of::<[closure@test.rs:15:5: 17:7]> not supported #88212 - +// issue: rust-lang/rust#88212 #![feature(unsized_locals)] //~^ WARN the feature `unsized_locals` is incomplete and may not be safe to use and/or cause compiler crashes