Skip to content

Commit 9421990

Browse files
authored
Merge pull request #72 from rust-lang-nursery/fix/29
fix #29 (async await listed as both available and not available).
2 parents 01e2f7b + 9623038 commit 9421990

File tree

4 files changed

+26
-15
lines changed

4 files changed

+26
-15
lines changed

src/2018/status.md

-3
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@
2424
[nll_status]: http://smallcultfollowing.com/babysteps/blog/2018/06/15/mir-based-borrow-check-nll-status-update/
2525
[`T: 'a` inference in `struct`s]: transitioning/ownership-and-lifetimes/struct-inference.html
2626
[issue#44493]: https://github.com/rust-lang/rust/issues/44493
27-
[`async`/`await`]: transitioning/concurrency/async-await.html
28-
[issue#50547]: https://github.com/rust-lang/rust/issues/50547
2927

3028
| **Feature** | **Status** | **Minimum Edition** |
3129
| ----------- | ---------- | -------------------------- |
@@ -43,7 +41,6 @@
4341
| [Raw identifiers] | Unstable; [tracking issue][issue#48589] | ? |
4442
| [Import macros via `use`] | Unstable; [tracking issue][issue#35896] | ? |
4543
| [Module system path changes] | Unstable; [tracking issue][issue#44660] | 2018 |
46-
| [`async`/`await`] | [Not fully implemented][issue#50547] | 2018 |
4744

4845
While some of these features are already available in Rust 2015, they are tracked here
4946
because they are being promoted as part of the Rust 2018 edition. Accordingly, they
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
1-
# async/await
1+
# `async` and `await`
22

3-
Async/await has not been implemented in the compiler yet.
3+
You can try out the `async` / `await` feature on a nightly compiler:
4+
5+
```rust,ignore
6+
#![feature(async_await, futures_api)]
7+
8+
async fn foo(x: &usize) -> usize {
9+
x + 1
10+
}
11+
```
412

513
## More details
614

7-
Coming soon!
15+
Note that `async` and `await` will not be stable in the initial release of
16+
Rust 2018. See the [tracking issue](https://github.com/rust-lang/rust/issues/50547)
17+
for more information.
+8-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# Concurrency additions
22

3-
While concurrency and parallelism has always been a strong suit of Rust, it
4-
often requires a lot of boilerplate. In Rust 2018, two new keywords, `async`
5-
and `await`, help you write code that appears sequential, but executes
6-
concurrently.
3+
While concurrency and parallelism has always been a strong suit of Rust,
4+
it often requires a lot of boilerplate. In Rust 2018, two new keywords,
5+
`async` and `await`, help you write code that appears sequential,
6+
but executes concurrently.
7+
8+
Note that `async` and `await` will not be stable in the initial release of
9+
Rust 2018. See the [tracking issue](https://github.com/rust-lang/rust/issues/50547)
10+
for more information.

src/editions/transitioning.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
New editions might change the way you write Rust -- they add new syntax,
44
language, and library features but also remove features. For example,
5-
`async`/`await` are keywords in Rust 2018, but not Rust 2015. Despite this
6-
it's our intention that the migration to new editions is as smooth an experience
7-
as possible. It's considered a bug if it's difficult to upgrade your crate to a
8-
new edition. If you have a difficult time then a bug should be filed with Rust
9-
itself.
5+
`try`, `async`, and `await` are keywords in Rust 2018, but not Rust 2015.
6+
Despite this it's our intention that the migration to new editions is as
7+
smooth an experience as possible. It's considered a bug if it's difficult to
8+
upgrade your crate to a new edition. If you have a difficult time then a bug
9+
should be filed with Rust itself.
1010

1111
Transitioning between editions is built around compiler lints. Fundamentally,
1212
the process works like this:

0 commit comments

Comments
 (0)