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 an email! 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.
This week's edition was edited by: Vikrant and llogiq.
Updates from Rust Community
News & Blog Posts
- First ever RustConf will take place in Portland, US on 10 September 2016.
- Cargo: predictable dependency management.
- Non-lexical lifetimes: Introduction.
- Non-lexical lifetimes based on liveness.
- These weeks in Servo 61.
- This week in Rust docs 2.
Notable New Crates & Project Updates
- rustup 0.1.9 is released with a critical security fix.
- Helix. Write Ruby classes in Rust without having to write the glue code yourself.
- Eudex. A blazingly fast phonetic reduction/hashing algorithm written in Rust.
- ncollide. 2 and 3-dimensional collision detection library in Rust.
- Panopticon. A libre cross-platform disassembler.
- vk_generator. An automated Vulkan binding generator for Rust.
- Alchemist. Unix platform agnostic installation tool written in Rust.
Crate of the Week
This week's Crate of the Week is semantic-rs, which lets us update our project from the commandline ensuring semver compliance on the way. Thanks to Florian Gilcher for the suggestion!
Submit your suggestions 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.
- [easy] rust: Add error explanations for all error codes.
- [medium] rustup: Make
rustup default x86_64-unknown-linux-gnu
do something smarter. - [easy] rustup: Bad error when downloading bogus versions.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
92 pull requests were merged in the last two weeks.
- Cleaner messaging on Errors (Yay!)
- TryFrom/TryInto (implements RFC #1542)
- Let rustc optimize for size
- find() on chained iterators no longer 2×slower
mem::forget()
is now inlined- MIR now supports constant expressions (This includes four breaking changes!)
- Less Unicode confusion through more aliases
- Drink the half-full entropy pool on early-bootup
Hash*
creation (avoids blocking to wait for entropy) Duration::new(..)
now panics instead of wrapping-Wrapping(_)
negation implementedDefault
for&CStr
+CString
UnsafeCell/Cell.get_mut()
const_eval
fixes- New armv7-linux-androideabi target
New Contributors
- Brandon Edens
- Garrett Squire
- jonathandturner
- Nerijus Arlauskas
- Philipp Matthias Schaefer
- Stephen Mather
- Taylor Cramer
- Wang Xuerui
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- RFC 1525: Add workspaces to Cargo.
- RFC 1521: Copy/Clone semantics.
- RFC 1542: Add
TryFrom
andTryInto
traits.
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. This week's FCPs are:
- All but the last field of a tuple must be Sized.
- Permit the
..
pattern fragment in more contexts. - Translate undefined generic intrinsics to an LLVM
unreachable
and a lint. - Add compiler support for generic atomic operations.
- Add
#[repr(align = "N")]
.
New RFCs
- Allow type aliases in enumeration repr attributes.
- RFC process for formatting style and Rustfmt defaults.
- clarify 'root' with 'root crate' or 'root
Cargo.toml
'.
Upcoming Events
- 5/10. Rust NYC: Systems Programming (in Rust) and Tasting (in Beer).
- 5/10. (San Diego) Eat– Drink– Rust! Downtown Rust Meetup.
- 5/11. Rust Boulder/Denver Monthly Meeting.
- 5/11. Rust LA Monthly Meetup - Hack Night.
- 5/11. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- 5/12. Columbus Rust Society.
- 5/12. Rust Bay Area.
- 5/13. Rust Meetup Darmstadt.
- 5/13. Hack Chiapas, Autonomous University of Chiapas, Mexico.
- 5/14. Rust Minsk.
- 5/16. Rust Paris.
- 5/17. Moscow Rust Conference.
- 5/18. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- 5/18. Rust Berlin: Rust 1.0 Anniversary Meetup.
If you are running a Rust event please add it to the calendar to get it mentioned here. Email Erick Tryzelaar or Brian Anderson for access.
fn work(on: RustProject) -> Money
No jobs listed for this week.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
No quote was selected for QotW.