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.25. 🎉🎈
- Tokio: New Timer implementation.
- Refactoring some repetitive code to a Rust macro.
- History of the Rand crate.
- HTTP upgrades with hyper.
- Porting an academic C++ library to Rust to do analysis on Doom maps.
- Building tiny Rust binaries for embedded Linux.
- Speeding up dwarfdump with Rust.
- Analysing crates.io data for top dependencies.
- Rust-webapp-starter: A template for Actix-web and Vue.js
- This week in Rust docs 99.
- The Embedded Working Group Newsletter 2.
- [podcast] New Rustacean: Rust 1.25. Paths and matches and SIMD, cargo new changes, and tons of community-driven learning materials.
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.
- If you’re interested in language design, please help polish up the new Delegation RFC draft.
- rustc-guide is a project to write a short guide about how the rust compiler works, and it needs your help. There are some easier issues, issues which might require a bit of investigation/code reading, and issues which probably require some advanced knowledge or a lot of time.
- Get started with these beginner-friendly issues.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
149 pull requests were merged in the last week
- Stabilize method
- Stabilize underscore lifetimes.
- Enable target_feature on any LLVM 6+.
- Stabilize TryFrom / TryInto, and tweak impls for integers.
- Revert "Add TryFrom and TryInto to the prelude".
- Add basic PGO support.
slice::sort_by_cached_keyas a memoised
- Rename RangeArgument to RangeBounds, move it and Bound to libcore.
- Group linked libraries where needed.
- Cargo: Add description for each
-Zflag in cargo help.
- Cargo: Run
rustcfor information fewer times.
- Expand Attributes on Statements and Expressions.
- Move the
- Introduce trait engine.
- Fail the build if we build Cargo twice.
- Anders Pitman
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
- [disposition: merge] Unnamed fields of struct and union type.
- [disposition: merge] Semantic build scripts for Cargo.
- [disposition: merge] Extend pattern API to OsStr.
- [disposition: merge] Type alias enum variants.
- [disposition: postpone] Formalise reborrows.
- [disposition: postpone] Non-selfexhausting Drain.
- Allow Items to be grouped into "Item-level scopes".
- Lint Reasons.
The community team is trying to improve outreach to meetup organisers. Please fill out their call for contact info if you are running or used to run a meetup.
- Apr 5. Madrid, ES - Segundo meetup de MadRust.
- Apr 5. Rust release triage.
- Apr 8. Mountain View, US - Open Table / Icebreaker: what projects are you working on.
- Apr 9. Seattle, US - Monthly meetup.
- Apr 10. Rome, IT - CLI App + Error Handling - Rust Roma #Aperitech.
- Apr 10. Rust Community Content Subteam Meeting at #rust-content on irc.mozilla.org.
- Apr 11. Munich, DE - Fun with Rust and Numerical Methods.
- Apr 11. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- Apr 11. Rust Events Team Meeting.
- Apr 11. Denver, US - April Meetup in Boulder.
- Apr 11. Orange County, US - Compression and Serialization Benchmarks in Rust. Q&A on dark corners of Rust.
- Apr 12. Columbus, US - Columbus Rust Society - Monthly Meeting.
- Apr 12. Arlington, US - Rust DC - Learn+Try: Rust in the Browser via WebAssembly.
- Apr 15. Mountain View, US - Open Table / Icebreaker: what projects are you working on.
- Apr 17. Brussels, BE - Error, logs and more.
- Apr 18. Paris, FR - Devoxx 2018 - Hands-on Labs - Rust introduction.
- Apr 18. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- Apr 18. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn.
- Apr 18. Vancouver, CA - Rust Study/Hack/Hang-out night.
- Apr 19. Rust release triage.
- Apr 19. Cambridge, GB - Cambridge Rust Meetup.
- May 27. Paris, FR - RustFest Paris 2018.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
I guess #rustleaks are memory safe since you just mem::forget them
Thanks to @RustDevLuke for the suggestion!