发布于 2015-10-30 00:54:33 | 216 次阅读 | 评论: 0 | 来源: 网友投递
Rust 编程语言
Rust是Mozilla开发的注重安全、性能和并发性的编程语言。创建这个新语言的目的是为了解决一个很顽疾的问题:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升。Rust是针对多核体系提出的语言,并且吸收一些其他动态语言的重要特性,比如不需要管理内存,比如不会出现Null指针等等。
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 rn 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 fns 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