From 3c4dd21679fc320911d73585ce570e7b23e6d362 Mon Sep 17 00:00:00 2001 From: Aaron Turon Date: Tue, 6 Mar 2018 11:29:31 -0800 Subject: [PATCH 1/3] 2018 roadmap --- _posts/2018-03-08-roadmap.md | 221 +++++++++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 _posts/2018-03-08-roadmap.md diff --git a/_posts/2018-03-08-roadmap.md b/_posts/2018-03-08-roadmap.md new file mode 100644 index 000000000..8861948e6 --- /dev/null +++ b/_posts/2018-03-08-roadmap.md @@ -0,0 +1,221 @@ +--- +layout: post +title: "Rust's 2018 roadmap" +author: "Aaron Turon" +--- + +# Rust’s 2018 roadmap + +Each year the Rust community [comes together][roadmap-process] to set out a +roadmap. This year, in addition to the [survey], we put out +a [call for blog posts][blog-2018] in December, which resulted +in [100 blog posts][read-rust] written over the span of a few weeks. The end +result is the recently-merged [2018 roadmap RFC][rfc]. + +[roadmap-process]: https://github.com/rust-lang/rfcs/pull/1728 +[survey]: https://blog.rust-lang.org/2017/09/05/Rust-2017-Survey-Results.html +[blog-2018]: https://blog.rust-lang.org/2018/01/03/new-years-rust-a-call-for-community-blogposts.html +[read-rust]: https://readrust.net/rust-2018/ +[rfc]: https://github.com/rust-lang/rfcs/pull/2314 + +## Entering the Rust 2018 epoch + +**This year, we will deliver _Rust 2018_, marking the first new era in Rust programming since 1.0**. + +We will continue to publish releases every six weeks as usual. But we will +designate a release in the latter third of the year (Rust 1.29 - 1.31) as the +beginning of the Rust 2018 epoch. This “epoch release” will be the culmination +of feature stabilization throughout the year, and will ship with polished +documentation, tooling, and libraries that tie in to those features. + +The idea of “epochs” is to signify major steps in Rust’s evolution, where a +collection of new features or idioms, taken as a whole, changes the experience +of using Rust. They’re a chance, every few years, to take stock of the work +we’ve delivered in six-week increments. To tell a bigger story about where Rust +is going. And to ship the whole stack as a polished product. + +We expect that epochs will have a core theme or focus. Thinking of 1.0 as the +start of the 2015 era, we have: + +- Rust 2015: [stability](https://blog.rust-lang.org/2014/09/15/Rust-1.0.html) +- Rust 2018: productivity + +### Compatibility across epochs + +**TL;DR: Rust will continue its stability guarantee +of [hassle-free updates to new versions][stability]**. + +[stability]: https://blog.rust-lang.org/2014/10/30/Stability.html + +Epochs will have a meaning for the compiler. You will be able to write: + +```toml +epoch = "2018" +``` + +in your Cargo.toml to _opt in_ to the new epoch for your crate. Doing so may +introduce new keywords or otherwise require adjustments to code. However: + +- You can use _old_ epochs indefinitely on _new_ compilers; **epochs are + opt-in**. +- Epochs are set on a _per-crate_ basis and can be mixed and matched; **you + can be on a different epoch from your dependencies**. +- Warning-free code in one epoch must compile, and have the same behavior, on + the next. +- Epoch-related warnings, e.g. that an identifier will become a keyword in the + next epoch, must be easily fixable via an automated migration tool + (rustfix). **Only a small minority of crates should require** **_any_** + **manual work to opt in to a new** epoch, and that manual work must be + minimal. + +In other words, the progression of new compiler versions is independent from +epoch; you can migrate at your leisure, and don’t have to worry about ecosystem +compatibility; and epoch migration is normally trivial. + +## What will be in Rust 2018? + +The roadmap doesn’t say _for certain_ what will ship in Rust 2018, but we have a +pretty good idea, and we’ll cover the major suspects below. + +### Documentation improvements + +Part of the goal with the Rust 2018 release is to provide high quality +documentation for the full set of new and improved features and the idioms they +give rise to. [The Rust Programming Language book][trpl] has been completely +re-written over the last 18 months, and will be updated throughout the year as +features reach the stable compiler. [Rust By Example] will likewise undergo a +revamp this year. And there are numerous third party books, like [Programming +Rust], reaching print as well. + +[trpl]: https://doc.rust-lang.org/nightly/book/second-edition/ +[Programming Rust]: https://www.google.com/search?q=programming+rust&ie=utf-8&oe=utf-8&client=firefox-b-1-ab +[Rust By Example]: https://rustbyexample.com/ + +**Language improvements** + +The most prominent language work in the pipeline stems from [2017’s ergonomics +initiative]. Almost all of the accepted RFCs from the initiative are available +on nightly today, and will be polished and stabilized over the next several +months. Among these productivity improvements are a few “headliners” that will +form the backbone of the release: + +[2017’s ergonomics initiative]: https://blog.rust-lang.org/2017/03/02/lang-ergonomics.html + +- **Ownership system improvements**, including making borrowing more flexible + via “non-lexical lifetimes”, improved pattern matching integration, and + more. +- **Trait system improvements**, including the long-awaited impl Trait syntax + for dealing with types abstractly. +- **Module system improvements**, focused on increasingly clarity and reducing + complexity. +- **Generators/async/await:** work is rapidly progressing on first-class async + programming support. + +In addition, we anticipate a few more major features to stabilize prior to the +epoch release, including **SIMD**, **custom allocators**, and **macros 2.0**. + +### Compiler improvements + +As of [Rust 1.24](https://blog.rust-lang.org/2018/02/15/Rust-1.24.html), +incremental recompilation is available and enabled by default on the stable +compiler. This feature already makes rebuilds significantly faster than fresh +builds, but over the course of the year we expect continued improvements for +_both_ fresh and re-builds. Compiler performance should not be an obstacle to +productivity in Rust 2018. + + + +### Tooling improvements + +Rust 2018 will see high quality 1.0 releases of the RLS (underlying much of our +IDE integration story) and rustfmt (a standard formatting tool for Rust +code). We will continue to improve Cargo by stabilizing custom registries, +public dependencies, and a revised profile system. We’re also expecting further +work on [Cargo build system integration], [Xargo integration], and [custom test +frameworks], though it’s unclear as yet which of these will be complete prior to +the epoch release. + +[Cargo build system integration]: https://github.com/rust-lang/rfcs/pull/2136 +[Xargo integration]: https://github.com/japaric/xargo +[custom test frameworks]: https://github.com/rust-lang/rfcs/pull/2318 + +## Library improvements + +Building on [our work from last year][blitz], we will publish a 1.0 version of +the [Rust API guidelines book], continue pushing important libraries to 1.0 +status, improve discoverability through a revamped cookbook effort, and make +heavy investments in libraries in specific domains—as we’ll see below. + +[blitz]: https://blog.rust-lang.org/2017/05/05/libz-blitz.html +[Rust API guidelines book]: https://github.com/rust-lang-nursery/api-guidelines + +**Web site improvements** + +As part of Rust 2018, we will completely overhaul the Rust web site, making it +useful for CTOs and engineers alike. It should be far easier to find information +to help evaluate Rust for your use case, and to stay up to date with the latest +tooling and ecosystem improvements. + +## Four target domains + +Part of our goal with Rust 2018 is to demonstrate Rust’s productivity in +specific domains of use. We’ve selected four such domains to invest in and +highlight this year: + +- **Network services**. Rust’s reliability and low footprint make it an + excellent match for network services and infrastructure, especially at high + scale. +- **CLI apps**. Rust’s portability, reliability, ergonomics, and ability to + produce static binaries come together to great effect for writing CLI apps. +- **WebAssembly**. The “wasm” web standard allows shipping native-like binaries + to all major browsers, but GC support is still years away. Rust + is [extremely well positioned](https://mgattozzi.com/rust-wasm) to target this + domain, and provides a reasonable on-ramp for programmers coming from JS. +- **Embedded devices**. Rust has the potential to make programming + resource-constrained devices much more productive—and fun! We want embedded + programming to reach first-class status this year. + +Each of these domains has a dedicated working group for the year. These WGs will +work in a cross-cutting fashion, interfacing with language, tooling, library, +and documentation work. + +## Better serving intermediate Rustaceans + +One of the strongest messages we’ve heard from production users, and [the 2017 +survey], is that people need more resources to take them from understanding +Rust’s concepts to knowing how to use them _effectively_. The roadmap does not +stipulate exactly what these resources should look like +— [probably there should be several kinds][intermediate] — but commits us as a +community to putting significant work into this space, and ending the year with +some solid new material. + +[the 2017 survey]: https://blog.rust-lang.org/2017/09/05/Rust-2017-Survey-Results.html +[intermediate]: https://quietmisdreavus.net/code/2018/01/10/not-a-layer-cake-analogy/ + +## Community + +**Connect and empower Rust's global community**. We will pursue +internationalization (specifically: translation) as a first-class concern, and +proactively work to build ties between Rust subcommunities currently separated +by language, geography, or culture. We will spin up and support Rust events +worldwide, including further growth of the RustBridge program. + +**Grow Rust's teams and new leaders within them**. We will refactor the Rust +team structure to support more scale, agility, and leadership growth. We will +systematically invest in mentoring, both by creating more on-ramp resources and +through direct mentorship relationships. + +## A call to action + +As always in the Rust world, the goals laid out here will ultimately be the +result of a community-wide effort—maybe one including you! Here are some of the +teams where we could use the most help. Note that all IRC channels refer to the +irc.mozilla.org network. + +- **WebAssembly WG**. Compiling Rust to WebAssembly should be _the_ best choice for fast code on the Web. Check out [rust-lang-nursery/rust-wasm](https://github.com/rust-lang-nursery/rust-wasm) to learn more and get involved! +- **CLI WG**. Writing CLI apps in Rust should be a frictionless experience – from finding the right libraries and writing concise integration tests up to cross-platform distribution. Join us at [https://github.com/rust-lang-nursery/cli-wg](https://github.com/rust-lang-nursery/cli-wg) and help us reach that goal! +- **Embedded Devices WG**. Quality, productivity, accessibility: Rust can change the embedded industry for the better. Let's get this process started in 2018! Join us at [https://github.com/rust-lang-nursery/embedded-wg](https://github.com/rust-lang-nursery/embedded-wg) +- **Ecosystem** WG: We'll be providing guidance and support to important crates throughout the ecosystem. Drop into the [WG-ecosystem room](https://gitter.im/rust-lang/WG-ecosystem) and we'll guide you to places that need help! +- **Dev Tools Team**. There are always interesting things to tackle with developer tools (IDEs, rustdoc, Clippy, Rustfmt, custom test frameworks, and more). Drop in to [#rust-dev-tools](https://paper.dropbox.com/?q=%23rust-dev-tools) and have a chat with the team! +- **Rustdoc Team**. With your help, we can make documentation better for everyone. Come join us in #rustdoc on IRC, and we can help you get started! +- **Release team**. Drop by [#rust-release](https://paper.dropbox.com/?q=%23rust-release) on IRC to get involved with regression triage and release production! From 397dc9e2bd8b6040885fd1574494d51ba6af5663 Mon Sep 17 00:00:00 2001 From: Aaron Turon Date: Sun, 11 Mar 2018 09:44:32 -0700 Subject: [PATCH 2/3] Edits from reviews, and renaming from 'epoch' to 'edition' --- ...03-08-roadmap.md => 2018-03-12-roadmap.md} | 171 +++++++++--------- 1 file changed, 89 insertions(+), 82 deletions(-) rename _posts/{2018-03-08-roadmap.md => 2018-03-12-roadmap.md} (62%) diff --git a/_posts/2018-03-08-roadmap.md b/_posts/2018-03-12-roadmap.md similarity index 62% rename from _posts/2018-03-08-roadmap.md rename to _posts/2018-03-12-roadmap.md index 8861948e6..301edc8d8 100644 --- a/_posts/2018-03-08-roadmap.md +++ b/_posts/2018-03-12-roadmap.md @@ -1,11 +1,9 @@ --- layout: post title: "Rust's 2018 roadmap" -author: "Aaron Turon" +author: "The Rust Core Team" --- -# Rust’s 2018 roadmap - Each year the Rust community [comes together][roadmap-process] to set out a roadmap. This year, in addition to the [survey], we put out a [call for blog posts][blog-2018] in December, which resulted @@ -18,60 +16,29 @@ result is the recently-merged [2018 roadmap RFC][rfc]. [read-rust]: https://readrust.net/rust-2018/ [rfc]: https://github.com/rust-lang/rfcs/pull/2314 -## Entering the Rust 2018 epoch +## Rust: 2018 edition -**This year, we will deliver _Rust 2018_, marking the first new era in Rust programming since 1.0**. +**This year, we will deliver _Rust 2018_, marking the first major new edition of +Rust since 1.0** (aka Rust 2015). We will continue to publish releases every six weeks as usual. But we will -designate a release in the latter third of the year (Rust 1.29 - 1.31) as the -beginning of the Rust 2018 epoch. This “epoch release” will be the culmination -of feature stabilization throughout the year, and will ship with polished -documentation, tooling, and libraries that tie in to those features. +designate a release in the latter third of the year (Rust 1.29 - 1.31) as *Rust +2018*. This new "edition" of Rust will be the culmination of feature +stabilization throughout the year, and will ship with polished documentation, +tooling, and libraries that tie in to those features. -The idea of “epochs” is to signify major steps in Rust’s evolution, where a +The idea of editions is to signify major steps in Rust’s evolution, where a collection of new features or idioms, taken as a whole, changes the experience of using Rust. They’re a chance, every few years, to take stock of the work we’ve delivered in six-week increments. To tell a bigger story about where Rust is going. And to ship the whole stack as a polished product. -We expect that epochs will have a core theme or focus. Thinking of 1.0 as the -start of the 2015 era, we have: +We expect that each edition will have a core theme or focus. Thinking of 1.0 as +"Rust 2015", we have: - Rust 2015: [stability](https://blog.rust-lang.org/2014/09/15/Rust-1.0.html) - Rust 2018: productivity -### Compatibility across epochs - -**TL;DR: Rust will continue its stability guarantee -of [hassle-free updates to new versions][stability]**. - -[stability]: https://blog.rust-lang.org/2014/10/30/Stability.html - -Epochs will have a meaning for the compiler. You will be able to write: - -```toml -epoch = "2018" -``` - -in your Cargo.toml to _opt in_ to the new epoch for your crate. Doing so may -introduce new keywords or otherwise require adjustments to code. However: - -- You can use _old_ epochs indefinitely on _new_ compilers; **epochs are - opt-in**. -- Epochs are set on a _per-crate_ basis and can be mixed and matched; **you - can be on a different epoch from your dependencies**. -- Warning-free code in one epoch must compile, and have the same behavior, on - the next. -- Epoch-related warnings, e.g. that an identifier will become a keyword in the - next epoch, must be easily fixable via an automated migration tool - (rustfix). **Only a small minority of crates should require** **_any_** - **manual work to opt in to a new** epoch, and that manual work must be - minimal. - -In other words, the progression of new compiler versions is independent from -epoch; you can migrate at your leisure, and don’t have to worry about ecosystem -compatibility; and epoch migration is normally trivial. - ## What will be in Rust 2018? The roadmap doesn’t say _for certain_ what will ship in Rust 2018, but we have a @@ -88,10 +55,10 @@ revamp this year. And there are numerous third party books, like [Programming Rust], reaching print as well. [trpl]: https://doc.rust-lang.org/nightly/book/second-edition/ -[Programming Rust]: https://www.google.com/search?q=programming+rust&ie=utf-8&oe=utf-8&client=firefox-b-1-ab +[Programming Rust]: http://shop.oreilly.com/product/0636920040385.do [Rust By Example]: https://rustbyexample.com/ -**Language improvements** +### Language improvements The most prominent language work in the pipeline stems from [2017’s ergonomics initiative]. Almost all of the accepted RFCs from the initiative are available @@ -101,18 +68,17 @@ form the backbone of the release: [2017’s ergonomics initiative]: https://blog.rust-lang.org/2017/03/02/lang-ergonomics.html -- **Ownership system improvements**, including making borrowing more flexible - via “non-lexical lifetimes”, improved pattern matching integration, and - more. -- **Trait system improvements**, including the long-awaited impl Trait syntax - for dealing with types abstractly. -- **Module system improvements**, focused on increasingly clarity and reducing - complexity. -- **Generators/async/await:** work is rapidly progressing on first-class async - programming support. +- **Ownership system improvements**, including making borrowing more flexible + via “non-lexical lifetimes”, improved pattern matching integration, and more. +- **Trait system improvements**, including the long-awaited `impl Trait` syntax + for dealing with types abstractly. +- **Module system improvements**, focused on increasingly clarity and reducing + complexity. +- **Generators/async/await:** work is rapidly progressing on first-class async + programming support. In addition, we anticipate a few more major features to stabilize prior to the -epoch release, including **SIMD**, **custom allocators**, and **macros 2.0**. +Rust 2018 release, including **SIMD**, **custom allocators**, and **macros 2.0**. ### Compiler improvements @@ -123,23 +89,23 @@ builds, but over the course of the year we expect continued improvements for _both_ fresh and re-builds. Compiler performance should not be an obstacle to productivity in Rust 2018. - - ### Tooling improvements -Rust 2018 will see high quality 1.0 releases of the RLS (underlying much of our -IDE integration story) and rustfmt (a standard formatting tool for Rust -code). We will continue to improve Cargo by stabilizing custom registries, -public dependencies, and a revised profile system. We’re also expecting further -work on [Cargo build system integration], [Xargo integration], and [custom test -frameworks], though it’s unclear as yet which of these will be complete prior to -the epoch release. +Rust 2018 will see high quality 1.0 releases of the [Rust Language Server] ("RLS", +which underlies much of our IDE integration story) and [`rustfmt`] (a standard +formatting tool for Rust code). We will continue to improve Cargo by stabilizing +custom registries, public dependencies, and a revised profile system. We’re also +expecting further work on [Cargo build system integration], [Xargo integration], +and [custom test frameworks], though it’s unclear as yet how many of these will +be complete prior to Rust 2018. +[Rust Language Server]: https://github.com/rust-lang-nursery/rls [Cargo build system integration]: https://github.com/rust-lang/rfcs/pull/2136 -[Xargo integration]: https://github.com/japaric/xargo +[Xargo integration]: https://github.com/rust-lang/cargo/issues/4959 [custom test frameworks]: https://github.com/rust-lang/rfcs/pull/2318 +[`rustfmt`]: https://github.com/rust-lang-nursery/rustfmt -## Library improvements +### Library improvements Building on [our work from last year][blitz], we will publish a 1.0 version of the [Rust API guidelines book], continue pushing important libraries to 1.0 @@ -149,14 +115,14 @@ heavy investments in libraries in specific domains—as we’ll see below. [blitz]: https://blog.rust-lang.org/2017/05/05/libz-blitz.html [Rust API guidelines book]: https://github.com/rust-lang-nursery/api-guidelines -**Web site improvements** +### Web site improvements As part of Rust 2018, we will completely overhaul the Rust web site, making it useful for CTOs and engineers alike. It should be far easier to find information to help evaluate Rust for your use case, and to stay up to date with the latest tooling and ecosystem improvements. -## Four target domains +### Four target domains Part of our goal with Rust 2018 is to demonstrate Rust’s productivity in specific domains of use. We’ve selected four such domains to invest in and @@ -165,21 +131,62 @@ highlight this year: - **Network services**. Rust’s reliability and low footprint make it an excellent match for network services and infrastructure, especially at high scale. -- **CLI apps**. Rust’s portability, reliability, ergonomics, and ability to +- **[Command-line apps]** (CLI). Rust’s portability, reliability, ergonomics, and ability to produce static binaries come together to great effect for writing CLI apps. -- **WebAssembly**. The “wasm” web standard allows shipping native-like binaries +- **[WebAssembly]**. The “wasm” web standard allows shipping native-like binaries to all major browsers, but GC support is still years away. Rust is [extremely well positioned](https://mgattozzi.com/rust-wasm) to target this domain, and provides a reasonable on-ramp for programmers coming from JS. -- **Embedded devices**. Rust has the potential to make programming +- **[Embedded devices]**. Rust has the potential to make programming resource-constrained devices much more productive—and fun! We want embedded programming to reach first-class status this year. +[Command-line apps]: https://internals.rust-lang.org/t/announcing-the-cli-working-group/6872 +[Embedded devices]: https://internals.rust-lang.org/t/announcing-the-embedded-devices-working-group/6839 +[WebAssembly]: https://internals.rust-lang.org/t/come-join-the-rust-and-webassembly-working-group/6845 + Each of these domains has a dedicated working group for the year. These WGs will work in a cross-cutting fashion, interfacing with language, tooling, library, and documentation work. -## Better serving intermediate Rustaceans +### Compatibility across editions + +**TL;DR: Rust will continue its stability guarantee +of [hassle-free updates to new versions][stability]**. + +[stability]: https://blog.rust-lang.org/2014/10/30/Stability.html + +Editions will have a meaning for the compiler. You will be able to write: + +```toml +edition = "2018" +``` + +in your Cargo.toml to _opt in_ to the new edition for your crate. Doing so may +introduce new keywords or otherwise require adjustments to code. However: + +- You can use _old_ editions indefinitely on _new_ compilers; **editions are + opt-in**. +- Editions are set on a _per-crate_ basis and can be mixed and matched; **you + can be on a different edition from your dependencies**. +- Warning-free code in one edition must compile, and have the same behavior, on + the next. +- Edition-related warnings, e.g. that an identifier will become a keyword in the + next edition, must be easily fixable via an automated migration tool + (rustfix). **Only a small minority of crates should require _any_ + manual work to opt in to a new edition**, and that manual work must be + minimal. + +In other words, the progression of new compiler versions is independent from +editions; you can migrate at your leisure, and don’t have to worry about ecosystem +compatibility; and edition migration is normally trivial. + +## Additional 2018 goals + +While the Rust 2018 release is our major focus this year, there are some +additional ongoing concerns that we want to give attention to. + +### Better serving intermediate Rustaceans One of the strongest messages we’ve heard from production users, and [the 2017 survey], is that people need more resources to take them from understanding @@ -192,13 +199,13 @@ some solid new material. [the 2017 survey]: https://blog.rust-lang.org/2017/09/05/Rust-2017-Survey-Results.html [intermediate]: https://quietmisdreavus.net/code/2018/01/10/not-a-layer-cake-analogy/ -## Community +### Community **Connect and empower Rust's global community**. We will pursue -internationalization (specifically: translation) as a first-class concern, and -proactively work to build ties between Rust subcommunities currently separated -by language, geography, or culture. We will spin up and support Rust events -worldwide, including further growth of the RustBridge program. +internationalization as a first-class concern, and proactively work to build +ties between Rust subcommunities currently separated by language, geography, or +culture. We will spin up and support Rust events worldwide, including further +growth of the RustBridge program. **Grow Rust's teams and new leaders within them**. We will refactor the Rust team structure to support more scale, agility, and leadership growth. We will @@ -213,9 +220,9 @@ teams where we could use the most help. Note that all IRC channels refer to the irc.mozilla.org network. - **WebAssembly WG**. Compiling Rust to WebAssembly should be _the_ best choice for fast code on the Web. Check out [rust-lang-nursery/rust-wasm](https://github.com/rust-lang-nursery/rust-wasm) to learn more and get involved! -- **CLI WG**. Writing CLI apps in Rust should be a frictionless experience – from finding the right libraries and writing concise integration tests up to cross-platform distribution. Join us at [https://github.com/rust-lang-nursery/cli-wg](https://github.com/rust-lang-nursery/cli-wg) and help us reach that goal! +- **CLI WG**. Writing CLI apps in Rust should be a frictionless experience--from finding the right libraries and writing concise integration tests up to cross-platform distribution. Join us at [rust-lang-nursery/cli-wg](https://github.com/rust-lang-nursery/cli-wg) and help us reach that goal! - **Embedded Devices WG**. Quality, productivity, accessibility: Rust can change the embedded industry for the better. Let's get this process started in 2018! Join us at [https://github.com/rust-lang-nursery/embedded-wg](https://github.com/rust-lang-nursery/embedded-wg) -- **Ecosystem** WG: We'll be providing guidance and support to important crates throughout the ecosystem. Drop into the [WG-ecosystem room](https://gitter.im/rust-lang/WG-ecosystem) and we'll guide you to places that need help! -- **Dev Tools Team**. There are always interesting things to tackle with developer tools (IDEs, rustdoc, Clippy, Rustfmt, custom test frameworks, and more). Drop in to [#rust-dev-tools](https://paper.dropbox.com/?q=%23rust-dev-tools) and have a chat with the team! +- **Ecosystem WG**: We'll be providing guidance and support to important crates throughout the ecosystem. Drop into the [WG-ecosystem room](https://gitter.im/rust-lang/WG-ecosystem) and we'll guide you to places that need help! +- **Dev Tools Team**. There are always interesting things to tackle with developer tools (IDEs, Cargo, rustdoc, Clippy, Rustfmt, custom test frameworks, and more). Drop in to #rust-dev-tools and have a chat with the team! - **Rustdoc Team**. With your help, we can make documentation better for everyone. Come join us in #rustdoc on IRC, and we can help you get started! -- **Release team**. Drop by [#rust-release](https://paper.dropbox.com/?q=%23rust-release) on IRC to get involved with regression triage and release production! +- **Release team**. Drop by #rust-release on IRC to get involved with regression triage and release production! From 18c2d69ae7109ecb426c9deaac04a04862cceafd Mon Sep 17 00:00:00 2001 From: Aaron Turon Date: Sun, 11 Mar 2018 11:37:29 -0700 Subject: [PATCH 3/3] typo fix --- _posts/2018-03-12-roadmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2018-03-12-roadmap.md b/_posts/2018-03-12-roadmap.md index 301edc8d8..07fad287a 100644 --- a/_posts/2018-03-12-roadmap.md +++ b/_posts/2018-03-12-roadmap.md @@ -72,7 +72,7 @@ form the backbone of the release: via “non-lexical lifetimes”, improved pattern matching integration, and more. - **Trait system improvements**, including the long-awaited `impl Trait` syntax for dealing with types abstractly. -- **Module system improvements**, focused on increasingly clarity and reducing +- **Module system improvements**, focused on increasing clarity and reducing complexity. - **Generators/async/await:** work is rapidly progressing on first-class async programming support.