Title: This Week in Rust 34 Date: 2014-01-26 19:00 Category: This Week in Rust
Hello and welcome to another issue of This Week in Rust! Rust 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! Want to get involved? We love contributions.
74 pull requests were merged this week.
- Struct fields now inherit the privacy of the struct itself.
- A bug in instantiability checking (determining whether a value of a given type could ever be constructed) has been fixed.
ZeroandOnehave been tightened up, and fewer types implement them now.- A lot of things have changed regarding functions that fail or return Options. Almost everything that used to fail now returns an Option instead.
- Many incorrect usages of types from
std::libcnow use Rust types. This might introduce an extraasor few in code using these (relatively obscure) interfaces. invertonDoubleEndedIteratorhas been renamed torev.- The numeric constants have been uppercased.
- Some privacy in std and extra has been shuffled around.
- Most macros are no longer injected as a hard-coded string and in fact live in libstd.
- Using
-Z no-landing-padsactually disables landing pad generation. It was accidentally broken. - The FFI documentation now includes a section on callbacks.
- A lint for unnecessary parens on control flow conditions etc has been added.
- Support for ARM's thumb instructions has been added.
- libnative now implements timers.
- There is now exponential notation for float formatting.
Vec<T>has been added, which is intended to eventually replace~[T].- Borrow checker errors now have better spans and should be more understandable.
- It is now possible to opt out of using rpaths.
- libnative now implements
get_host_addresses. - A new synchronization primitive, Barrier, has been added.
- Andre Arko
- Aydin Kim
- Ben Harris
- Ben Noordhuis
- Chris Wong
- Daniel MacDougall
- Hong Chulju
- Jake Greenfield
- Matthias Einwag
- Philippe Delrieu
- Salem Talha
- Sean Chalmers
- Trent Ogren
- Virgile Andreani
- comex
The weekly meeting discussed a bunch of open pull requests, but nothing too groudbreaking.
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 19 PRs and had a Servo workweek in the Mozilla San Francisco office from Tuesday through Friday (Monday was a US federal holiday).
- Bruno Abinader implemented Document::createHTMLDocument in #1523.
- Patrick Walton implemented parallel layout for two of our three layout passes in #1493.
- Patrick Kim fixed computation of image box sizes in #1520 and text-decoration in #1506.
- Deokjin Kim landed the
white-space:preproperty in #1507. - Aydin Kim and Lars Bergstrom landed fixes for Servo on Android.
- Teodor Szente fixed up a type signature in #1541.
- Lars Bergstrom changed ref tests so that they now emit a PNG showing the image-diff between the baseline and incorrect rendering in #1544.
- Teodor Szente
There was no separate Servo meeting, but during the workweek we discussed details in our designs for layers, generated content, tables, HiDPI/pixels, and DisplayList creation.
- Rust contribution ideas
- RustAlgebloat, a linear algebra library
- Table of Potential Closure Types
- rust-ci updates, categorization and documentation uploading
- Channel API proposal