about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/rustdoc-js-std/osstring-to-string.js2
-rw-r--r--tests/rustdoc/auxiliary/jump-to-def-macro.rs6
-rw-r--r--tests/rustdoc/jump-to-def-macro.rs15
-rw-r--r--tests/rustdoc/type-alias/primitive-local-link-121106.rs19
-rw-r--r--tests/ui/attributes/unix_sigpipe/unix_sigpipe-bare.rs (renamed from tests/ui/attributes/unix_sigpipe/unix_sigpipe.rs)0
-rw-r--r--tests/ui/attributes/unix_sigpipe/unix_sigpipe-bare.stderr (renamed from tests/ui/attributes/unix_sigpipe/unix_sigpipe.stderr)2
-rw-r--r--tests/ui/attributes/unix_sigpipe/unix_sigpipe-different-duplicates.rs5
-rw-r--r--tests/ui/attributes/unix_sigpipe/unix_sigpipe-different-duplicates.stderr14
-rw-r--r--tests/ui/attributes/unix_sigpipe/unix_sigpipe-duplicates.rs2
-rw-r--r--tests/ui/attributes/unix_sigpipe/unix_sigpipe-duplicates.stderr2
-rw-r--r--tests/ui/attributes/unix_sigpipe/unix_sigpipe-not-used.rs3
-rw-r--r--tests/ui/attributes/unix_sigpipe/unix_sigpipe-only-feature.rs13
-rw-r--r--tests/ui/attributes/unix_sigpipe/unix_sigpipe-sig_ign.rs (renamed from tests/ui/attributes/unix_sigpipe/unix_sigpipe-error.rs)0
-rw-r--r--tests/ui/impl-trait/in-trait/async-and-ret-ref.rs2
-rw-r--r--tests/ui/impl-trait/in-trait/async-and-ret-ref.stderr4
-rw-r--r--tests/ui/impl-trait/in-trait/doesnt-satisfy.stderr4
-rw-r--r--tests/ui/impl-trait/in-trait/missing-static-bound-from-impl.rs2
-rw-r--r--tests/ui/impl-trait/in-trait/missing-static-bound-from-impl.stderr4
-rw-r--r--tests/ui/impl-trait/in-trait/return-dont-satisfy-bounds.stderr4
-rw-r--r--tests/ui/imports/auxiliary/import-alias-issue-121168-extern.rs1
-rw-r--r--tests/ui/imports/import-alias-issue-121168.edition2015.stderr14
-rw-r--r--tests/ui/imports/import-alias-issue-121168.edition2018.stderr16
-rw-r--r--tests/ui/imports/import-alias-issue-121168.edition2021.stderr16
-rw-r--r--tests/ui/imports/import-alias-issue-121168.rs14
-rw-r--r--tests/ui/rfcs/rfc-1937-termination-trait/issue-103052-2.stderr4
-rw-r--r--tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.aarch64.stderr (renamed from tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-saniziter-kcfi.aarch64.stderr)0
-rw-r--r--tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.rs (renamed from tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-saniziter-kcfi.rs)0
-rw-r--r--tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.x86_64.stderr (renamed from tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-saniziter-kcfi.x86_64.stderr)0
-rw-r--r--tests/ui/traits/next-solver/constrain-alias-goals-in-unsize.rs18
29 files changed, 157 insertions, 29 deletions
diff --git a/tests/rustdoc-js-std/osstring-to-string.js b/tests/rustdoc-js-std/osstring-to-string.js
index 17bb602a502..3fdc0b9f24a 100644
--- a/tests/rustdoc-js-std/osstring-to-string.js
+++ b/tests/rustdoc-js-std/osstring-to-string.js
@@ -4,6 +4,6 @@
 const EXPECTED = {
     'query': 'OsString -> String',
     'others': [
-        { 'path': 'std::ffi::OsString', 'name': 'into_string' },
+        { 'path': 'std::ffi::os_str::OsString', 'name': 'into_string' },
     ]
 };
diff --git a/tests/rustdoc/auxiliary/jump-to-def-macro.rs b/tests/rustdoc/auxiliary/jump-to-def-macro.rs
new file mode 100644
index 00000000000..f442b9461e8
--- /dev/null
+++ b/tests/rustdoc/auxiliary/jump-to-def-macro.rs
@@ -0,0 +1,6 @@
+#[macro_export]
+macro_rules! symbols {
+    ($name:ident = $value:expr) => {
+        pub const $name: isize = $value;
+    }
+}
diff --git a/tests/rustdoc/jump-to-def-macro.rs b/tests/rustdoc/jump-to-def-macro.rs
new file mode 100644
index 00000000000..e8e97a442dd
--- /dev/null
+++ b/tests/rustdoc/jump-to-def-macro.rs
@@ -0,0 +1,15 @@
+//@ aux-build:jump-to-def-macro.rs
+//@ build-aux-docs
+//@ compile-flags: -Zunstable-options --generate-link-to-definition
+
+#![crate_name = "foo"]
+
+// @has 'src/foo/jump-to-def-macro.rs.html'
+
+#[macro_use]
+extern crate jump_to_def_macro;
+
+// @has - '//a[@href="../../jump_to_def_macro/macro.symbols.html"]' 'symbols!'
+symbols! {
+    A = 12
+}
diff --git a/tests/rustdoc/type-alias/primitive-local-link-121106.rs b/tests/rustdoc/type-alias/primitive-local-link-121106.rs
new file mode 100644
index 00000000000..c11d35d8646
--- /dev/null
+++ b/tests/rustdoc/type-alias/primitive-local-link-121106.rs
@@ -0,0 +1,19 @@
+#![crate_name = "foo"]
+
+#![feature(rustc_attrs)]
+
+// @has foo/primitive.i32.html '//h1' 'Primitive Type i32'
+// @has foo/index.html '//a/@href' '../foo/index.html'
+#[rustc_doc_primitive = "i32"]
+mod i32 {}
+
+// @has foo/struct.Node.html '//a/@href' 'primitive.i32.html'
+pub struct Node;
+
+impl Node {
+    pub fn edge(&self) -> i32 { 0 }
+}
+
+// @!has foo/type.Alias.html '//a/@href' 'primitive.i32.html'
+// @hasraw 'type.impl/foo/struct.Node.js' 'href=\"foo/primitive.i32.html\"'
+pub type Alias = Node;
diff --git a/tests/ui/attributes/unix_sigpipe/unix_sigpipe.rs b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-bare.rs
index 7bf1c7350c3..7bf1c7350c3 100644
--- a/tests/ui/attributes/unix_sigpipe/unix_sigpipe.rs
+++ b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-bare.rs
diff --git a/tests/ui/attributes/unix_sigpipe/unix_sigpipe.stderr b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-bare.stderr
index b18ec9abc37..56218ed499e 100644
--- a/tests/ui/attributes/unix_sigpipe/unix_sigpipe.stderr
+++ b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-bare.stderr
@@ -1,5 +1,5 @@
 error: valid values for `#[unix_sigpipe = "..."]` are `inherit`, `sig_ign`, or `sig_dfl`
-  --> $DIR/unix_sigpipe.rs:3:1
+  --> $DIR/unix_sigpipe-bare.rs:3:1
    |
 LL | #[unix_sigpipe]
    | ^^^^^^^^^^^^^^^
diff --git a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-different-duplicates.rs b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-different-duplicates.rs
new file mode 100644
index 00000000000..294cb38526b
--- /dev/null
+++ b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-different-duplicates.rs
@@ -0,0 +1,5 @@
+#![feature(unix_sigpipe)]
+
+#[unix_sigpipe = "sig_ign"]
+#[unix_sigpipe = "inherit"] //~ error: multiple `unix_sigpipe` attributes
+fn main() {}
diff --git a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-different-duplicates.stderr b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-different-duplicates.stderr
new file mode 100644
index 00000000000..c2a3b9f45f9
--- /dev/null
+++ b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-different-duplicates.stderr
@@ -0,0 +1,14 @@
+error: multiple `unix_sigpipe` attributes
+  --> $DIR/unix_sigpipe-different-duplicates.rs:4:1
+   |
+LL | #[unix_sigpipe = "inherit"]
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
+   |
+note: attribute also specified here
+  --> $DIR/unix_sigpipe-different-duplicates.rs:3:1
+   |
+LL | #[unix_sigpipe = "sig_ign"]
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-duplicates.rs b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-duplicates.rs
index 294cb38526b..eccb23021b6 100644
--- a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-duplicates.rs
+++ b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-duplicates.rs
@@ -1,5 +1,5 @@
 #![feature(unix_sigpipe)]
 
-#[unix_sigpipe = "sig_ign"]
+#[unix_sigpipe = "inherit"]
 #[unix_sigpipe = "inherit"] //~ error: multiple `unix_sigpipe` attributes
 fn main() {}
diff --git a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-duplicates.stderr b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-duplicates.stderr
index 931aae96b0f..c86e54a1e53 100644
--- a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-duplicates.stderr
+++ b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-duplicates.stderr
@@ -7,7 +7,7 @@ LL | #[unix_sigpipe = "inherit"]
 note: attribute also specified here
   --> $DIR/unix_sigpipe-duplicates.rs:3:1
    |
-LL | #[unix_sigpipe = "sig_ign"]
+LL | #[unix_sigpipe = "inherit"]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-not-used.rs b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-not-used.rs
index 778e06cb3ef..b0044f5e919 100644
--- a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-not-used.rs
+++ b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-not-used.rs
@@ -1,6 +1,9 @@
+//@ revisions: with_feature without_feature
 //@ run-pass
 //@ aux-build:sigpipe-utils.rs
 
+#![cfg_attr(with_feature, feature(unix_sigpipe))]
+
 fn main() {
     extern crate sigpipe_utils;
 
diff --git a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-only-feature.rs b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-only-feature.rs
deleted file mode 100644
index 6bbe4a8d0d6..00000000000
--- a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-only-feature.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-//@ run-pass
-//@ aux-build:sigpipe-utils.rs
-
-#![feature(unix_sigpipe)]
-
-fn main() {
-    extern crate sigpipe_utils;
-
-    // Only #![feature(unix_sigpipe)] is enabled, not #[unix_sigpipe = "..."].
-    // This shall not change any behavior, so we still expect SIGPIPE to be
-    // ignored
-    sigpipe_utils::assert_sigpipe_handler(sigpipe_utils::SignalHandler::Ignore);
-}
diff --git a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-error.rs b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-sig_ign.rs
index ccd6c678660..ccd6c678660 100644
--- a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-error.rs
+++ b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-sig_ign.rs
diff --git a/tests/ui/impl-trait/in-trait/async-and-ret-ref.rs b/tests/ui/impl-trait/in-trait/async-and-ret-ref.rs
index e991b74a0f8..e0a7aef2c5f 100644
--- a/tests/ui/impl-trait/in-trait/async-and-ret-ref.rs
+++ b/tests/ui/impl-trait/in-trait/async-and-ret-ref.rs
@@ -5,7 +5,7 @@ trait T {}
 
 trait MyTrait {
     async fn foo() -> &'static impl T;
-    //~^ ERROR the associated type `<Self as MyTrait>::{opaque#0}` may not live long enough
+    //~^ ERROR the associated type `impl T` may not live long enough
 }
 
 fn main() {}
diff --git a/tests/ui/impl-trait/in-trait/async-and-ret-ref.stderr b/tests/ui/impl-trait/in-trait/async-and-ret-ref.stderr
index 15aa3cf54bb..19ffff9d3f2 100644
--- a/tests/ui/impl-trait/in-trait/async-and-ret-ref.stderr
+++ b/tests/ui/impl-trait/in-trait/async-and-ret-ref.stderr
@@ -1,10 +1,10 @@
-error[E0310]: the associated type `<Self as MyTrait>::{opaque#0}` may not live long enough
+error[E0310]: the associated type `impl T` may not live long enough
   --> $DIR/async-and-ret-ref.rs:7:5
    |
 LL |     async fn foo() -> &'static impl T;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
-   |     the associated type `<Self as MyTrait>::{opaque#0}` must be valid for the static lifetime...
+   |     the associated type `impl T` must be valid for the static lifetime...
    |     ...so that the reference type `&'static impl T` does not outlive the data it points at
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/impl-trait/in-trait/doesnt-satisfy.stderr b/tests/ui/impl-trait/in-trait/doesnt-satisfy.stderr
index baee1b5db6e..fc3efb44ac7 100644
--- a/tests/ui/impl-trait/in-trait/doesnt-satisfy.stderr
+++ b/tests/ui/impl-trait/in-trait/doesnt-satisfy.stderr
@@ -6,11 +6,11 @@ LL |     fn bar() -> () {}
    |
    = help: the trait `std::fmt::Display` is not implemented for `()`
    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
-note: required by a bound in `Foo::{opaque#0}`
+note: required by a bound in `Foo::{synthetic#0}`
   --> $DIR/doesnt-satisfy.rs:2:22
    |
 LL |     fn bar() -> impl std::fmt::Display;
-   |                      ^^^^^^^^^^^^^^^^^ required by this bound in `Foo::{opaque#0}`
+   |                      ^^^^^^^^^^^^^^^^^ required by this bound in `Foo::{synthetic#0}`
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/impl-trait/in-trait/missing-static-bound-from-impl.rs b/tests/ui/impl-trait/in-trait/missing-static-bound-from-impl.rs
index a36799c3ebd..ee9ecdda902 100644
--- a/tests/ui/impl-trait/in-trait/missing-static-bound-from-impl.rs
+++ b/tests/ui/impl-trait/in-trait/missing-static-bound-from-impl.rs
@@ -9,7 +9,7 @@ trait Erased {
 impl<T: Original> Erased for T {
     fn f(&self) -> Box<dyn Fn()> {
         Box::new(<T as Original>::f())
-        //~^ ERROR the associated type `<T as Original>::{opaque#0}` may not live long enough
+        //~^ ERROR the associated type `impl Fn()` may not live long enough
     }
 }
 
diff --git a/tests/ui/impl-trait/in-trait/missing-static-bound-from-impl.stderr b/tests/ui/impl-trait/in-trait/missing-static-bound-from-impl.stderr
index 5ec0ee38347..1f787c1842c 100644
--- a/tests/ui/impl-trait/in-trait/missing-static-bound-from-impl.stderr
+++ b/tests/ui/impl-trait/in-trait/missing-static-bound-from-impl.stderr
@@ -1,10 +1,10 @@
-error[E0310]: the associated type `<T as Original>::{opaque#0}` may not live long enough
+error[E0310]: the associated type `impl Fn()` may not live long enough
   --> $DIR/missing-static-bound-from-impl.rs:11:9
    |
 LL |         Box::new(<T as Original>::f())
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |         |
-   |         the associated type `<T as Original>::{opaque#0}` must be valid for the static lifetime...
+   |         the associated type `impl Fn()` must be valid for the static lifetime...
    |         ...so that the type `impl Fn()` will meet its required lifetime bounds
 
 error: aborting due to 1 previous error
diff --git a/tests/ui/impl-trait/in-trait/return-dont-satisfy-bounds.stderr b/tests/ui/impl-trait/in-trait/return-dont-satisfy-bounds.stderr
index 638de01f913..12725c3456f 100644
--- a/tests/ui/impl-trait/in-trait/return-dont-satisfy-bounds.stderr
+++ b/tests/ui/impl-trait/in-trait/return-dont-satisfy-bounds.stderr
@@ -5,11 +5,11 @@ LL |     fn foo<F2: Foo<u8>>(self) -> impl Foo<u8> {
    |                                  ^^^^^^^^^^^^ the trait `Foo<char>` is not implemented for `impl Foo<u8>`
    |
    = help: the trait `Foo<char>` is implemented for `Bar`
-note: required by a bound in `Foo::{opaque#0}`
+note: required by a bound in `Foo::{synthetic#0}`
   --> $DIR/return-dont-satisfy-bounds.rs:2:30
    |
 LL |     fn foo<F2>(self) -> impl Foo<T>;
-   |                              ^^^^^^ required by this bound in `Foo::{opaque#0}`
+   |                              ^^^^^^ required by this bound in `Foo::{synthetic#0}`
 
 error[E0276]: impl has stricter requirements than trait
   --> $DIR/return-dont-satisfy-bounds.rs:8:16
diff --git a/tests/ui/imports/auxiliary/import-alias-issue-121168-extern.rs b/tests/ui/imports/auxiliary/import-alias-issue-121168-extern.rs
new file mode 100644
index 00000000000..a665eb8eb96
--- /dev/null
+++ b/tests/ui/imports/auxiliary/import-alias-issue-121168-extern.rs
@@ -0,0 +1 @@
+pub struct Foo<T>(pub core::ptr::NonNull<T>);
diff --git a/tests/ui/imports/import-alias-issue-121168.edition2015.stderr b/tests/ui/imports/import-alias-issue-121168.edition2015.stderr
new file mode 100644
index 00000000000..47001fc1a52
--- /dev/null
+++ b/tests/ui/imports/import-alias-issue-121168.edition2015.stderr
@@ -0,0 +1,14 @@
+error[E0412]: cannot find type `Foo` in this scope
+  --> $DIR/import-alias-issue-121168.rs:11:12
+   |
+LL |     let _: Foo<i32> = todo!();
+   |            ^^^ not found in this scope
+   |
+help: consider importing this struct
+   |
+LL + use nice_crate_name::Foo;
+   |
+
+error: aborting due to 1 previous error
+
+For more information about this error, try `rustc --explain E0412`.
diff --git a/tests/ui/imports/import-alias-issue-121168.edition2018.stderr b/tests/ui/imports/import-alias-issue-121168.edition2018.stderr
new file mode 100644
index 00000000000..b61a0e3edd5
--- /dev/null
+++ b/tests/ui/imports/import-alias-issue-121168.edition2018.stderr
@@ -0,0 +1,16 @@
+error[E0412]: cannot find type `Foo` in this scope
+  --> $DIR/import-alias-issue-121168.rs:11:12
+   |
+LL |     let _: Foo<i32> = todo!();
+   |            ^^^ not found in this scope
+   |
+help: consider importing one of these items
+   |
+LL + use crate::nice_crate_name::Foo;
+   |
+LL + use import_alias_issue_121168_extern::Foo;
+   |
+
+error: aborting due to 1 previous error
+
+For more information about this error, try `rustc --explain E0412`.
diff --git a/tests/ui/imports/import-alias-issue-121168.edition2021.stderr b/tests/ui/imports/import-alias-issue-121168.edition2021.stderr
new file mode 100644
index 00000000000..b61a0e3edd5
--- /dev/null
+++ b/tests/ui/imports/import-alias-issue-121168.edition2021.stderr
@@ -0,0 +1,16 @@
+error[E0412]: cannot find type `Foo` in this scope
+  --> $DIR/import-alias-issue-121168.rs:11:12
+   |
+LL |     let _: Foo<i32> = todo!();
+   |            ^^^ not found in this scope
+   |
+help: consider importing one of these items
+   |
+LL + use crate::nice_crate_name::Foo;
+   |
+LL + use import_alias_issue_121168_extern::Foo;
+   |
+
+error: aborting due to 1 previous error
+
+For more information about this error, try `rustc --explain E0412`.
diff --git a/tests/ui/imports/import-alias-issue-121168.rs b/tests/ui/imports/import-alias-issue-121168.rs
new file mode 100644
index 00000000000..826a6765b03
--- /dev/null
+++ b/tests/ui/imports/import-alias-issue-121168.rs
@@ -0,0 +1,14 @@
+//@ revisions: edition2015 edition2018 edition2021
+//@ [edition2015] edition:2015
+//@ [edition2018] edition:2018
+//@ [edition2021] edition:2021
+//@ compile-flags: --extern import_alias_issue_121168_extern
+//@ aux-build: import-alias-issue-121168-extern.rs
+
+extern crate import_alias_issue_121168_extern as nice_crate_name;
+
+fn use_foo_from_another_crate_without_importing_it_first() {
+    let _: Foo<i32> = todo!(); //~ ERROR cannot find type `Foo` in this scope
+}
+
+fn main() {}
diff --git a/tests/ui/rfcs/rfc-1937-termination-trait/issue-103052-2.stderr b/tests/ui/rfcs/rfc-1937-termination-trait/issue-103052-2.stderr
index 3fbbfd0fd0d..b17700ec632 100644
--- a/tests/ui/rfcs/rfc-1937-termination-trait/issue-103052-2.stderr
+++ b/tests/ui/rfcs/rfc-1937-termination-trait/issue-103052-2.stderr
@@ -4,11 +4,11 @@ error[E0277]: the trait bound `Something: Termination` is not satisfied
 LL |         fn main() -> Something {
    |                      ^^^^^^^^^ the trait `Termination` is not implemented for `Something`
    |
-note: required by a bound in `Main::{opaque#0}`
+note: required by a bound in `Main::{synthetic#0}`
   --> $DIR/issue-103052-2.rs:5:27
    |
 LL |         fn main() -> impl std::process::Termination;
-   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Main::{opaque#0}`
+   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Main::{synthetic#0}`
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-saniziter-kcfi.aarch64.stderr b/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.aarch64.stderr
index 1006c3bc17e..1006c3bc17e 100644
--- a/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-saniziter-kcfi.aarch64.stderr
+++ b/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.aarch64.stderr
diff --git a/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-saniziter-kcfi.rs b/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.rs
index c628709d7a1..c628709d7a1 100644
--- a/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-saniziter-kcfi.rs
+++ b/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.rs
diff --git a/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-saniziter-kcfi.x86_64.stderr b/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.x86_64.stderr
index 1006c3bc17e..1006c3bc17e 100644
--- a/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-saniziter-kcfi.x86_64.stderr
+++ b/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.x86_64.stderr
diff --git a/tests/ui/traits/next-solver/constrain-alias-goals-in-unsize.rs b/tests/ui/traits/next-solver/constrain-alias-goals-in-unsize.rs
new file mode 100644
index 00000000000..1656238bd61
--- /dev/null
+++ b/tests/ui/traits/next-solver/constrain-alias-goals-in-unsize.rs
@@ -0,0 +1,18 @@
+//@ compile-flags: -Znext-solver
+//@ check-pass
+
+use std::mem::ManuallyDrop;
+
+trait Foo {}
+
+struct Guard<T> {
+    value: ManuallyDrop<T>,
+}
+
+impl<T: Foo> Guard<T> {
+    fn uwu(&self) {
+        let x: &dyn Foo = &*self.value;
+    }
+}
+
+fn main() {}