Title: This Week in Rust 107
Number: 107
Date: 2015-11-30
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

* [Announcing Diesel — A safe, extensible ORM and query builder for Rust](https://medium.com/@sgrif/announcing-diesel-a-safe-extensible-orm-and-query-builder-for-rust-fdf57966a16c).
* [Where are you From::from, And what have you turned Into::into](https://llogiq.github.io/2015/11/27/from-into.html)? When and for what to use `From` and `Into` traits.
* [Experimenting with Rust](https://www.polidea.com/blog/Experimenting_with_Rust/).
* [Language of the month: Rust](https://gergely.imreh.net/blog/2015/11/language-of-the-month-rust/).
* [Macro hygiene in all its guises and variations](http://www.ncameron.org/blog/macro-hygiene-in-all-its-guises-and-variations/).
* [Macro plans, overview](http://www.ncameron.org/blog/macro-plans-overview/). An overview of the changes that Nick plans to propose for the macro system.
* [Parser Combinators: The road to Chomp 0.1](https://m4rw3r.github.io/parser-combinators-road-chomp-0-1/).

## Notable New Crates & Projects

* [Diesel](https://github.com/sgrif/diesel). A safe, extensible ORM and Query Builder for Rust.
* [Chomp](https://github.com/m4rw3r/chomp). Fast parser combinator library for Rust.
* [libkeccak-tiny](https://github.com/debris/tiny-keccak). A tiny implementation of SHA-3, SHAKE, Keccak, and sha3sum in Rust.
* [Waitout](https://github.com/softprops/waitout). Simple interface for tracking and awaiting the completion of multiple asynchounous tasks.

# Updates from Rust Core

69 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-23..2015-11-30

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

[triage]: https://internals.rust-lang.org/t/triage-digest-wed-nov-25-2015/2940
[subteam]: https://github.com/rust-lang/subteams/blob/master/tools/reports/2015-11-23.md

## Notable changes

* [Make unreachable_code lint warn on diverging call arguments as well](https://github.com/rust-lang/rust/pull/30000).
* [Rename `#[deprecated]` to `#[rustc_deprecated]`](https://github.com/rust-lang/rust/pull/29952).
* [Add rustc UX guidelines](https://github.com/rust-lang/rust/pull/29687).
* [Fix various bugs around empty structs and patterns](https://github.com/rust-lang/rust/pull/29383).
* [Update bash-completion](https://github.com/rust-lang/cargo/pull/2176).
* [Add suggestion of similar macro names to `macro undefined` error message](https://github.com/rust-lang/rust/pull/30064).
* [Split `rustc::metadata` to a rustc_metadata crate](https://github.com/rust-lang/rust/pull/30043).
* [Remove `#[staged_api]`](https://github.com/rust-lang/rust/pull/30015).

## New Contributors

* androm3da
* ebadf
* Ivan Stankovic
* Jack Fransham
* Jeffrey Seyfried
* Josh Austin
* Kevin Yeh
* Matthias Bussonnier
* Philipp Matthias Schäfer
* xd1le

## 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 1252: Document and expand the open options](https://github.com/rust-lang/rfcs/pull/1252).

## 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 a `IndexAssign` trait that allows overloading "indexed assignment" expressions like `a[b] = c`](https://github.com/rust-lang/rfcs/pull/1129).
* [Allow eliding more type parameters](https://github.com/rust-lang/rfcs/pull/1196).
* [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).
* [Add an `alias` attribute to `#[link]` and `-l`](https://github.com/rust-lang/rfcs/pull/1296).

## New RFCs

* [Change thread local variables to only accept async-signal-safe types](https://github.com/rust-lang/rfcs/pull/1379).
* [Amend RFC 550 with (expanded) abstract specification rather than algorithm](https://github.com/rust-lang/rfcs/pull/1384).

# Upcoming Events

* [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/).
* [12/8. San Diego Rust Meetup](http://www.meetup.com/San-Diego-Rust/events/226694618/).
* [12/9. RustBerlin Hack and Learn](http://www.meetup.com/Rust-Berlin/).
* [12/11. Rhein-Main Area Rust Meetup](http://www.meetup.com/de/Rust-Rhein-Main/events/226858571/).
* [12/14. Seattle Rust Meetup](https://www.eventbrite.com/e/mozilla-rust-seattle-meetup-tickets-12222326307?aff=erelexporg).

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.
* [Software Engineer - Sensor Development](https://gethired.com/apply/ac642822-b445-4fee-9d44-65827f0381f5) 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 [Chrono](https://github.com/lifthrasiir/rust-chrono), a crate that offers very handy timezone-aware `Duration` and `Date`/`Time` types.

Thanks to [Ygg01](https://users.rust-lang.org/users/Ygg01) for the suggestion. [Submit your suggestions for next week][submit_crate]!

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