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.
Updates from Rust Community
News & Blog Posts
- Introducing MIR.
- Myths and legends about integer overflow in Rust.
- How to run Ruby inside a Rust crate.
- Porting a Haskell graphics framework to Rust.
- Mapping over Arrays in Rust.
- Optimizing matrix multiplication in Rust.
- Multithreaded matrix multiplication in Rust - Part II.
- Segfaults are our friends and teachers.
- This week in Redox 14.
- This Week in Ruma 2016-04-24. Ruma is a Matrix client-server API written in Rust.
- The state of Rust docs.
Notable New Crates & Project Updates
- Rust project changelog for 2016-04-29. Updates to bitflags, lazy_static, regex, rust-mode, rustup, uuid.
- Xi Editor. A modern editor with a backend written in Rust.
- rure. A C API for the regex crate.
- cassowary-rs. A Rust implementation of the Cassowary constraint solving algorithm.
- Sapper. A lightweight web framework built on async hyper, implemented in Rust language.
- servo-vdom. A modified servo browser which accepts content patches over an IPC channel.
- rustr and rustinr. Rust library for working with R, and an R package to generate Rust interfaces.
- Rorschach. Pretty print binary blobs based on common layout definition.
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.
- [easy] Help improve DuckDuckGo's Rust-related searches.
- [easy] rust: Add error explanations for all error codes.
- [easy] servo/highfive: Add a comment when a PR receives a push.
- [easy] servo/devices: Minimize duplication for unsupported platforms.
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 week.
Clone::clone()no longer deep-clones
IPV6_V6ONLYremoved (breaking change!)
-Z save_analysisnow uses JSON format
pub(restricted)on tuple struct fields
- simplify AST→HIR lowering by removing reproducibility
- New "Rust Friends" page
- Andy Russell
- Brayden Winterton
- Demetri Obenour
- Ergenekon Yigit
- Jonathan Turner
- Michael Tiller
- Timothy McRoy
- Tomáš Hübelbauer
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
- Float-free libcore.
- Add workspaces to Cargo.
- Specifying that
<T as Clone>::clone(&t)where
T: Copyshould be equivalent to
- Proposal for thread affinity.
#[repr(align = "N")].
- Amend RFC 1268 with a more feasible proposal post-specialization.
- Associated type constructors (a form of higher-kinded polymorphism).
- 5/4. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- 5/4. OpenTechSchool Berlin: Rust Hack and Learn.
- 5/4. Cologne / Germany: Rust Anniversary Meetup.
- 5/4. Wellington Rust meetup.
- 5/5. Rust London Meetup #5 at Mozilla London.
- 5/5. Rust Sydney Hack-night.
- 5/9. Seattle Rust Meetup.
- 5/10. (San Diego) Eat– Drink– Rust! Downtown Rust Meetup.
- 5/10. Rust NYC: Systems Programming (in Rust) and Tasting (in Beer).
- 5/11. Rust Boulder/Denver Monthly Meeting.
- 5/11. Rust LA Monthly Meetup - Hack Night.
- 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/16. Rust Paris.
- 5/17. Moscow Rust Conference.
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
In general, enough layers of Rc/RefCell will make anything work.
Thanks to birkenfeld for the suggestion.