Title: This Week in Rust 17 Date: 2013-09-30 13:11 Category: This Week in Rust Tags: rust, programming
Welcome to another issue of This Week in Rust! This week saw the release of
0.8, the removal of @fn, and a bunch of other changes. The tutorial has been
updated significantly, surrounding pointers and boxes, so you should re-read
those sections if you're still feeling shaky on when you should use which.
There were 79 PRs merged this week.
printf!andprintfln!have been removed.continueis now a keyword, a synonym forloop, preceedingloop's removal (rust-lang/rust#9467)- Item visibility is properly encoded in metadata, so code which used private items that may have worked before is now rejected.
- Char literals which should have been escaped are now rejected when they aren't escaped.
impl Foo for T;is now disallowed. Useimpl Foo for T {}.@fnhas been removed from the language. Replace it with@Traitobjects, if you really need@fn(you probably don't).startno longer takes a crate map.- Some more keywords have been
reserved:
alignof,offsetof, andsizeof.
- A ton of documentation work was put in this week. The box section of the tutorial has been rewritten, and there's a new rustpkg tutorial too. The module tutorial saw the file section extended. There was a bunch of module documentation updated/added too.
- rustdoc(_ng) also saw a lot of work. It completely replaced the old rustdoc, as well as seeing a lot of fixes. Huge thanks to Alex Crichton for all the work with it!
std::vechas seen some nice changes toconnect_vecandconcat_vec(they were really awful before).rustpkg testis implemented.type_usehas been removed. This did some nasty things and LLVM'smergefuncpass will do a better job of the same optimization (once it's enabled).with_c_stris now optimized to be allocation-free for short vectors.- The logging system, when using the new formatting code (so
debug2etc) is allocation-free. std::randhas seen some cleanup, in preparation for its overhaul.
The weekly meeting discussed a bunch of things, the main things of importance to me being:
loop->continue- Allowing nested comments
- wxRust - A binding to the wxWidgets toolkit.
- widmann - A Sinatra clone
- gl-rs has been updated to generate only bindings for a select version / set of extensions.
- Debugging Rust in Eclipse - Michael Woerister's final GSoC post. He did really great work this summer!
- Rust for Rubyists has been open sourced!
- The Claymore project has just come to my attention. Apparently it has been going on for quite some time. There are some screenshots at http://claymore-dev.blogspot.com/.
- rustenstein3d - a Wolfenstein3D engine
- clio, a roguelike. This one also slipped under my radar for a while.
- rust-gmp has been updated for 0.8/master.
- rustdoc_ng, being merged into mainline, has concluded as a project.
- And, of course, the 0.8 release discussion on reddit.