Tim Rust senang mengumumkan rilis versi baru, 1.41.0. Rust adalah bahasa pemrograman yang memungkinkan semua orang membuat perangkat lunak yang andal dan efisien.
Jika Anda menginstal versi Rust menggunakan alat sebelumnya rustup
, maka untuk meningkatkan ke versi 1.41.0 Anda hanya perlu menjalankan perintah berikut:
rustup update stable
Jika Anda belum menginstalnya rustup
, Anda dapat menginstalnya dari halaman yang sesuai di situs web kami, serta melihat catatan rilis terperinci di GitHub.
Apa yang termasuk dalam versi stabil 1.41.0
Inovasi utama dari Rust 1.41.0 adalah pelonggaran pembatasan implementasi sifat-sifat, peningkatan cargo install
, format file baru yang Cargo.lock
lebih ramah untuk digunakan git
, dan jaminan baru bagi mereka yang Box<T>
terkait dengan FFI. Lihat catatan rilis untuk informasi lebih lanjut.
Mempermudah pembatasan pada implementasi sifat-sifat
, , Rust (orphan rule). , , , , .. . , .
Rust 1.41.0 , . , BetterVec<T>
, Vec<T>
. :
impl<T> From<BetterVec<T>> for Vec<T> {
}
โฆ :
impl<T> ForeignTrait<LocalType> for ForeignType<T> {
}
Rust 1.40.0 impl
, From
Vec
, . , newtype, .
From
Vec
, ( From
) . , Rust 1.41.0 impl
.
RFC.
cargo install
cargo install
. CLI-, Rust.
Rust 1.41.0, cargo install
, . --force
, .
, Cargo Cargo.lock
, . , .
Rust 1.41.0 , . lock
-, . , , PR, .
Box<T>
FFI
Rust 1.41.0, , Box<T>
, T: Sized
, ABI C (T*
). , extern "C"
Rust C, Rust Box<T>
- T
, T*
C. , C :
struct Foo* foo_new(void);
void foo_delete(struct Foo*);
โฆ Rust :
#[repr(C)]
pub struct Foo;
#[no_mangle]
pub extern "C" fn foo_new() -> Box<Foo> {
Box::new(Foo)
}
#[no_mangle]
pub extern "C" fn foo_delete(_: Option<Box<Foo>>) {}
, , Box<T>
T*
ABI, Box<T>
-null, . , โ Box
', .
: Box<T>
, C, Rust. C. Box<T>
, C T*
.
, Box<T>
.
Rust 1.41.0, :
Rust 1.41.0 32- Apple, i686-apple-darwin
. Rust 1.42.0 .
.
, Cargo Clippy . MIR, : "Inside Rust".
1.41.0
, Rust 1.41.0. , !
Rust - .
andreevlex, blandger, funkill, P0lunin nlinker.