1.29.0 #
- Released on: 13 September, 2018
- Branched from master on: 27 July, 2018
Compiler #
- Bumped minimum LLVM version to 5.0.
- Added
powerpc64le-unknown-linux-musl
target. - Added
aarch64-unknown-hermit
andx86_64-unknown-hermit
targets. - Upgraded to LLVM 7.
Libraries #
Once::call_once
no longer requiresOnce
to be'static
.BuildHasherDefault
now implementsPartialEq
andEq
.Box<CStr>
,Box<OsStr>
, andBox<Path>
now implementClone
.- Implemented
PartialEq<&str>
forOsString
andPartialEq<OsString>
for&str
. Cell<T>
now allowsT
to be unsized.SocketAddr
is now stable on Redox.
Stabilized APIs #
Cargo #
- Cargo can silently fix some bad lockfiles. You can use
--locked
to disable this behavior. cargo-install
will now allow you to cross compile an install using--target
.- Added the
cargo-fix
subcommand to automatically move project code from 2015 edition to 2018. cargo doc
can now optionally document private types using the--document-private-items
flag.
Misc #
rustdoc
now has the--cap-lints
option which demotes all lints above the specified level to that level. For example--cap-lints warn
will demotedeny
andforbid
lints towarn
.rustc
andrustdoc
will now have the exit code of1
if compilation fails and101
if there is a panic.- A preview of clippy has been made available through rustup.
You can install the preview with
rustup component add clippy-preview
.
Compatibility Notes #
str::{slice_unchecked, slice_unchecked_mut}
are now deprecated. Usestr::get_unchecked(begin..end)
instead.std::env::home_dir
is now deprecated for its unintuitive behavior. Consider using thehome_dir
function from https://crates.io/crates/dirs instead.rustc
will no longer silently ignore invalid data in target spec.cfg
attributes and--cfg
command line flags are now more strictly validated.