diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/borrowck/alias-liveness/name-region.rs | 13 | ||||
| -rw-r--r-- | tests/ui/borrowck/alias-liveness/name-region.stderr | 14 |
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/ui/borrowck/alias-liveness/name-region.rs b/tests/ui/borrowck/alias-liveness/name-region.rs new file mode 100644 index 00000000000..9545a9eed2f --- /dev/null +++ b/tests/ui/borrowck/alias-liveness/name-region.rs @@ -0,0 +1,13 @@ +// Make sure we don't ICE when trying to name the regions that appear in the alias +// of the type test error. + +trait AnotherTrait { + type Ty2<'a>; +} + +fn test_alias<T: AnotherTrait>(_: &'static T::Ty2<'_>) { + let _: &'static T::Ty2<'_>; + //~^ ERROR the associated type `<T as AnotherTrait>::Ty2<'_>` may not live long enough +} + +fn main() {} diff --git a/tests/ui/borrowck/alias-liveness/name-region.stderr b/tests/ui/borrowck/alias-liveness/name-region.stderr new file mode 100644 index 00000000000..9a5dd711c68 --- /dev/null +++ b/tests/ui/borrowck/alias-liveness/name-region.stderr @@ -0,0 +1,14 @@ +error[E0310]: the associated type `<T as AnotherTrait>::Ty2<'_>` may not live long enough + --> $DIR/name-region.rs:9:12 + | +LL | let _: &'static T::Ty2<'_>; + | ^^^^^^^^^^^^^^^^^^^ + | | + | the associated type `<T as AnotherTrait>::Ty2<'_>` must be valid for the static lifetime... + | ...so that the type `<T as AnotherTrait>::Ty2<'_>` will meet its required lifetime bounds + | + = help: consider adding an explicit lifetime bound `<T as AnotherTrait>::Ty2<'_>: 'static`... + +error: aborting due to 1 previous error + +For more information about this error, try `rustc --explain E0310`. |
