The #![no_std] attribute causes a crate to not be linked to the
standard library, but only the core library, as described
in RFC 1184. The core library defines common types and traits but
has no platform dependencies whatsoever, and is the basis for Rust
software in environments that cannot support a full port of the
standard library, such as operating systems. Most of the core
library is now stable.
From conversions are implemented from integers to floats
in cases where the conversion is lossless. Thus they are not
implemented for 32-bit ints to f32, nor for 64-bit ints to f32
or f64. They are also not implemented for isize and usize
because the implementations would be platform-specific. From is
also implemented from f32 to f64.
From<&Path> and From<PathBuf> are implemented for Cow<Path>.
From<T> is implemented for Box<T>, Rc<T> and Arc<T>.
IntoIterator is implemented for &PathBuf and &Path.
Cargo will look in $CARGO_HOME/bin for subcommands by default.
Cargo build scripts can specify their dependencies by emitting the
rerun-if-changed key.
crates.io will reject publication of crates with dependencies that
have a wildcard version constraint. Crates with wildcard
dependencies were seen to cause a variety of problems, as described
in RFC 1241. Since 1.5 publication of such crates has emitted a
warning.
cargo cleanaccepts a --release flag to clean the
release folder. A variety of artifacts that Cargo failed to clean
are now correctly deleted.
The compiler no longer makes use of the RUST_PATH
environment variable when locating crates. This was a pre-cargo
feature for integrating with the package manager that was
accidentally never removed.
Bugs in pattern matching unit structs were fixed. The tuple
struct pattern syntax (Foo(..)) can no longer be used to match
unit structs. This is a warning now, but will become an error in
future releases. Patterns that share the same name as a const are
now an error.