Skip to content

Commit 6a4296d

Browse files
committed
rename async goal URL
1 parent 7e3609e commit 6a4296d

File tree

5 files changed

+11
-8
lines changed

5 files changed

+11
-8
lines changed

book.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,6 @@ edit-url-template = "https://github.com/rust-lang/rust-project-goals/edit/main/{
1212
[output.html.fold]
1313
enable = true
1414
level = 1
15+
16+
[output.html.redirect]
17+
"/2024h2/async_fn_everywhere.html" = "/2024h2/async.html"

src/2024h2/candidates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ In many cases the work being described will definitely happen, but it is not cle
7676

7777
[EI]: ./ergonomics-initiative.md
7878
[FIB]: ./faster-iterative-builds.md
79-
[AFE]: ./async_fn_everywhere.md
79+
[AFE]: ./async.md
8080
[LK]: ./rfl_stable.md
8181
[LKH]: ./rfl_stable.md#ownership-and-other-resources
8282
[SCS]: ./Seamless-C-Support.md

src/2024h2/ergonomics-initiative.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
## Motivation
1212

13-
For 2024H2, we propose to continue with the [ergonomics initiative](https://blog.rust-lang.org/2017/03/02/lang-ergonomics.html), targeting several of the biggest friction points in everyday Rust development. These issues affect all Rust users, but the impact and severity varies dramatically. Many experienced users have learned the workarounds and consider them papercuts, but for newer users, or in domains traditionally considered "high-level" (e.g., app/game/web development, data science, scientific computing) these kinds of issues can make Rust a non-starter. In those domains, Rust has picked up momentum as a language for building underlying frameworks and libraries thanks to its lower-level nature. However, thanks in large part to these kind of smaller, papercut issues, it is not a great choice for **consumption** of these libraries - many projects instead choose to expose bindings for languages like Python and JavaScript. The motivation of this project goal is to make Rust a better choice for higher level programming subfields by identifying and remedying language papercuts with minimally invasive language changes. In fact, these same issues arise in other Rust domains: for example, Rust is a graet choice for network services where performance is a top consideration, but perhaps not a good choice for "everyday" request-reply services, thanks in no small part to papercuts and small-time friction (as well as other gaps like the needing more libraries, which are being addressed in the [async goal](./async_fn_everywhere.md)).
13+
For 2024H2, we propose to continue with the [ergonomics initiative](https://blog.rust-lang.org/2017/03/02/lang-ergonomics.html), targeting several of the biggest friction points in everyday Rust development. These issues affect all Rust users, but the impact and severity varies dramatically. Many experienced users have learned the workarounds and consider them papercuts, but for newer users, or in domains traditionally considered "high-level" (e.g., app/game/web development, data science, scientific computing) these kinds of issues can make Rust a non-starter. In those domains, Rust has picked up momentum as a language for building underlying frameworks and libraries thanks to its lower-level nature. However, thanks in large part to these kind of smaller, papercut issues, it is not a great choice for **consumption** of these libraries - many projects instead choose to expose bindings for languages like Python and JavaScript. The motivation of this project goal is to make Rust a better choice for higher level programming subfields by identifying and remedying language papercuts with minimally invasive language changes. In fact, these same issues arise in other Rust domains: for example, Rust is a graet choice for network services where performance is a top consideration, but perhaps not a good choice for "everyday" request-reply services, thanks in no small part to papercuts and small-time friction (as well as other gaps like the needing more libraries, which are being addressed in the [async goal](./async.md)).
1414

1515
### The status quo
1616

src/2024h2/slate.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,12 @@ Flagship goals are the most impactful, most ambitious goals that we will attempt
5656
* along with an [assortment of other possible changes](TODO)
5757
* never type fallback ([#123748](https://github.com/rust-lang/rust/issues/123748))
5858
* and a [number of other potential changes](https://github.com/rust-lang/rust/issues?q=label%3AC-tracking-issue+label%3AA-edition-2024+label%3AS-tracking-ready-to-stabilize%2CS-tracking-needs-documentation+-label%3AS-tracking-impl-incomplete%2CS-tracking-design-concerns) that may be included if they make enough progress
59-
* [**Bringing the Async Rust experience closer to parity with sync Rust**](./async_fn_everywhere.md) [via](./async_fn_everywhere.md#the-next-few-steps):
59+
* [**Bringing the Async Rust experience closer to parity with sync Rust**](./async.md) [via](./async.md#the-next-few-steps):
6060
* stabilizing async closures, thus enabling richer, combinator APIs like sync Rust's [`Iterator`](https://doc.rust-lang.org/std/iter/trait.Iterator.html);
61-
* [resolving the "send bound problem"](./async_fn_everywhere.md#resolve-the-send-bound-problem), thus enabling foundational, generic traits like Tower's [`Service`]() trait;
62-
* [stabilizing a trait in libstd for async iteration](./async_fn_everywhere.md#stabilize-trait-for-async-iteration), thus enabling the ecosystem to build atop a stable foundation;
63-
* [authoring a draft RFC for async vision](./async_fn_everywhere.md#author-draft-rfc-for-async-vision), thus aligning the project around a coherent vision;
64-
* [completing the async drop experiments](./async_fn_everywhere.md#complete-async-drop-experiments) proposed in [MCP 727][], laying the groundwork for resolving the the next most
61+
* [resolving the "send bound problem"](./async.md#resolve-the-send-bound-problem), thus enabling foundational, generic traits like Tower's [`Service`]() trait;
62+
* [stabilizing a trait in libstd for async iteration](./async.md#stabilize-trait-for-async-iteration), thus enabling the ecosystem to build atop a stable foundation;
63+
* [authoring a draft RFC for async vision](./async.md#author-draft-rfc-for-async-vision), thus aligning the project around a coherent vision;
64+
* [completing the async drop experiments](./async.md#complete-async-drop-experiments) proposed in [MCP 727][], laying the groundwork for resolving the the next most
6565
* [**Resolving the biggest blockers to Linux building on stable Rust**](./rfl_stable.md) [via](./rfl_stable.md#the-next-few-steps):
6666
* [stabilizing support for arbitrary `self` types and unsizeable smart pointers](./rfl_stable.md#stable-support-for-rfls-customized-arc-type), thus permitting ergonomic support for [in-place linked lists](https://rust-for-linux.com/arc-in-the-linux-kernel) on stable;
6767
* [stabilizing features for labeled goto in inline assembler and extended `offset_of!` support](./rfl_stable.md#labeled-goto-in-inline-assembler-and-extended-offset_of-support), needed for various bts of low-level coding;

src/SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
- [The slate](./2024h2/slate.md)
66
- [All candidates](./2024h2/candidates.md)
77
- [Template](./TEMPLATE.md)
8-
- [Async closures and send bounds](./2024h2/async_fn_everywhere.md)
8+
- [Async Rust](./2024h2/async.md)
99
- [Linux kernel builds on stable Rust](./2024h2/rfl_stable.md)
1010
- [Ergonomics initiative](./2024h2/ergonomics-initiative.md)
1111
- [Faster iterative builds](./2024h2/faster-iterative-builds.md)

0 commit comments

Comments
 (0)