Skip to content

Commit de9151d

Browse files
committed
Merge pull request #125 from webstream-io/release-next
TWiR Release 97 (21 September 2015).
2 parents 102067d + 0d14585 commit de9151d

File tree

1 file changed

+139
-0
lines changed

1 file changed

+139
-0
lines changed
+139
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
Title: This Week in Rust 97
2+
Number: 97
3+
Date: 2015-09-21
4+
Category: This Week in Rust
5+
6+
Hello and welcome to another issue of *This Week in Rust*!
7+
[Rust](http://rust-lang.org) is a systems language pursuing the trifecta:
8+
safety, concurrency, and speed. This is a weekly summary of its progress and
9+
community. Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us an
10+
email](mailto:[email protected]?subject=This%20Week%20in%20Rust%20Suggestion)!
11+
Want to get involved? [We love
12+
contributions](https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors).
13+
14+
*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust).
15+
If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls).
16+
17+
This week's edition was edited by: [nasa42](https://github.com/nasa42) and [llogiq](https://github.com/llogiq).
18+
19+
20+
# Updates from Rust Community
21+
22+
## News & Blog Posts
23+
24+
* <img alt="balloon" class="emoji" title=":balloon:" src="https://cdn.discourse.org/business/images/emoji/emoji_one/balloon.png?v=0"><img alt="tada" class="emoji" title=":tada:" src="https://cdn.discourse.org/business/images/emoji/emoji_one/tada.png?v=0"> [Announcing Rust 1.3](http://blog.rust-lang.org/2015/09/17/Rust-1.3.html). <img alt="tada" class="emoji" title=":tada:" src="https://cdn.discourse.org/business/images/emoji/emoji_one/tada.png?v=0"><img alt="balloon" class="emoji" title=":balloon:" src="https://cdn.discourse.org/business/images/emoji/emoji_one/balloon.png?v=0">
25+
* [Asynchronous IO in Rust](https://blog.skcript.com/asynchronous-io-in-rust-36b623e7b965).
26+
* [An introduction to timely dataflow](https://github.com/frankmcsherry/blog/blob/7a1174e80134c8ce5338d5c62864a2aae835da04/posts/2015-09-14.md). Dataflow computational model written in Rust.
27+
* [An introduction to timely dataflow, part 2.](https://github.com/frankmcsherry/blog/blob/master/posts/2015-09-18.md). Writing super-powerful operators that do whatever you want to the streams.
28+
* [A Pythonista's irresistible attraction to Rust](http://hardcoded.net/articles/pythonistas-irresistible-attraction-rust).
29+
* [Python Modules in Rust](https://ehiggs.github.io/2015/07/Python-Modules-In-Rust/).
30+
* [Fine-grained timing and energy profiling in Servo](http://blog.servo.org/2015/09/11/timing-energy/).
31+
* [Seeking Compilation-Independent Type IDs in Rust](http://davidlegare.ghost.io/seeking-compilation-independent-type-ids-in-rust/).
32+
* [Running Rust code on the 3DS 2: Electric Boogaloo](http://www.idolagames.com/running-rust-code-on-the-3ds-2-electric-boogaloo/).
33+
* [Specialize to reuse](https://aturon.github.io/blog/2015/09/18/reuse/). [Specialization](https://github.com/rust-lang/rfcs/pull/1210) supports clean, inheritance-like patterns out of the box. This post explains how, and discusses the interaction with the “virtual structs” saga.
34+
* [Eliminating branches in Rust](http://kamalmarhubi.com/blog/2015/09/15/eliminating-branches-in-rust-for-fun-but-not-much-profit/).
35+
* [Rust and the Monad trait - Not just higher kinded types](https://m4rw3r.github.io/rust-and-monad-trait/).
36+
37+
## Notable New Crates
38+
39+
* [rustlings](https://github.com/carols10cents/rustlings). Small exercises to get you used to reading and writing Rust code. Includes practice reading and responding to compiler messages!
40+
* [LALRPOP - an LR(1) parser generator for Rust](http://smallcultfollowing.com/babysteps/blog/2015/09/14/lalrpop/).
41+
* [Cuprum Pi](https://github.com/cuprumpi/cupi). A GPIO access library written on Rust for the Raspberry Pi.
42+
* [hostblock](https://github.com/cgag/hostblock). Rust cli app for managing sites blocked via the hosts file.
43+
* [Tokei](https://github.com/Aaronepower/tokei). A CLOC (Count Lines Of Code) program, written in Rust.
44+
* [rust.fish](https://github.com/bheesham/rust.fish). Tab completions for `rustc` and `cargo` in fish shell.
45+
* [rust-xdg](https://github.com/whitequark/rust-xdg). A library that makes it easy to follow the X Desktop Group specifications.
46+
47+
# Updates from Rust Core
48+
49+
116 pull requests were [merged in the last week][merged].
50+
51+
[merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-09-14..2015-09-21
52+
53+
## Notable changes
54+
55+
* [Feature-gate `#[no_debug]` and `#[omit_gdb_pretty_printer_section]`](https://github.com/rust-lang/rust/pull/28522).
56+
* [Warn on `pub extern crate`](https://github.com/rust-lang/rust/pull/28486).
57+
* [Remove Visibility field from enum variants](https://github.com/rust-lang/rust/pull/28442).
58+
* [Add a blanket `impl` for `&mut std::fmt::Write`](https://github.com/rust-lang/rust/pull/28368).
59+
* [Implement overload-able augmented/compound assignments, like `a += b` via the `AddAssign` trait](https://github.com/rust-lang/rust/pull/28345).
60+
* [Implement empty structs with braces](https://github.com/rust-lang/rust/pull/28336).
61+
* [Split up lint interface into pre- and post-expansion lints](https://github.com/rust-lang/rust/pull/28349).
62+
63+
## New Contributors
64+
65+
* Bastien Dejean
66+
* Colin Wallace
67+
* David Szotten
68+
* Dongie Agnir
69+
* Michael McConville
70+
* Peter Reid
71+
* whitequark
72+
73+
## Approved RFCs
74+
75+
Changes to Rust follow the Rust [RFC (request for comments)
76+
process](https://github.com/rust-lang/rfcs#rust-rfcs). These
77+
are the RFCs that were approved for implementation this week:
78+
79+
* [1199: Lay the ground work for building powerful SIMD functionality.](https://github.com/rust-lang/rfcs/pull/1199).
80+
* [1224: Update the RFC process with sub-teams, amongst other things.](https://github.com/rust-lang/rfcs/pull/1224).
81+
* [1238: Revise the Drop Check (`dropck`) part of Rust's static analyses](https://github.com/rust-lang/rfcs/pull/1238).
82+
* [1240: References into `repr(packed)` structs should be `unsafe`](https://github.com/rust-lang/rfcs/pull/1240).
83+
84+
## Final Comment Period
85+
86+
Every week [the team](https://rust-lang.org/team.html) announces the
87+
'final comment period' for RFCs and key PRs which are reaching a
88+
decision. Express your opinions now. [This week's FCPs][fcp] are:
89+
90+
[fcp]: https://github.com/issues?utf8=%E2%9C%93&q=is%3Apr+org%3Arust-lang+label%3Afinal-comment-period+is%3Aopen
91+
92+
* [Forbid wildcard dependencies on crates.io](https://github.com/rust-lang/rfcs/pull/1241).
93+
* [Amend #911 const-fn to allow unsafe const functions](https://github.com/rust-lang/rfcs/pull/1245).
94+
* [Place left arrow syntax (`place <- expr`)](https://github.com/rust-lang/rfcs/pull/1228).
95+
96+
## New RFCs
97+
98+
* [Machine-readable output of tests](https://github.com/rust-lang/rfcs/pull/1284).
99+
* [Improvements to the Time APIs](https://github.com/rust-lang/rfcs/pull/1288).
100+
101+
# Upcoming Events
102+
103+
* [9/23. Columbus Rust Society](http://www.meetup.com/columbus-rs/).
104+
* [9/25. Rust Wellington](http://www.meetup.com/Wellington-Rust-Meetup/events/225362848/).
105+
* [9/28. Rust Sydney Meetup](http://www.meetup.com/Rust-Sydney/events/225175121/).
106+
* 9/30. RustBerlin Hack and Learn.
107+
* [10/1. Rust Meetup Hamburg: Rusty Project Presentations](http://www.meetup.com/Rust-Meetup-Hamburg/events/225391520/).
108+
109+
If you are running a Rust event please add it to the [calendar] to get
110+
it mentioned here. Email [Erick Tryzelaar][erickt] or [Brian
111+
Anderson][brson] for access.
112+
113+
[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com
114+
[erickt]: mailto:[email protected]
115+
[brson]: mailto:[email protected]
116+
117+
# fn work(on: RustProject) -> Money
118+
119+
*No jobs listed for this week. Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!*
120+
121+
# Crate of the Week
122+
123+
This is a new part of this weekly installation, where we will write about a crate that some of you may not know.
124+
Please nominate a crate of your choice at the [rust-users thread](https://users.rust-lang.org/t/crate-of-the-week/2704/15) so we can write about it next week.
125+
126+
This week, Crate of the Week is **[lazy_static](https://crates.io/crates/lazy_static)**. Thanks go to [stebalien](https://users.rust-lang.org/users/stebalien) for the suggestion.
127+
128+
This week's Crate of the Week does something some won't know is possible, and does it in a natural way. You know how in some languages you have to run through hoops to correctly lazily instantiate stuff? Not in Rust, for thanks to the [lazy_static](https://crates.io/crates/lazy_static) crate you just put your static values inside a `lazy_static! { ... }` block, pay a modest runtime cost on lookup and be done.
129+
130+
Btw, this aligns very well with the C++ adage *"... and what you pay for, you couldn't have written any better"*.
131+
132+
# Quote of the Week
133+
134+
*Transmute is taking a dog, sawing its front legs off, gluing on a pair of buffalo wings and telling it it's a duck so it damn well better start quacking
135+
You should not be surprised when you end up with a pile of gore and a dead dog instead of an actual duck :-P* — Quxxy
136+
137+
Thanks to [Ms2ger](https://users.rust-lang.org/users/Ms2ger) for the tip. [Submit your quotes for next week!][submit].
138+
139+
[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328

0 commit comments

Comments
 (0)