Hello and welcome to another issue of This Week in Rust. We're gearing up
for the 0.8 release in 2-3 weeks. It looks like it's going to be a really
solid release. I'll write another State of Rust, hopefully before it is
released.
What's cooking in master?
68 PRs were merged this week.
Breaking changes
std::iteratorhas been renamed tostd::iter.- The
std::num::Primitivetrait is now constrained by theCloneandDeepClonetraits, as well asOrderable. - Some more free functions have
been removed from
std::vec.unzipnow takes an iterator, aPermutationsiterator has been added, and some rarely-used, obsolete, functions were removed. - A bunch of changes to
OptionandResultwere made. Specifically,chainwas changed toand_thenandunwrap_or_defaulttounwrap_or. - rustpkg builds into target-specific subdirectories now.
Additions and fixes
- debuginfo now has namespace support. Looking at all the various PRs Michael has opened over the summer, it seems DWARF is a very flexible, nice debuginfo format, but gdb and LLVM don't support it very well.
- Correct
range_stepandrange_step_inclusiveiterators have been added. They are correct in cases of overflow, and are generic. - A handy
sleepfunction has been added to newrt. - File IO in newrt works on windows now.
- A bug where nested items in a default method weren't compiled has been fixed.
- A rendezvous concurrency structure, much like Ada's, has been added.
- Buffered IO wrappers have been added.
- nmatsakis landed a PR that closed 7 issues at once.
- rustpkg now uses
extra::workcacheto prevent recompilation of already-compiled crates.
Meeting
The Tuesday
meeting
discussed the github commit policy, implicit copyability, patterns, and the
fate of &const.
Other things
- Eric Reed (ecr)'s intern presentation: An I/O System for Rust. Unfortunately, the audio cuts out.
- Evict-BT, a git-integrated issue tracker.
- Computer Graphics and Game
Development.
Also note the
#rust-gamedevchannel. - rust-for-real, a collection of Rust examples to aid in learning. Needs more examples!