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
- Porting C to Rust, a case study: minimp3.
- Lessons learned on writing web applications completely in Rust.
- comacro: a declarative building block for static analysis.
- Oxidizing Python: Speeding up URL quoting by 10x using Rust.
- GLSL quasiquoting in Rust.
- Going four times faster using multi-threading.
- Bluetooth Low Energy with Rust.
- Hunting for bugs in Rust.
- Who authors the most popular crates on crates.io?
- Rust's story for default arguments.
- Remacs continues to improve.
- Future directions for cbindgen (rust-ffi).
- The Embedded WG newsletter 13.
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.
- Announcing the Tokio doc blitz effort, we need your help!
- Rust Web Survey from from Networking Services WG.
- The imag project calls for contributors.
- macro_railroad: Update the parser for syn-0.15. macro_railroad is a library to generate syntax diagrams for Rust macros.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
136 pull requests were merged in the last week
proc_macro_expansion feature gates as
- proptest basic validation
- allow both explicit and elided lifetimes in the same impl header
- do not promote comparing function pointers
- nest the
impl Traitexistential item inside the return type
- do not normalize all non-scalar constants to a ConstValue::ScalarPair
- fix dead code lint for functions using
- add suggestion for inverted function parameters
- suggest to use self for fake-self from other languages
- NLL: improve move error loop detection
- make NLL suggest "try removing
- improve error message when trying to move from an Rc or Arc
- revisit work on cvoid
- fix Once perf regression
CStr::from_bytes_with_nul_unchecked()a const fn
- std: start implementing wasm32 atomics
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- RFC 2539:
#[cfg_attr]expanding to multiple attributes.
- RFC 2412: The optimize attribute.
- RFC 2535: Or patterns, i.e
Foo(Bar(x) | Baz(x)).
- RFC 2526: Support underscores as constant names.
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.
- [disposition: merge] Support for disabling PLT for better function call performance.
- [disposition: close] Introduce the
No new RFCs were proposed this week.
- Oct 17. Rust Community Team Meeting in Discord.
- Oct 22. Rust Community Content Subteam Meeting in Discord.
- Oct 24. Rust Events Team Meeting in Telegram.
- Oct 17. Madrid, ES - Quinto meetup de MadRust.
- Oct 17. Berlin, DE - Berlin Rust Hack and Learn.
- Oct 18. Oslo, NO - Fuzzing and property-based testing in Rust.
- Oct 18. Cambridge, GB - Cambridge Rust Meetup.
- Oct 25. Wroclaw, PL - Rust Wroclaw Meetup.
- Oct 11. Arlington, US - Rust DC - Mid-month Rustful.
- Oct 11. Columbus, US - Columbus Rust Society - Monthly Meeting.
- Oct 11. Utah, US - Utah Rust monthly meetup.
- Oct 14. Mountain View, US - Rust Dev in Mountain View!.
- Oct 17. Vancouver, CA - Vancouver Rust meetup.
- Oct 19 & 20. Ann Arbor, US - Rust Belt Rust 2018.
- Oct 20 & 21. Vancouver, CA - Vancouver Rust Hackathon.
- Oct 21. Mountain View, US - Rust Dev in Mountain View!.
- Oct 22. Durham, US - Triangle Rustaceans.
- Oct 23. Chicago, US - The Rust Ecosystem: What to Know After "Hello World".
- Oct 24. Zurich, CH - Rust Zurich - Atomics.
- Software Engineer - Backend at Watchful, San Francisco.
- Rust Engineer at Standard Cognition, San Francisco.
- Rust Software Engineer at IOHK (Remote work available).
- Compilers & distributed systems engineers in Australia.
- Rust Developer at Parity, Berlin, DE.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Rust is a Fast Programming Language. Rust programs are therefore “fast,” especially so if you write them with the correct observations to the arcane ley lines of birth and death known as “lifetimes,” and also remember to pass cargo the
– Adam Perry blogging about lolbench
Thanks to Pascal Hertleif for the suggestion!