Last week, content from http://cmr.github.io/blog/2013/09/30/this-week-in-rust/
-- 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. # What's cooking on master? There were 79 PRs merged this week. ## Breaking changes - `printf!` and `printfln!` have been [removed](https://github.com/mozilla/rust/pull/9550). - `continue` is now a keyword, a [synonym for `loop`](https://github.com/mozilla/rust/pull/9504), preceeding `loop`'s removal (https://github.com/mozilla/rust/issues/9467) - Item visibility is [properly encoded in metadata](https://github.com/mozilla/rust/pull/9432), 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 escpated](https://github.com/mozilla/rust/pull/9335). - `impl Foo for T;` is now [disallowed](https://github.com/mozilla/rust/pull/9336). Use `impl Foo for T {}`. - `@fn` has been [removed from the language](https://github.com/mozilla/rust/pull/9310). Replace it with `@Trait` objects, if you really need `@fn` (you probably don't). - `start` [no longer takes a crate map](https://github.com/mozilla/rust/pull/9301). - Some more keywords have been [reserved](https://github.com/mozilla/rust/pull/9389): `alignof`, `offsetof`, and `sizeof`. ## Everything else - A ton of documentation work was put in this week. The box section of the tutorial has been [rewritten](https://github.com/mozilla/rust/pull/9589), and there's a new [rustpkg tutorial](https://github.com/mozilla/rust/pull/9439) too. The module tutorial saw the file section [extended](https://github.com/mozilla/rust/pull/9398). There was a bunch of module documentation updated/added too. - rustdoc(_ng) also saw a lot of work. It [completely replaced](https://github.com/mozilla/rust/pull/9402) the old rustdoc, as well as seeing a [lot](https://github.com/mozilla/rust/pull/9577) of [fixes](https://github.com/mozilla/rust/pull/9475). Huge thanks to Alex Crichton for all the work with it! - `std::vec` has seen some [nice changes](https://github.com/mozilla/rust/pull/9583) to `connect_vec` and `concat_vec` (they were really awful before). - `rustpkg test` is [implemented](https://github.com/mozilla/rust/pull/9549). - `type_use` has been [removed](https://github.com/mozilla/rust/pull/9538). This did some nasty things and LLVM's `mergefunc` pass will do a better job of the same optimization (once it's enabled). - `with_c_str` is now [optimized](https://github.com/mozilla/rust/pull/9352) to be allocation-free for short vectors. - The logging system, when using the new formatting code (so `debug2` etc) is [allocation-free](https://github.com/mozilla/rust/pull/9261). - `std::rand` has seen some [cleanup](https://github.com/mozilla/rust/pull/9362), in preparation for its overhaul. # Weekly Meeting The [weekly meeting](https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-09-24) discussed a bunch of things, the main things of importance to me being: - `loop` -> `continue` - Allowing nested comments # Announcements - [wxRust](https://github.com/kenz-gelsoft/wxRust) - A binding to the wxWidgets toolkit. - [widmann](http://www.reddit.com/r/rust/comments/1neu74/the_start_of_a_sinatra_clone/) \- A Sinatra clone - [gl-rs](http://www.reddit.com/r/rust/comments/1nab2s/rustdev_opengl_glrs_updated_with_command_line/) has been updated to generate only bindings for a select version / set of extensions. - [Debugging Rust in Eclipse](http://www.reddit.com/r/rust/comments/1n8y5b/debugging_rust_in_eclipse/) \- Michael Woerister's final GSoC post. He did really great work this summer! - [Rust for Rubyists](https://github.com/steveklabnik/rust_for_rubyists) has been open sourced! - The [Claymore](https://code.google.com/p/claymore-game/) 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](https://github.com/JeremyLetang/rustenstein3D/) - a Wolfenstein3D engine - [clio](https://github.com/eevee/clio), a roguelike. This one also slipped under my radar for a while. - [rust-gmp](https://github.com/thestinger/rust-gmp) has been updated for 0.8/master. - [rustdoc_ng](https://github.com/cmr/rustdoc_ng), being merged into mainline, has concluded as a project. - And, of course, the [0.8 release](http://www.reddit.com/r/rust/comments/1n7q8v/08_released/) discussion on reddit. -- This Week, content from http://cmr.github.io/blog/2013/10/06/this-week-in-rust/ --- layout: post title: "This Week in Rust" date: 2013-10-06 18:25 comments: true categories: rust programming this-week-in-rust --- Welcome to another issue of *This Week in Rust*. <!-- more --> # What's cooking on master? Only 63 PRs were merged this week. Currently in the queue is the massive privacy change, the path rewrite, enum descriminant shrinking, a `rand` rework, a lock-free scheduler message queue, and libuv signal bindings. ## Breaking Changes - `float` has been [removed from the language](https://github.com/mozilla/rust/pull/9519). - `loop` has been [removed](https://github.com/mozilla/rust/pull/9665). The transition to `continue` is complete. - A macro ignoring tokens now [throws an error](https://github.com/mozilla/rust/pull/9673) rather than silently ignoring it. - `IntConvertible` has been [replaced](https://github.com/mozilla/rust/pull/9250) with `ToPrimitive` and `FromPrimitive`. This also heralds the ability to derive to/from int methods on enums. ## Everything Else - `rustpkg` can [fetch remote packages again](https://github.com/mozilla/rust/pull/9741). - A bunch of unsafe code surrounding logging [has been remove](https://github.com/mozilla/rust/pull/9593). - A bunch of work was done to make more things immediate. A [bugfix](https://github.com/mozilla/rust/pull/9643), [small tuples](https://github.com/mozilla/rust/pull/9656), [small enums](https://github.com/mozilla/rust/pull/9677), and [unit/C-like enums](https://github.com/mozilla/rust/pull/9699). - A bunch of work went into decreasing our memory usage. The massive spike at the beginning [has been fixed](https://github.com/mozilla/rust/pull/9612). The tcx (type context, holds the result of *all* compiler analysis) is also free'd before translation now, reducing memory usage by a good [500+ MB](https://github.com/mozilla/rust/pull/9686). Another cache during constant evaluation [reduces memory usage by 200MB](https://github.com/mozilla/rust/pull/9722). - We're now [bundling our dependencies](https://github.com/mozilla/rust/pull/9662) on Windows, making it easier to bootstrap and to setup a working Rust environment. - All of the really old obsolete syntax checkers [have been removed](https://github.com/mozilla/rust/pull/9712). - Hyperlinking between crates is [now reimplemented](https://github.com/mozilla/rust/pull/9691) in rustdoc. - Gearing up for its removal, [all `fmt!` usage in the compiler has been removed](https://github.com/mozilla/rust/pull/9599). # Weekly Meeting The [weekly meeting](https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-10-01) discussed a bunch of proposed changes, including rustpkg submodules, removing float (which has already happened), raw string literals (which have a patch almost finished), and the changes to the Option API. # Announcements - [ncurses-rs](https://github.com/jeaye/ncurses-rs) - a safe wrapper that keeps the same ncurses interface you know and "love", but more rustic. - [The Rusticon](https://github.com/mozilla/rust/wiki/The%20Rusticon) - A living glossary of Rust terms. - [A production use of Rust!](http://www.reddit.com/r/rust/comments/1nqzth/zeromq_helping_us_block_malicious_domains_in_real/) - [Understanding the Servo Strategy](http://www.reddit.com/r/rust/comments/1ntnvf/understanding_the_servo_strategy/) \- The Servo presentation given at the various Mozilla Summits - [Dynamic Typing implemented as a library](http://www.reddit.com/r/rust/comments/1nmarr/dynamic_typing_implemented_as_library_code/) \- a pretty cool use of our reflection. - [Running Rust Tests on Travis CI](http://www.reddit.com/r/rust/comments/1ni84a/running_rust_tests_on_travis_ci/). - [Rust bindings for FUSE](http://www.reddit.com/r/rust/comments/1ngqgr/rust_bindings_for_fuse_filesystem_in_userspace/) # Meetups Haven't had a meetup section in a long time, but two are forming! - [Francisco Bay Area](http://www.meetup.com/Rust-Bay-Area/) - [Rust Skåne (Lund, Sweden)](http://www.meetup.com/rust-skane/) _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
