The new object lifetime defaults have been turned
on after a cycle of warnings about the change. Now types
like &'a Box<Trait> (or &'a Rc<Trait>, etc) will change from
being interpreted as &'a Box<Trait+'a> to &'a Box<Trait+'static>.
The Rustonomicon is a new book in the official documentation
that dives into writing unsafe Rust.
The Duration API, has been stabilized. This basic unit of
timekeeping is employed by other std APIs, as well as out-of-tree
time crates.
The dropck rules, which checks that destructors can't access
destroyed values, [have been updated][dropck] to match the
RFC. This fixes some soundness holes, and as such will
cause some previously-compiling code to no longer build.
The Duration API, has been stabilized, as well as the
std::time module, which presently contains only Duration.
Box<str> and Box<[T]> both implement Clone.
The owned C string, CString, implements Borrow and the
borrowed C string, CStr, implements ToOwned. The two of
these allow C strings to be borrowed and cloned in generic code.
process::Child gained the id method, which returns a
u32 representing the platform-specific process identifier.
The connect method on slices is deprecated, replaced by the new
join method (note that both of these are on the unstableSliceConcatExt trait, but through the magic of the prelude are
available to stable code anyway).
The Div operator is implemented for Wrapping types.
Porting Rust on Windows from the GNU toolchain to MSVC continues
(1, 2, 3, 4). It is still not
recommended for use in 1.3, though should be fully-functional
in the 64-bit 1.4 beta.
The compiler gained many new extended error descriptions, which can
be accessed with the --explain flag.
The dropck pass, which checks that destructors can't access
destroyed values, has been rewritten. This fixes some
soundness holes, and as such will cause some previously-compiling
code to no longer build.