Title: This Week in Rust 106
Number: 106
Date: 2015-11-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: [nasa42](https://github.com/nasa42), [brson](https://github.com/brson), and [llogiq](https://github.com/llogiq).


# Updates from Rust Community

## News & Blog Posts

* [Rust on AWS Lambda](http://julienblanchard.com/2015/rust-on-aws-lambda/).
* [Async IO for Rust (part II)](https://medium.com/@paulcolomiets/async-io-for-rust-part-ii-33b9a7274e67).
* [GC and Rust Part 0: Garbage collection background](http://blog.pnkfx.org/blog/2015/10/27/gc-and-rust-part-0-how-does-gc-work/).
* [GC and Rust Part 1: Specifying the problem](http://blog.pnkfx.org/blog/2015/11/10/gc-and-rust-part-1-specing-the-problem/).
* [Lessons learned from Rust: The Result Monad in Ruby](http://www.codethatgrows.com/lessons-learned-from-rust-the-result-monad/).
* [Bare Metal Rust 3: Configure your PIC to handle interrupts correctly](http://www.randomhacks.net/2015/11/16/bare-metal-rust-configure-your-pic-interrupts/).
* [`concat_idents!` and macros in ident position](http://ncameron.org/blog/untitledconcat_idents-and-macros-in-ident-position/).
* [This week in Piston](http://blog.piston.rs/2015/11/17/what-is-happening/).
* [This week in Servo 42](http://blog.servo.org/2015/11/16/twis-42/).
* [This week in Redox OS 6](http://www.redox-os.org/news/this-week-in-redox-6/).
* [Russian] [Software render in Rust: Cubic texture](http://reangdblog.blogspot.com/2015/11/software-render-rust.html). ([Translated version](https://translate.google.com/translate?u=http://reangdblog.blogspot.com/2015/11/software-render-rust.html)).

## Notable New Crates & Projects

* [nom 1.0 is released](https://www.clever-cloud.com/blog/engineering/2015/11/16/nom-1-0/).
* [Freepass](https://github.com/myfreeweb/freepass). The free password manager for power users.
* [Barcoders](https://github.com/buntine/barcoders). A barcode encoding library for the Rust programming language.
* [fst](https://github.com/BurntSushi/fst). Fast implementation of ordered sets and maps using finite state machines.
* [Rusty Code](https://github.com/saviorisdead/RustyCode). Advanced language support for the Rust language in Visual Studio Code.
* [Dybuk](https://github.com/Ticki/dybuk). Prettify the ugly Rustc messages (inspired by Elm).
* [Substudy](https://github.com/emk/substudy). Use SRT subtitle files to study foreign languages.

# Updates from Rust Core

99 pull requests were [merged in the last week][merged].

[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-11-16..2015-11-23

See the [triage digest][triage] and [subteam reports][subteam] for more details.

[triage]: https://internals.rust-lang.org/t/triage-digest-wed-nov-18-2015/2916
[subteam]: https://internals.rust-lang.org/t/subteam-reports-2015-11-16/2910

## Notable changes

* [RFC 1288: Add `Instant` and `SystemTime` to `std::time`](https://github.com/rust-lang/rust/pull/29894).
* [Detect confusing unicode characters and show the alternative](https://github.com/rust-lang/rust/pull/29837).
* [Rework stability annotation pass](https://github.com/rust-lang/rust/pull/29083).
* [Report errors at macro definition, not expansion](https://github.com/rust-lang/rust/pull/29828).
* [Rename `ImplItem_::*ImplItem` to `ImplItem_::*`](https://github.com/rust-lang/rust/pull/29766).
* [liballoc: implement `From` for `Box`, `Rc`, `Arc`](https://github.com/rust-lang/rust/pull/29580).
* [Look up macro names as well when suggesting replacements for function resolve error](https://github.com/rust-lang/rust/pull/29968).
* [Ignore malformed environment strings like glibc does](https://github.com/rust-lang/rust/pull/29297).
* [Store items out-of-line in the HIR](https://github.com/rust-lang/rust/pull/29903).
* [Cargo: Make all working directories refer to `Config::cwd()`](https://github.com/rust-lang/cargo/pull/2058).
* [crates.io: Allow per-crate max upload sizes](https://github.com/rust-lang/crates.io/pull/218).

## New Contributors

* Alexander Bulaev
* Ashkan Kiani
* Devon Hollowood
* Doug Goldstein
* Jean Maillard
* Joshua Holmer
* Matthias Kauer
* Ole Krüger
* Ravi Shankar

## 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:

* [RFC 1270: `#[deprecated]` for Everyone](https://github.com/rust-lang/rfcs/pull/1270).
* [RFC 1268: Allow overlapping implementations for marker traits](https://github.com/rust-lang/rfcs/pull/1268).
* [RFC 1288: Improvements to the Time APIs](https://github.com/rust-lang/rfcs/pull/1288).
* [RFC 1300: Define the general semantics of intrinsic functions](https://github.com/rust-lang/rfcs/pull/1300).
* [RFC 1323: Amend `recover` with a `PanicSafe` bound](https://github.com/rust-lang/rfcs/pull/1323).

## Final Comment Period

Every week [the team](https://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/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen

* [Add thread-local custom panic handlers to customize the behavior of thread panics](https://github.com/rust-lang/rfcs/pull/1100).
* [Allow a custom panic handler](https://github.com/rust-lang/rfcs/pull/1328).
* [Document and expand the open options](https://github.com/rust-lang/rfcs/pull/1252).
* [Add an `alias` attribute to `#[link]` and `-l`](https://github.com/rust-lang/rfcs/pull/1296).

## New RFCs

* [Remove some kinds of doc comments](https://github.com/rust-lang/rfcs/pull/1373).

# Upcoming Events

* [11/25. Columbus Rust Society](http://www.meetup.com/columbus-rs/).
* [11/25. RustBerlin Hack and Learn](http://www.meetup.com/Rust-Berlin/).
* [12/1. Rust Sydney Meetup](http://www.meetup.com/Rust-Sydney/events/226832397/).
* [12/2. Boston: Concurrency in Rust Tutorial](http://www.meetup.com/Boston-Rust-Meetup-25317522aNpHwZdw/events/226759437/).

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

* [Research Engineer - Servo](https://careers.mozilla.org/en-US/position/ozy21fwU) at Mozilla.
* [Senior Research Engineer - Rust](https://careers.mozilla.org/en-US/position/o0H41fww) at Mozilla.
* [Open Source Software Engineer](http://maidsafe.net/careers) at MaidSafe.
* [Systems Engineer](https://twitter.com/jarrednicholls/status/664446704410861568) at IronNet Cybersecurity.

*Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!*

# Crate of the Week

This week's Crate of the Week is [nom](https://crates.io/crates/nom), a library of fast zero-copy [parser combinators](https://en.wikipedia.org/wiki/Parser_combinator), which has already been used to create safe, high-performance parsers for a number of formats both binary and textual. nom just reached version 1.0, too, so congratulations for both the major version and the CotW status!

Thanks to Reddit user [gbersac](https://www.reddit.com/user/gbersac) for the [nom-ination](https://www.reddit.com/r/rust/comments/3t10f3/nom_just_reached_10_cleaner_parsers_more_generic/cx2or2m)! [Submit your suggestions for next week][submit_crate]!

[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704
