summaryrefslogtreecommitdiffstats
path: root/content/2015-11-30-this-week-in-rust.md
blob: 7752adcca283b71cadaf27296e0318d7b82555e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
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