@@ -2,40 +2,89 @@ error[E0706]: functions in traits cannot be declared `async`
2
2
--> $DIR/async-trait-fn.rs:3:5
3
3
|
4
4
LL | async fn foo() {}
5
- | -----^^^^^^^^^^^^
5
+ | -----^^^^^^^^^
6
6
| |
7
7
| `async` because of this
8
8
|
9
9
= note: `async` trait functions are not currently supported
10
10
= note: consider using the `async-trait` crate: https://crates.io/crates/async-trait
11
+ = note: see issue #91611 <https://github.com/rust-lang/rust/issues/91611> for more information
12
+ = help: add `#![feature(return_position_impl_trait_in_trait)]` to the crate attributes to enable
11
13
12
14
error[E0706]: functions in traits cannot be declared `async`
13
- --> $DIR/async-trait-fn.rs:4 :5
15
+ --> $DIR/async-trait-fn.rs:5 :5
14
16
|
15
17
LL | async fn bar(&self) {}
16
- | -----^^^^^^^^^^^^^^^^^
18
+ | -----^^^^^^^^^^^^^^
17
19
| |
18
20
| `async` because of this
19
21
|
20
22
= note: `async` trait functions are not currently supported
21
23
= note: consider using the `async-trait` crate: https://crates.io/crates/async-trait
24
+ = note: see issue #91611 <https://github.com/rust-lang/rust/issues/91611> for more information
25
+ = help: add `#![feature(return_position_impl_trait_in_trait)]` to the crate attributes to enable
22
26
23
27
error[E0706]: functions in traits cannot be declared `async`
24
- --> $DIR/async-trait-fn.rs:5:5
28
+ --> $DIR/async-trait-fn.rs:7:5
29
+ |
30
+ LL | async fn baz() {
31
+ | -----^^^^^^^^^
32
+ | |
33
+ | `async` because of this
34
+ |
35
+ = note: `async` trait functions are not currently supported
36
+ = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait
37
+ = note: see issue #91611 <https://github.com/rust-lang/rust/issues/91611> for more information
38
+ = help: add `#![feature(return_position_impl_trait_in_trait)]` to the crate attributes to enable
39
+
40
+ error[E0308]: mismatched types
41
+ --> $DIR/async-trait-fn.rs:3:20
42
+ |
43
+ LL | async fn foo() {}
44
+ | ^^ expected associated type, found opaque type
45
+ |
46
+ ::: $SRC_DIR/core/src/future/mod.rs:LL:COL
47
+ |
48
+ LL | pub const fn from_generator<T>(gen: T) -> impl Future<Output = T::Return>
49
+ | ------------------------------- the found opaque type
50
+ |
51
+ = note: expected associated type `<Self as T>::foo::{opaque#0}`
52
+ found opaque type `impl Future<Output = ()>`
53
+
54
+ error[E0308]: mismatched types
55
+ --> $DIR/async-trait-fn.rs:5:25
56
+ |
57
+ LL | async fn bar(&self) {}
58
+ | ^^ expected associated type, found opaque type
59
+ |
60
+ ::: $SRC_DIR/core/src/future/mod.rs:LL:COL
61
+ |
62
+ LL | pub const fn from_generator<T>(gen: T) -> impl Future<Output = T::Return>
63
+ | ------------------------------- the found opaque type
64
+ |
65
+ = note: expected associated type `<Self as T>::bar::{opaque#0}`
66
+ found opaque type `impl Future<Output = ()>`
67
+
68
+ error[E0308]: mismatched types
69
+ --> $DIR/async-trait-fn.rs:7:20
25
70
|
26
71
LL | async fn baz() {
27
- | ^----
28
- | |
29
- | _____`async` because of this
30
- | |
72
+ | ____________________^
73
+ LL | |
31
74
LL | | // Nested item must not ICE.
32
75
LL | | fn a() {}
33
76
LL | | }
34
- | |_____^
77
+ | |_____^ expected associated type, found opaque type
35
78
|
36
- = note: `async` trait functions are not currently supported
37
- = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait
79
+ ::: $SRC_DIR/core/src/future/mod.rs:LL:COL
80
+ |
81
+ LL | pub const fn from_generator<T>(gen: T) -> impl Future<Output = T::Return>
82
+ | ------------------------------- the found opaque type
83
+ |
84
+ = note: expected associated type `<Self as T>::baz::{opaque#0}`
85
+ found opaque type `impl Future<Output = ()>`
38
86
39
- error: aborting due to 3 previous errors
87
+ error: aborting due to 6 previous errors
40
88
41
- For more information about this error, try `rustc --explain E0706`.
89
+ Some errors have detailed explanations: E0308, E0706.
90
+ For more information about an error, try `rustc --explain E0308`.
0 commit comments