this-week-in-rust/content/2015-04-27-this-week-in-rus...

135 lines
7.4 KiB
Markdown

Title: This Week in Rust 79
Date: 2015-04-27
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?
119 pull requests were [merged in the last week][merged], and 2 [RFC PRs][rfcs].
[merged]: https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Amerged+merged%3A2015-04-20..2015-04-27
[rfcs]: https://github.com/rust-lang/rfcs/pulls?q=is%3Apr+is%3Amerged+merged%3A2015-04-20..2015-04-27
Now you can follow breaking changes *[as they happen][BitRust2]*!
[BitRust2]: http://killercup.github.io/bitrust/
# Breaking Changes
* [std: Add Default/IntoIterator/ToOwned to the prelude](https://github.com/rust-lang/rust/pull/24541)
* [Enforce the comma after lifetime arguments and before type arguments](https://github.com/rust-lang/rust/pull/24547)
* [Remove more deprecated functionality](https://github.com/rust-lang/rust/pull/24636)
* [Make stability attributes an error](https://github.com/rust-lang/rust/pull/24646)
# Other Changes
* [Deprecate `std::fs::soft_link` in favor of platform-specific versions](https://github.com/rust-lang/rust/pull/24222)
* [Introduce a `FreeRegionMap` to store relations between free regions](https://github.com/rust-lang/rust/pull/24553)
* [implement rfc 1054: split_whitespace() fn, deprecate words()](https://github.com/rust-lang/rust/pull/24563)
* [implement set_tcp_keepalive for linux](https://github.com/rust-lang/rust/pull/24594)
* [Call skolemize_late_bound_regions only after fast rejection](https://github.com/rust-lang/rust/pull/24615). Faster type checking.
# New Contributors
* Andrzej Janik
* Geoffry Song
* Heejong Ahn
* John Van Enk
* Krzysztof Drewniak
* Lee Aronson
* Michael Rosenberg
* Przemysław Wesołek
* Skyler
* tynopex
* Young Wu
# Approved RFCs
* [RFC 1044: Expand the scope of `std::fs`](https://github.com/rust-lang/rfcs/pull/1044)
# New RFCs
* [Scoped threads, take 2](https://github.com/rust-lang/rfcs/pull/1084)
* [Leak and Destructor Guarantees](https://github.com/rust-lang/rfcs/pull/1085)
# Betawatch!
The current beta is `1.0.0-beta.3 (5241bf9c3 2015-04-25)`.
There were 2 PRs this week landing backports to beta.
* [24708](https://github.com/rust-lang/rust/pull/24708).
* [24814](https://github.com/rust-lang/rust/pull/24814).
# Notable Links
* [Rust once, run everywhere](http://blog.rust-lang.org/2015/04/24/Rust-Once-Run-Everywhere.html).
* [Pre-Pitting Your Peaches With Rust](http://cglab.ca/~abeinges/blah/everyone-peaches/)
* [Weekly meetings 2015-04-21][mtg]. Servo licensing, iter overflow, float formatting, branching.
* [Core team meeting 2015-04-22](https://github.com/rust-lang/meeting-minutes/blob/master/core-team/meeting-2015-04-22.md). The core team is summarizing their weekly meeting.
* [Let's build a web service and client in Rust](https://github.com/brson/httptest)
* [Regression report beta-2015-04-03 vs. beta-2015-04-24](http://internals.rust-lang.org/t/regression-report-beta-2015-04-03-vs-nightly-2015-04-24/1967/2).
* It will [soon](http://www.reddit.com/r/rust/comments/33boew/weekend_experiment_link_rust_programs_against/) be possibly to [link Rust against MUSL](https://github.com/rust-lang/rust/pull/24777) instead of glibc on Linux in order to make completely self-contained binaries.
* [hlua's stack handling](https://medium.com/@tomaka/hlua-s-stack-handling-6b15ab309b17)
* [Release channels, bit branching, and the release process](http://internals.rust-lang.org/t/release-channels-git-branching-and-the-release-process/1940).
* [Cohort analysis of Rust contributors](http://sanxiyn.blogspot.com/2015/04/cohort-analysis-of-rust-contributors.html)
* [Pros and cons: Rust vs. C++](https://plus.google.com/+nialldouglas/posts/AXFJRSM8u2t)
* [Interactive 2D applications with Carboxyl and Elmesque](http://blog.ebopp.de/blog/2015/04/23/interactive-2d-apps/)
* [Servo: building a high-performance, safe web browser](http://blogs.s-osg.org/servo-adapting-c-to-work-on-the-web/).
* [A map of Rust contributors](https://github.com/jakub-/github-contributors-geojson/blob/master/rust.geojson). Thanks jakub-!
* [Reminder: the trains are running](http://internals.rust-lang.org/t/reminder-the-trains-are-running/1959)
* [My failed attempt to build a digital audio workstation in Rust](http://genesisdaw.org/post/progress-so-far.html)
* [Cross-compiling Rust for Raspberry Pi](https://github.com/Ogeon/rust-on-raspberry-pi)
[mtg]: https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2015-04-21.md
# Project Updates
* [term-painter](http://www.reddit.com/r/rust/comments/32pgci/my_first_crate_easy_coloring_of_the_terminal/). Library for coloring and formatting terminal output, from Lukas Kalbertodt.
* [elmesque](http://www.reddit.com/r/rust/comments/339876/elmesque_elms_std_graphics_modules_ported_to_rust/). A graphics library based on Elm's.
* kvark [posted a new screenshot](https://www.reddit.com/r/rust_gamedev/comments/33w4ny/claymore_grid_screenshot_just_to_break_the_silence/) of his game, Claymore.
* tomaka released a [terminal backend for Glutin](https://www.reddit.com/r/rust_gamedev/comments/33xe2x/libcaca_backend_for_glutin/), based on [libcaca](http://r.duckduckgo.com/l/?kh=-1&uddg=http%3A%2F%2Fcaca.zoy.org%2Fwiki%2Flibcaca).
* ivanceras posted a new [screenshot](https://www.reddit.com/r/rust_gamedev/comments/3406qe/update_here_is_a_quick_cellshading_effect_on_my/) of his voxel renderer, [balisong](https://github.com/ivanceras/balisong).
* [rust-dispatch](https://github.com/SSheldon/rust-dispatch). Bindings to [Grand Central Dispatch](https://en.wikipedia.org/wiki/Grand_Central_Dispatch)
* [rustc noodling for code completion](http://phildawes.net/blog/2015/04/21/racer-rustc/). An update on code completion in [Racer](https://github.com/phildawes/racer).
* [This Week in Servo 31](http://blog.servo.org/2015/04/23/twis-31/)
* [RustDT IDE 0.2.0 released](http://users.rust-lang.org/t/rustdt-0-2-0-released-auto-complete-with-racer/1109)
* [itertools 0.3.0 released](http://bluss.github.io/rust/2015/04/25/releasing-itertools.0.3.0/)
# Upcoming Events
* [April 28. Sydney Hack Night](http://www.meetup.com/Rust-Sydney/events/221993570/)
* [May 5. San Diego](https://sandiego.rs)
* [May 11. Seattle](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
# Quote of the Week
```text
< Ms2ger> And note, unsafe code isn't for violating Rust's invariants, it's for maintaining them manually
```
Ms2ger in #rust.
Thanks to bluss for the tip. [Submit your quotes for next week!][submit].
[submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328