Rust 1. 4 发布,更新内容如下:
Windows builds targeting the 64-bit MSVC ABI and linker (instead of GNU) are now supported and recommended for use.
Several changes have been made to fix type soundness and improve the behavior of associated types. See RFC 1214. Although we have mostly introduced these changes as warnings this release, to become errors next release, there are still some scenarios that will see immediate breakage.
The str::lines
and BufRead::lines
iterators treat \r\n
as
line breaks in addition to \n
.
use
statements that import multiple items can now rename
them, as in use foo::{bar as kitten, baz as puppy}
.
pub extern crate
, which does not behave as expected, issues a
warning until a better solution is found.
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.
The Windows
, Chunks
, and ChunksMut
iterators over slices alloverride count
, nth
and last
with an O(1)
implementation.
Extend<String>
and FromIterator<String
are both implemented forString
.
HashMap
and HashSet
implement Extend<&T>
where T:
Copy
as part of RFC 839.
extern fn
s of with the "Rust" and "C" ABIs implement common
traits including Eq
, Ord
, Debug
, Hash
.
&mut T
where T: Write
also implements Write
.
A stable regression in VecDec::push_back
that caused panics for
zero-sized types was fixed.
The compiler no longer uses the 'morestack' feature to prevent stack overflow. Instead it uses guard pages and stack probes (though stack probes are not yet implemented on any platform but Windows).
The compiler matches traits faster when projections are involved.
The 'improper_ctypes' lint no longer warns about use of isize
andusize
.
Cargo now displays useful information about what its doing duringcargo update
.
更新日志:RELEASES.md
下载地址:1.4.0
文章转载自:开源中国社区 [http://www.oschina.net]