]> git.lizzy.rs Git - rust.git/commitdiff
Add test for projections in async-in-trait.
authorCamille GILLOT <gillot.camille@gmail.com>
Tue, 25 Oct 2022 16:29:48 +0000 (16:29 +0000)
committerCamille GILLOT <gillot.camille@gmail.com>
Sat, 12 Nov 2022 10:03:06 +0000 (10:03 +0000)
src/test/ui/async-await/in-trait/async-associated-types.rs
src/test/ui/async-await/in-trait/async-associated-types.stderr [deleted file]

index a6f928f3b1bac653f2f95d4156331b090b30f3dc..974f5aaff83c35d8e25744c3d52f281304ddcb62 100644 (file)
@@ -1,8 +1,8 @@
-// check-fail
-// known-bug: #102682
+// check-pass
 // edition: 2021
 
 #![feature(async_fn_in_trait)]
+#![feature(impl_trait_projections)]
 #![allow(incomplete_features)]
 
 use std::fmt::Debug;
diff --git a/src/test/ui/async-await/in-trait/async-associated-types.stderr b/src/test/ui/async-await/in-trait/async-associated-types.stderr
deleted file mode 100644 (file)
index 0985150..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
-  --> $DIR/async-associated-types.rs:19:43
-   |
-LL |     async fn foo(&'a self, key: &'b T) -> (&'a U, &'b T) {
-   |                                           ^^^^^^^^^^^^^^
-   |
-note: first, the lifetime cannot outlive the lifetime `'a` as defined here...
-  --> $DIR/async-associated-types.rs:16:6
-   |
-LL | impl<'a, 'b, T: Debug + Sized + 'b, U: 'a> MyTrait<'a, 'b, T> for U {
-   |      ^^
-note: ...so that the types are compatible
-  --> $DIR/async-associated-types.rs:19:43
-   |
-LL |     async fn foo(&'a self, key: &'b T) -> (&'a U, &'b T) {
-   |                                           ^^^^^^^^^^^^^^
-   = note: expected `(&'a U, &'b T)`
-              found `(&U, &T)`
-   = note: but, the lifetime must be valid for the static lifetime...
-note: ...so that the types are compatible
-  --> $DIR/async-associated-types.rs:19:43
-   |
-LL |     async fn foo(&'a self, key: &'b T) -> (&'a U, &'b T) {
-   |                                           ^^^^^^^^^^^^^^
-   = note: expected `MyTrait<'static, 'static, T>`
-              found `MyTrait<'_, '_, T>`
-
-error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'b` due to conflicting requirements
-  --> $DIR/async-associated-types.rs:19:43
-   |
-LL |     async fn foo(&'a self, key: &'b T) -> (&'a U, &'b T) {
-   |                                           ^^^^^^^^^^^^^^
-   |
-note: first, the lifetime cannot outlive the lifetime `'b` as defined here...
-  --> $DIR/async-associated-types.rs:16:10
-   |
-LL | impl<'a, 'b, T: Debug + Sized + 'b, U: 'a> MyTrait<'a, 'b, T> for U {
-   |          ^^
-note: ...so that the types are compatible
-  --> $DIR/async-associated-types.rs:19:43
-   |
-LL |     async fn foo(&'a self, key: &'b T) -> (&'a U, &'b T) {
-   |                                           ^^^^^^^^^^^^^^
-   = note: expected `(&'a U, &'b T)`
-              found `(&U, &T)`
-   = note: but, the lifetime must be valid for the static lifetime...
-note: ...so that the types are compatible
-  --> $DIR/async-associated-types.rs:19:43
-   |
-LL |     async fn foo(&'a self, key: &'b T) -> (&'a U, &'b T) {
-   |                                           ^^^^^^^^^^^^^^
-   = note: expected `MyTrait<'static, 'static, T>`
-              found `MyTrait<'_, '_, T>`
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0495`.