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.30. 🎉🎈
- Parsing logs 230x faster with Rust.
- Shifgrethor III: Rooting.
- A release checklist for Rust programs.
- 2d graphics in Rust discussion - A look at GPU memory management.
- Announcing Gotham 0.3.
- Finding and fixing memory leaks in a Hyper application.
- A brief introduction to serverless applications in Rust.
- The case for macros.
- Jim Blandy interview on mastering moves and borrows.
- The Embedded WG newsletter 14.
Crate of the Week
This week's crate is dutree, a command line tool that produces a colorful tree view of your disk usage. Thanks to gilescope 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.
- Help test Rust 2018.
- Cargo: Resolvers error messages should include the version requirements.
- Cargo: Intern more kinds of things.
- Rutie: Current dll linking has timeouts on Windows.
- railroad: Implement a "Auto-Stack" that overflows a Sequence into a Stack.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
131 pull requests were merged in the last week
- compile the libstd we distribute with
-Ccodegen-unit=1
- implement by-value object safety
- report const eval error inside the query
- path suggestions in Rust 2018 should point out the change in semantics
- suggest appropriate syntax on missing lifetime specifier in return type
- Macro diagnostics tweaks
- list allowed tokens after macro fragments
- make unused-parens suggestions heed what the user actually wrote
- fix suggestion on renamed import conflict
- suggest to remove prefix
b
in cfg attribute lint string - lint reasons (RFC #2383, part 1)
- point at macro definition when no rules expect token
- fix an ICE in the min_const_fn analysis
- avoid unnecessary allocations in
float_lit
andinteger_lit
- add a "cheap" mode for
compute_missing_ctors
- use
SmallVec
for the queue incoerce_unsized
- shrink
Statement
- introduce type-op for user-type ascription in NLL
- NLL: cast causes failure to promote to static
- rustc: tweak filenames encoded into metadata
- unimplement ExactSizeIterator for MIR traversing iterators
- miri engine: stacked Borrows NG
- validity: assert that unions are non-empty
- allow extern statics with an extern type
- add
extern crate
items to extern prelude - rewrite the
UnconditionalRecursion
lint to use MIR #[inline]
a bunch of trivial methods ofNonNull
- add
ManuallyDrop::take
- add
MaybeUninit::new
- add line numbers option to rustdoc
- fix rustdoc ICE when checking blanket impls
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation 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
- [disposition: merge] Meta-RFC: Future possibilities.
Tracking Issues & PRs
- [disposition: merge] Minor standard library constification.
New RFCs
- Generic integers.
- Pointer metadata & VTable.
- Second-generation binary operator traits with specialization.
Upcoming Events
Online
- Nov 5. Rust Community Content Subteam Meeting in Discord.
- Nov 7. Rust Events Team Meeting in Telegram.
- Nov 14. Rust Community Team Meeting in Discord.
Africa
Europe
- Nov 6. Rome, IT - Rust Rome Meetup.
- Nov 7. Stuttgart, DE - Rust in der Industrie & Automatisierung.
- Nov 7. Cologne, DE - Rust Cologne.
- Nov 14. Helsinki, FI - Helsinki Rust meetup.
- Nov 14. Berlin, DE - Berlin Rust Hack and Learn.
- Nov 15. Cambridge, GB - Cambridge Rust Meetup.
North America
- Nov 4. Mountain View, US - Rust Dev in Mountain View!.
- Nov 6. Santa Monica, US - Rust Los Angeles Meetup.
- Nov 7. Atlanta, US - Grab a beer with fellow Rustaceans.
- Nov 7. Indianapolis, US - Indy.rs.
- Nov 8. Utah, US - Utah Rust monthly meetup.
- Nov 8. Arlington, US - Rust DC - Mid-month Rustful.
- Nov 8. Columbus, US - Columbus Rust Society - Monthly Meeting.
- Nov 8. Boston, US - Rust/Scala meetup at SPLASH conf.
- Nov 8. Arlington, US - Rust DC—Mid-month Rustful.
- Nov 11. Mountain View,US - Rust Dev in Mountain View!.
- Nov 12. Seattle, US - Seattle Rust Meetup.
- Nov 14. Vancouver, CA - Vancouver Rust 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
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
&T means it’s borrowed, and T means it’s owned, and you can’t take ownership of a thing you’ve borrowed — Rust doesn’t support stealing! 😉
– kornel on rust-users
Thanks to Cerberuser for the suggestion!
Please submit your quotes for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.