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 1.21.
- IntelliJ Rust 0.2.0 released.
- str vs String.
- A little story about the
yes
Unix command. - Squeezing Rust into production for real time audio analysis.
- [pdf] The case for writing a kernel in Rust.
- Exploring lock-free Rust.
- It's gfx-rs aLL the way down - an interim update on the LL rewrite progress.
- Multi-platform Rust and Emscripten specific functions.
- The impl period newsletter #2.
- This week in Rust docs 77.
- This week in Redox 30.
- [podcast] Rusty Spike Podcast - Episode 3.
Crate of the Week
This week's crate is if_chain a macro that helps combat rightwards drift where code nests many if
s and if let
s. Since the
latter cannot be contracted with &&
, this can be really helpful to make code more readable. Thanks to Michael Budde 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.
- Join us at FOSDEM 2018: devroom CFP.
- Contribute to Rust's 2017 impl period.
- Libz blitz: Out-of-band crate evaluation for 2017-10-20: mime.
- [easy] allocators-rs: Cargo.toml: Add missing license.
- [medium] allocators-rs: alloc-fmt: Skip early frames of backtrace.
- [medium] allocators-rs: alloc-fmt: Allow disabling backtrace with feature.
- [doc] num_cpus: libz blitz evaluation tracking issue.
- [doc] num_cpus: Improve
get_physical()
documentation. - [doc] num_cpus: Expand crate level documentation.
- [doc] num_cpus: Add example to
get()
docs. - [doc] num_cpus: Add example to
get_physical()
docs. - [doc] num_cpus: Improve
get()
documentation.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
163 pull requests were merged in the last week
- add
x86_64-unknown-linux-gnux32
target - inline
eq_slice
intostr::eq
- MIR-borrowck: moves of prefixes invalidate uses too
- MIR borrowck: print lvalues in error messages in the same way that the AST borrowck
- MIR-borrowck: add false edges to match arms
- MIR-borrowck: migrate remaining AST diagnostics
- querify
trans_fulfill_obligation
- querify Vtable methods
- check namespaces when resolving associated items in typeck
- rustc: Remove
used_mut_nodes
fromTyCtxt
- rustc: Fix some ThinLTO internalization
- rustc: Update LLVM with a ThinLTO fix
- rustc: Handle
#[inline(always)]
at-O0
- rustc: Don't inline in CGUs at
-O0
- rustc: Reduce default CGUs to 16
- incremental compilation auto assert (with except)
- incremental compilation: Bring back output of -Zincremental-info
- ensure
std::mem::Discriminant
isSend + Sync
- fix
TcpStream::connect_timeout
on linux - improve performance of
spsc_queue
and stream - improve raw
Box
conversions - some hashmap cleanups
- optimize comparison functions of
Iterator
- compiletest/runtest: format
ErrorKind
withDisplay
- implement display_hint in gdb pretty printers
- some low-hanging rustdoc optimizations
- rustdoc: mobile sidebar improvements
- let rustdoc print the crate version into docs
- incr.comp.: Introduce
ensure
andensure
typeck_tables_of - enable building clippy in CI (one more step towards stable clippy!)
- update grammar to parse current rust syntax (Language lawyers rejoice!)
New Contributors
- Alexander Kuleshov
- Bráulio Bezerra
- Cameron Steffen
- Christopher Vittal
- Hoàng Đức Hiếu
- Jean Lourenço
- Jimmy Brisson
- JLockerman
- Joe Rattazzi
- Joshua Lockerman
- k0pernicus
- Matt
- Michael Hewson
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
- or-patterns in if / while let expressions.
- Quick
dbg!(expr)
macro. - Partial turbofish.
- Add Euclidean modulo & division functionality for integers.
Upcoming Events
- Oct 19. Cambridge Rust Meetup #4.
- Oct 19. Rust release triage.
- Oct 21. Mozilla Brasil - Mergulhando em Rust — O futuro da programação de sistemas #4.
- Oct 23. Durham, NC - Triangle Rustaceans - with Rust Community Team member Ben Striegel.
- Oct 25. Rust Language Milano - Secondo incontro.
- Oct 25. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- Oct 25. Rust Documentation Team Meeting at #rust-docs on irc.mozilla.org.
- Oct 26 & 27. Rust Belt Rust 2017 - Columbus OH.
- Oct 26. Finland Rust-lang group October meetup.
- Oct 26. Mozilla Community Dresden - Rust meetup.
- Oct 27. Rust Bangalore - Rust XML JSON and Serialization Workshop.
- Oct 31. Rust Zürich - Calling Rust from C and Java - October Community Meetup.
- Nov 1. Boston Rust - Presentation and Hack Night.
- Nov 1. Rust Atlanta - Grab a beer with fellow Rustaceans.
- Nov 1. OpenTechSchool Berlin - Rust Hack and Learn.
- Nov 1. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- Nov 1. Rust Documentation Team Meeting at #rust-docs on irc.mozilla.org.
- Nov 2. Rust Bay Area - Zero Knowledge Proof Macros and Cernan (data pipelining).
- Nov 2. Rust release triage.
- Nov 4. Rust Bangalore - Rust Concurrency Workshop.
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
No jobs listed for this week.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
No quote was selected for QotW.