Title: This Week in Rust 110 Number: 110 Date: 2015-12-21 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 * [What one must understand to be productive with Rust](https://medium.com/@ericdreichert/what-one-must-understand-to-be-productive-with-rust-e9e472116728). * [Rayon: Data parallelism in Rust](http://smallcultfollowing.com/babysteps/blog/2015/12/18/rayon-data-parallelism-in-rust/). * [Programming with Rust](http://hackaday.com/2015/12/18/programming-with-rust/). Rust for hardware hackers. * [Rendering an animation in Rust](http://www.willusher.io/2015/12/16/rendering-an-animation-in-rust/). * [Procedural macros, framework](http://www.ncameron.org/blog/procedural-macros-framework/). Nick's continued efforts for a better macro system in Rust. * [Differential geometry in Rust](http://ebvalaim.mydevil.net/en/2015/12/18/differential-geometry-in-rust/). * [Adding community-driven Wayland support to Servo](http://blogs.s-osg.org/community-driven-wayland-support-servo/). * [Surfaces and signatures: Component privacy versus dependence](http://blog.pnkfx.org/blog/2015/12/19/signatures-and-surfaces-thoughts-on-privacy-versus-dependency/). * [This week in Redox OS 9](http://www.redox-os.org/news/this-week-in-redox-9/). ## Notable New Crates & Project Updates * [rustfmt](https://github.com/rust-lang-nursery/rustfmt) now comes with a Cargo subcommand `fmt`. * [Rayon](https://github.com/nikomatsakis/rayon). A data parallelism library for Rust. * [Ruplicity](https://github.com/mbrt/ruplicity). Rust library managing duplicity backups. * [Floki](https://github.com/arthurprs/floki). A message queue in Rust, inspired by Apache Kafka and Amazon SQS. * [rustlearn](https://github.com/maciejkula/rustlearn). A machine learning package for Rust. * [Corange-rs](https://github.com/lucidscape/corange-rs). Rust bindings for the Corange game engine. # Updates from Rust Core 109 pull requests were [merged in the last week][merged]. [merged]: https://github.com/issues?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2015-12-14..2015-12-21 See the [triage digest][triage] and [subteam reports][subteam] for more details. [triage]: https://internals.rust-lang.org/t/triage-digest-mon-dec-21-2015/3021 [subteam]: https://internals.rust-lang.org/t/subteam-reports-2015-12-21/3020 ## Notable changes * [`memchr` and `memrchr` in std](https://github.com/rust-lang/rust/pull/30381). * [privacy: Rewrite VisiblePrivateTypesVisitor](https://github.com/rust-lang/rust/pull/29973). * [Book: First draft of primitive types](https://github.com/rust-lang/book/pull/34). * [Book: New chapter: Comments](https://github.com/rust-lang/book/pull/32). * [Book: New chapter: Functions](https://github.com/rust-lang/book/pull/31). * [Make RFC 1214 warnings into errors](https://github.com/rust-lang/rust/pull/30389). [RFC 1214](https://github.com/rust-lang/rfcs/blob/master/text/1214-projections-lifetimes-and-wf.md): Clarify (and improve) rules for projections and well-formedness. * [Better support for `--llvm-root`](https://github.com/rust-lang/rust/pull/27937). * [Ensure borrows of fn/closure params do not outlive invocations](https://github.com/rust-lang/rust/pull/30341). * [Make name resolution errors non-fatal](https://github.com/rust-lang/rust/pull/30320). * [Move built-in syntax extensions to a separate crate](https://github.com/rust-lang/rust/pull/30300). * [Implement `#[deprecated]` attribute (RFC 1270)](https://github.com/rust-lang/rust/pull/30206). * [Partially implement type ascription](https://github.com/rust-lang/rust/pull/30184). ## New Contributors * Ed Clarke * faineance * fbergr * Shiney * Steve Wooster * Zach Reizner ## 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 1328: Allow a custom panic handler](https://github.com/rust-lang/rfcs/pull/1328). * [Amend RFC 550 with (expanded) abstract specification rather than algorithm](https://github.com/rust-lang/rfcs/pull/1384). ## 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 * [Improve Cargo target-specific dependencies](https://github.com/rust-lang/rfcs/pull/1361). * [Add a `IndexAssign` trait that allows overloading "indexed assignment" expressions like `a[b] = c`](https://github.com/rust-lang/rfcs/pull/1129). * [Allow eliding more type parameters](https://github.com/rust-lang/rfcs/pull/1196). * [Add an `alias` attribute to `#[link]` and `-l`](https://github.com/rust-lang/rfcs/pull/1296). ## New RFCs * [Generalize the delayed resolution of language items to arbitrary items](https://github.com/rust-lang/rfcs/pull/1408). * [Add a `noalias` language item](https://github.com/rust-lang/rfcs/pull/1410). * [Add Rvalue-static-promotion](https://github.com/rust-lang/rfcs/pull/1414). * [Deprecate type aliases in `std::os::*::raw`](https://github.com/rust-lang/rfcs/pull/1415). * [Safe `memcpy`, `memset` for slices `([T]::{ copy_from, fill })`](https://github.com/rust-lang/rfcs/pull/1419). * [pub(restricted) item](https://github.com/rust-lang/rfcs/pull/1422). Expand the current `pub`/non-`pub` categorization of items with the ability to say "make this item visible *solely* to a (named) module tree. # Upcoming Events *No upcoming events for next two weeks.* 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 * [Technical Lead/Manager](https://ebip.co.uk/careers) at EBI Portfolios. * [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. * [Multiple positions](http://rust.jobboard.io/employers/6824-ironnet-cybersecurity) 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 [clippy](https://github.com/Manishearth/rust-clippy), a collection of lints for better Rust code. Alas, being a plugin, it only runs on nightly Rust, but that's easy to do with [multirust](https://github.com/brson/multirust). Thanks to [leodasvacas](https://users.rust-lang.org/users/leodasvacas) for the suggestion. [Submit your suggestions for next week][submit_crate]! [submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704 # Quote of the Week > Do or do not. There is a try! — Jonathan Turner in a [blog post](http://www.jonathanturner.org/2015/11/learning-to-try-things-in-rust.html). Thanks to [Vikrant](https://users.rust-lang.org/users/nasa42) for the tip. [Submit your quotes for next week][submit]! [submit]: http://users.rust-lang.org/t/twir-quote-of-the-week/328