diff options
| author | bishtpawan <pawan.bisht@knoldus.com> | 2020-03-31 18:45:26 +0530 |
|---|---|---|
| committer | bishtpawan <pawan.bisht@knoldus.com> | 2020-04-12 17:22:59 +0530 |
| commit | 26fdde994d0c2a80bfa2322f81a93baaa90e788c (patch) | |
| tree | d5b9424490a6cc83ace1a76d2c7c1714cface9a6 | |
| parent | 2113659479a82ea69633b23ef710b58ab127755e (diff) | |
| download | rust-26fdde994d0c2a80bfa2322f81a93baaa90e788c.tar.gz rust-26fdde994d0c2a80bfa2322f81a93baaa90e788c.zip | |
Add long error explanation for E0708 #61137
Refactor code as per the suggestions Refacotor code provide edition support
| -rw-r--r-- | src/librustc_error_codes/error_codes.rs | 3 | ||||
| -rw-r--r-- | src/librustc_error_codes/error_codes/E0708.md | 26 | ||||
| -rw-r--r-- | src/test/ui/async-await/no-params-non-move-async-closure.stderr | 1 |
3 files changed, 28 insertions, 2 deletions
diff --git a/src/librustc_error_codes/error_codes.rs b/src/librustc_error_codes/error_codes.rs index 2f0a3fc1d1c..759a0b98e51 100644 --- a/src/librustc_error_codes/error_codes.rs +++ b/src/librustc_error_codes/error_codes.rs @@ -393,6 +393,7 @@ E0703: include_str!("./error_codes/E0703.md"), E0704: include_str!("./error_codes/E0704.md"), E0705: include_str!("./error_codes/E0705.md"), E0706: include_str!("./error_codes/E0706.md"), +E0708: include_str!("./error_codes/E0708.md"), E0710: include_str!("./error_codes/E0710.md"), E0712: include_str!("./error_codes/E0712.md"), E0713: include_str!("./error_codes/E0713.md"), @@ -605,8 +606,6 @@ E0751: include_str!("./error_codes/E0751.md"), E0696, // `continue` pointing to a labeled block // E0702, // replaced with a generic attribute input check // E0707, // multiple elided lifetimes used in arguments of `async fn` - E0708, // `async` non-`move` closures with parameters are not currently - // supported // E0709, // multiple different lifetimes used in arguments of `async fn` E0711, // a feature has been declared with conflicting stability attributes E0717, // rustc_promotable without stability attribute diff --git a/src/librustc_error_codes/error_codes/E0708.md b/src/librustc_error_codes/error_codes/E0708.md new file mode 100644 index 00000000000..a0f53e38b53 --- /dev/null +++ b/src/librustc_error_codes/error_codes/E0708.md @@ -0,0 +1,26 @@ +`async` non-`move` closures with parameters are currently not supported. + +Erroneous code example: + +```compile_fail,edition2018 +#![feature(async_closure)] + +fn main() { + let add_one = async |num: u8| { // error! + num + 1 + }; +} +``` + +`async` with non-move is currently not supported with the current +version, you can use successfully by using move: + +```edition2018 +#![feature(async_closure)] + +fn main() { + let add_one = async move |num: u8| { // ok! + num + 1 + }; +} +``` diff --git a/src/test/ui/async-await/no-params-non-move-async-closure.stderr b/src/test/ui/async-await/no-params-non-move-async-closure.stderr index 04c8c325fe7..1f589c516a9 100644 --- a/src/test/ui/async-await/no-params-non-move-async-closure.stderr +++ b/src/test/ui/async-await/no-params-non-move-async-closure.stderr @@ -8,3 +8,4 @@ LL | let _ = async |x: u8| {}; error: aborting due to previous error +For more information about this error, try `rustc --explain E0708`. |
