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
- Constant propagation is now on by default in nightly.
- Redox OS: Real hardware breakthroughs, and focusing on rustc.
- Taking ML to production with Rust: a 25x speedup.
- How to RiiR.
- Launching the 2019 State of Rust Survey.
- Announcing http v0.2.
- Implementing pid1 with Rust and async/await.
- Tide: the present and future.
- Let's make a simple authentication server in Rust with Warp.
- Down and dirty with Future - Rust crash course lesson 8.
- The Embedded WG newsletter 21.
#Rust2020
Find all #Rust2020 posts at Read Rust.
Crate of the Week
This week's crate is joinery, a library for generic string joining.
Thanks to Nathan West for the suggestions!
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.
- heed: Support windows and make the tests pass. Heed is a fully typed LMDB wrapper with minimum overhead.
- crates.io: carols10cents will be mentoring multiple issues for the month of November & December.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
264 pull requests were merged in the last week
- stabilize nested self receivers in 1.41.0
- add memoization for const function evaluations
- add crc and crypto to target feature whitelist on arm
- conditional compilation for sanitizers
- add support for sanitizer recover and tracking origins of uninitialized memory
- async fn resume after completion
- use structured suggestion when requiring
Copy
constraint in type param - various tweaks to diagnostic output
- add version mismatch help message for unimplemented trait
- AST address-of
- initial implementation of or-pattern usefulness checking
- polonius: illegal subset relation errors using placeholder loans
- fix opaque types resulting from projections in function signature
- simplify memory categorization
- remove interior mutability in mir predecessors cache
- rustc: move debug info from LocalDecl and UpvarDecl into a dedicated VarDebugInfo
- create promoted MIR fragments for
const
andstatic
s - alloc: add new_zeroed() versions like new_uninit()
- impl TrustedLen for vec::Drain
- atomic as_mut_ptr
- implement Debug for MaybeUninit
- libc: add support for shared memory operations for solaris/illumos
- cargo: stabilize profile-overrides
- rustup: add toolchain install --allow-downgrade option
- docs.rs: match library properly if multiple crate-types are in use
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.
RFCs
No RFCs are currently in final comment period.
Tracking Issues & PRs
- [disposition: merge] Add method Result::into_ok.
- [disposition: merge] From
impls for wider NonZero types . - [disposition: merge] Change unused_labels from allow to warn.
New RFCs
Upcoming Events
Europe
- Dec 11. Hamburg, DE - Rust Hack & Learn December 2019.
- Dec 11. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn.
- Dec 12. Kyiv, UA - Rails Reactor - Rust Ukraine Meetup.
- Dec 12. Turin, IT - Mozilla Torino - Gruppo di studio Rust.
- Dec 16. Amsterdam, NL - Rust Nederland - Rust - Talks & Demos.
North America
- Dec 10. Seattle, WA, US - Seattle Rust Meetup - Monthly meetup.
- Dec 11. Mesa, AZ, US - Desert Rust - Rust: Crates and Organization.
- Dec 11. Vancouver, BC, CA - Vancouver Rust meetup.
- Dec 12. San Diego, CA, US - San Diego Rust December Meetup.
- Dec 12. Columbus, OH, US - Columbus Rust Society - Monthly Meeting.
- Dec 12. Lehi, UT, US - Utah Rust - December 2019 Regular Meetup.
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Rust Jobs
- Senior Security Software Engineer at Microsoft, Redmond, US.
- Senior Software Engineer at ConsenSys R&D, Remote.
- Rust/Blockchain Developer at Polymath, Remote.
- Rust/Core Developer at Parity, Berlin, DE (Remote available).
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Heard recently creative coding experience which rust gives. What about unconscious coding experience - do whatever you can to make your code compile as late as you can, then go sleep and find your code correct and working in the morning
Woah, I know people say the Rust compiler is slow but I never had a Rust program that took all night to compile☺
– Maxim Vorobjov and ZiCog in our Quote of the Week Thread
Thanks to both of them and mmmmib for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.