Releases
1.4.0
~1200 changes, numerous bugfixes
Highlights
Windows builds targeting the 64-bit MSVC ABI and linker (instead of GNU) are now supported and recommended for use.
Breaking Changes
Language
Libraries
Many APIs were stabilized : <Box<str>>::into_string
, Arc::downgrade
, Arc::get_mut
, Arc::make_mut
, Arc::try_unwrap
, Box::from_raw
, Box::into_raw
, CStr::to_str
, CStr::to_string_lossy
, CString::from_raw
, CString::into_raw
, IntoRawFd::into_raw_fd
, IntoRawFd
, IntoRawHandle::into_raw_handle
, IntoRawHandle
, IntoRawSocket::into_raw_socket
, IntoRawSocket
, Rc::downgrade
, Rc::get_mut
, Rc::make_mut
, Rc::try_unwrap
, Result::expect
, String::into_boxed_str
, TcpStream::read_timeout
, TcpStream::set_read_timeout
, TcpStream::set_write_timeout
, TcpStream::write_timeout
, UdpSocket::read_timeout
, UdpSocket::set_read_timeout
, UdpSocket::set_write_timeout
, UdpSocket::write_timeout
, Vec::append
, Vec::split_off
, VecDeque::append
, VecDeque::retain
, VecDeque::split_off
, rc::Weak::upgrade
, rc::Weak
, slice::Iter::as_slice
, slice::IterMut::into_slice
, str::CharIndices::as_str
, str::Chars::as_str
, str::split_at_mut
, str::split_at
, sync::Weak::upgrade
, sync::Weak
, thread::park_timeout
, thread::sleep
.
Some APIs were deprecated : BTreeMap::with_b
, BTreeSet::with_b
, Option::as_mut_slice
, Option::as_slice
, Result::as_mut_slice
, Result::as_slice
, f32::from_str_radix
, f64::from_str_radix
.
Reverse-searching strings is faster with the 'two-way' algorithm .
std::io::copy
allows ?Sized
arguments .
The Windows
, Chunks
, and ChunksMut
iterators over slices all override count
, nth
and last
with an O (1) implementation .
Default
is implemented for arrays up to [T; 32]
.
IntoRawFd
has been added to the Unix-specific prelude, IntoRawSocket
and IntoRawHandle
to the Windows-specific prelude .
Extend<String>
and FromIterator<String
are both implemented for String
.
IntoIterator
is implemented for references to Option
and Result
.
HashMap
and HashSet
implement Extend<&T>
where T: Copy
as part of RFC 839 . This will cause type inference breakage in rare situations.
BinaryHeap
implements Debug
.
Borrow
and BorrowMut
are implemented for fixed-size arrays .
extern fn
s with the "Rust" and "C" ABIs implement common traits including Eq
, Ord
, Debug
, Hash
.
String comparison is faster .
&mut T
where T: std::fmt::Write
also implements std::fmt::Write
.
A stable regression in VecDeque::push_back
and other capacity-altering methods that caused panics for zero-sized types was fixed .
Function pointers implement traits for up to 12 parameters .
Miscellaneous
You can’t perform that action at this time.