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.
This Week in Rust is openly developed on GitHub. If you find any errors in this week's issue, please submit a PR.
Updates from Rust Community
News & Blog Posts
- Announcing Rust extension for Visual Studio 2017 with RLS support.
- Firefox nightly's JavaScript debugger now supports debugging and source maps for Rust compiled to WebAssembly.
- stdweb now supports wasm32-unknown-unknown - access the DOM and call into JavaScript from Rust.
- winapi 0.3 deprecates the
-sys
crates 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
This week's crate is cargo-audit, a cargo subcommand to look through a crates dependencies for known insecure versions. Thanks to Danilo for the suggestion!
Submit your suggestions and votes for next 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
corruption::mapped::is_mapped_range
on Windows.
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
[T; N]::clone
- suggest
..
for erroneous...
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
#[repr(simd)]
vector types - 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
New Contributors
- David Teller
- Felix Schütt
- Nika Layzell
- qres
- varkor
Approved RFCs
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
Every week the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now. This week's FCPs are:
- [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.
New RFCs
- Change impls of
PartialEq
and friends in libstd to be more generic. - Finalize syntax of
impl Trait
anddyn Trait
with multiple bounds.
Upcoming Events
- 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.
If you are running a Rust event please add it to the calendar to get it mentioned here. Email the Rust Community Team for access.
Rust Jobs
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
No quote was selected for QotW.