編譯型編程語言Rust v1.14.0 發布
Rust是一個由Mozilla主導開發的通用、編譯型編程語言。它的設計準則為“安全,并發,實用”,支持函數式,并發式,過程式以及面向對象的編程風格。Rust 的設計目標之一,是要使設計大型的互聯網客戶端和服務器的任務變得更容易。因此更加強調安全性、內存配置、以及并發處理等方面的特性。在性能上,具有額外安全保證的代碼會比 C++ 慢一些,但是如果以 C++ 也手工提供保證的情況下,則兩者性能上是相似的。
更新日志
..
matches multiple tuple fields in enum variants, structs and tuples. RFC 1492.- Safe
fn
items can be coerced tounsafe fn
pointers use *
anduse ::*
both glob-import from the crate root- It's now possible to call a
Vec<Box<Fn()>>
without explicit dereferencing - Mark enums with non-zero discriminant as non-zero
- Lower-case
static mut
names are linted like other statics and consts - Fix ICE on some macros in const integer positions (e.g.
[u8; m!()]
) - Improve error message and snippet for "did you mean
x
" - Add a panic-strategy field to the target specification
- Include LLVM version in
--version --verbose
- Improve macro expansion performance
- Shrink
Expr_::ExprInlineAsm
- Replace all uses of SHA-256 with BLAKE2b
- Reduce the number of bytes hashed by
IchHasher
- Avoid more allocations when compiling html5ever
- Use
SmallVector
inCombineFields::instantiate
- Avoid some allocations in the macro parser
- Use a faster deflate setting
- Add
ArrayVec
andAccumulateVec
to reduce heap allocations during interning of slices - Optimize
write_metadata
- Don't process obligation forest cycles when stalled
- Avoid many
CrateConfig
clones - Optimize
Substs::super_fold_with
- Optimize
ObligationForest
'sNodeState
handling - Speed up
plug_leaks
println!()
, with no arguments, prints newline. Previously, an empty string was required to achieve the same.Wrapping
impls standard binary and unary operators, as well as theSum
andProduct
iterators- Implement
From<Cow<str>> for String
andFrom<Cow<[T]>> for Vec<T>
- Improve
fold
performance forchain
,cloned
,map
, andVecDeque
iterators - Improve
SipHasher
performance on small values - Add Iterator trait TrustedLen to enable better FromIterator / Extend
- Expand
.zip()
specialization to.map()
and.cloned()
ReadDir
implementsDebug
- Implement
RefUnwindSafe
for atomic types - Specialize
Vec::extend
toVec::extend_from_slice
- Avoid allocations in
Decoder::read_str
io::Error
implementsFrom<io::ErrorKind>
- Impl
Debug
for raw pointers to unsized data - Don't reuse
HashMap
random seeds - The internal memory layout of
HashMap
is more cache-friendly, for significant improvements in some operations HashMap
uses less memory on 32-bit architectures- Impl
Add<{str, Cow<str>}>
forCow<str>
下載
本站原創,轉載時保留以下信息:
本文轉自:深度開源(open-open.com)
原文地址:http://www.baiduhome.net/news/view/4f0c299a
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!