แแแแแแแแ แแแแแแ แแแแแจแแฃแแแแแก แแ แแแ แแแแ แแแแก แแแ Rust 1.74, แ แแแแแแช แแแแ แกแแ Mozilla-แก แแ แแแฅแขแแก แแแแ , แแแแ แแ แแฎแแ แจแแแฅแแแ แแแแแฃแแแแแแแแ แแ แแแแแแ แชแแฃแแ แแ แแแแแแแชแแแก Rust Foundation-แแก แแแแแแ. แแแ แงแฃแ แแแฆแแแแก แแแแฎแแแแแแก แแแฎแกแแแ แแแแก แฃแกแแคแ แแฎแแแแแแ แแ แฃแแ แฃแแแแแงแแคแก แกแแจแฃแแแแแแแก แกแแแฃแจแแแก แแแฆแแแ แแแ แแแแแฃแ แแแแก แแแกแแฆแฌแแแแ, แแแแแแก แจแแแแ แแแแแแแกแ แแ แแฃแจแแแแแก แแ แแแก แแแแแแแ แแชแแแแแแกแแก (แแแจแแแแแก แแ แ แแชแแ แแแแ แกแขแแแแแ แขแฃแแ แแแแแแแแแแแก แซแแ แแแแ แแแแชแแแแแแแชแแแแแ แแ แจแแแแ แฉแฃแแแแแแแ).
Rust-แแก แแแฎแกแแแ แแแแก แแแแฃแจแแแแแแก แแแแแแแแ แแชแแแก แแแแแแแแแ แก แจแแชแแแแแแแกแแแ แแแฉแแแแแแแแแแก แแแแแแฃแแแ แแแแกแแก แแ แแชแแแก แแ แแแแแแแแแกแแแ, แ แแแแแแแช แฌแแ แแแแฅแแแแแ แแแแแแ แแแแแก แแแฎแกแแแ แแแแก แแแแฃแจแแแแแแก แแแแ, แ แแแแ แแชแแ แแแฎแกแแแ แแแแก แแ แแแ แฌแแแแแ แแแกแ แแแแแแแกแฃแคแแแแแก แจแแแแแ, แแฃแ แแแแแขแแ แแแแก แแแฃแฅแแแแ, แแฃแคแแ แแก แแแแแญแแ แแแแ แแ แ.แจ. แแแแแแแแแแแแแก แแแกแแแ แชแแแแแแแ, แแแแกแขแ แฃแฅแชแแแแแก แฃแแ แฃแแแแแกแแงแแคแแ แแ แแแแแแแแแแฃแแแแแแแก แกแแแแ แแแแแ, แแ แแแฅแขแ แจแแแแฃแจแแแแแก Cargo แแแแแขแแก แแแแแฏแแ แก. crates.io แกแแชแแแ แแฎแแ แแแญแแ แแแแ แแแแแแแแแแแแแก แฐแแกแขแแแแแกแแแแก.
แแแฎแกแแแ แแแแก แฃแกแแคแ แแฎแแแแ แฃแแ แฃแแแแแงแแคแแแแ Rust-แจแ แแแแแแแแชแแแก แแ แแก, แแแแแแแแแก แจแแแแฌแแแแแก, แแแแแฅแขแแก แกแแแฃแแ แแแแก แแแแแงแฃแ แแก แแแแแแแแก, แแแแแฅแขแแแแก แกแแชแแชแฎแแแก แฎแแแแ แซแแแแแแแก (แคแแ แแแแแแก) แแแแแงแฃแ แแก แแแแแแแแก แแแแ แแ แแแแแก แจแแกแ แฃแแแแแก แแ แแก แแแฎแกแแแ แแแแก แฌแแแแแแก แกแแกแฌแแ แแก แจแแคแแกแแแแ. Rust แแกแแแ แฃแแ แฃแแแแแงแแคแก แแแชแแแก แแแแแ แ แแชแฎแแแแแก แแแแแแแแแแแกแแแ, แแแแแฎแแแก แชแแแแแแก แแแแจแแแแแแแแแแก แกแแแแแแแแฃแแ แแแแชแแแแแแแชแแแก แแแแแงแแแแแแแแ, แฃแแแ แแแฃแจแแแแแก แจแแชแแแแแแก แกแขแแแแแ แขแฃแ แแแแแแแแแแแจแ, แแงแแแแแก แฃแชแแแแแ แแแแแแแแแแแกแ แแ แชแแแแแแแแก แแแแชแแคแชแแแก แแแแฃแแแกแฎแแแแแ, แแแแแแแแแ แซแแแแ แกแขแแขแแแฃแ แแแ แแคแแก แแแแแแฃแ แ แจแแชแแแแแแแก แจแแกแแแชแแ แแแแแ.
แซแแ แแแแแ แแแแแแชแแแแ:
- แแแแแแขแ Cargo.toml แคแแแแแก แแแจแแแแแแ แแแแขแแแแก แจแแแแฌแแแแแก แแแแคแแแฃแ แแชแแแก แจแแกแแซแแแแแแแ แแแแแขแแก แแแแแฏแแ แแก แแแแแคแแกแขแแแ แแ แแแ. แแแแขแแก แแแ แแแแขแ แแแแก แแแแกแแแฆแแ แแกแแแแก, แ แแแแ แแชแแ แ แแแแแ แแแแก แแแแ (แแแ แซแแแแ, แฃแแ แงแแคแ, แแแคแ แแฎแแแแแ, แแแจแแแแ), แจแแแแแแแแแแแฃแแแ แแฎแแแ แกแแฅแชแแแแ โ[lints]โ แแ โ[workspace.lints]โ, แ แแแแแแจแแช แชแแแแแแแแแ แแฎแแแแแแแแแจแ แแแแฆแแแ แแแแแฌแงแแแขแแแแแแก แแแฆแแแแกแแก. แแฆแแจแแแแแแแแ. แแแแแแแแแ, แแแแก แแแชแแแแ, แ แแ แแแฃแแแแแ โ-Fโ, โ-Dโ, โ-Wโ แแ โ-Aโ แแ แแจแแแ โ#![forbid(unsafe_code)]โ แแ โ#![แฃแแ แ(clippy) แแฌแงแแแแกแแก แแ แแแแแขแแแแกแแก. :โ แแฎแแกแแแแแแก แแแแก) :enum_glob_use)]" แแฎแแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก Cargo manifest-แจแ: [lints.rust] unsafe_code = "แแแ แซแแแแก" [lints.clippy] enum_glob_use = "แฃแแ แ"
- Crate แแแแแขแแก แแแแแฏแแ แแ แแแแแแขแ แแแแแแขแแคแแแแชแแแก แจแแกแแซแแแแแแแ แกแแชแแแแแ แแแแแแจแแ แแแแกแแก. แซแแ แแแแแ แแแแแฌแแแแแ แแแแชแแแก แแแแแแขแแคแแแแชแแแก แแแ แแแแขแ แแแแก แแแแแแแกแแแแก แแฎแแ แแแญแแ แแก Linux-แแก แกแแ แแแคแแแแขแแแแก แแแฆแแแแแแจแ (libsecret-แแ แแแงแ แแแแแแ), macOS (Keychain) แแ Windows (Windows Credential Manager), แแแแ แแ แกแแกแขแแแ แแแแแแแแ แแแแแ แแแแฃแแแ แฃแแ แแงแ แแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแฌแงแแ แแฃแจแแแแ แกแฎแแแแแกแฎแแ แแ แแแแแแแ แแแแแ แจแแกแแแแฎแแ แแ แจแแกแแแแฎแแ. แขแแแแแแแแก แแแแแ แแ แแแแกแแก, แแแแแแแแแ, แแแแแแแแ แแแแฃแแ 1Password แแแ แแแแก แแแแแฏแแ แแก แแแแแกแแงแแแแแแแ. แกแแชแแแแ แจแแแซแแแแ แแแแแฎแแแแก แแแแแแขแแคแแแแชแแ แแแแแกแแแแ แ แแแแ แแชแแแกแแแแก แแ แแ แ แแฎแแแแ แแแแแขแแแแก แแแแแฅแแแงแแแแแก แแแกแแแแกแขแฃแ แแแแแ. ~/.cargo/config.toml [แ แแแแกแขแ แแชแแ] global-credential-providers = ["cargo:token", "cargo:libsecret"]
- แแแแ แฃแแแแแก แขแแแแก แแ แแแแแแแแแก แแฎแแ แแแญแแ แ (impl_trait_projections) แกแขแแแแแแแแ แแแฃแแแ, แ แแช Self-แแกแ แแ T::Assoc-แแก แแแฎแกแแแแแแแก แกแแจแฃแแแแแแก แแซแแแแ แแแแ แฃแแแแแก แขแแแแแจแ, แ แแแแ แแชแแ "async fn" แแ "->impl Trait". struct Wrapper<'a, T>(&'a T); // แแแแ แฃแแแแแก แแแฃแแญแแแ แแแแ แขแแแแแ, แ แแแแแแแช แแฆแแแจแแแแแ `Self`-แก: impl Wrapper<'_, ()> { async fn async_fn() -> Self { /* โฆ */ } fn impl_trait() -> impl Iterator { /* โฆ */ } } แแแแกแแแ Trait<'a> { type Assoc; fn new() -> Self::Assoc; } impl Trait<'_> for () { type Assoc = (); fn new() {} } // แแแฃแแญแแแ แแแแ แแแแ แฃแแแแแก แขแแแแแ, แ แแแแแแแช แแฆแแแจแแแแแ แแกแแชแแ แแแฃแ แขแแแก: impl<'a, T: Trait<'a>> Wrapper<'a, T> { async fn mk_assoc() -> T::Assoc { /* โฆ */ } fn a_few_assocs() -> impl Iterator { /* โฆ */ }}
- API-แก แแฎแแแ แแแฌแแแ แแแแแแแแ แกแขแแแแแฃแ แแแแก แแแขแแแแ แแแจแ, แแแ แจแแ แแก, แกแขแแแแแแแแ แแแฃแแแ แแแแกแแแแแแก แแแแแแแแ แแ แแแแฎแแ แชแแแแแแแแ:
- "const" แแขแ แแแฃแขแ, แ แแแแแแช แแแแกแแแฆแแ แแแก แแแกแ แแแแแงแแแแแแก แจแแกแแซแแแแแแแแก แแแแแกแแแแ แแแแขแแฅแกแขแจแ แแฃแแแแแแแแก แแแชแแแแ, แแแแแแงแแแแแ แคแฃแแฅแชแแแแจแ:
- แซแแ แแแแแ::mem::transmute_copy
- str::is_ascii
- [u8]::is_ascii
- แแแ แแแ::num::แแแฏแแ แแแ
- impl From for std::process::Stdio
- impl From for std::process::Stdio
- impl From for std::process::Child{Stdin, Stdout, Stderr}
- impl From for std::process::Child{Stdin, Stdout, Stderr}
- std::ffi::OsString::from_encoded_bytes_unchecked
- std::ffi::OsString::into_encoded_bytes
- std::ffi::OsStr::from_encoded_bytes_unchecked
- std::ffi::OsStr::as_encoded_bytes
- std::io::แจแแชแแแแ::แกแฎแแ
- impl TryFrom U16-แแกแแแแก
- แแแแ แแแแแแ แแแแ<&[T; N]> แแแฅ
- แแแแ แแแ<&mut [T; N]> แแแฅ
- แแแแ แแแแแแ แแแแ<[T; N]> Arc<[T]>-แแกแแแแก
- แแแแ แแแแแแ แแแแ<[T; N]> Rc<[T]>-แแกแแแแก
- แจแแแแแแแแแแ, แแแกแขแ แฃแแแแขแแ แแแแ แแแ, แกแขแแแแแ แขแฃแแ แแแแแแแแแแ แแ แแแแแ แแ แแแฃแแ แแแแแแแชแแแแแก แจแแกแ แฃแแแแแ แแแแแ แแ แแแแฎแแแแแแ Apple-แแก แแแแขแคแแ แแแแแกแแแแก, แแฎแแ แกแแญแแ แแ แแแแแแฃแ 10.12 แฌแแแก แแแแแจแแแแฃแแ macOS 10 Sierra, iOS 10 แแ tvOS 2016.
- แแฎแแ แแแญแแ แแก แแแกแแแ แแแแ แแแแฎแแ แชแแแแแ i686-pc-windows-gnullvm แแแแขแคแแ แแแกแแแแก. แแแกแแแ แแแแ แแแแชแแแก แกแแแแแแกแ แแฎแแ แแแญแแ แแก, แแแแ แแ แแแขแแแแขแฃแ แ แขแแกแขแแ แแแแก, แแคแแชแแแแฃแ แ แแแแแแแแแแแก แแแแแฅแแแงแแแแแก แแ แแแแแก แแฌแงแแแแก แจแแแแฌแแแแแก แแแ แแจแ.
- แแแแฎแแ แชแแแแแ loongarch64-unknown-none แกแแแแแแ แแแแขแคแแ แแแก แแฎแแ แแแญแแ แแก แแแแ แ แแแแ. แแฎแแ แแแญแแ แแก แแแแ แ แแแแ แแแแชแแแก แจแแแ แแแแก แแแ แแแขแแแก.
แแแ แแ แแแแกแ, แจแแแซแแแแ แแฆแแแแจแแแก Rust แแแแกแแแ แแแแแแจแแ แแแฃแแ แแ แ แแแแแแแ:
- OSTIF-แแ (Open Source Technology Improvement Fund), แ แแแแแแช แจแแแฅแแแ แฆแแ แแแแแก แแ แแแฅแขแแแแก แฃแกแแคแ แแฎแแแแแก แแแกแแซแแแแ แแแแแ, แแแแแแฅแแแงแแ RustVMM แแ แแแฅแขแแก แแฃแแแขแแก แจแแแแแแแ, แ แแแแแแช แฃแแ แฃแแแแแงแแคแก แแแแแแแแแขแแแก แแแแแแแแแก แกแแแชแแคแแแฃแ แ แฐแแแแ แแแแแ แแแแก แแ แแแ แขแฃแแแฃแ แ แแแแฅแแแแแแก แแแแแขแแ แแแแก (VMM) แจแแกแแฅแแแแแแ. แแ แแแฅแขแแก แจแแแฃแจแแแแแแจแ แแแแแฌแแแแแแแ แแกแแแ แแแแแแแแแแ, แ แแแแ แแชแแ Intel, Alibaba, Amazon, Google, Linaro แแ Red Hat. Intel Cloud Hypervisor แแ Dragonball แฐแแแแ แแแแแ แแแ แจแแแฃแจแแแแแฃแแแ RustVMM-แแก แกแแคแฃแซแแแแแ. แแฃแแแขแแ แแแแแแกแขแฃแ แ แแแแแก แแแแแก แแแฆแแแ แฎแแ แแกแฎแ แแ แขแแฅแแแแแก แแแแแงแแแแแ แแ แฅแแขแแฅแขแฃแ แแกแ แแ แแแแฎแแ แชแแแแแแแจแ, แ แแแแแแช แแแแแแ แแกแแฎแแแก แแแฅแกแแแแแฃแ แ แฃแกแแคแ แแฎแแแแแก แแแฆแฌแแแแก. แแฃแแแขแแก แแ แแก แแแแแแแแแแ 6 แแ แแแแแแ, แ แแแแแกแแช แแแ แแแแแ แ แแแแแแแ แแ แแแฃแฎแแแแแ แฃแกแแคแ แแฎแแแแแแ.
- Google-แแ แแแแชแแ Binder-แแก แแแขแแ แแ แแชแแกแฃแ แ แแแแฃแแแแแชแแแก แแแฅแแแแแแแก แแฎแแแ แแแแแแแแแขแแชแแ, แ แแแแแแช แฎแแแแฎแแ แแฅแแ แแแฌแแ แแแ Rust แแแแแ, Linux-แแก แแแ แแแแก แแแแแแแแแ แแแแก แกแแคแแกแขแ แกแแแจแ. แแแแแแฃแจแแแแแ แแแแฎแแ แชแแแแแ แฃแกแแคแ แแฎแแแแแก แแแซแแแแ แแแแก, แฃแกแแคแ แแฎแ แแ แแแ แแแแ แแแแก แขแแฅแแแแแก แฎแแแจแแฌแงแแแแกแ แแ แแ แแแแแแแแแก แแแแแขแแคแแชแแ แแแแก แแคแแฅแขแฃแ แแแแก แแแแ แแแก แคแแ แแแแแจแ, แแแแ แแแแแก แแแฎแกแแแ แแแแกแแแ แแฃแจแแแแแกแแก (Android-แจแ แแแแแแแแแแแ แงแแแแ แกแแจแแจแ แแแฃแชแแแแแแแก แแแแฎแแแแแแ 70% แแแแแฌแแแฃแแแ แแแฎแกแแแ แแแแ แแฃแจแแแแแกแแก แจแแชแแแแแ. ). Binder in Rust-แแก แแแแแ แแแแ แแแแฆแฌแแ แคแฃแแฅแชแแแแแแฃแ แแแแก แแแแแกแฌแแ แแแแก C แแแแแ แแแแแแแแ แแแ แแแ แกแแแกแแแ, แแแแแแแก AOSP (Android Open-Source Project) แงแแแแ แขแแกแขแก แแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก firmware-แแก แกแแแฃแจแแ แแแแแชแแแแแแก แจแแกแแฅแแแแแแ. แแ แแแ แแแแฎแแ แชแแแแแแแก แจแแกแ แฃแแแแ แแแแฎแแแแแแ แแ แแกแ แแ แแแแแ แแแแแแแ (แแแแแฎแ แแแ -1.96% แแ +1.38%) แคแแ แแแแแจแ.
แฌแงแแ แ: opennet.ru