async-rs / async-std

Async version of the Rust standard library
https://async.rs
Apache License 2.0
3.87k stars 336 forks source link

Errors in https://docs.rs/async-std/latest/async_std/#examples ? #1071

Open alexpdp7 opened 5 months ago

alexpdp7 commented 5 months ago

I might be doing PEBCAK, but the second example in:

https://docs.rs/async-std/latest/async_std/#examples

, namely:

use async_std::prelude::*;

#[async_std::main]
async fn main() {
    let a = async { 1u8 };
    let b = async { 2u8 };
    assert_eq!(a.join(b).await, (1u8, 2u8))
}

results for me in:

warning: unused import: `async_std::prelude::*`
 --> src/main.rs:1:5
  |
1 | use async_std::prelude::*;
  |     ^^^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

error[E0599]: no method named `join` found for `async` block `{async block@src/main.rs:5:13: 5:26}` in the current scope
 --> src/main.rs:7:18
  |
7 |     assert_eq!(a.join(b).await, (1u8, 2u8))
  |                  ^^^^ method not found in `{async block@src/main.rs:5:13: 5:26}`

For more information about this error, try `rustc --explain E0599`.
warning: `foo` (bin "foo") generated 1 warning
error: could not compile `foo` (bin "foo") due to previous error; 1 warning emitted

, whereas the other two examples work OOB.

alexpdp7 commented 5 months ago

(Just a note needed that unstable is needed. I can send a PR if appropriate.)