summaryrefslogtreecommitdiffstats
path: root/content/2015-11-23-this-week-in-rust.md
blob: 2af1db450616b8036e5dbe79c7276f570fb773da (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
134
135
136
137
138
139
140
141
142
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