NOTE: THIS BLOG IS RETIRED! See blog.octayn.net for new content.

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.

There were a surprising number of breaking changes this week. The libextra dissolution continues. Condition removal and the IO error overhaul also landed. rustpkg was also removed, and rustc’s CLI interface has changed. Additionally, Rust gained another full-time developer! A big hello to Nick Cameron, I look forward to seeing his work.

It was also discovered that we closed the second largest number of issues of any repository on GitHub! We trailed behind homebrew, which is almost cheating, because they use it to track issues on over five thousand packages. Good job everyone!

What’s cooking on master?

72 pull requests were merged this week.

Breaking Changes

As part of the libextra dissolution, the following crates have been introduced:

  • libcollections, which has inherited Bitv, BTree, Deque, DList, List, LruCache, PriorityQueue, RingBuf, SmallIntMap, TreeMap, and TreeSet.
  • libgetopts, which has inherited extra::getopts. Additionally, getopts::groups is now the only interface. It has been moved up a level, into just getopts, and the old functions have been removed.
  • libserialize, which has inherited extra::serialize and extra::ebml.
  • libuuid, which has inherited extra::uuid.
  • libsemver, which has inherited extra::semver.
  • libterm, which has inherited extra::term and extra::terminfo.

All crates are still documented, and there is a list with links at http://static.rust-lang.org/doc/master/index.html.

Other Changes

New Contributors

  • Arcterus
  • Cole Mickens
  • Colin Sherratt
  • HeroesGrave
  • Ivan Enderlin
  • James Deng
  • João Souls
  • Marek Šuppa
  • Q.P.Liu
  • Yuri Kunde Schlesner

Weekly Meeting

The weekly meeting discussed adding a libprim, operator overloading, and the 1.0 goals for LLVM.

Meetups

  • There will be a meetup in Paris, on February 25, from 18:30 to 23:30.
  • Bay Area Rust will be meeting February 25, at 19:00 in San Francisco. David Renshaw will be talking about Cap’ Proto, Steven Fackler will be talking about exportable macros, and Kevin Cantu about testing.

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 14 PRs, but there are a substantial number of very close pending PRs that add major layout features to Servo (e.g., lists markers, tables, initial pseudo-class and pseudo-element support).

Notable additions

  • Bruno Abinader continued with his great DOM additions in #1634 and #1622 and #1604
  • Patrick Kim fixed borders on inline boxes in #1577 and landed position:relative support in #1613
  • Patrick Walton further improved layout performance in #1630 and #1615
  • Adrien Bustany fixed insertBefore in #1621
  • Lars Bergstrom landed reftest stabilization fixes in #1623 – we are almost ready to gate landing commits on content and ref tests passing on Linux, once we get more fonts installed on our Linux buildbots

New contributors

  • Adrien Bustany (abustany)

Meetings

In this week’s meeting, we mainly discussed display list construction with respect to layering and stacking contexts.

Josh Matthews’ talk on Servo at FOSDEM is available here.

Announcements, etc