Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and community. Want something mentioned? Tweet us at @ThisWeekInRust or send us a pull request. Want to get involved? We love contributions.
Updates from Rust Community
News & Blog Posts
- Announcing Rust extension for Visual Studio 2017 with RLS support.
- winapi 0.3 deprecates the
-syscrates and now has everything in a single crate.
- faster 0.3 released with new license, docs, examples, and much more.
- Tokio internals: Understanding Rust's asynchronous I/O framework from the bottom up.
- Writing a CHIP-8 emulator with Rust and WebAssembly.
- This week in Rust docs 86.
- This week in Redox 33.
- [video] Rust: Reach further (by Nicholas Matsakis).
- [podcast] Rusty Spike Podcast - episode 12. Visual Studio support for Rust, ProPublica’s ad tool, and Mozilla’s growing support.
Crate of the Week
Call for Participation
Always wanted to contribute to open-source projects but didn't know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
- Use cargo-contribute to find issues in your dependencies to contribute to.
- Rusoto, an AWS SDK, is looking for maintainers.
- Contribute to Rust's 2017 impl period.
- [good first issue] Criterion.rs: Replace rustc_serialize with Serde.
- [good first issue] Criterion.rs: Replace Floaty with num-traits.
- [medium] allocators-rs: object-alloc-test: Finish
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
82 pull requests were merged in the last week
- Validate miri against the HIR const evaluator
- Implement impl Trait lifetime elision
- ThinLTO: updates for LLVM 5
- incr.comp.: Mark DepKind node as input
- syntax: recovery for incorrect associated item paths like
...struct field patterns
- When attempting to write str with single quote suggest double quotes
- fix borrow casts or binary expression suggestions
- Fix division-by-zero ICE in -Z perf-stats
- Point at var in short lived borrows instead of drop location
- Point at whole method call instead of args
- Fix visible_parent_map to choose globally minimal paths
- Lifetime Resolution for Generic Associated Types
- rustc: unpack newtyped of
- rustc_trans: approximate ABI alignment for padding/union fillers
- lossless UNIX OsStr Debug impl
- Expose the line and column fields from the proc_macro::LineColumn struct
- cargo: Don’t swallow virtual manifest parsing errors
- David Teller
- Felix Schütt
- Nika Layzell
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week.
Final Comment Period
- [disposition: merge] Fallible collection allocation 1.0.
- [disposition: merge] Implicit caller location (third try to the unwrap/expect line info problem).
- [disposition: merge] Unsized rvalues.
- [disposition: merge] eRFC: Cargo build system integration.
- [disposition: merge] Type privacy and private-in-public lints.
- Change impls of
PartialEqand friends in libstd to be more generic.
- Finalize syntax of
dyn Traitwith multiple bounds.
- Dec 21. Cambridge Rust Meetup #6.
- Dec 27. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- Dec 27. Rust Documentation Team Meeting at #rust-docs on irc.mozilla.org.
- Dec 28. Rust release triage.
- Jan 2. Monthly Meetup of the Johannesburg Rustaceans.
- Jan 3. Rust Atlanta - Grab a beer with fellow Rustaceans.
- Jan 3. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- Jan 3. Rust Documentation Team Meeting at #rust-docs on irc.mozilla.org.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
No quote was selected for QotW.