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
- brson - a Rust core team member and a key figure in Rust community is leaving.
- crates.io now renders README files of crates.
- Inside a super fast CSS engine: Quantum CSS (aka Stylo).
- rustgo: calling Rust from Go with near-zero overhead.
- Gtk-rs: The huge and long awaited release is finally here.
- RLSL - a new shading language.
- nalgebra - a linear algebra library released v0.13 with pure-rust SVD, LU, Lapack integration, and matrix resizing.
- Making Redox self-hosting - status report 4.
- Building a mobile app in Rust and React Native, part 2.
- Make docs into code.
- Announcement - try out Rust IDE support in Visual Studio Code.
- Distributing Rust GTK+ Apps.
- Zone of Control is dead. Long life Zemeroth.. A new turn-based strategy game in Rust.
- [podcast] Request for explanation #8 - An existential crisis. This week's focus is RFC 2071 "Add impl Trait type alias and variable declarations".
- This week in Rust docs 69.
Crate of the Week
This week's crate is pest, a PEG-based parsing library. Thanks to Laurent Wandrebeck 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.
This week's Call for Participation is submitted by RustConf 2017 attendees!
Transcript
- Servo
- Rusoto
- Rust
- community.rs
- Alacritty
- cell-gc
- bindgen
- Robigalia
- Clippy
- Habitat
- startisd
- gfx-rs
- trust-dns
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Who's been awesome for the Rust community - RustConf 2017 edition
Our community likes to recognize people who have made outstanding contributions to the Rust Project, its ecosystem, and its community. This year at RustConf, attendees nominated people who have been awesome for the Rust community. And here they are:
Transcript
- Paul Faria
- brson
- retep998
- John Van Enk
- cramertj
- withoutboats
- Manishearth
- jdm
- Mark Simulacrum
- petrochenkov
- Amit Levy
- Leah and the RustConf team
- Ashley Williams
- dtolnay
- KodrAus
- Steve Klabnik
- tomaka
- bors
- budziq
Updates from Rust Core
99 pull requests were merged in the last week
- forbid non-standard literal patterns
- cleanup for LLVM-less build, second attempt
- stabilize rvalue promotion to
'static
- implement
CompilerDesugaringKind
(was stringly typed before) - fix span miscalculation in
save-analysis
- fix ICE with elided lifetimes in foreign function return types
RefCell::
{swap
,replace
}String::retain
Vec::drain_filter
- MIR borrowck
- rerun MIR passes on promoted temporaries
- everybody loops🎶 but
impl Trait
- redox now has unwinding panics
- ship the rustdoc book
- crates.io now shows the README.md on crate pages
New Contributors
- adrian5
- Anthony Clays
- Anthony Defranceschi
- Fourchaux
- Hunter Praska
- Martin Hoffmann
- Seiichi Uchida
- Shanavas M
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- Amend RFC 1242 to require an RFC for deprecation of crates from the nursery.
- RFC 1966: Unsafe pointer methods.
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] Future-proofing enums/structs with
#[non_exhaustive]
attribute. - [disposition: merge] Add external doc attribute to rustc.
- [disposition: merge] Allow an optional vert at the beginning of a match branch.
- [disposition: close] Allow use of pipe operator in patterns.
- [disposition: merge] Generic associated types (associated type constructors).
- [disposition: merge] Enable nested method calls.
- [disposition: merge] Evolving Rust through checkpoints.
New RFCs
- Argument-bound lifetimes.
- Fully-qualified names in RustDocs.
- Fallible collection allocation 1.0.
- Debuggable macro expansions.
- Crypto / rand trait & crate split.
- Add the
()
→Result<(), _>
coercion rule, for removingOk(())
everywhere. dyn Trait
syntax for trait objects: Take 2.- Autoreferencing
Copy
types.
Upcoming Events
- Aug 24. Rust release triage.
- Aug 30. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- Aug 30. Rust Documentation Team Meeting at #rust-docs on irc.mozilla.org.
- Aug 31. Rust NYC - Come learn about Rust.
- Aug 31. Rust London - Rust learning and hacking evening #2.
- Aug 31. Cambridge Rust Meetup - Rust Study Group.
- Aug 31. Rust Roma Italy - Rust learning and hacking evening #1.
- Sep 4. Rust Zurich - September Community Meetup.
- Sep 6. OpenTechSchool Berlin - Rust Hack and Learn.
- Sep 6. Rust Atlanta - Grab a beer with fellow Rustaceans.
- Sep 6. Rust Cologne - RFC Lightning Talks.
- Sep 6. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- Sep 6. Rust Documentation Team Meeting at #rust-docs on irc.mozilla.org.
- Sep 7. Rust release triage.
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
Rust, but verify.
— @isislovecruft talking about elliptic curve cryptography in Rust at RustConf 2017.
Thanks to llogiq for the suggestion.