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.15.1.
- rustc compiler team design sprint -- summary.
- Specialization, coherence, and API evolution.
- Safer microcontrollers almost here. Rust on AVR microcontrollers.
- Optimizing Rc memory usage in Rust.
- Content aware image resizing in Rust.
- How to sanitize your Rust code.
- Safe Elixir and Erlang NIFs in Rust with Rustlr.
- Buffers in Rust.
- What Elm and Rust teach us about the Future.
- Chrono 0.3 released, and the future.
- This week in Rust docs 43.
- This week in Servo 92.
Crate of the Week
This week's crate of the week is derive_builder, automatically implement the builder pattern for arbitrary structs. Now with macro 1.1 support (custom derive since Rust 1.15). Thanks to Willi Kappler 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.
- [easy] rust: If you are on nightly, help test Rust's new release infrastructure.
- [easy] crates.io: Document applying categories/adding new categories.
- [easy] crates.io: Crate listings duplicated on category subpages.
- [easy] crates.io: Update the site to include the email address help@crates.io somewhere.
- [easy] crates.io: Dependent crates link not shown for crates without reverse dependencies.
- [medium] crates.io: Exact match not being obvious.
- [medium] crates.io: Be able to search within a keyword or category.
- [easy] servo: Set origin header in http_network_or_cache_fetch.
- [easy/hard] clippy: Lint unwrap in drop impls.
- [easy] clippy:
to_mut
false positive. - [easy] clippy:
len_without_is_empty
requiresallow
in the wrong place. - [easy/medium] clippy: Lint for Iterator + Copy.
- [easy] clippy: calls to
std::mem::drop
with aCopy
type.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
153 pull requests were merged in the last week.
- Delete the makefile build system.
- ICE when mutably accessing immutable enum fixed
- early-bind return type-only lifetimes
- structured
repr
representation - simplified MIR conditional branching
- stabilized static lifetimes in statics (RFC #1623)
impl From<(I: Into<IpAddr>, u16)> for
{SocketAddr
,IpAddr
}impl Default for PathBuf
- specialize
PartialOrd<A> for [A] where A: Ord
- leak, address, memory & thread sanitizer support
- compile rust data structures to Android
cargo
now assumesbuild.rs
is a build scriptcargo
can now require features forbin
s
New Contributors
- Aaron Power
- Alexander Battisti
- bjorn3
- Charlie Fan
- Gheorghe Anghelescu
- Giang Nguyen
- Henning Kowalk
- Ingvar Stepanyan
- Jan Zerebecki
- Jordi Polo
- Mario
- Rob Speer
- Shawn Walker-Salas
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. This week's FCPs are:
- [disposition: close] Add a
Transmute<T>
trait for representing types that can be transmuted toT
. - [disposition: merge] Deprecate anonymous parameters.
- [disposition: close] Warn by default when encountering a statement which only consists of an equality comparison.
- Allow uncallable method impls to be omitted.
Closed RFCs
Following proposals were rejected by the team after their 'final comment period' elapsed.
No RFCs were closed this week!
New RFCs
- Amend RFC 1105 to specify how dependency versions relate to semver.
- Deprecate uninitialized for uninhabited types.
- Introduce pattern synonyms - used to create new patterns we can pattern match against from real patterns.
- Unions 1.2.
Style RFCs
Style RFCs are part of the process for deciding on style guidelines for the Rust community and defaults for Rustfmt. The process is similar to the RFC process, but we try to reach rough consensus on issues (including a final comment period) before progressing to PRs. Just like the RFC process, all users are welcome to comment and submit RFCs. If you want to help decide what Rust code should look like, come get involved!
PRs:
Issues in final comment period:
Other significant issues:
Upcoming Events
- Feb 15. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- Feb 15. Rust Documentation Team Meeting at #rust-docs on irc.mozilla.org.
- Feb 16. Rust DC Learn + Try: clap.rs.
- Feb 16. Rome Rust User Group Meetup.
- Feb 18. Rust NYC: Rust Hack & Learn.
- Feb 22. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- Feb 22. Rust Documentation Team Meeting at #rust-docs on irc.mozilla.org.
- Feb 22. OpenTechSchool Berlin - Rust Hack and Learn.
- Feb 23. Rust release triage.
- Feb 23. Rust Dresden.
- Feb 24. Crate Polishing Workshop, Darmstadt/Germany.
- Mar 1. South Florida Rust - Intro to Ownership and Borrowing.
- Mar 1. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- Mar 1. Rust Documentation Team Meeting at #rust-docs on irc.mozilla.org.
- Mar 29. GNOME+Rust Hackfest 2017, Mexico City.
- Mar 31. Underhanded Rust Contest Submission Deadline
If you are running a Rust event please add it to the calendar to get it mentioned here. Email the Rust Community Team for access.
Rust Jobs
- Full Stack Developer for Resin Supervisor (JavaScript + Rust).
- Postdoc positions for RustBelt project at MPI-SWS.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
No quote was selected for QotW.