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.
76 pull requests were merged this week.
- A significant amount of functionality has
libstdto a new
libcorecrate, which is intended to be usable in a freestanding environment (it doesn't use any allocation etc). See the pull request for further details.
- All mentions of
~have been removed from the language.
~[T]no longer implements
FromIterator, and many APIs have been updated to use
local_dataAPI has been modernized to use methods on keys, RAII, and removal of essentially unused features.
- Trait inheritence with incorrect use of lifetimes has been fixed. See the second commit for a testcase and explanation.
- Cross-crate enum variant privacy has been fixed. Previously, private variants were always usable without restriction.
- Format string parsing has been moved outside of
bump_box_refcountfunction has been removed.
unsafe extern fndefinitions are now allowed, with a corresponding change in how that type is written (previously the parser accepted
extern unsafe fn()).
bitflags!now allows setting attributes on the generated type, and
FilePermissionshas been ported to it.
Box<T>is the new syntax for
- Sockets now have non-blocking IO!
UnixStreamhave methods to cancel reads/writes.
- There is now limited support for mixing
dylibs when linking to dependencies.
statscrate has been generalized to the
graphvizcrate has been added for generating
- Some missing cases in the
type_limitslint have been fixed.
boxhas been added to the pattern grammar.
- An injection bug in rustdoc's web frontend has been fixed.
- Use of non-existent method which has the same name as an existing static method now has a note attached.
- Aaron Raimist
- Ali Smesseim
- Dirk Leifeld
- James Laverack
- Lucas Dohmen
- Phil Ruffwind
- Tim Brooks
The weekly meeting discussed many things. I think I'm going to stop including this section of TWiR because the meeting notes are very well-kept (thanks Lars!) and there's often too much to effectively summarize.
*mut T, add
- Add byte and byte string literals
- Allow blocks in constants
- Algebraic effect system
- Split Iterator into Iterator and FiniteIterator
- Bay Area Rust, May 2014: Testing
- New meetup at Pittsburgh Code and Supply
- Rust for C++ programmers - part 5: borrowed references
- Header compression library for HTTP/2
- rust-graphics, how Rust's type system might improve graphics programming
- Informal survey: Which is clearer, mutability or uniqueness?
- Teepee design: header representation
- How to test Rust on travis-ci