|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "impl Future for Rust" |
| 4 | +author: Aaron Turon |
| 5 | +description: "The Rust community is going to finish out its 2017 roadmap with a bang—and we want your help!" |
| 6 | +--- |
| 7 | + |
| 8 | +The Rust community has been hard at work on our [2017 roadmap], but as we come |
| 9 | +up on the final quarter of the year, we're going to kick it into high gear—and |
| 10 | +we want you to join us! |
| 11 | + |
| 12 | +[2017 roadmap]: https://github.com/rust-lang/rfcs/pull/1774 |
| 13 | + |
| 14 | +Our goals for the year are ambitious: |
| 15 | + |
| 16 | +* [Rust should have a lower learning curve](https://github.com/rust-lang/rust-roadmap/issues/3). |
| 17 | +* [Rust should have a pleasant edit-compile-debug cycle](https://github.com/rust-lang/rust-roadmap/issues/1). |
| 18 | +* [Rust should provide a solid, but basic IDE experience](https://github.com/rust-lang/rust-roadmap/issues/2). |
| 19 | +* [Rust should provide easy access to high quality crates](https://github.com/rust-lang/rust-roadmap/issues/9). |
| 20 | +* [Rust should be well-equipped for writing robust, high-scale servers](https://github.com/rust-lang/rust-roadmap/issues/10). |
| 21 | +* [Rust should have 1.0-level crates for essential tasks](https://github.com/rust-lang/rust-roadmap/issues/11). |
| 22 | +* [Rust should integrate easily into large build systems](https://github.com/rust-lang/rust-roadmap/issues/12). |
| 23 | +* [Rust's community should provide mentoring at all levels](https://github.com/rust-lang/rust-roadmap/issues/13) |
| 24 | + |
| 25 | +**To finish off these goals, we intend to spend the rest of the year focused |
| 26 | +purely on "implementation" work—which doesn't just mean code!** In particular, we |
| 27 | +are effectively spinning down the [RFC process] for 2017, after having merged |
| 28 | +[almost 90] RFCs this year! |
| 29 | + |
| 30 | +[RFC process]: https://github.com/rust-lang/rfcs#rust-rfcs |
| 31 | +[almost 90]: https://github.com/rust-lang/rfcs/pulls?utf8=%E2%9C%93&q=is%3Apr%20merged%3A%3E2017-01-01 |
| 32 | + |
| 33 | +So here's the plan. Each Rust team has put together several *working groups* |
| 34 | +focused on a specific sub-area. Each WG has a leader who is responsible for |
| 35 | +carving out and coordinating work, and a dedicated chat channel for getting |
| 36 | +involved. We are working hard to divvy up work items into many shapes and sizes, |
| 37 | +and to couple them with mentoring instructions and hands-on mentors. **So if |
| 38 | +you've always wanted to contribute to Rust but weren't sure how, this is the |
| 39 | +perfect opportunity for you.** Don't be shy—we want and need your help, and, as |
| 40 | +per our roadmap, our aim is mentoring at *all* levels of experience. |
| 41 | + |
| 42 | +## A few points of order |
| 43 | + |
| 44 | +There are a few online venues for keeping in the loop with working group activity: |
| 45 | + |
| 46 | +- There is a [dedicated Gitter community](https://gitter.im/rust-impl-period/) |
| 47 | + with channels for each working group, as well as |
| 48 | + a [global channel](https://gitter.im/rust-impl-period/Lobby) for talking about |
| 49 | + the process as a whole, or getting help finding your way to a working group. |
| 50 | + |
| 51 | +- The brand-new [findwork](https://www.rustaceans.org/findwork) site, which |
| 52 | + provides an entry point to a number of open issues across the Rust project, |
| 53 | + including those managed by working groups (see the "impl period" tab). Thanks, |
| 54 | + @nrc, for putting this together! **NOTE**: this page is currently down, but |
| 55 | + will be brought back up ASAP; meanwhile, it's a good link to bookmark! |
| 56 | + |
| 57 | +We also plan two in-person events, paired with upcoming Rust conferences. Each |
| 58 | +of them is a two-day event populated in part by Rust core developers; come hang |
| 59 | +out and work together! |
| 60 | + |
| 61 | +- [October 2-3 at RustFest](http://blog.rustfest.eu/this-week-in-rustfest-9-impl-days). |
| 62 | +- [October 24-25 at Rust Belt Rust](https://goo.gl/forms/e9hmmsFw4owhhDf62). |
| 63 | + |
| 64 | +As usual, all of these venues abide by the [Rust code of conduct]. But more than |
| 65 | +that: this "impl period" is a chance for us all to have fun *collaborating* and |
| 66 | +*helping* each other, and those participating in the official venues are |
| 67 | +expected to meet the highest standards of behavior. |
| 68 | + |
| 69 | +[Rust code of conduct]: https://www.rust-lang.org/conduct.html |
| 70 | + |
| 71 | +## The working groups |
| 72 | + |
| 73 | +Without further ado, here's the initial lineup! (A few more working groups are |
| 74 | +expected to arise over time.) |
| 75 | + |
| 76 | +### Compiler team |
| 77 | + |
| 78 | +<table> |
| 79 | +<tr> |
| 80 | + <td><b>WG-compiler-errors</b></td> |
| 81 | + <td>Make Rust's error messages even friendlier.</td> |
| 82 | + <td><a href="https://paper.dropbox.com/doc/Compiler-errors-FSZdfXAGo3uMQ1wuDcZcy">Learn more</a></td> |
| 83 | + <td><a href="https://gitter.im/rust-impl-period/WG-compiler-errors">Chat</a></td> |
| 84 | +</tr> |
| 85 | +<tr> |
| 86 | + <td><b>WG-compiler-front</b></td> |
| 87 | + <td>Dip your toes in with parsing and syntax sugar.</td> |
| 88 | + <td><a href="https://paper.dropbox.com/doc/Parser-and-Name-Resolution-Front-end-b0SZiNroIE1HK3lHKm8k7">Learn more</a></td> |
| 89 | + <td><a href="https://gitter.im/rust-impl-period/WG-compiler-front">Chat</a></td> |
| 90 | +</tr> |
| 91 | +<tr> |
| 92 | + <td><b>WG-compiler-middle</b></td> |
| 93 | + <td>Implement features that involve typechecking.</td> |
| 94 | + <td><a href="https://paper.dropbox.com/doc/Middle-Type-checker-XEPTHIWvzlvqkSC3cluTr">Learn more</a></td> |
| 95 | + <td><a href="https://gitter.im/rust-impl-period/WG-compiler-middle">Chat</a></td> |
| 96 | +</tr> |
| 97 | +<tr> |
| 98 | + <td><b>WG-compiler-traits</b></td> |
| 99 | + <td>Want generic associated types? You know what to do.</td> |
| 100 | + <td><a href="https://paper.dropbox.com/doc/Trait-system-LCgNlSbM5cPOyEyWdoqzW">Learn more</a></td> |
| 101 | + <td><a href="https://gitter.im/rust-impl-period/WG-compiler-traits">Chat</a></td> |
| 102 | +</tr> |
| 103 | +<tr> |
| 104 | + <td><b>WG-compiler-incr</b></td> |
| 105 | + <td>Finish incremental compilation; receive undying love.</td> |
| 106 | + <td><a href="https://paper.dropbox.com/doc/Incremental-Compilation-GtIsqsyiXfiyzOh99xp9R">Learn more</a></td> |
| 107 | + <td><a href="https://gitter.im/rust-impl-period/WG-compiler-incr">Chat</a></td> |
| 108 | +</tr> |
| 109 | +<tr> |
| 110 | + <td><b>WG-compiler-nll</b></td> |
| 111 | + <td>Delve into the bowels of borrowck to slay the beast: NLL!</td> |
| 112 | + <td><a href="https://paper.dropbox.com/doc/Non-Lexical-Lifetimes-u5uc6VxJic67K2ynmTiFV">Learn more</a></td> |
| 113 | + <td><a href="https://gitter.im/rust-impl-period/WG-compiler-nll">Chat</a></td> |
| 114 | +</tr> |
| 115 | +<tr> |
| 116 | + <td><b>WG-compiler-const</b></td> |
| 117 | + <td>Const generics. Enough said.</td> |
| 118 | + <td><a href="https://paper.dropbox.com/doc/Const-system-hNGg3H7sqnHb6nf39zpwl">Learn more</a></td> |
| 119 | + <td><a href="https://gitter.im/rust-impl-period/WG-compiler-const">Chat</a></td> |
| 120 | +</tr> |
| 121 | +</table> |
| 122 | + |
| 123 | +### Libs team |
| 124 | + |
| 125 | +<table> |
| 126 | +<tr> |
| 127 | + <td><b>WG-libs-blitz</b></td> |
| 128 | + <td>Help finish off the Blitz before all the issues are gone!</td> |
| 129 | + <td><a href="https://paper.dropbox.com/doc/libz-blitz-ymXpoWVNDwVDigdrJ5o49">Learn more</a></td> |
| 130 | + <td><a href="https://gitter.im/rust-impl-period/WG-libz-blitz">Chat</a></td> |
| 131 | +</tr> |
| 132 | +<tr> |
| 133 | + <td><b>WG-libs-cookbook</b></td> |
| 134 | + <td>Work on bite-sized examples to get folks cooking with Rust.</td> |
| 135 | + <td><a href="https://paper.dropbox.com/doc/Rust-cookbook-DFaopl45jyZGWKI6iFDwD">Learn more</a></td> |
| 136 | + <td><a href="https://gitter.im/rust-impl-period/WG-libs-cookbook">Chat</a></td> |
| 137 | +</tr> |
| 138 | +<tr> |
| 139 | + <td><b>WG-libs-guidelines</b></td> |
| 140 | + <td>Take the wisdom from the Blitz and pass it on.</td> |
| 141 | + <td><a href="https://paper.dropbox.com/doc/API-Guidelines-bDAAOER4WHdxJ1XtEAFYs">Learn more</a></td> |
| 142 | + <td><a href="https://gitter.im/rust-impl-period/WG-libs-guidelines">Chat</a></td> |
| 143 | +</tr> |
| 144 | +<tr> |
| 145 | + <td><b>WG-libs-simd</b></td> |
| 146 | + <td>Provide access to hardware parallelism in Rust! </td> |
| 147 | + <td><a href="https://paper.dropbox.com/doc/simd-9H0xb83w1TD8Tc1yEG75M">Learn more</a></td> |
| 148 | + <td><a href="https://gitter.im/rust-impl-period/WG-libs-simd">Chat</a></td> |
| 149 | +</tr> |
| 150 | +<tr> |
| 151 | + <td><b>WG-libs-openssl</b></td> |
| 152 | + <td>Want better docs for openssl? So do we.</td> |
| 153 | + <td><a href="https://paper.dropbox.com/doc/OpenSSL-crate-FRMKrV0PjCVqFSBHfmNS5">Learn more</a></td> |
| 154 | + <td><a href="https://gitter.im/rust-impl-period/WG-libs-openssl">Chat</a></td> |
| 155 | +</tr> |
| 156 | +<tr> |
| 157 | + <td><b>WG-libs-rand</b></td> |
| 158 | + <td>Craft a stable, core crate for randomness.</td> |
| 159 | + <td><a href="https://github.com/rust-lang/rfcs/pull/2152">Learn more</a></td> |
| 160 | + <td><a href="https://gitter.im/rust-impl-period/WG-libs-rand">Chat</a></td> |
| 161 | +</tr> |
| 162 | +</table> |
| 163 | + |
| 164 | +### Docs team |
| 165 | + |
| 166 | +<table> |
| 167 | +<tr> |
| 168 | + <td><b>WG-docs-rustdoc</b></td> |
| 169 | + <td>Help make docs beautiful for everyone!</td> |
| 170 | + <td><a href="https://paper.dropbox.com/doc/Rustdoc-issue-roundup-ZSIIXNDGEPozTM9axn0BO">Learn more</a></td> |
| 171 | + <td><a href="https://gitter.im/rust-impl-period/WG-docs-rustdoc">Chat</a></td> |
| 172 | +</tr> |
| 173 | +<tr> |
| 174 | + <td><b>WG-docs-rustdoc2</b></td> |
| 175 | + <td>Get in on a bottom-up revamp of rustdoc!</td> |
| 176 | + <td><a href="https://paper.dropbox.com/doc/WG-rustdoc2-3lxugWOmvpXC2eMaAQK04">Learn more</a></td> |
| 177 | + <td><a href="https://gitter.im/rust-impl-period/WG-docs-rustdoc2">Chat</a></td> |
| 178 | +</tr> |
| 179 | +<tr> |
| 180 | + <td><b>WG-docs-rbe</b></td> |
| 181 | + <td>Teach others Rust in the browser.</td> |
| 182 | + <td><a href="https://paper.dropbox.com/doc/WG-rbe-Tgd0wu70N6zSmACkNL3TI">Learn more</a></td> |
| 183 | + <td><a href="https://gitter.im/rust-impl-period/WG-docs-rbe">Chat</a></td> |
| 184 | +</tr> |
| 185 | +</table> |
| 186 | + |
| 187 | +### Dev tools team |
| 188 | + |
| 189 | +<table> |
| 190 | +<tr> |
| 191 | + <td><b>WG-dev-tools-rls</b></td> |
| 192 | + <td>Help make Rust's IDE experience first class.</td> |
| 193 | + <td><a href="https://paper.dropbox.com/doc/Rust-Language-Server-RLS-XQbsngZNog9pkt0AfcMo7">Learn more</a></td> |
| 194 | + <td><a href="https://gitter.im/rust-impl-period/WG-dev-tools-rls">Chat</a></td> |
| 195 | +</tr> |
| 196 | +<tr> |
| 197 | + <td><b>WG-dev-tools-vscode</b></td> |
| 198 | + <td>Improve Rust's IDE experience for VSCode.</td> |
| 199 | + <td><a href="https://paper.dropbox.com/doc/Rust-support-in-Visual-Studio-Code-RZ34qWGwy04Xwc82NFi78">Learn more</a></td> |
| 200 | + <td><a href="https://gitter.im/rust-impl-period/WG-dev-tools-vscode">Chat</a></td> |
| 201 | +</tr> |
| 202 | +<tr> |
| 203 | + <td><b>WG-dev-tools-clients</b></td> |
| 204 | + <td>Implement new RLS clients: Atom, Sublime, Visual Studio...</td> |
| 205 | + <td><a href="https://paper.dropbox.com/doc/New-RLS-clients-VrtQKnZR4r3uLD1VBypRI">Learn more</a></td> |
| 206 | + <td><a href="https://gitter.im/rust-impl-period/WG-dev-tools-clients">Chat</a></td> |
| 207 | +</tr> |
| 208 | +<tr> |
| 209 | + <td><b>WG-dev-tools-IntelliJ</b></td> |
| 210 | + <td>Polish up an already-rich Rust IDE experience.</td> |
| 211 | + <td><a href="https://paper.dropbox.com/doc/Intellij-Rust-IYJGtI7uAjdqr2igv4Y7r">Learn more</a></td> |
| 212 | + <td><a href="https://gitter.im/rust-impl-period/WG-dev-tools-IntelliJ">Chat</a></td> |
| 213 | +</tr> |
| 214 | +<tr> |
| 215 | + <td><b>WG-dev-tools-rustfmt</b></td> |
| 216 | + <td>Make Rust's code the prettiest!</td> |
| 217 | + <td><a href="https://paper.dropbox.com/doc/rustfmt-7yTxFPEHtV6jktqZ2pRj1">Learn more</a></td> |
| 218 | + <td><a href="https://gitter.im/rust-impl-period/WG-dev-tools-rustfmt">Chat</a></td> |
| 219 | +</tr> |
| 220 | +<tr> |
| 221 | + <td><b>WG-dev-tools-rustup</b></td> |
| 222 | + <td>Make Rust's first impression even better!</td> |
| 223 | + <td><a href="https://paper.dropbox.com/doc/rustup-mngGQUtX1UkBay3wgOGJi">Learn more</a></td> |
| 224 | + <td><a href="https://gitter.im/rust-impl-period/WG-dev-tools-rustup">Chat</a></td> |
| 225 | +</tr> |
| 226 | +<tr> |
| 227 | + <td><b>WG-dev-tools-clippy</b></td> |
| 228 | + <td>It looks like you're trying to write a linter. Want help?</td> |
| 229 | + <td><a href="https://paper.dropbox.com/doc/Clippy-integration-and-improvements-gebwGlwNOoy6UGLspGO4T">Learn more</a></td> |
| 230 | + <td><a href="https://gitter.im/rust-impl-period/WG-dev-tools-clippy">Chat</a></td> |
| 231 | +</tr> |
| 232 | +<tr> |
| 233 | + <td><b>WG-dev-tools-bindgen</b></td> |
| 234 | + <td>Make FFI'ing to C and C++ easy, automatic, and robust!</td> |
| 235 | + <td><a href="https://paper.dropbox.com/doc/bindgen-xTXplHlfqJpnDvPhMqmfW">Learn more</a></td> |
| 236 | + <td><a href="https://gitter.im/rust-impl-period/WG-dev-tools-bindgen">Chat</a></td> |
| 237 | +</tr> |
| 238 | +</table> |
| 239 | + |
| 240 | +### Cargo team |
| 241 | + |
| 242 | +<table> |
| 243 | +<tr> |
| 244 | + <td><b>WG-cargo-native</b></td> |
| 245 | + <td>Let's make native dependencies as painless as we can.</td> |
| 246 | + <td><a href="https://paper.dropbox.com/doc/Declarative-native-dependencies-iLRUq6Zt2tPtLWE9IyLqS">Learn more</a></td> |
| 247 | + <td><a href="https://gitter.im/rust-impl-period/WG-cargo-native">Chat</a></td> |
| 248 | +</tr> |
| 249 | +<tr> |
| 250 | + <td><b>WG-cargo-registries</b></td> |
| 251 | + <td>Going beyond crates.io to support custom registries.</td> |
| 252 | + <td><a href="https://paper.dropbox.com/doc/Cargo-Multiple-Registries-IrW9bRuZ1rdc4o9UPdQM9">Learn more</a></td> |
| 253 | + <td><a href="https://gitter.im/rust-impl-period/WG-cargo-registries">Chat</a></td> |
| 254 | +</tr> |
| 255 | +<tr> |
| 256 | + <td><b>WG-cargo-pub-deps</b></td> |
| 257 | + <td>Teach Cargo which of your dependencies may affect your users.</td> |
| 258 | + <td><a href="https://paper.dropbox.com/doc/Cargo-pubpriv-dependencies-JDXpDtGRnz8CY3KYlcUBD">Learn more</a></td> |
| 259 | + <td><a href="https://gitter.im/rust-impl-period/WG-cargo-pub-deps">Chat</a></td> |
| 260 | +</tr> |
| 261 | +<tr> |
| 262 | + <td><b>WG-cargo-integration</b></td> |
| 263 | + <td>How easy can we make it to use Cargo with your build system?</td> |
| 264 | + <td><a href="https://paper.dropbox.com/doc/Cargo-build-system-integration-1sqRG8uyCqxv9EfoS8cco">Learn more</a></td> |
| 265 | + <td><a href="https://gitter.im/rust-impl-period/WG-cargo-integration">Chat</a></td> |
| 266 | +</tr> |
| 267 | +</table> |
| 268 | + |
| 269 | +### Infrastructure team |
| 270 | + |
| 271 | +<table> |
| 272 | +<tr> |
| 273 | + <td><b>WG-infra-crates.io</b></td> |
| 274 | + <td>Try your hand at a production Rust web app!</td> |
| 275 | + <td><a href="https://paper.dropbox.com/doc/Crates.io-g8NWnnNIeTq8DaqjGoZLr">Learn more</a></td> |
| 276 | + <td><a href="https://gitter.im/rust-impl-period/WG-infra-crates.io">Chat</a></td> |
| 277 | +</tr> |
| 278 | +<tr> |
| 279 | + <td><b>WG-infra-perf</b></td> |
| 280 | + <td>Let's make sure Rust gets faster.</td> |
| 281 | + <td><a href="https://paper.dropbox.com/doc/Perf.rlo-dp5rp6tSg7bOMmQwLygp4">Learn more</a></td> |
| 282 | + <td><a href="https://gitter.im/rust-impl-period/WG-infra-perf">Chat</a></td> |
| 283 | +</tr> |
| 284 | +<tr> |
| 285 | + <td><b>WG-infra-crater</b></td> |
| 286 | + <td>Regularly testing the compiler against the Rust ecosystem.</td> |
| 287 | + <td><a href="https://paper.dropbox.com/doc/Crater-D7DpG48tMhhHhrUm8kyhY">Learn more</a></td> |
| 288 | + <td><a href="https://gitter.im/rust-impl-period/WG-infra-crater">Chat</a></td> |
| 289 | +</tr> |
| 290 | +<tr> |
| 291 | + <td><b>WG-infra-secure</b></td> |
| 292 | + <td>Help us implement best practices for Rust's infrastructure!</td> |
| 293 | + <td><a href="https://paper.dropbox.com/doc/Securing-Infrastructure-xq5FfLQs1hkxwgxDsHi2Z">Learn more</a></td> |
| 294 | + <td><a href="https://gitter.im/rust-impl-period/WG-infra-secure">Chat</a></td> |
| 295 | +</tr> |
| 296 | +<tr> |
| 297 | + <td><b>WG-infra-host</b></td> |
| 298 | + <td>Managing the services that keep the Rust machine running.</td> |
| 299 | + <td><a href="https://paper.dropbox.com/doc/Host-WiqosInW7SpUblFVGKeOo">Learn more</a></td> |
| 300 | + <td><a href="https://gitter.im/rust-impl-period/WG-infra-host">Chat</a></td> |
| 301 | +</tr> |
| 302 | +<tr> |
| 303 | + <td><b>WG-infra-rustbuild</b></td> |
| 304 | + <td>Streamline the compiler build process.</td> |
| 305 | + <td><a href="https://paper.dropbox.com/doc/Rustbuild-Cz96pk6FBtP54JClTCDNd">Learn more</a></td> |
| 306 | + <td><a href="https://gitter.im/rust-impl-period/WG-infra-rustbuild">Chat</a></td> |
| 307 | +</tr> |
| 308 | +</table> |
| 309 | + |
| 310 | +### Core team |
| 311 | + |
| 312 | +<table> |
| 313 | +<tr> |
| 314 | + <td><b>WG-core-site</b></td> |
| 315 | + <td>The web site is getting overhauled; help shape the new content!</td> |
| 316 | + <td><a href="https://paper.dropbox.com/doc/rust-lang.org-content-improvement-uGns2d39DFgT0X9FQg0yD">Learn more</a></td> |
| 317 | + <td><a href="https://gitter.im/rust-impl-period/WG-core-site">Chat</a></td> |
| 318 | +</tr> |
| 319 | +</table> |
0 commit comments