เบเบฒเบเบเบฑเบเบเบฒเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบญเบ Rust เบเบปเบเบเปเบญเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบเบเบฒเบเบซเบกเบนเบเปเบเปเบเบปเบงเบเบตเป เปเบฅเบฐเบเบปเบเบเปเบญเบเบเบฑเบเบซเบฒเบเบตเปเปเบเบตเบเบเบฒเบเบเบฒเบเบซเบกเบนเบเปเบเปเบเบงเบฒเบกเบเบปเบเบเบณเบฅเบฐเบเบฑเบเบเปเปเบฒ เปเบเบฑเปเบ: เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเปเบงเบเบเบงเบฒเบกเบเบณเบเบฒเบเบซเบผเบฑเบเบเบตเปเบเปเปเปเบชเบเบเปเบฒ, เบเบฒเบเบญเปเบฒเบเบญเบตเบเบเบปเบงเบเบตเป null, buffer overruns, เปเบฅเบฐเบญเบทเปเบเป. เบเบนเปเบเบฑเบเบเบฒเบเบเบธเบเบเปเบฒเบฅเบฑเบเบเบทเบเบเบฑเบเบเบฐเบเบฒเปเบเบทเปเบญเปเบเบเบขเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเบเบฐเบเบญเบเปเบฅเบฐเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเปเบเบเปเบเบเบเบฒเบ.
เบเบปเปเบโเบเป
- เบเบนเปเบเบฑเบเบเบฒเบเปเบเบเปเบเบเบชเบดเบเบเปเบฒเปเบเปเปเบเบตเปเบกเปเบเบทเปเบญเบเบกเบทเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบฎเปเบงเบกเบเบฑเบเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเบเบธเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบชเบฒเบกเบฒเบเบขเบนเปเบฎเปเบงเบกเบเบฑเบเบเบฑเบเบเบฐเบเบฝเบเบชเบฒเบเบฒเบฅเบฐเบเบฐ crates.io. เบเบปเบงเบขเปเบฒเบ, เบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเปเบเบฑเบเปเบเบปเปเบฒเบเบญเบเบเบญเบเบเบตเปเบชเบฒเบกเบฒเบเปเบเปเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเบชเปเบงเบเบเบปเบงเบเบญเบเบเบปเบเปเบญเบเปเบเป, เปเบเบดเปเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเปเบงเบฅเบฒเบเบตเปเบฅเบฒเบเบเบทเปเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเปเบ Cargo.toml, เปเบฅเบฐเบเปเบฒเปเบเปเบฎเบนเบเปเบเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบ crates.io เบชเปเบฒเบฅเบฑเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเบญเบเบเบงเบเปเบเบปเบฒ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบเบญเปเบฒเบเบญเบตเบเปเบเบดเบเบเบฑเบเบชเบญเบ crates. io เปเบฅเบฐเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเบเบญเบเบเปเบฒเบเปเบญเบ.
ะะปั ะดะพะฑะฐะฒะปะตะฝะธั ะฒะฝะตัะฝะธั ัะตะตัััะพะฒ ะฒ .cargo/config (ัะฐัะฟะพะปะพะถะตะฝะฝะพะผ ะฒ $HOME ะปะธะฑะพ ะฒ ะดะธัะตะบัะพัะธะธ ั ะฟะฐะบะตัะพะผ)
ะฟัะตะดััะผะพััะตะฝะฐ ัะตะบัะธั ยซ[registries]ยป, ะฐ ะดะปั ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะฒะฝะตัะฝะตะณะพ ัะตะตัััะฐ ะฒ ะพะฟะธัะฐะฝะธะธ ะบะฐะถะดะพะน ะทะฐะฒะธัะธะผะพััะธ ะฒ Cargo.toml ะฟะพัะฒะธะปะฐัั ะพะฟัะธั ยซregistryยป. ะะปั ะฟะพะดะบะปััะตะฝะธั ะบ ะดะพะฟะพะปะฝะธัะตะปัะฝะพะผั ัะตะตัััั ะดะพััะฐัะพัะฝะพ ะฟะพะผะตััะธัั ัะพะบะตะฝ ะฐััะตะฝัะธัะธะบะฐัะธะธ ะฒ ัะฐะนะป ~/.cargo/credentials ะธ ะฒัะฟะพะปะฝะธัั ะบะพะผะฐะฝะดั
"เบเบฒเบเปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบเบชเบดเบเบเปเบฒ --registry=my-registry" เปเบฅเบฐเปเบเบทเปเบญเปเบเบตเบเปเบเปเบเบธเบ -
"cargo publish -registry=my-registry"; - ะะพะฑะฐะฒะปะตะฝะฐ ะฟะพะปะฝะพัะตะฝะฝะฐั ะฟะพะดะดะตัะถะบะฐ ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะพะฟะตัะฐัะพัะฐ ยซ?ยป ะฒ ัะตััะฐั
doctests , ะฟะพะทะฒะพะปัััะธั ะธัะฟะพะปัะทะพะฒะฐัั ะบะพะด ะฟัะธะผะตัะพะฒ ะธะท ะดะพะบัะผะตะฝัะฐัะธะธ ะฒ ะบะฐัะตััะฒะต ัะตััะพะฒ. ะ ะฐะฝะตะต ะพะฟะตัะฐัะพั
"?" เบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบฑเบเบเบฒเบเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบปเบเบชเบญเบเบเบฝเบเปเบเปเบขเบนเปเปเบเบซเบเปเบฒเบเบตเป "fn main()" เบซเบผเบทเปเบเบซเบเปเบฒเบเบตเป "#[test]"; - ะ ะพะฟัะตะดะตะปัะตะผัั
ะฟัะธ ะฟะพะผะพัะธ ะฟัะพัะตะดััะฝัั
ะผะฐะบัะพัะพะฒ ัะพะฑััะฒะตะฝะฝัั
ะฐััะธะฑััะฐั
(custom attribute)
เบชเบฐเบซเบเบญเบเปเบซเป ะฒะพะทะผะพะถะฝะพััั ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะฟัะพะธะทะฒะพะปัะฝัั ะฝะฐะฑะพัะพะฒ ัะพะบะตะฝะพะฒ (ยซ#[attr($tokens)]ยป, ยซ#[attr[$tokens]] ะธ #[attr{$tokens}]ยป). ะ ะฐะฝะตะต ัะปะตะผะตะฝัั ะผะพะณะปะธ ะทะฐะดะฐะฒะฐัััั ัะพะปัะบะพ ะฒ ะดัะตะฒะพะฒะธะดะฝะพะผ/ัะตะบัััะธะฒะฝะพะผ ะฒะธะดะต c ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ ัััะพะบะพะฒัั ะปะธัะตัะฐะปะพะฒ, ะฝะฐะฟัะธะผะตั ยซ#[foo(bar, baz(quux, foo = ยซbarยป))]ยป, ะฐ ัะตะฟะตัั ะฒะพะทะผะพะถะฝะพ ะธัะฟะพะปัะทะพะฒะฐะฝะธะต ะฟะตัะตัะธัะปะตะฝะธะน (โ#[range(0..10)]โ) ะธ ะบะพะฝััััะบัะธะน ะฒะธะดะฐ ยซ#[bound(T: MyTrait)]ยป; - ะกัะฐะฑะธะปะธะทะธัะพะฒะฐะฝั ัะธะฟะฐะถะธ (trait)
TryFrom ะธTryInto , ะฟะพะทะฒะพะปัััะธะต ะฒัะฟะพะปะฝััั ะฟัะตะพะฑัะฐะทะพะฒะฐะฝะธั ัะธะฟะพะฒ ั ะพะฑัะฐะฑะพัะบะพะน ะพัะธะฑะพะบ. ะะฐะฟัะธะผะตั, ะผะตัะพะดั, ะฟะพะดะพะฑะฝัะต from_be_bytes, ั ัะตะปะพัะธัะปะตะฝะฝัะผะธ ัะธะฟะฐะผะธ ะฒ ะบะฐัะตััะฒะต ะฒั ะพะดะฝัั ะดะฐะฝะฝัั ะธัะฟะพะปัะทััั ะผะฐััะธะฒั, ะฝะพ ะดะฐะฝะฝัะต ัะฐััะพ ะฟะพัััะฟะฐัั c ัะธะฟะพะผ Slice, ะฐ ะฟัะตะพะฑัะฐะทะพะฒะฐะฝะธะต ะผะตะถะดั ะผะฐััะธะฒะฐะผะธ ะธ ัะปะฐะนัะฐะผะธ ะฟัะพะฑะปะตะผะฐัะธัะฝะพ ะดะตะปะฐัั ะฒัััะฝัั. ะัะธ ะฟะพะผะพัะธ ะฝะพะฒัั ัะธะฟะฐะถะตะน ัะบะฐะทะฐะฝะฝะฐั ะพะฟะตัะฐัะธั ะผะพะถะตั ะฑััั ัะพะฒะตััะตะฝะฐ ะฝะฐ ะปะตัั ัะตัะตะท ะฒัะทะพะฒ .try_into(), ะฝะฐะฟัะธะผะตั, ยซlet num = u32::from_be_bytes(slice.try_into()?)ยป. ะะปั ะฟัะตะพะฑัะฐะทะพะฒะฐะฝะธะน, ะบะพัะพััะต ะฒัะตะณะดะฐ ะทะฐะฒะตััะฐัััั ััะฟะตัะฝะพ (ะฝะฐะฟัะธะผะตั, ะธะท ัะธะฟะฐ u8 ะฒ u32) ะดะพะฑะฐะฒะปะตะฝ ัะธะฟ ะพัะธะฑะพะบInfallible , ะฟะพะทะฒะพะปัััะธะน ะฟัะพะทัะฐัะฝะพ ะธัะฟะพะปัะทะพะฒะฐัั
TryFrom เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเบเบฑเบเบซเบกเบปเบเบเบญเบ "From"; - ะะฑััะฒะปะตะฝะฐ ัััะฐัะตะฒัะตะน ััะฝะบัะธั
CommandExt::before_exec , ะฟะพะทะฒะพะปัะฒัะฐั ะฒัะฟะพะปะฝะธัั ะพะฑัะฐะฑะพััะธะบ ะฟะตัะตะด ะทะฐะฟััะบะพะผ exec, ะบะพัะพััะน ะฒัะฟะพะปะฝัะปัั ะฒ ะบะพะฝัะตะบััะต ะดะพัะตัะฝะตะณะพ ะฟัะพัะตััะฐ, ะพัะฒะตัะฒะปัะฝะฝะพะณะพ ะฟะพัะปะต ะฒัะทะพะฒะฐ fork(). ะ ะฟะพะดะพะฑะฝัั ััะปะพะฒะธัั ะฝะตะบะพัะพััะต ัะตััััั ัะพะดะธัะตะปััะบะพะณะพ ะฟัะพัะตััะฐ, ัะฐะบะธะต ะบะฐะบ ัะฐะนะปะพะฒัะต ะดะตัะบัะธะฟัะพัั ะธ ะพััะฐะถัะฝะฝัะต ะพะฑะปะฐััะธ ะฟะฐะผััะธ, ะผะพะณะปะธ ะฑััั ะดัะฑะปะธัะพะฒะฐะฝั, ััะพ ะผะพะณะปะพ ะฟัะธะฒะตััะธ ะบ ะฝะตะพะฟัะตะดะตะปัะฝะฝะพะผั ะฟะพะฒะตะดะตะฝะธั ะธ ะฝะตะฒะตัะฝะพะน ัะฐะฑะพัะต ะฑะธะฑะปะธะพัะตะบ.
ะะผะตััะพ before_exec ัะตะบะพะผะตะฝะดัะตััั ะธัะฟะพะปัะทะพะฒะฐัั unsafe-ััะฝะบัะธัCommandExt::pre_exec . - ะกัะฐะฑะธะปะธะทะธัะพะฒะฐะฝั ะทะฝะฐะบะพะฒัะต ะธ ะฑะตะทะทะฝะฐะบะพะฒัะต ะฐัะพะผะฐัะฝัะต ัะตะปะพัะธัะปะตะฝะฝัะต ัะธะฟั ัะฐะทะผะตัะพะผ ะพั 8 ะดะพ 64 ะฑะธั (ะฝะฐะฟัะธะผะตั,
AtomicU8 ), ะฐ ัะฐะบะถะต ะทะฝะฐะบะพะฒัะต ัะธะฟัNonZeroI [8|16|32|64|128]. - เบชเปเบงเบเปเปเปเบเบญเบ API เปเบเปเบเบทเบเบเปเบฒเบเปเบเบขเบนเปเปเบเปเบงเบเปเบนเปเบเบตเปเปเบฑเปเบเบเบปเบ, เบฅเบงเบกเบเบฑเบ Any::type_id, Error::type_id, slice::sort_by_cached_key, str::escape_*, str::split_ascii_whitespace, Instant::checked_[add|sub ] เปเบฅเบฐเบงเบดเบเบตเบเบฒเบ SystemTime เปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบเบฝเบเบฅเบฐเบเบฒเบ ::checked_[add|sub]. The iter::from_fn เปเบฅเบฐ iter::successors functions have been stabilized;
- เบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบเบเปเบฒเบเบงเบเปเบเบฑเบกเบเบฑเบเบซเบกเบปเบ, เบงเบดเบเบตเบเบฒเบ checked_pow, saturating_pow, wrapping_pow เปเบฅเบฐ overflowing_pow เปเบกเปเบเบเบทเบเบเบฐเบเบดเบเบฑเบ;
- ะะพะฑะฐะฒะปะตะฝะฐ ะฒะพะทะผะพะถะฝะพััั ะฒะบะปััะตะฝะธั ะพะฟัะธะผะธะทะฐัะธะน ะฝะฐ ััะฐะฟะต ัะฒัะทัะฒะฐะฝะธั ัะตัะตะท ัะบะฐะทะฐะฝะธะต ัะฑะพัะพัะฝะพะน ะพะฟัะธะธ ยซ-C linker-plugin-ltoยป.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru