great work

2013/12/1 Corey Richardson <[email protected]>

> Welcome to another issue of *This Week in Rust*, a weekly newsletter
> summarizing Rust's progress and community activity. As always, if you have
> something you'd like to be featured, just [send me an
> email](mailto:[email protected]?subject=This Week in Rust Suggestion).
>
> Last week was very slow, but this week more than makes up for it I think!
> Static linking landed, and there's been some nice cleanup of error messages
> and various APIs.
>
> # What's cooking on master?
>
> 59 PRs were merged this week.
>
> ## Breaking Changes
>
> - Names of methods creating iterators have [changed
>   drastically](https://github.com/mozilla/rust/pull/10622) to remove the
>   `_iter` suffix. This reflects that iterators are a primary focus of APIs.
>   The PR description has all of the changes summarized.
> - We now have [static linking
>   support](https://github.com/mozilla/rust/pull/10528)! It does, however,
>   involve some changes with how the `link` attribute works. The error
> messages
>   should guide you to the fixes.
> - In preparation for the placement new changes, the `Path` constructor has
>   been [renamed from `new` to
>   `init`](https://github.com/mozilla/rust/pull/10697),.
> - Some overly-permissive borrow checking for `&mut &mut` [has been
>   fixed](https://github.com/mozilla/rust/pull/10519). This is fairly
> obscure,
>   most code shouldn't have hit it.
> - The parser is [more strict](https://github.com/mozilla/rust/pull/10642)
>   about what it accepts as a doc comment. Now, only `///` and `/**`  are
>   counted as introducing doc comments (previously, `////` and `/***` would
>   also introduce a doc comment).
> - `std::{uint, int}::{min, max}` [have been
>   removed](https://github.com/mozilla/rust/pull/10719). They were
> identical to
>   the functions in `std::cmp`, so use those instead.
> - `extra::json` [has been rid of @
>   boxes](https://github.com/mozilla/rust/pull/10727), and now uses
> idiomatic
>   constructor names.
> - The `type_id` intrinsic [now uses a language item as its return
>   value](https://github.com/mozilla/rust/pull/10722).
> - Some [cleanup](https://github.com/mozilla/rust/pull/10662) has been
> done to
>   `std::rt::thread`, which is an interface to native threads (rather than
>   tasks).
> - `do` blocks are [no longer
>   allowed](https://github.com/mozilla/rust/pull/10581) in non-`proc`
> contexts.
>   This means that `do` can not be used with a function whose last argument
> is
>   not a `proc`. A fairly large [thread on the mailing
>   list](
> https://mail.mozilla.org/pipermail/rust-dev/2013-November/006999.html)
>   is ongoing about this change.
> - `LittleLock` now [uses RAII](https://github.com/mozilla/rust/pull/10660
> ).
> - C-like enums are [now represented as an
>   integer](https://github.com/mozilla/rust/pull/10652) rather than a
> struct,
>   at the LLVM level. This affects ABI.
> - Linked failure [has been
>   removed](https://github.com/mozilla/rust/pull/10603) from the runtime.
> - `extra::term` [no longer uses `@mut
>   Writer`](https://github.com/mozilla/rust/pull/10637), instead taking the
>   writer to use by value.
>
> ## Other changes
>
> - `RefCell<T>`, previously known as `Mut<T>`, [has finally
>   landed](https://github.com/mozilla/rust/pull/10514), for all your
> dynamic
>   borrow checking needs.
> - A lint for unknown attributes [has finally been
>   added](https://github.com/mozilla/rust/pull/10316). The compiler will
> now
>   warn when it sees an attribute it doesn't recognize.
> - A lock-free [Chase-Lev
>   deque](
> http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.170.1097&rep=rep1&type=pdf
> )
>   has [been added to the runtime](
> https://github.com/mozilla/rust/pull/10678).
> - The shootout-spectralnorm benchmark [has been
>   resurrected](https://github.com/mozilla/rust/pull/10704).
> - Unknown feature gates [are now
>   linted](https://github.com/mozilla/rust/pull/10680), rather than being a
>   hard failure.
> - The AST is [now frozen](https://github.com/mozilla/rust/pull/10693)!
> - `GenericPort` [now has an
>   iterator](https://github.com/mozilla/rust/pull/10688) over the messages
> it
>   receives.
> - `NodeId`, `CrateNum`, `Name`, and `Mrk` (types in libsyntax) [have been
>   shrunk to 32 bits](https://github.com/mozilla/rust/pull/10670).
> - The restriction on macros expanding to a single item [has been
>   lifted](https://github.com/mozilla/rust/pull/10649). This obviates the
> need
>   for macros hackily expanding to a module containing the desired items. Do
>   note that this only works when the macro is in "item position", or where
> an
>   item is expected. There is an
>   [issue](https://github.com/mozilla/rust/issues/10681) open for lifting
> this
>   restriction.
> - A `thread_local` attribute [has been
>   added](https://github.com/mozilla/rust/pull/10312), which exposes a
>   platform's native TLS, a la C11/C++11 `thread_local`.
> - Cross compilation to win64 (via mingw-w64) [is now
>   supported](https://github.com/mozilla/rust/pull/10578). There were also
> a
>   [bunch of fixes](https://github.com/mozilla/rust/pull/10631) on real
> win64.
> - The parser gives a [better error
>   message](https://github.com/mozilla/rust/pull/10641) when it encounters
> an
>   unclosed delimiter it didn't expect.
> - There is a [better error
>   message](https://github.com/mozilla/rust/pull/10475) when a module name
> is
>   used as a type (the motivating example being `impl SomeTrait for
> some_module`).
> - JSON decoding [now gives better
>   errors](https://github.com/mozilla/rust/pull/10625).
> - Linker optimizations are [now
>   used](https://github.com/mozilla/rust/pull/10620) on Linux.
>
> ## New contributors
>
> Our first-time contributors this week are:
>
> - Andreas Ots
> - Eric Biggers
> - Jannis Harder
> - Kiet Tran
>
> # Weekly Meeting
>
> The [weekly
> meeting](https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-11-26)
> discussed bootstrap times, the `thread_local` PR, mutexes, and the GC. In
> particular, it was decided that we should have nightlies.
>
> # 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 was a short week due to the US Thanksgiving holiday, but there were
> still
> 17 landed PRs this week.
>
> ## Notable additions
> - Hyunjune Kim and Sammy Kim landed some border style extensions in
>   [#1276](http://github.com/mozilla/servo/pull/1322).
> - Youngmin Yoo, Seonghyun Kim, and Jaemin Moon landed overflow:hidden in
>   [#1298](http://github.com/mozilla/servo/pull/1298).
> - Isabelle Carter landed changing the unrendered portion of content to use
> the
>   doc's background color in [#1210](
> http://github.com/mozilla/servo/pull/1210).
> - Patrick Walton has been experimenting with some very promising parallel
>   layout work, which he described in a
>   [message](
> https://groups.google.com/forum/#!topic/mozilla.dev.servo/1nKmBvFewIs)
>   to the mailing list.
>
> ## Meetings
>
> This week's [meeting](
> https://github.com/mozilla/servo/wiki/Meeting-2013-11-25)
> covered the poor situation with Nvidia support on Linux, fleshed out the
> string
> interning plan during CSS selector parsing/matching, and went into some
> Servo
> and Rust-related build issues.
>
> # Announcements etc
>
> Do note that all the links are pulled directly from the
> [subreddit](https://reddit.com/r/rust).
>
> - [Matrix Multiply Performance in
> Rust](
> http://www.reddit.com/r/rust/comments/1rf8rz/matrix_multiply_performance_in_rust/
> )
> - [nrays](https://github.com/sebcrozet/nrays) - a 3d/4d raytracer
> - [SprocketNES: Practical Systems Programming in
>   Rust](
> https://air.mozilla.org/sprocketnes-practical-systems-programming-in-rust/
> ).
>   Contrary to the title, this is actually a recording of the presentations
> at
>   the Bay Area meetup.
> - [uutils](https://github.com/uutils/coreutils) - an attempt at writing
>   universal (as in cross-platform) CLI utils in Rust
> - [lbac](https://github.com/cmr/lets-build-a-compiler) - a Rust port of
> Jack
>   Crenshaw's "Let's Build a Compiler"
> _______________________________________________
> Rust-dev mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/rust-dev
>



-- 
by *Liigo*, http://blog.csdn.net/liigo/
Google+  https://plus.google.com/105597640837742873343/
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to