Rust 0.11.0リリース


MozillaとRustコミュニティは、新しいRustリリースであるバージョン0.11.0をリリースしました。

言語は開発の活発な段階にあるという事実にもかかわらず、作業は型システムとライブラリの改善に焦点を合わせました。 主な作業は、動的サイズ(DST)を使用した型の実装と標準ライブラリのリファクタリングで行われました。
このリリースでは、BoxおよびGcタイプのために〜および@も標準ライブラリから削除されました(コンパイラはこれまで必要以上にこれらのタイプを知っていますが、まもなくこれらのタイプはRustの最も一般的なタイプになります)。


DST、ベクトルおよび文字列


動的なサイズの型(DST)を導入する準備として、 ~str ~[T]が言語から削除されました。 それらはBox Box<[T]>, . String Vec .

Vec
Vec ~[T] LLVM.
~[T], Vec . &mut[T] &[T] .

String
~str. owned , mut . Vec utf8 . &str as_slice().

String prelude std::string.

~ @
~ @ . ~T Box, std::owned, @T
Gc std::gc.

~expr
box expr , @expr box(GC) expr .

, . , Rc Arc.
DST Box<> Gc<> .

"std"
, "" . .
, :

libcore - Rust. ( ), libc. , , Rust . libcore , . liblibc - libc. liballoc - Rust. " ", , Rc, Arc Box. Rust . jemalloc. liblibc libcore.
libcollections - , vector, strings, maps, linked lists, . liballoc libcore.
librustrt - , I/O , , .
libsync - , .
librand - .


, . , :
std::collections std::sync std::comm std::rand std::rt
の形式で返されますBox Box<[T]>, . String Vec .

Vec
Vec ~[T] LLVM.
~[T], Vec . &mut[T] &[T] .

String
~str. owned , mut . Vec utf8 . &str as_slice().

String prelude std::string.

~ @
~ @ . ~T Box, std::owned, @T
Gc std::gc.

~expr
box expr , @expr box(GC) expr .

, . , Rc Arc.
DST Box<> Gc<> .

"std"
, "" . .
, :

libcore - Rust. ( ), libc. , , Rust . libcore , . liblibc - libc. liballoc - Rust. " ", , Rc, Arc Box. Rust . jemalloc. liblibc libcore.
libcollections - , vector, strings, maps, linked lists, . liballoc libcore.
librustrt - , I/O , , .
libsync - , .
librand - .


, . , :
std::collections std::sync std::comm std::rand std::rt
Box Box<[T]>, . String Vec .

Vec
Vec ~[T] LLVM.
~[T], Vec . &mut[T] &[T]
.

String
~str. owned , mut . Vec utf8 . &str as_slice().

String prelude std::string.

~ @
~ @ . ~T Box, std::owned, @T
Gc std::gc.

~expr
box expr , @expr box(GC) expr .

, . , Rc Arc.
DST Box<> Gc<> .

"std"
, "" . .
, :

libcore - Rust. ( ), libc. , , Rust . libcore , . liblibc - libc. liballoc - Rust. " ", , Rc, Arc Box. Rust . jemalloc. liblibc libcore.
libcollections - , vector, strings, maps, linked lists, . liballoc libcore.
librustrt - , I/O , , .
libsync - , .
librand - .


, . , :
std::collections std::sync std::comm std::rand std::rt

Box Box<[T]>, . String Vec .

Vec
Vec ~[T] LLVM.
~[T], Vec . &mut[T] &[T] .

String
~str. owned , mut . Vec utf8 . &str as_slice().

String prelude std::string.

~ @
~ @ . ~T Box, std::owned, @T
Gc std::gc.

~expr
box expr , @expr box(GC) expr .

, . , Rc Arc.
DST Box<> Gc<> .

"std"
, "" . .
, :

libcore - Rust. ( ), libc. , , Rust . libcore , . liblibc - libc. liballoc - Rust. " ", , Rc, Arc Box. Rust . jemalloc. liblibc libcore.
libcollections - , vector, strings, maps, linked lists, . liballoc libcore.
librustrt - , I/O , , .
libsync - , .
librand - .


, . , :
std::collections std::sync std::comm std::rand std::rt

Box Box<[T]>, . String Vec .

Vec
Vec ~[T] LLVM.
~[T], Vec . &mut[T] &[T]
.

String
~str. owned , mut . Vec utf8 . &str as_slice().

String prelude std::string.

~ @
~ @ . ~T Box, std::owned, @T
Gc std::gc.

~expr
box expr , @expr box(GC) expr .

, . , Rc Arc.
DST Box<> Gc<> .

"std"
, "" . .
, :

libcore - Rust. ( ), libc. , , Rust . libcore , . liblibc - libc. liballoc - Rust. " ", , Rc, Arc Box. Rust . jemalloc. liblibc libcore.
libcollections - , vector, strings, maps, linked lists, . liballoc libcore.
librustrt - , I/O , , .
libsync - , .
librand - .


, . , :
std::collections std::sync std::comm std::rand std::rt

Box Box<[T]>, . String Vec .

Vec
Vec ~[T] LLVM.
~[T], Vec . &mut[T] &[T]
.

String
~str. owned , mut . Vec utf8 . &str as_slice().

String prelude std::string.

~ @
~ @ . ~T Box, std::owned, @T
Gc std::gc.

~expr
box expr , @expr box(GC) expr .

, . , Rc Arc.
DST Box<> Gc<> .

"std"
, "" . .
, :

libcore - Rust. ( ), libc. , , Rust . libcore , . liblibc - libc. liballoc - Rust. " ", , Rc, Arc Box. Rust . jemalloc. liblibc libcore.
libcollections - , vector, strings, maps, linked lists, . liballoc libcore.
librustrt - , I/O , , .
libsync - , .
librand - .


, . , :
std::collections std::sync std::comm std::rand std::rt

Box Box<[T]>, . String Vec .

Vec
Vec ~[T] LLVM.
~[T], Vec . &mut[T] &[T]
.

String
~str. owned , mut . Vec utf8 . &str as_slice().

String prelude std::string.

~ @
~ @ . ~T Box, std::owned, @T
Gc std::gc.

~expr
box expr , @expr box(GC) expr .

, . , Rc Arc.
DST Box<> Gc<> .

"std"
, "" . .
, :

libcore - Rust. ( ), libc. , , Rust . libcore , . liblibc - libc. liballoc - Rust. " ", , Rc, Arc Box. Rust . jemalloc. liblibc libcore.
libcollections - , vector, strings, maps, linked lists, . liballoc libcore.
librustrt - , I/O , , .
libsync - , .
librand - .


, . , :
std::collections std::sync std::comm std::rand std::rt

Box Box<[T]>, . String Vec .

Vec
Vec ~[T] LLVM.
~[T], Vec . &mut[T] &[T]
.

String
~str. owned , mut . Vec utf8 . &str as_slice().

String prelude std::string.

~ @
~ @ . ~T Box, std::owned, @T Gc std::gc.

~expr
box expr , @expr box(GC) expr .

, . , Rc Arc.
DST Box<> Gc<> .

"std"
, "" . .
, :

libcore - Rust. ( ), libc. , , Rust . libcore , . liblibc - libc. liballoc - Rust. " ", , Rc, Arc Box. Rust . jemalloc. liblibc libcore.
libcollections - , vector, strings, maps, linked lists, . liballoc libcore.
librustrt - , I/O , , .
libsync - , .
librand - .


, . , :
std::collections std::sync std::comm std::rand std::rt

Box Box<[T]>, . String Vec .

Vec
Vec ~[T] LLVM.
~[T], Vec . &mut[T] &[T]
.

String
~str. owned , mut . Vec utf8 . &str as_slice().

String prelude std::string.

~ @
~ @ . ~T Box, std::owned, @T
Gc std::gc.

~expr
box expr , @expr box(GC) expr .

, . , Rc Arc.
DST Box<> Gc<> .

"std"
, "" . .
, :

libcore - Rust. ( ), libc. , , Rust . libcore , . liblibc - libc. liballoc - Rust. " ", , Rc, Arc Box. Rust . jemalloc. liblibc libcore.
libcollections - , vector, strings, maps, linked lists, . liballoc libcore.
librustrt - , I/O , , .
libsync - , .
librand - .


, . , :
std::collections std::sync std::comm std::rand std::rt

Box Box<[T]>, . String Vec .

Vec
Vec ~[T] LLVM.
~[T], Vec . &mut[T] &[T]
.

String
~str. owned , mut . Vec utf8 . &str as_slice().

String prelude std::string.

~ @
~ @ . ~T Box, std::owned, @T
Gc std::gc.

~expr
box expr , @expr box(GC) expr .

, . , Rc Arc.
DST Box<> Gc<> .

"std"
, "" . .
, :

libcore - Rust. ( ), libc. , , Rust . libcore , . liblibc - libc. liballoc - Rust. " ", , Rc, Arc Box. Rust . jemalloc. liblibc libcore.
libcollections - , vector, strings, maps, linked lists, . liballoc libcore.
librustrt - , I/O , , .
libsync - , .
librand - .


, . , :
std::collections std::sync std::comm std::rand std::rt

Box Box<[T]>, . String Vec .

Vec
Vec ~[T] LLVM.
~[T], Vec . &mut[T] &[T]
.

String
~str. owned , mut . Vec utf8 . &str as_slice().

String prelude std::string.

~ @
~ @ . ~T Box, std::owned, @T
Gc std::gc.

~expr
box expr , @expr box(GC) expr .

, . , Rc Arc.
DST Box<> Gc<> .

"std"
, "" . .
, :

libcore - Rust. ( ), libc. , , Rust . libcore , . liblibc - libc. liballoc - Rust. " ", , Rc, Arc Box. Rust . jemalloc. liblibc libcore.
libcollections - , vector, strings, maps, linked lists, . liballoc libcore.
librustrt - , I/O , , .
libsync - , .
librand - .


, . , :
std::collections std::sync std::comm std::rand std::rt


Source: https://habr.com/ru/post/J228485/


All Articles