summaryrefslogtreecommitdiffstats
path: root/content/2015-03-23-this-week-in-rust.md
blob: 42f68d3cda69305b34b1fe0d291a431b7d5fc40b (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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
Title: This Week in Rust 75
Date: 2015-03-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? [Send me 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/wiki/Note-guide-for-new-contributors).

*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust).
If you find any errors or omissions in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls).

# What's cooking on master?

79 pull requests were [merged in the last week][merged], and 9 [RFC PRs][rfcs].

[merged]: https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Amerged+merged%3A2015-03-16..2015-03-23
[rfcs]: https://github.com/rust-lang/rfcs/pulls?q=is%3Apr+is%3Amerged+merged%3A2015-03-16..2015-03-23

Now you can follow breaking changes *[as they happen][BitRust]*!

[BitRust]: http://rawgit.com/mrmonday/bitrust/gh-pages/index.html

# Breaking Changes

* [Fixed-size byte string literals][byte]. [RFC][byte-rfc].
* [allow inherent implementations on primitives, remove some extension traits][impl].
* [Stabilize `std::net`][net].
* [Deprecate range, range_step, count, distributions][range].
* [Stabilize `io::ErrorKind`][err].
* [Remove old_io and old_path from the prelude][old].
* [Require braces when a closure has an explicit return type][close].
* [`RUST_TEST_TASKS` -> `RUST_TEST_THREADS`][test].

[byte]: https://github.com/rust-lang/rust/pull/22838
[byte-rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0339-statically-sized-literals.md
[impl]: https://github.com/rust-lang/rust/pull/23104
[net]: https://github.com/rust-lang/rust/pull/23352
[range]: https://github.com/rust-lang/rust/pull/23347
[err]: https://github.com/rust-lang/rust/pull/23430
[old]: https://github.com/rust-lang/rust/pull/23470
[close]: https://github.com/rust-lang/rust/pull/23475
[test]: https://github.com/rust-lang/rust/pull/23525

# Other Changes

* [Implement `thread::sleep`][sleep].

[sleep]: https://github.com/rust-lang/rust/pull/23330

# New Contributors

* Johannes Oertel
* kjpgit
* Nicholas
* Paul ADENOT
* Sae-bom Kim
* Tero Hänninen

# Approved RFCs

* [RFC 529: Generic conversion traits][conv].
* [RFC 803: Type ascription][asc-approved].
* [RFC 909: Move `std::thread_local` to `std::thread::local`][local].
* [RFC 921: Entry API v3][entry].
* [RFC 940: Disallow hyphens in crate names][hype].
* [RFC 968: Tweak closure return type syntax][close].

[conv]: https://github.com/rust-lang/rfcs/blob/master/text/0529-conversion-traits.md
[asc-approved]: https://github.com/rust-lang/rfcs/blob/master/text/0803-type-ascription.md
[local]: https://github.com/rust-lang/rfcs/blob/master/text/0909-move-thread-local-to-std-thread.md
[entry]: https://github.com/rust-lang/rfcs/blob/master/text/0921-entry_v3.md
[hype]: https://github.com/rust-lang/rfcs/blob/master/text/0940-hyphens-considered-harmful.md
[close]: https://github.com/rust-lang/rfcs/blob/master/text/0968-closure-return-type-syntax.md

# New RFCs

* [Add std::env::concurrency_hint][conc].
* [Deprecate `CharExt::to_{upper,lower}case`][low].
* [Make type ascription expressions lvalues][asc-new].
* [Function pointers reform][fn].
* [Add `AtomicI32` and `AtomicU32`][atom].
* [Allow unstable features in 1.0][unst].

[unst]: https://github.com/rust-lang/rfcs/pull/1007
[atom]: https://github.com/rust-lang/rfcs/pull/1000
[fn]: https://github.com/rust-lang/rfcs/pull/996
[asc-new]: https://github.com/rust-lang/rfcs/pull/987
[low]: https://github.com/rust-lang/rfcs/pull/986
[conc]: https://github.com/rust-lang/rfcs/pull/985

# Notable Links

* [Would Rust have prevented Heartbleed? Another look][heart]. Bascule
  comes to Rust's defense! [/r/rust][heart-r]. [HN][heart-hn].
* [Rust infrastructure can be your infrastructure][inf].
* [Weekly-meetings/2015-03-17][mtg]. Checked overflow and casts; hyphens in crate names.
* [Rust programming language presentation at Sungkyunkwan University, South Korea][sk].
* [What is Rust bad at?][bad]
* Roguelike game architecture in Rust, parts [1][r1], [2][r2], [3][r3].
* [Using Rust from the Unreal engine][unreal].

[unreal]: https://www.reddit.com/r/rust_gamedev/comments/2zw3e1/using_rust_from_the_unreal_engine/
[r3]: http://rsaarelm.github.io/Roguelike-architecture-in-Rust-3/
[r2]: http://rsaarelm.github.io/Roguelike-architecture-in-Rust-2/
[r1]: http://rsaarelm.github.io/Roguelike-architecture-in-Rust-1/
[bad]: https://www.reddit.com/r/rust/comments/2zu3eo/what_is_rust_bad_at/
[sk]: http://www.slideshare.net/jaejukim9/rust-programming-language
[inf]: http://huonw.github.io/blog/2015/03/rust-infrastructure-can-be-your-infrastructure/
[heart]: http://tonyarcieri.com/would-rust-have-prevented-heartbleed-another-look
[heart-r]: https://www.reddit.com/r/rust/comments/2zd797/would_rust_have_prevented_heartbleed_another_look/
[heart-hn]: https://news.ycombinator.com/item?id=9219432
[mtg]: https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2015-03-17.md

# Project Updates

* [gfx_scene]. High-level rendering for [gfx-rs].
* [glium project update, march edition][glium].
* [html5ever project update: one year!][html5ever].
* [capnproto-rust: error handling revisited][cap]. David Renshaw has
  recently modernized Cap'n'Proto's error handling.
* [google-apis-rs] has been relased with bindings for many Google APIs.
* [rust-backtrace]. Klutzy is implementing backtracing in Rust.
* [Playform gets voxel terrain][vox] and [even better voxel terrain][vox2].

[glium]: https://www.reddit.com/r/rust_gamedev/comments/304268/glium_project_update_march_edition/
[gfx-rs]: https://github.com/gfx-rs/gfx-rs
[gfx_scene]: https://www.reddit.com/r/rust_gamedev/comments/2zzxhb/show_rgd_gfx_scene_high_level_rendering_for_gfxrs/
[vox]: https://www.reddit.com/r/rust_gamedev/comments/2zzf8v/wip_playform_gets_voxel_terrain/
[vox2]: https://www.reddit.com/r/rust_gamedev/comments/304s11/improved_soontobe_destructible_voxel_terrain_in/
[google-apis-rs]: https://www.reddit.com/r/rust/comments/300c49/google_apis_for_rust_v010_released_on_cratesio/
[html5ever]: http://mainisusuallyafunction.blogspot.com/2015/03/html5ever-project-update-one-year.html
[cap]: http://dwrensha.github.io/capnproto-rust/2015/03/21/error-handling-revisited.html
[rust-backtrace]: https://github.com/klutzy/rust-backtrace/tree/tmp

# Upcoming Events

* [4/1 Amsterdam Hack Night][am].

[am]: http://www.meetup.com/Rust-Amsterdam/events/220668018/

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

# Quote of the Week

```
<mbrubeck> the 5 stages of loss and rust
<mbrubeck> 1. type check. 2. borrow check. 3. anger. 4. acceptance. 5. rust upgrade
```

Thanks to jdm for the tip. [Submit your quotes for next week!][submit].

[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328