about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_error_codes/error_codes/E0706.md12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/librustc_error_codes/error_codes/E0706.md b/src/librustc_error_codes/error_codes/E0706.md
index 1eb1271a9e8..909b08fb174 100644
--- a/src/librustc_error_codes/error_codes/E0706.md
+++ b/src/librustc_error_codes/error_codes/E0706.md
@@ -1,4 +1,4 @@
- `async fn`s are not yet supported in Rust.
+ `async fn`s are not yet supported in traits in Rust.
 
 Erroneous code example:
 
@@ -10,7 +10,7 @@ trait T {
 }
 ```
 
-`async fn`s normally return an `impl Future`, making the following two examples equivalent:
+`async fn`s return an `impl Future`, making the following two examples equivalent:
 
 ```edition2018,ignore (example-of-desugaring-equivalence)
 async fn foo() -> User {
@@ -23,7 +23,7 @@ fn foo(&self) -> impl Future<Output = User> + '_ {
 ```
 
 But when it comes to supporting this in traits, there are [a few implementation
-issues][async-is-hard], one of which is that returning `impl Trait` in traits is not supported,
+issues][async-is-hard]. One of them is returning `impl Trait` in traits is not supported,
 as it would require [Generic Associated Types] to be supported:
 
 ```edition2018,ignore (example-of-desugaring-equivalence)
@@ -40,8 +40,8 @@ impl MyDatabase {
 }
 ```
 
-Until these issues are resolved, you can use the [`async-trait` crate], which allows you to use
-this feature by sidesteping the language feature issue by desugaring to "boxed futures"
+Until these issues are resolved, you can use the [`async-trait` crate], allowing you to use
+`async fn` in traits by desugaring to "boxed futures"
 (`Pin<Box<dyn Future + Send + 'async>>`):
 
 ```edition2018,ignore (example-of-desugaring-equivalence)
@@ -75,4 +75,4 @@ You might be interested in visiting the [async book] for further information.
 [`async-trait` crate]: https://crates.io/crates/async-trait
 [async-is-hard]: https://smallcultfollowing.com/babysteps/blog/2019/10/26/async-fn-in-traits-are-hard/
 [Generic Associated Types]: https://github.com/rust-lang/rust/issues/44265
-[async book]: https://rust-lang.github.io/async-book/07_workarounds/06_async_in_traits.html
\ No newline at end of file
+[async book]: https://rust-lang.github.io/async-book/07_workarounds/06_async_in_traits.html