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.
What's cooking on master?
64 pull requests were merged this week.
Breaking Changes
BenchHarness
has been renamed toBencher
- The
push_str
andpush_char
methods on~str
have been removed, and aStrBuf
type added, as an analog toVec
. - Duplicate moves from the variables a
proc
captures are no longer allowed. std::libc
has been extracted into its own crate.- Various bugs in resolve have been fixed. The fixes seem relatively obscure, but they're well documented if your code breaks.
- The functions in
flate
now return Option instead of failing.
Other Changes
TotalEq
andTotalOrd
now document exactly what the types implementing them must guarantee.- Some bugs with debuginfo have been fixed. In particular, the annoying link failure with debuginfo has been fixed.
- Relocation model is now
configurable with
-C relocation-model
.
Additionally, a lot of cleanup happened. Not much of it sticks out particularly.
New Contributors
- Boris Egorov
- Jim Radford
- Joseph Crail
- JustAPerson
- Kasey Carrothers
- Kevin Butler
- Manish Goregaokar
- Tobba
- free-Runner
Weekly Meeting
The weekly meeting was cancelled due to the videoconference system being down for mitigating the Heartbleed vulnerability, as well as some team members travelling or otherwise unavailable.
RFCs
Some new RFCs:
- Extend nullable pointer optimization to library types
- Extended method lookup
- Inherit use
- Allocator trait
- Make libstd a facade
Invalid
trait for space optimization of enums- Add a regexp crate to the Rust distribution
Project Updates
- Acronymy has been released. This is a web application (in Rust!) for defining words as acronyms. It's pretty fun.
- bitmap has been released
- regexp is a pure-Rust implementation of RE2, with wonderful docs and support for statically compiling regular expressions.
- rust-empty has been updated to 0.2.
- inotify-rs has been released, bindings to inotify.
- An unlambda interpreter
- RusticMineSweeper, a minesweeper clone.
- rust-mustache has been updated to 0.3.0.
- sodiumoxide, the libsodium bindings, have been updated for 0.10.
Community
- On April 17, there will be an Introduction to Rust by Clark Gaebel in new York City, during a C++ meetup.
- Bay Area Rust's plans for May have been announced.
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.
In the last week, we landed 30 PRs.
Notable additions
- ms2ger cleaned up all of the trailing whitespace that had been nagging down our Critic reviews in #2055
- Jacob Parker added a reftest for
setAttribute
-based restyling in #2062 - Sankha Narayan Guria removed XRay from the script codegen in #2050
- Peiyong Lin moved
namespaceURI
to theElement
type in #2063 and removed all remaining@
boxes in #2085 - Matt Brubeck fixed bugs related clicking on links in #2068 and #2084 and #2080
- Hyun June Kim added support for pseudo-elements attached to inline elements in #2071
- Manish Goregaokar cleaned up a whole bunch of warnings left after our last Rust update in #2045
- Lars Bergstrom got Android support working in Servo master in #2070
New contributors
- Jacob Parker (j3parker)
Meetings and Notes
In this week's meeting, we went over our Q2 roadmap, status of an Android buildbot, testing, and the ever-present issue of improving our build system.