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 ``` the 5 stages of loss and rust 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