編譯型編程語言Rust v1.16.0發布
Rust是一個由Mozilla主導開發的通用、編譯型編程語言。它的設計準則為“安全,并發,實用”,支持函數式,并發式,過程式以及面向對象的編程風格。Rust 的設計目標之一,是要使設計大型的互聯網客戶端和服務器的任務變得更容易。因此更加強調安全性、內存配置、以及并發處理等方面的特性。在性能上,具有額外安全保證的代碼會比 C++ 慢一些,但是如果以 C++ 也手工提供保證的情況下,則兩者性能上是相似的。
更新日志
- The compiler's
dead_code
lint now accounts for type aliases. - Uninhabitable enums (those without any variants) no longer permit wildcard match patterns
- Clean up semantics of
self
in an import list Self
may appear inimpl
headersSelf
may appear in struct expressions
編譯器
rustc
now supports--emit=metadata
, which causes rustc to emit a.rmeta
file containing only crate metadata. This can be used by tools like the Rust Language Service to perform metadata-only builds.- Levenshtein based typo suggestions now work in most places, while previously they worked only for fields and sometimes for local variables. Together with the overhaul of "no resolution"/"unexpected resolution" errors (#38154) they result in large and systematic improvement in resolution diagnostics.
- Fix
transmute::<T, U>
whereT
requires a bigger alignment thanU
- rustc: use -Xlinker when specifying an rpath with ',' in it
rustc
no longer attempts to provide "consider using an explicit lifetime" suggestions. They were inaccurate.[T]::binary_search
and[T]::binary_search_by_key
now take their argument byBorrow
parameter- All public types in std implement
Debug
IpAddr
implementsFrom<Ipv4Addr>
andFrom<Ipv6Addr>
Ipv6Addr
implementsFrom<[u16; 8]>
- Ctrl-Z returns from
Stdin.read()
when reading from the console on Windows - std: Fix partial writes in
LineWriter
- std: Clamp max read/write sizes on Unix
- Use more specific panic message for
&str
slicing errors TcpListener::set_only_v6
is deprecated. This functionality cannot be achieved in std currently.writeln!
, likeprintln!
, now accepts a form with no string or formatting arguments, to just print a newline- Implement
iter::Sum
anditer::Product
forResult
- Reduce the size of static data in
std_unicode::tables
char::EscapeDebug
,EscapeDefault
,EscapeUnicode
,CaseMappingIter
,ToLowercase
,ToUppercase
, implementDisplay
Duration
implementsSum
String
implementsToSocketAddrs
- The
cargo check
command does a type check of a project without building it - crates.io will display CI badges from Travis and AppVeyor, if specified in Cargo.toml
- crates.io will display categories listed in Cargo.toml
- Compilation profiles accept integer values for
debug
, in addition totrue
andfalse
. These are passed torustc
as the value to-C debuginfo
- Implement
cargo --version --verbose
- All builds now output 'dep-info' build dependencies compatible with make and ninja
- Build all workspace members with
build --all
- Document all workspace members with
doc --all
- Path deps outside workspace are not members
- ???????
rustdoc
has a--sysroot
argument that, likerustc
, specifies the path to the Rust implementation - The
armv7-linux-androideabi
target no longer enables NEON extensions, per Google's ABI guide - The stock standard library can be compiled for Redox OS
- Rust has initial SPARC support. Tier 3. No builds available.
- Rust has experimental support for Nvidia PTX. Tier 3. No builds available.
- Fix backtraces on i686-pc-windows-gnu by disabling FPO
- ???????Uninhabitable enums (those without any variants) no longer permit wildcard match patterns
- In this release, references to uninhabited types can not be pattern-matched. This was accidentally allowed in 1.15.
- The compiler's
dead_code
lint now accounts for type aliases. - Ctrl-Z returns from
Stdin.read()
when reading from the console on Windows - Clean up semantics of
self
in an import list
下載
本站原創,轉載時保留以下信息:
本文轉自:深度開源(open-open.com)
原文地址:http://www.baiduhome.net/news/view/406fa7f
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!