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?

55 pull requests were merged in the last week.

Breaking Changes

  • Struct variants are no longer feature-gated. At the same time, struct variants no longer support visibility modifiers, for consistency with other variants. RFC.
  • The time crate, which is widely considered to be of poor quality, has been moved out of the distribution, but can still be accessed via cargo.
  • The new task pool that reem announced on reddit earlier in the week was speedily merged into the tree, replacing the old TaskPool. It includes some breaking API changes.
  • The compiler now treats () not as a distinct 'unit' type but as a zero-length tuple (though the docs continue to allow that () may be referred to as 'unit'). This may cause breakage for macros that expect () to be a literal, whereas now it is an expression.
  • io::Buffer has been refactored to be object-safe, moving some methods into other traits.
  • The Extendable trait for extending a collection via an Iterator has been renamed to Extend, and can now be used with EnumSet and LruCache.
  • The old 'once_fns' feature gate has been removed (everybody thought it had been removed long ago). This is unrelated to the modern FnOnce type.

Other Changes

  • BTree implements the collection views API.
  • The #[stable] attribute is no longer inherited by child AST elements. This is intended to reduce the risk of accidentally marking things stable.
  • AsRefReader and AsRefWriter have been renamed to ByRefReader and ByRefWriter for consistency with their method names. The original types remain and are deprecated.
  • Performance of RingBuf has improved. Some subsequent reddit discussion lamented the introduction of unsafe code.
  • On Windows, rustc once again prefers the bundled MinGW linker over any system-installed MinGW linker in an attempt to make Rust on Windows cause the fewest surprises.

New Contributors

  • Adam Szkoda
  • Artem
  • Barosl Lee
  • Ian Connolly
  • Jeff Parsons
  • Josh Haberman
  • Josh Stone
  • Murarth
  • Ricky Taylor

Approved RFC's

New RFC's

Community

From the Team

Blog Posts

Discussions

New Projects

Project Updates

Upcoming Meetups