diff options
| author | Michael Goulet <michael@errs.io> | 2022-02-09 18:42:32 -0800 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2022-02-24 18:50:33 -0800 |
| commit | bb548a918adc8a4cf63320d3f8b9f1d2ff2622ea (patch) | |
| tree | bbba240088f42c91fdd598b607655e2f2dc7db54 /src/test/ui/impl-trait | |
| parent | 4e82f35492ea5c78e19609bf4468f0a686d9a756 (diff) | |
| download | rust-bb548a918adc8a4cf63320d3f8b9f1d2ff2622ea.tar.gz rust-bb548a918adc8a4cf63320d3f8b9f1d2ff2622ea.zip | |
Remove in-band lifetimes
Diffstat (limited to 'src/test/ui/impl-trait')
4 files changed, 12 insertions, 16 deletions
diff --git a/src/test/ui/impl-trait/region-escape-via-bound-contravariant-closure.rs b/src/test/ui/impl-trait/region-escape-via-bound-contravariant-closure.rs index adaa474474f..9f63a8617ba 100644 --- a/src/test/ui/impl-trait/region-escape-via-bound-contravariant-closure.rs +++ b/src/test/ui/impl-trait/region-escape-via-bound-contravariant-closure.rs @@ -8,9 +8,8 @@ // run-pass #![allow(dead_code)] -#![feature(in_band_lifetimes)] -fn foo(x: &'x u32) -> impl Fn() -> &'y u32 +fn foo<'x, 'y>(x: &'x u32) -> impl Fn() -> &'y u32 where 'x: 'y { move || x diff --git a/src/test/ui/impl-trait/region-escape-via-bound-contravariant.rs b/src/test/ui/impl-trait/region-escape-via-bound-contravariant.rs index 204c2ff3041..79319dfe796 100644 --- a/src/test/ui/impl-trait/region-escape-via-bound-contravariant.rs +++ b/src/test/ui/impl-trait/region-escape-via-bound-contravariant.rs @@ -8,13 +8,12 @@ // run-pass #![allow(dead_code)] -#![feature(in_band_lifetimes)] trait Trait<'a> { } -impl Trait<'b> for &'a u32 { } +impl<'a, 'b> Trait<'b> for &'a u32 { } -fn foo(x: &'x u32) -> impl Trait<'y> +fn foo<'x, 'y>(x: &'x u32) -> impl Trait<'y> where 'x: 'y { x diff --git a/src/test/ui/impl-trait/region-escape-via-bound.rs b/src/test/ui/impl-trait/region-escape-via-bound.rs index 29243699e44..e834f96dbbe 100644 --- a/src/test/ui/impl-trait/region-escape-via-bound.rs +++ b/src/test/ui/impl-trait/region-escape-via-bound.rs @@ -4,15 +4,14 @@ // See https://github.com/rust-lang/rust/issues/46541 for more details. #![allow(dead_code)] -#![feature(in_band_lifetimes)] use std::cell::Cell; trait Trait<'a> { } -impl Trait<'b> for Cell<&'a u32> { } +impl<'a, 'b> Trait<'b> for Cell<&'a u32> { } -fn foo(x: Cell<&'x u32>) -> impl Trait<'y> +fn foo<'x, 'y>(x: Cell<&'x u32>) -> impl Trait<'y> //~^ ERROR hidden type for `impl Trait` captures lifetime that does not appear in bounds [E0700] where 'x: 'y { diff --git a/src/test/ui/impl-trait/region-escape-via-bound.stderr b/src/test/ui/impl-trait/region-escape-via-bound.stderr index cf854f67d04..ecec34e0115 100644 --- a/src/test/ui/impl-trait/region-escape-via-bound.stderr +++ b/src/test/ui/impl-trait/region-escape-via-bound.stderr @@ -1,16 +1,15 @@ error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds - --> $DIR/region-escape-via-bound.rs:15:29 + --> $DIR/region-escape-via-bound.rs:14:37 | -LL | fn foo(x: Cell<&'x u32>) -> impl Trait<'y> - | ^^^^^^^^^^^^^^ -LL | -LL | where 'x: 'y - | -- hidden type `Cell<&'x u32>` captures the lifetime `'x` as defined here +LL | fn foo<'x, 'y>(x: Cell<&'x u32>) -> impl Trait<'y> + | -- ^^^^^^^^^^^^^^ + | | + | hidden type `Cell<&'x u32>` captures the lifetime `'x` as defined here | help: to declare that the `impl Trait` captures `'x`, you can add an explicit `'x` lifetime bound | -LL | fn foo(x: Cell<&'x u32>) -> impl Trait<'y> + 'x - | ++++ +LL | fn foo<'x, 'y>(x: Cell<&'x u32>) -> impl Trait<'y> + 'x + | ++++ error: aborting due to previous error |
