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/2013-06-29-this-week-in-rust.markdown |
Initial commit
Diffstat (limited to 'content/2013-06-29-this-week-in-rust.markdown')
-rw-r--r-- | content/2013-06-29-this-week-in-rust.markdown | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/content/2013-06-29-this-week-in-rust.markdown b/content/2013-06-29-this-week-in-rust.markdown new file mode 100644 index 0000000..9d3dccf --- /dev/null +++ b/content/2013-06-29-this-week-in-rust.markdown @@ -0,0 +1,107 @@ +Title: This Week in Rust 4 +Date: 2013-06-29 12:26 +Category: This Week in Rust + +Hello and welcome to the fourth issue of *This Week in Rust*, a weekly overview of Rust and its community. + +`0.7` is being cut soon (today, I think). There are preliminary release notes [on +GitHub](https://github.com/mozilla/rust/blob/master/RELEASES.txt). The tree has been quite calm, with regards to +breakage. Cycle time is still high, but at least when things land they don't break master. + +<!-- more --> + +# What's cooking on master? + +Issue churn this week was -1. Yay! Issue churn this month was -47. 61 people pushed 1,080 commits, changing 2,117 files +and adding a total of 53347 lines. The top 10 committers were pcwalton, brson, dbaupp, strcat, bblum, nmatsakis, +acricto, Blei, me (cmr), and aatch. + +Much of the work this week was cleanup or rebases of older PRs that just hadn't made it in yet. + +## Notable additions, bugfixes, and cleanup + +- Eridius has finished (I think!) the last bit of UNIX [terminal support](https://github.com/mozilla/rust/pull/7436), + adding fallback and smarter detection. It should work in 8-color terminals now too. +- pcwalton [rewrote each_path](https://github.com/mozilla/rust/pull/7451), with the goal of future performance + enhancements. +- tjc has done a [bunch](https://github.com/mozilla/rust/pull/7397) of + [rustpkg](https://github.com/mozilla/rust/pull/7403) work. +- aatch did some [trans cleanup](https://github.com/mozilla/rust/pull/7272). +- gifnksm added [`max_by` and `min_by`](https://github.com/mozilla/rust/pull/7414) methods to `IteratorUtil` for getting + the largest/smallest value in an iterator given a score function. +- brson got a fix that [releases large stacks](https://github.com/mozilla/rust/pull/7111) after they are used to lower + memory usage. +- mw has a bunch of [debuginfo](https://github.com/mozilla/rust/pull/7432) work, as well as [docs and + cleanup](https://github.com/mozilla/rust/pull/7255). +- Blei did an [intrinsic overhaul](https://github.com/mozilla/rust/pull/7254). +- acrichto implemented [`static mut`](https://github.com/mozilla/rust/pull/7291), for globals. Using them requires + unsafe code. +- DaGenix [cleaned up and extended](https://github.com/mozilla/rust/pull/7207) the SHA code. +- acrichto renamed `.rc` files to `.rs`. `.rc` is deprecated and functionally equivalent to `.rs`, all new code should + use it. He also [added](https://github.com/mozilla/rust/pull/7371) a `warnings` lint attribute for enabling/disabling + warnings in bulk. +- indutny added [`mman` (including `mmap`)](https://github.com/mozilla/rust/pull/7257) FFI. +- dbaupp found a [curious performance win](https://github.com/mozilla/rust/pull/7297) by changing some ordering around, + while also enabling conditionally defined macros and macro expansion to items with `#[cfg]` attributes. +- Luqman [fixed by-value self](https://github.com/mozilla/rust/pull/7410). +- acrichto expanded the `deriving(ToStr)` code to use `ToStr` on fields rather than using `fmt!("%?", x)`. +- Blei [fixed a lot of problems](https://github.com/mozilla/rust/pull/7214) with owned trait objects (`~Trait`). +- sully has [landed some default method fixes](https://github.com/mozilla/rust/pull/7471) + +## Breaking Changes + +- As usual, [a](https://github.com/mozilla/rust/pull/7274) [bunch](https://github.com/mozilla/rust/pull/7334) + [of](https://github.com/mozilla/rust/pull/7373) [iterator](https://github.com/mozilla/rust/pull/7319) work. +- pcwalton renamed Owned to Send and Const to Freeze, better reflecting their actual semantics. +- He also disallowed `mut` from distributing over bindings. For example, the following code no longer works: `let mut + (a, b) = (c, d)`. +- dbaupp [converted](https://github.com/mozilla/rust/pull/7430) many vector functions to methods. He has a [second + part](https://github.com/mozilla/rust/pull/7487) in line. +- Luqman renamed the `finalize` method in the `Drop` trait to `drop`. + +## Other changes + +bblum did some trait/fn/closure bounds +[here](https://github.com/mozilla/rust/pull/7314) and +[here](https://github.com/mozilla/rust/pull/7354), but I don't really +understand what they do or their significance. He said: + +{% blockquote %} +it changes the way traits/closures and captured data fulfill kind bounds, so +you can restrict or loosen the requirements instead of having the fixed +defaults of "can only capture Send things in ~fn/~Trait" + +one example is that you can add the extra requirement of Freeze, so you can +put existential data inside of ARCs + +see https://github.com/mozilla/rust/blob/master/src/test/run-pass/trait-bounds-in-arc.rs + +http://smallcultfollowing.com/babysteps/blog/2013/06/11/data-parallelism-in-rust/ +is another, more complicated but less contrived, example for how they would be +useful +{% endblockquote %} + +# Meetings + +The [Tuesday meeting](https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-06-25) +mainly discussed `@mut` and iterators, as well as some minor 0.7 releng stuff. +I suggest reading the `@mut` discussion yourself, but essentially it revolves +around it not quite fitting into the language, and that it could be easily +punted to a library. The iterator discussion was not notable. + +# Discussion + Blog posts + +- [New container/iterator tutorial](http://static.rust-lang.org/doc/tutorial-container.html) +- ["Language support for external iterators"](http://thread.gmane.org/gmane.comp.lang.rust.devel/4528) +- ["Rust gets a lot of things right"](http://spin.atomicobject.com/2013/06/25/rust-language/) +- ["Planning a project in rust?"](http://www.reddit.com/r/rust/comments/1ha3yi/planning_a_project_in_rust/) +- ["Memory layout of types"](https://mail.mozilla.org/pipermail/rust-dev/2013-June/004572.html) +- [mw's second status report](http://michaelwoerister.github.io/2013/06/28/Status-Update-2.html) + +# External projects + +- QuickCheck for Rust. + - [GitHub](https://github.com/blake2-ppc/qc.rs) + - [Reddit discussion](http://www.reddit.com/r/rust/comments/1h0217/mockup_of_quickcheck/) +- RustGnuplot ([GitHub](https://github.com/SiegeLord/RustGnuplot)) + |