159 lines
9.3 KiB
Markdown
159 lines
9.3 KiB
Markdown
Title: This Week in Rust 131
|
|
Number: 131
|
|
Date: 2016-05-23
|
|
Category: This Week in Rust
|
|
|
|
Hello and welcome to another issue of *This Week in Rust*!
|
|
[Rust](http://rust-lang.org) 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](https://twitter.com/ThisWeekInRust) or [send us an
|
|
email](mailto:corey@octayn.net?subject=This%20Week%20in%20Rust%20Suggestion)!
|
|
Want to get involved? [We love
|
|
contributions](https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md).
|
|
|
|
*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust).
|
|
If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls).
|
|
|
|
This week's edition was edited by: [Vikrant](https://github.com/nasa42) and [llogiq](https://github.com/llogiq).
|
|
|
|
# Updates from Rust Community
|
|
|
|
## News & Blog Posts
|
|
|
|
* <img alt="balloon" class="emoji" title=":balloon:" src="https://cdn.discourse.org/business/images/emoji/emoji_one/balloon.png?v=0"><img alt="tada" class="emoji" title=":tada:" src="https://cdn.discourse.org/business/images/emoji/emoji_one/tada.png?v=0"> [One year of Rust](http://blog.rust-lang.org/2016/05/16/rust-at-one-year.html). <img alt="tada" class="emoji" title=":tada:" src="https://cdn.discourse.org/business/images/emoji/emoji_one/tada.png?v=0"><img alt="balloon" class="emoji" title=":balloon:" src="https://cdn.discourse.org/business/images/emoji/emoji_one/balloon.png?v=0">
|
|
* [Let's build a web server in Rust](https://dfockler.github.io/2016/05/20/web-server.html).
|
|
* [Creating a basic webservice in Rust](http://hermanradtke.com/2016/05/16/creating-a-basic-webservice-in-rust.html).
|
|
* [Writing GStreamer plugins and elements in Rust](https://coaxion.net/blog/2016/05/writing-gstreamer-plugins-and-elements-in-rust/).
|
|
* [Writing a compiler plugin to instrument code](https://llogiq.github.io/2016/05/17/flamer.html).
|
|
* [Our polyglot approach: Getting started with Rust](https://tech.zalando.de/blog/getting-started-with-rust/).
|
|
* [This week in Rust docs 4](https://guillaumegomez.github.io/this-week-in-rust-docs/blog/this-week-in-rust-docs-4).
|
|
* [This week in Parity 1](https://ethcore.github.io/twip/2016-05-17.html).
|
|
* [This week in RustFest 1: Introduction](http://www.rustfest.eu/blog/this-week-in-rustfest-1).
|
|
* [This week in Ruma 2016-05-22](https://www.ruma.io/news/this-week-in-ruma-2016-05-22/).
|
|
* [Plushie Rustacean pattern](http://edunham.net/2016/04/11/plushie_rustacean_pattern.html). Sew your own plush Rustacean toy!
|
|
|
|
## New Crates & Project Updates
|
|
|
|
* [Systemd Manager](https://github.com/mmstick/systemd-manager). A systemd service manager written in Rust with the GTK-rs wrapper and direct integration with dbus.
|
|
* [FLAME](https://github.com/tyoverby/flame). A flamegraph profiling tool for Rust.
|
|
* [Jobsteal](https://github.com/rphmeier/jobsteal). A work-stealing fork-join threadpool written in Rust.
|
|
* [pest](https://github.com/dragostis/pest). Simple, efficient parser generator.
|
|
|
|
# Crate of the Week
|
|
|
|
This weeks Crate of the Week is [parking_lot](https://crates.io/crates/parking_lot) which gives us synchronization primitives (Mutex, RWLock, CondVar and friends) that are both smaller and faster than the standard library's implementations.
|
|
|
|
[Submit your suggestions for next week][submit_crate]!
|
|
|
|
[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704
|
|
|
|
# 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: Participate in 2016 State of Rust Survey](http://blog.rust-lang.org/2016/05/09/survey.html).
|
|
* [easy] [redox: Participate in Redox Survey](http://goo.gl/forms/RUOfIsxXsv).
|
|
* [easy] [clippy: Participate in Rust Clippy Survey](https://docs.google.com/forms/d/1k0wuWgGwDhuUL3q_cONGVxQ6PJSYq5JRZOHKc0itLbg/viewform?c=0&w=1).
|
|
* [easy] [rust: Add error explanations for all error codes](https://github.com/rust-lang/rust/issues/32777).
|
|
* [medium] [rustup: Make `rustup default x86_64-unknown-linux-gnu` do something smarter](https://github.com/rust-lang-nursery/rustup.rs/issues/411).
|
|
* [easy] [servo: Add icon to Servo on Windows](https://github.com/servo/servo/issues/11315).
|
|
|
|
If you are a Rust project owner and are looking for contributors, please submit tasks [here][guidelines].
|
|
|
|
[guidelines]: https://users.rust-lang.org/t/twir-call-for-participation/4821
|
|
|
|
# Updates from Rust Core
|
|
|
|
117 pull requests were [merged in the last two weeks][merged].
|
|
|
|
[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2016-05-16..2016-05-23
|
|
|
|
* [macro expression spans fixed](https://github.com/rust-lang/rust/pull/33712)
|
|
* [`#[rustc_on_unimplemented = _]` now does fuzzy matching](https://github.com/rust-lang/rust/pull/33694)
|
|
* [fixes for old error style, improvements for new](https://github.com/rust-lang/rust/pull/33688)
|
|
* [more new-style error reporting improvements](https://github.com/rust-lang/rust/pull/33619)
|
|
* [Macro expansion diagnostics improvements](https://github.com/rust-lang/rust/pull/33730)
|
|
* [`hir::Ident`](https://github.com/rust-lang/rust/pull/33654) and [`ExplicitSelf`](https://github.com/rust-lang/rust/pull/33505) removed (requires lint writers to rustup)
|
|
* [new crate type `cdylib`](https://github.com/rust-lang/rust/pull/33553) (for lean libs to embed in C)
|
|
* [replace obligation forest with graph](https://github.com/rust-lang/rust/pull/33491)
|
|
* [incremental compilation: Track deps across crates](https://github.com/rust-lang/rust/pull/33476)
|
|
* [float parsing fixed on x87](https://github.com/rust-lang/rust/pull/33429)
|
|
* [`HashMap::new()` speedups via thread-local storage](https://github.com/rust-lang/rust/pull/33318)
|
|
* [extended warning for unsoundness with elided associated type lifetimes](https://github.com/rust-lang/rust/pull/33137)
|
|
* [`EscapeUnicode::last()` and other specializations](https://github.com/rust-lang/rust/pull/33103)
|
|
* [Backport an unsoundness fix in libbacktrace](https://github.com/rust-lang/rust/pull/33729)
|
|
|
|
## New Contributors
|
|
|
|
* Daniel Campoverde [alx741]
|
|
* mark-summerfield
|
|
* Postmodern
|
|
* Rémy Rakic
|
|
* Robert Habermeier
|
|
* Val Vanderschaegen
|
|
|
|
## Approved RFCs
|
|
|
|
Changes to Rust follow the Rust [RFC (request for comments)
|
|
process](https://github.com/rust-lang/rfcs#rust-rfcs). These
|
|
are the RFCs that were approved for implementation this week:
|
|
|
|
*No RFCs were approved this week.*
|
|
|
|
## Final Comment Period
|
|
|
|
Every week [the team](https://www.rust-lang.org/team.html) announces the
|
|
'final comment period' for RFCs and key PRs which are reaching a
|
|
decision. Express your opinions now. [This week's FCPs][fcp] are:
|
|
|
|
[fcp]: https://github.com/rust-lang/rfcs/labels/final-comment-period
|
|
|
|
* [Normalization for long error codes explanations](https://github.com/rust-lang/rfcs/pull/1567).
|
|
* [Add a `lifetime` specifier to `macro_rules!`](https://github.com/rust-lang/rfcs/pull/1590/files).
|
|
|
|
## New RFCs
|
|
|
|
* [regex 1.0](https://github.com/rust-lang/rfcs/pull/1620).
|
|
* [Add a compiler flag that emits crate dependencies on a best-effort basis](https://github.com/rust-lang/rfcs/pull/1622).
|
|
* [Omit `'static` lifetimes to reference or generics lifetime values in `static` or `const` declarations](https://github.com/rust-lang/rfcs/pull/1623).
|
|
* [Let a `loop { ... }` expression return a value via `break my_value;`](https://github.com/rust-lang/rfcs/pull/1624).
|
|
* [Specify Rust compatibility of nursery crates](https://github.com/rust-lang/rfcs/pull/1619).
|
|
* [Remove the one-type-only restriction on `format_args!` arguments](https://github.com/rust-lang/rfcs/pull/1618).
|
|
|
|
# Upcoming Events
|
|
|
|
* [5/24. Rust Brisbane Meetup #1](http://www.meetup.com/Rust-Brisbane/events/230676018/).
|
|
* [5/24. Rust Barcelona - Cross compiling for ARM linux targets + accessing the GPIO in a Raspberry Pi](http://www.meetup.com/Rust-Barcelona/events/230638451/).
|
|
* 5/25. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
|
|
* [5/25. Boston Rust Meetup w/ Steve Klabnik and Andrew Gallant](http://www.meetup.com/BostonRust/events/230419544/).
|
|
* [5/26. Tokyo Rust Meetup #5](http://www.meetup.com/Tokyo-Rust-Meetup/events/231018886/).
|
|
* [5/26. Rust DC - Inaugural Meetup](http://www.meetup.com/RustDC/events/227138240/).
|
|
* 6/1. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
|
|
* [6/1. OpenTechSchool Berlin: Rust Hack and Learn](http://www.meetup.com/opentechschool-berlin/).
|
|
* [6/6. Cologne / Germany: Rust Anniversary Meetup - Part II](http://www.meetup.com/de-DE/Rust-Cologne-Bonn/events/231135785/).
|
|
|
|
If you are running a Rust event please add it to the [calendar] to get
|
|
it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian
|
|
Anderson][brson] for access.
|
|
|
|
[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com
|
|
[erickt]: mailto:erick.tryzelaar@gmail.com
|
|
[brson]: mailto:banderson@mozilla.com
|
|
|
|
# fn work(on: RustProject) -> Money
|
|
|
|
*No jobs listed for this week.*
|
|
|
|
*Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!*
|
|
|
|
# Quote of the Week
|
|
|
|
*No quote was selected for QotW.*
|
|
|
|
[Submit your quotes for next week][submit]!
|
|
|
|
[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328
|