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
- 🎈🎉 Announcing Rust 1.30.1. 🎉🎈
- Things Rust doesn’t let you do.
- After NLL: Moving from borrowed data and the sentinel pattern.
- Running Rust natively in AWS Lambda and testing it locally.
- Truly zero cost abstractions.
- Implementing Rust’s
- Middleware in Tide.
- Monadic do notation in Rust: Part I.
- [pdf] Writing network drivers in 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.
No issues were proposed for CfP.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
140 pull requests were merged in the last week
- remove support for building against LLVM 4
- use lld directly for Fuchsia target
- support memcpy/memmove with differing src/dst alignment
- treat "proc-macro" crate type the same as
proc-macro = true
- custom diagnostic when trying to doc comment argument
- enforce unused-must-use lint in macros
- don't print opt fuel messages to stdout because it breaks Rustbuild
- NLL: fix ICE with elided lifetimes
- NLL: update box insensitivity test
- NLL: missing errors for borrows of union fields
- NLL: unions not reinitialized after assignment into field
- consume optimization fuel from the MIR inliner
- take supertraits into account when calculating associated types
- typecheck patterns of all match arms first, so we get types for bindings
- don't inline virtual calls (take 2)
SmallVecto avoid allocations in
Lit! Don't allocate it in vain
- improve creation of 3 IndexVecs
- implement rotate using funnel shift on LLVM >= 7
- value visitors for miri
- remove the
- std: improve codegen size of accessing TLS
- std: enable usage of
- choose predicates without inference variables over those with them
- minor standard library constification
- fix undefined behavior in
- cargo: avoid retaining all rustc output in memory
- cargo: timeout batch downloads, not each download
- cargo: small things to help with fuzz tests
- cargo: don't include build scripts in --out-dir
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.
- [disposition: merge] Linked list cursors.
- [disposition: close] Create Editorconfig File as Part of Cargo Project.
- [disposition: merge] add FromIterator to Box<[A]>.
- [disposition: merge] Tracking issue for
literalfragment specifier (RFC 1576).
- [disposition: close] Tracking issue for FnBox().
- Custom DSTs.
- Enum variant types.
- Stabilise exhaustive integer pattern matching.
- Nov 19. Rust Community Content Subteam Meeting in Discord.
- Nov 21. Rust Events Team Meeting in Telegram.
- Nov 28. Rust Community Team Meeting in Discord.
- Nov 15. Cambridge, GB - Cambridge Rust Meetup.
- Nov 15. Madrid, ES - Madrid Rust Meetup: Rust in Deliveroo.
- Nov 17. Toulouse, FR - Capitole du Libre 2018 - Introduction à Rust.
- Nov 18. Toulouse, FR - Capitole du Libre 2018 - Initiation à Rust.
- Nov 20. Paris, FR - Rust Paris.
- Nov 21. Oslo, NO - Hack & Learn.
- Nov 21. Hamburg, DE - Rust Hack & Learn Nov 2018.
- Nov 24. St. Petersburg, RU - Rust Meetup.
- Nov 24 & 25. Rome, IT - RustFest Rome 2018.
- Nov 27. Sofia, BG - Rust Bulgaria @ Global Tech Summit.
- Nov 28. Berlin, DE - Berlin Rust Hack and Learn.
- Nov 29. Copenhagen, DK - Copenhagen Rust Group - Hack Night #11.
- Dec 3. Karlsruhe, DE - Rust 2018 Edition.
- Dec 15 & 16. Moscow, RU - RustRush 2018.
- Nov 18. Mountain View, US - Rust Dev in Mountain View.
- Nov 25. Mountain View, US - Rust Dev in Mountain View.
- Nov 26. Durham, US - Triangle Rustaceans - Project Night & Lightning Talks.
- Nov 27. Dallas, US - Dallas Rust - Last Tuesday.
- Nov 28. Vancouver, CA - Vancouver Rust meetup.
- Software Infrastructure Engineer - Engines at Blue Origin, Kent, US.
- Rust web developer at Impero, Denmark/remote
- Rust Developer at Parity, Berlin, DE.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
I’m also pretty sure that most languages would not go that far. The idea that the type plugged in has only one possible value, therefore it doesn’t need to be stored and methods on that don’t care about the
selfreference is pretty neat.
– Michael 'vorner' Vaner on his blog
Thanks to llogiq for the suggestion!