diff options
author | Corey Richardson <corey@octayn.net> | 2014-11-05 17:12:45 -0500 |
---|---|---|
committer | Corey Richardson <corey@octayn.net> | 2014-11-05 17:12:45 -0500 |
commit | b90d2b10b0708aba718b121861d59555c6818295 (patch) | |
tree | c400703ca4f13b34d5ac09099560ebc2f1782f62 /content/2014-03-02-this-week-in-rust.markdown |
Initial commit
Diffstat (limited to 'content/2014-03-02-this-week-in-rust.markdown')
-rw-r--r-- | content/2014-03-02-this-week-in-rust.markdown | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/content/2014-03-02-this-week-in-rust.markdown b/content/2014-03-02-this-week-in-rust.markdown new file mode 100644 index 0000000..540d110 --- /dev/null +++ b/content/2014-03-02-this-week-in-rust.markdown @@ -0,0 +1,170 @@ +Title: This Week in Rust 39 +Date: 2014-03-02 12:43 +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: +safe, concurrent, and fast. 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/mozilla/rust/wiki/Note-guide-for-new-contributors). + +<!-- more --> + +# What's cooking on master? + +83 pull requests were merged this week. + +## Breaking Changes + +- IterBytes and `std::to_bytes` [have been +removed](https://github.com/mozilla/rust/pull/12492). If you were depending on +them for anything non-`Hash` related, look into using `serialize` instead. +- `break` and `continue` [are now hygienic in +macros](https://github.com/mozilla/rust/pull/12338), with respect to labels. +Unfortunately there's a bug in it where [loop labels hide variables of the +same name](https://github.com/mozilla/rust/issues/12512). +- `extern fn` [now always means `extern "C" +fn`](https://github.com/mozilla/rust/pull/12328), rather than being +context-dependent. +- `std::run` [has been removed](https://github.com/mozilla/rust/pull/12380), +and `std::io::process` improved to pick up the slack. +- `#[deriving(ToStr)]` [has been +removed](https://github.com/mozilla/rust/pull/12412) in favor of +`#[deriving(Show)]`. `ToStr` is now implemented over all types which implement +`Show`, as `format!("{}" val)`. +- `flate` [now returns a +`CVec<u8>`](https://github.com/mozilla/rust/pull/12445) rather than a `~[u8]`, +for efficiency. +- `extra::json` [has been +liberated](https://github.com/mozilla/rust/pull/12453) and now lives in +`libserialize`. +- `swap_remove` on vectors [now returns an +`Option`](https://github.com/mozilla/rust/pull/12481). +- A curious bug where bindings in match weren't treated as assignment [has +been fixed](https://github.com/mozilla/rust/pull/12508). See the associated +bug report for examples which this will break. +- Some useless reexports [have been +removed](https://github.com/mozilla/rust/pull/12485) from the prelude. +- The `Bool` trait [has been +removed](https://github.com/mozilla/rust/pull/12473). +- A bug where operator overloads were over-zealous [has been +fixed](https://github.com/mozilla/rust/pull/12493). +- Statics are [no longer allowed to contain anything with +destructors](https://github.com/mozilla/rust/pull/11979). The exact rules are +laid out quite nicely in the PR. +- `collections:List` [has been refactored to use +iterators](https://github.com/mozilla/rust/pull/12348). +- `HashMap` [is now generic over +hashers](https://github.com/mozilla/rust/pull/12544). +- `assert_eq!` [now uses `{}` instead of `{:?}` for the error +message](https://github.com/mozilla/rust/pull/12626). +- Type parameter overrides [are now feature +gated](https://github.com/mozilla/rust/pull/12525). + +## Other Changes + +- Invalid crate handling [is now more +graceful](https://github.com/mozilla/rust/pull/12645). +- `std::io::stdout()` and `stderr()` [are buffered by default +now](https://github.com/mozilla/rust/pull/12630). +- Improper operator overloads [are no longer an +ICE](https://github.com/mozilla/rust/pull/12638). +- There's now a warning for [publicly exposing private types in function +signatures](https://github.com/mozilla/rust/pull/12595). +- `libnative`'s Windows file handling [has been +rewritten](https://github.com/mozilla/rust/pull/12584) and now actually works. +rustc uses libnative by default now. +- Generated binary size [has been brought down a +bit](https://github.com/mozilla/rust/pull/12616). There is much more room for +improvement. +- "Strict Version Hashes" [have been +introduced](https://github.com/mozilla/rust/pull/12533). This is a purely +internal change. The hash is of the crate's public ABI and rustc checks this +when linking crates together, to avoid problems such as "def id drift". + + +## New Contributors + +- Daniel Fagnan +- Felix Crux +- Gary M. Josack +- George Papanikolaou +- Jag Talon +- Johannes Löthberg +- Mickaël Delahaye + +# Weekly Meeting + +The [weekly +meeting](https://github.com/mozilla/rust/wiki/Meeting-weekly-2014-02-25) +discussed TotalEq/TotalOrd, weak extern functions, channel naming, and a brief +discussion on `use` paths being absolute. + +It was announced that a Sam Wright has been contracted to work on the +tutorial, and the Michael Woerister has been contracted to work on debug info. + +# This Week in Servo + +Servo is a web browser engine written in Rust and is one of the primary test +cases for the Rust language. + +This week, we landed 27 PRs. + +## Notable additions + +- Josh Matthews landed the massive changes to remove `@mut` from the DOM types +in preparation for a Rust upgrade in +[#1735](https://github.com/mozilla/servo/pull/1735) +[#1591](https://github.com/mozilla/servo/pull/1591) and +[#1755](https://github.com/mozilla/servo/pull/1755). +- Tetsuharu Ohzeki refactored our commandline options out of the rendering +crate and into a more reasonable place in +[#1738](https://github.com/mozilla/servo/pull/1738). +- Ms2ger simplified our Document implementation in +[#1739](https://github.com/mozilla/servo/pull/1739). +- Patrick Walton removed the need to explicitly create leaf sets during +parallel layout in [#1700](https://github.com/mozilla/servo/pull/1700). +- Harrison Gentry cleaned up some type names in +[#1781](https://github.com/mozilla/servo/pull/1781). +- Keegan McAllister moved fontconfig in-tree on Linux in order to get a +thread-safe implementation in +[#1780](https://github.com/mozilla/servo/pull/1780). +- Saurabh Anand made the DOM parser pass in the correct content types in +[#1775](https://github.com/mozilla/servo/pull/1775). +- tgkokk fixed the bindings generator to no longer produce .pyc files in +[#1735](https://github.com/mozilla/servo/pull/1735). + + +## New contributors +- Saurabh Anand (sawrubh) +- Harrison Gentry (hgentry) +- tgkokk + +## Meetings + +At this week's +[meeting](https://github.com/mozilla/servo/wiki/Meeting-2014-02-24), we +discussed embedding, the JSManaged conversion, a Rust upgrade, vtables, and +recruiting efforts. + +# Announcements, etc + +- [RFC: Opt-in Builtin +Traits](http://smallcultfollowing.com/babysteps/blog/2014/02/28/rust-rfc-opt-in-builtin-traits/) +- [Structural single-inheritance +counter-proposal](https://github.com/mozilla/rust/issues/9912#issuecomment-36073562) +- [RFC: Stronger Guarantees for Mutable +Borrows](http://smallcultfollowing.com/babysteps/blog/2014/02/25/rust-rfc-stronger-guarantees-for-mutable-borrows/) +- [Dark](https://github.com/kvark/dark), an experimental universal data +compressor based on the BWT-DC scheme +- [cargo-lite +v1.1.0 release](https://mail.mozilla.org/pipermail/rust-dev/2014-March/008832.html) +- [Revamped parallel layout in +servo](http://pcwalton.github.io/blog/2014/02/25/revamped-parallel-layout-in-servo/) +- [February Bay Area Rust +Recording](https://air.mozilla.org/rust-meetup-february-2014/) +- [A bloom filter implementation](https://github.com/brianmadden/rust-bloom-filter) +- [A tweening library](https://github.com/hoeppnertill/redox-tween) |