diff options
| author | Michael Goulet <michael@errs.io> | 2024-08-11 12:28:15 -0400 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2024-08-11 19:40:03 -0400 |
| commit | c5205e9d56d3c632e83e1e5f0853d3bd82f16c0e (patch) | |
| tree | 56a5cb8f4e437ee644704b5c27ed160647021017 /tests | |
| parent | 41dd149fd6a6a06795fc6b9f54cb49af2f61775f (diff) | |
| download | rust-c5205e9d56d3c632e83e1e5f0853d3bd82f16c0e.tar.gz rust-c5205e9d56d3c632e83e1e5f0853d3bd82f16c0e.zip | |
Normalize struct tail properly in borrowck and hir typeck
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.current.stderr (renamed from tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.stderr) | 2 | ||||
| -rw-r--r-- | tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.next.stderr | 15 | ||||
| -rw-r--r-- | tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.rs | 3 |
3 files changed, 19 insertions, 1 deletions
diff --git a/tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.stderr b/tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.current.stderr index d1d598e603f..5a5b4bfcacf 100644 --- a/tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.stderr +++ b/tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.current.stderr @@ -1,5 +1,5 @@ error: lifetime may not live long enough - --> $DIR/ptr-to-trait-obj-different-regions-id-trait.rs:21:17 + --> $DIR/ptr-to-trait-obj-different-regions-id-trait.rs:24:17 | LL | fn m<'a>() { | -- lifetime `'a` defined here diff --git a/tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.next.stderr b/tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.next.stderr new file mode 100644 index 00000000000..5a5b4bfcacf --- /dev/null +++ b/tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.next.stderr @@ -0,0 +1,15 @@ +error: lifetime may not live long enough + --> $DIR/ptr-to-trait-obj-different-regions-id-trait.rs:24:17 + | +LL | fn m<'a>() { + | -- lifetime `'a` defined here +LL | let unsend: *const dyn Cat<'a> = &(); +LL | let _send = unsend as *const S<dyn Cat<'static>>; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'a` must outlive `'static` + | + = note: requirement occurs because of the type `S<dyn Cat<'_>>`, which makes the generic argument `dyn Cat<'_>` invariant + = note: the struct `S<T>` is invariant over the parameter `T` + = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance + +error: aborting due to 1 previous error + diff --git a/tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.rs b/tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.rs index cdd55e24392..f968dca4fd3 100644 --- a/tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.rs +++ b/tests/ui/cast/ptr-to-trait-obj-different-regions-id-trait.rs @@ -1,3 +1,6 @@ +//@ revisions: current next +//@ ignore-compare-mode-next-solver (explicit revisions) +//@[next] compile-flags: -Znext-solver //@ check-fail // // Make sure we can't trick the compiler by using a projection. |
