Welcome to another This Week in Rust.
What's cooking in master?
65 pull requests were merged this week, and bors has had some idle time when there wasn't anything approved in the queue.
Breaking changes
std::os::glob
has been replaced with a pure Rust version, for cross-platform and compatability reasons.std::str::from_bytes
has been renamed tostd::str::from_utf8
, to be explicit about what it accepts.- Casting to bool with
as
is no longer allowed, and surrogate characters are no longer allowed in strings. - char is no longer treated as an integer type (meaning it can't be casted to/from them), which removes the ability for safe code to create invalid characters.
- Opening a listening socket and actually listening on it have been split. If you're jiggy with the jive, listen and accept are now separate operations. (ed: this used to say bind and accept wereseparate; thanks to ecr for the correction.)
Additions
let
var hygiene has landed. I'm sure this has cool implications, but I don't really know what they are.- An
export_name
attribute has been added to control what symbol name something is exported as (similar tono_mangle
). - An
ExactSize
trait has been added to mark an iterator that always accurately reports its size in thesize_hint
method. ToStr
has been implemented for char and Ascii.- Safe accessors of
MutexArc
have been implemented - A bytes iterator has been added for newrt readers.
- Stream is automatically implemented for types which implement Reader and Writer from newrt.
- An
unreachable
macro has been added for better error reporting than a function could do. - newrt can now do simple DNS resolution.
- strptime/strftime now support fractional seconds, out to tenths of a nanosecond.
Changes etc
- Name mangling has been improved.
rust_log.cpp
has been converted into pure Rust.- Debuginfo now does closure capture and very large structs.
- A bunch of repr improvements landed.
Meeting
There was no meteting this week listed on the wiki or that I saw.
Projects
- rust-nanomsg - bindings to the nanomsg library.