This Week in Rust
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.
std::os::globhas been replaced with a pure Rust version, for cross-platform and compatability reasons.
std::str::from_byteshas been renamed to
std::str::from_utf8, to be explicit about what it accepts.
- Casting to bool with
asis 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.)
letvar hygiene has landed. I’m sure this has cool implications, but I don’t really know what they are.
export_nameattribute has been added to control what symbol name something is exported as (similar to
ExactSizetrait has been added to mark an iterator that always accurately reports its size in the
ToStrhas been implemented for char and Ascii.
- Safe accessors of
MutexArchave been implemented
- A bytes iterator has been added for newrt readers.
- Stream is automatically implemented for types which implement Reader and Writer from newrt.
unreachablemacro 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.
- Name mangling has been improved.
rust_log.cpphas been converted into pure Rust.
- Debuginfo now does closure capture and very large structs.
- A bunch of repr improvements landed.
There was no meteting this week listed on the wiki or that I saw.
- rust-nanomsg – bindings to the nanomsg library.