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
- Rust in 2017: what we achieved.
- Five years with Rust.
- mrustc - a Rust compiler written in C++ can now build rustc from a source tarball.
- Introducing May - a stackful coroutine library in Rust.
- Introducing YEW - a framework for making Elm/React/Angular-like client web-apps with Rust.
- Debugging a segfault in a Rust program.
- Undefined vs unsafe in Rust.
- The final impl period newsletter.
- [podcast] Rusty Spike Podcast - episode 13. Debugging WASM->Rust, more Google tools, stdweb, NLL, and tokio.
- [podcast] New Rustacean: Increasing Rust's reach – Anna Liao, on Anna's experience learning Rust while porting a Raspberry Pi Python project as part of the Increasing Rust’s Reach 2017 program.
- [podcast] New Rustacean: Increasing Rust's reach – Lee Baillie, on Lee's experience designing a new website for Rust.
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.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
118 pull requests were merged in the last week
feature(nll)- non-lexical lifetimes
- prevent unwinding past FFI boundaries (finally!)
- prevent rustc overwriting input files
-C incrementaland enable incremental by default (this effectively stabilizes incremental compilation)
- do not emit type errors on recovered blocks
- kill borrows on a local variable whenever we assign over it
- MIR borrowck: no "move occurs because
Xis not Copy` error
- MIR: terminate unreachable blocks in
- rustc: set release mode cgus to 16 by default
- rustc: sort codegen units before merging (fix non-determinism)
- rustc: do not raise the alignment of optimized enums to the niche's alignment
- rustc: ensure optimized enums have a properly aligned size
- rustc: work around
DICompileUnitbugs in LLVM
- fix ICE when calling non-functions within closures
- work towards thread safety in rustc
- fix -Z lower_128bit_ops handling of statics
- type privacy polishing
- only mark unions as uninhabited if all of their fields are uninhabited
visible_parent_mapnow sorts by crate num
- convert warning about
*const _to a future-compat lint
- lint against single-use lifetime names
- set the dwarf linkage_name to the mangled name
- fix debuginfo scoping of let-statements
- add a feature gate for nested uses of
- ensure separate activations only occur for assignments to locals
Shared<T>to users of both
- add Hash impl for SystemTime and Instant
Commandenvironment at spawn
- add more Duration methods for consistency
- reject superfluous
::in IPv6 addresses
- rustdoc: const-eval array lengths
- Antal Szabó
- Christopher Durham
- Ed Schouten
- Florian Keller
- Jonas Platte
- Matti Niemenmaa
- Sam Green
- Scott Abbey
- Wilco Kusee
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.
- Dec 28. Rust release triage.
- Jan 2. Monthly Meetup of the Johannesburg Rustaceans.
- Jan 3. Indy.rs - 2018 kickoff - Indianapolis.
- 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.
- Jan 7. Dive into Rust @ Guna, MP India.
- Jan 8. Seattle Rust Monthly Meetup.
- Jan 9. Downtown Community Hack Night at nordstromrack.com | Hautelook - Los Angeles.
- Jan 10. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- Jan 10. Rust Documentation Team Meeting at #rust-docs on irc.mozilla.org.
- Jan 11. Rust release triage.
- Jan 11. San Diego Rust January Meetup.
- Jan 11. Columbus Rust Society - Monthly Meeting.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Every great language needs a Steve.
Thanks to Aleksey Kladov for the suggestion!