เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชฐเชธเซเชŸ 1.75 เช…เชจเซ‡ เชฏเซเชจเชฟเช•เชฐเซเชจเชฒ เชนเชฐเซเชฎเชฟเชŸ 0.6.7เชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

เชฐเชธเซเชŸ 1.75 เชธเชพเชฎเชพเชจเซเชฏ เชนเซ‡เชคเซเชตเชพเชณเซ€ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ, เชฎเซ‹เชเชฟเชฒเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฆเซเชตเชพเชฐเชพ เชธเซเชฅเชพเชชเชฟเชค, เชชเชฐเช‚เชคเซ เชนเชตเซ‡ เชธเซเชตเชคเช‚เชคเซเชฐ เชฌเชฟเชจ-เชฒเชพเชญเช•เชพเชฐเซ€ เชธเช‚เชธเซเชฅเชพ เชฐเชธเซเชŸ เชซเชพเช‰เชจเซเชกเซ‡เชถเชจเชจเชพ เช†เชถเซเชฐเชฏ เชนเซ‡เช เชณ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เชญเชพเชทเชพ เชฎเซ‡เชฎเชฐเซ€ เชธเชฒเชพเชฎเชคเซ€ เชชเชฐ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เช—เชพเชฐเซเชฌเซ‡เชœ เช•เชฒเซ‡เช•เซเชŸเชฐ เช…เชจเซ‡ เชฐเชจเชŸเชพเชˆเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชŸเชพเชณเซ€เชจเซ‡ เช‰เชšเซเชš เชœเซ‹เชฌ เชธเชฎเชพเช‚เชคเชฐเชคเชพ เชนเชพเช‚เชธเชฒ เช•เชฐเชตเชพเชจเชพ เชฎเชพเชงเซเชฏเชฎ เชชเซ‚เชฐเชพ เชชเชพเชกเซ‡ เช›เซ‡ (เชฐเชจเชŸเชพเช‡เชฎ เชฎเซ‚เชณเชญเซ‚เชค เชชเซเชฐเชพเชฐเช‚เชญ เช…เชจเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชชเซเชธเซเชคเช•เชพเชฒเชฏเชจเซ€ เชœเชพเชณเชตเชฃเซ€ เชฎเชพเชŸเซ‡ เช˜เชŸเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡).

เชฐเชธเซเชŸเชจเซ€ เชฎเซ‡เชฎเชฐเซ€ เชนเซ‡เชจเซเชกเชฒเชฟเช‚เช— เชชเชฆเซเชงเชคเชฟเช“ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเชจเซ‡ เชชเซ‹เช‡เชจเซเชŸเชฐเชจเซ€ เชนเซ‡เชฐเชซเซ‡เชฐ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชญเซ‚เชฒเซ‹เชฅเซ€ เชฌเชšเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฒเซ‹-เชฒเซ‡เชตเชฒ เชฎเซ‡เชฎเชฐเซ€ เชนเซ‡เชจเซเชกเชฒเชฟเช‚เช—เชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชŠเชญเซ€ เชฅเชคเซ€ เชธเชฎเชธเซเชฏเชพเช“ เชธเชพเชฎเซ‡ เชฐเช•เซเชทเชฃ เช†เชชเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ เชฎเซ‡เชฎเชฐเซ€ เชเชฐเชฟเชฏเชพเชจเซ‡ เชฎเซเช•เซเชค เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชคเซ‡เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเซเช‚, เชจเชฒ เชชเซ‹เช‡เชจเซเชŸเชฐเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเชตเซ‹, เชฌเชซเชฐ เช“เชตเชฐเชฐเชจเซเชธ เชตเช—เซ‡เชฐเซ‡. เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“เชจเซเช‚ เชตเชฟเชคเชฐเชฃ เช•เชฐเชตเชพ, เชฌเชฟเชฒเซเชก เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพ เช…เชจเซ‡ เชจเชฟเชฐเซเชญเชฐเชคเชพเช“เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช•เชพเชฐเซเช—เซ‹ เชชเซ‡เช•เซ‡เชœ เชฎเซ‡เชจเซ‡เชœเชฐ เชตเชฟเช•เชธเชพเชตเซ‡ เช›เซ‡. crates.io เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€ เชนเซ‹เชธเซเชŸเชฟเช‚เช— เชฒเชพเชˆเชฌเซเชฐเซ‡เชฐเซ€เช“ เชฎเชพเชŸเซ‡ เช†เชงเชพเชฐเชญเซ‚เชค เช›เซ‡.

เช•เชฎเซเชชเชพเชˆเชฒ เชธเชฎเชฏเซ‡ เชฐเชธเซเชŸเชฎเชพเช‚ เชฐเซ‡เชซเชฐเชจเซเชธ เชšเซ‡เช•เชฟเช‚เช—, เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ€ เชฎเชพเชฒเชฟเช•เซ€เชจเซ‹ เชŸเซเชฐเซ…เช• เชฐเชพเช–เชตเชพ, เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฒเชพเช‡เชซเชŸเชพเช‡เชฎ (เชธเซเช•เซ‹เชชเซเชธ)เชจเซ‹ เชŸเซเชฐเซ…เช• เชฐเชพเช–เชตเชพ เช…เชจเซ‡ เช•เซ‹เชก เชเช•เซเชเชฟเช•เซเชฏเซเชถเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฎเซ‡เชฎเชฐเซ€ เชเช•เซเชธเซ‡เชธเชจเซ€ เชธเชพเชšเซ€เชคเชพเชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเซ€เชจเซ‡ เชฎเซ‡เชฎเชฐเซ€ เชธเซเชฐเช•เซเชทเชพ เชชเซ‚เชฐเซ€ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชฐเชธเซเชŸ เชชเชฃ เชชเซ‚เชฐเซเชฃเชพเช‚เช• เช“เชตเชฐเชซเซเชฒเซ‹ เชธเชพเชฎเซ‡ เชฐเช•เซเชทเชฃ เชชเซ‚เชฐเซเช‚ เชชเชพเชกเซ‡ เช›เซ‡, เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ เชšเชฒ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ€ เชซเชฐเชœเชฟเชฏเชพเชค เชถเชฐเซ‚เช†เชคเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชฎเชพเช‚ เชญเซ‚เชฒเซ‹เชจเซ‡ เชตเชงเซ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเซ‡ เช›เซ‡, เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เช…เชชเชฐเชฟเชตเชฐเซเชคเชจเชถเซ€เชฒ เชธเช‚เชฆเชฐเซเชญเซ‹ เช…เชจเซ‡ เชšเชฒเซ‹เชจเซ‹ เช–เซเชฏเชพเชฒ เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡, เชฒเซ‹เชœเชฟเช•เชฒ เชญเซ‚เชฒเซ‹เชจเซ‡ เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ เชฎเชœเชฌเซ‚เชค เชธเซเชŸเซ‡เชŸเชฟเช• เชŸเชพเช‡เชชเชฟเช‚เช— เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡.

เชฎเซเช–เซเชฏ เชจเชตเซ€เชจเชคเชพเช“:

  • เช–เชพเชจเช—เซ€ เชฒเช•เซเชทเชฃเซ‹เชฎเชพเช‚ "async fn" เช…เชจเซ‡ "-> impl Trait" เชธเช‚เช•เซ‡เชคเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เช‰เชฎเซ‡เชฐเซ€. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, โ€œ-> impl Traitโ€ เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเชฎเซ‡ เชเช• เชฒเช•เซเชทเชฃ เชชเชฆเซเชงเชคเชฟ เชฒเช–เซ€ เชถเช•เซ‹ เช›เซ‹ เชœเซ‡ เชชเซเชจเชฐเชพเชตเชฐเซเชคเช• เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡: trait Container { fn items(&self) -> impl Iterator; } MyContainer เชฎเชพเชŸเซ‡ impl เช•เชจเซเชŸเซ‡เชจเชฐ { fn เช†เช‡เชŸเชฎเซเชธ(&self) -> impl Iterator { self.items.iter().cloned() } }

    เชคเชฎเซ‡ "async fn" เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเช•เซเชทเชฃเซ‹ เชชเชฃ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹: trait HttpService { async fn fetch(&self, url: Url) -> HtmlBody; // เชธเซเชงเซ€ เชตเชฟเชธเซเชคเชฐเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡: // fn fetch(&self, url: Url) -> impl Future; }

  • เชชเซ‹เชˆเชจเซเชŸเชฐเซเชธเชจเซ€ เชคเซเชฒเชจเชพเชฎเชพเช‚ เชฌเชพเชˆเชŸ เช“เชซเชธเซ‡เชŸเซเชธเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ API เช‰เชฎเซ‡เชฐเซเชฏเซเช‚. เชฌเซ‡เชฐ เชชเซ‹เช‡เชจเซเชŸเชฐ (โ€œ*const Tโ€ เช…เชจเซ‡ โ€œ*mut Tโ€) เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชชเซ‹เช‡เชจเซเชŸเชฐเชฎเชพเช‚ เช‘เชซเชธเซ‡เชŸ เช‰เชฎเซ‡เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‘เชชเชฐเซ‡เชถเชจเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เช—เชพเช‰, เช† เชฎเชพเชŸเซ‡ "::add(1)" เชœเซ‡เชตเชพ เชฌเชพเช‚เชงเช•เชพเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชถเช•เซเชฏ เชนเชคเซเช‚, เชœเซ‡เชฎเชพเช‚ "size_of::()" เชจเชพ เช•เชฆเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เชฌเชพเชˆเชŸเชจเซ€ เชธเช‚เช–เซเชฏเชพ เช‰เชฎเซ‡เชฐเซ€เชจเซ‡. เชจเชตเซ€ API เช† เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเซเชฐเชฅเชฎ เชชเซเชฐเช•เชพเชฐเซ‹เชจเซ‡ "*const u8" เช…เชฅเชตเชพ "*mut u8" เชชเชฐ เช•เชพเชธเซเชŸ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เชฌเชพเชˆเชŸ เช‘เชซเชธเซ‡เชŸเซเชธเชฎเชพเช‚ เชนเซ‡เชฐเชซเซ‡เชฐ เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡.
    • เชชเซ‹เช‡เชจเซเชŸเชฐ::เชฌเชพเช‡เชŸ_เชเชก
    • เชจเชฟเชฐเซเชฆเซ‡เชถเช•::เชฌเชพเช‡เชŸ_เช“เชซเชธเซ‡เชŸ
    • เชจเชฟเชฐเซเชฆเซ‡เชถเช•::byte_offset_from
    • เชจเชฟเชฐเซเชฆเซ‡เชถเช•::เชฌเชพเช‡เชŸ_เชธเชฌ
    • เชชเซ‹เช‡เชจเซเชŸเชฐ::เชฐเซ‡เชชเชฟเช‚เช—_เชฌเชพเช‡เชŸ_เชเชก
    • เชจเชฟเชฐเซเชฆเซ‡เชถเช•:: wrapping_byte_offset
    • เชชเซ‹เช‡เชจเซเชŸเชฐ::เชฐเซ‡เชชเชฟเช‚เช—_เชฌเชพเช‡เชŸ_เชธเชฌ
  • rustc เช•เชฎเซเชชเชพเช‡เชฒเชฐเชจเซเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เชตเชงเชพเชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชคเชค เช•เชพเชฐเซเชฏ. BOLT เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเชฐ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚, เชœเซ‡ เชชเซ‹เชธเซเชŸ-เชฒเชฟเช‚เช• เชคเชฌเช•เซเช•เชพเชฎเชพเช‚ เชšเชพเชฒเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเซ‚เชฐเซเชต-เชคเซˆเชฏเชพเชฐ เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจ เชชเซเชฐเซ‹เชซเชพเช‡เชฒเชฎเชพเช‚เชฅเซ€ เชฎเชพเชนเชฟเชคเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. BOLT เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเชฎเซ‡ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เช•เซ‡เชถเชจเชพ เชตเชงเซ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช‰เชชเชฏเซ‹เช— เชฎเชพเชŸเซ‡ librustc_driver.so เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช•เซ‹เชกเชจเชพ เชฒเซ‡เช†เช‰เชŸเชจเซ‡ เชฌเชฆเชฒเซ€เชจเซ‡ เช•เชฎเซเชชเชพเช‡เชฒเชฐ เชเช•เซเชเชฟเช•เซเชฏเซเชถเชจเชจเซ‡ เชฒเช—เชญเช— 2% เชเชกเชชเซ€ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

    LLVM เชฎเชพเช‚ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเซ€ เช—เซเชฃเชตเชคเซเชคเชพ เชธเซเชงเชพเชฐเชตเชพ เชฎเชพเชŸเซ‡ "-Ccodegen-units=1" เชตเชฟเช•เชฒเซเชช เชธเชพเชฅเซ‡ rustc เช•เชฎเซเชชเชพเช‡เชฒเชฐ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ "-Ccodegen-units=1" เชฌเชฟเชฒเซเชกเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เช•เชพเชฎเช—เซ€เชฐเซ€เชฎเชพเช‚ เช†เชถเชฐเซ‡ 1.5% เชจเซ‹ เชตเชงเชพเชฐเซ‹ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡. เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชฎเชพเชคเซเชฐ x86_64-unknown-linux-gnu เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชฎเชพเชŸเซ‡ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชธเช•เซเชฐเชฟเชฏ เช•เชฐเซ‡เชฒ เช›เซ‡.

    เชฐเชธเซเชŸเชฎเชพเช‚ เชฒเช–เซ‡เชฒเชพ เชเชจเซเชกเซเชฐเซ‹เช‡เชก เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เช˜เชŸเช•เซ‹เชจเชพ เชฌเชฟเชฒเซเชก เชŸเชพเช‡เชฎเชจเซ‡ เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ Google เชฆเซเชตเชพเชฐเชพ เช…เช—เชพเช‰ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชเชจเซเชกเซเชฐเซ‹เช‡เชกเชจเซเช‚ เชจเชฟเชฐเซเชฎเชพเชฃ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ โ€œ-C codegen-units=1โ€ เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชฎเชจเซ‡ เชŸเซ‚เชฒเช•เซ€เชŸเชจเซเช‚ เช•เชฆ 5.5% เช˜เชŸเชพเชกเชตเชพ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชฎเชพเช‚ 1.8% เชตเชงเชพเชฐเซ‹ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ€, เชœเซเชฏเชพเชฐเซ‡ เชŸเซ‚เชฒเช•เซ€เชŸเชจเซ‹ เชฌเชฟเชฒเซเชก เชธเชฎเชฏ เชฒเช—เชญเช— เชฌเชฎเชฃเซ‹ เชฅเชˆ เช—เชฏเซ‹.

    เชฒเชฟเช‚เช•-เชŸเชพเช‡เชฎ เช—เชพเชฐเซเชฌเซ‡เชœ เช•เชฒเซ‡เช•เซเชถเชจ (โ€œ--gc-sectionsโ€) เชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเชตเชพเชฅเซ€ 1.9% เชธเซเชงเซ€ เชชเชฐเชซเซ‹เชฐเซเชฎเชจเซเชธ เช—เซ‡เช‡เชจ, เชฒเชฟเช‚เช•-เชŸเชพเช‡เชฎ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ (LTO) เชจเซ‡ 7.7% เชธเซเชงเซ€ เช…เชจเซ‡ เชชเซเชฐเซ‹เชซเชพเช‡เชฒ-เช†เชงเชพเชฐเชฟเชค เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ (PGO) เชจเซ‡ 19.8% เชธเซเชงเซ€ เชธเช•เซเชทเชฎ เช•เชฐเชตเซเช‚. เชซเชพเช‡เชจเชฒเชฎเชพเช‚, BOLT เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ, เชœเซ‡เชฃเซ‡ เชฌเชฟเชฒเซเชก เชธเซเชชเซ€เชกเชจเซ‡ 24.7% เชธเซเชงเซ€ เชตเชงเชพเชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซเชฏเซเช‚ เชนเชคเซเช‚, เชชเชฐเช‚เชคเซ เชŸเซ‚เชฒเช•เชฟเชŸเชจเซเช‚ เช•เชฆ 10.9% เชตเชงเซเชฏเซเช‚ เชนเชคเซเช‚.

    เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชฐเชธเซเชŸ 1.75 เช…เชจเซ‡ เชฏเซเชจเชฟเช•เชฐเซเชจเชฒ เชนเชฐเซเชฎเชฟเชŸ 0.6.7เชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

  • API เชจเชพ เชจเชตเชพ เชญเชพเช—เชจเซ‡ เชธเซเชฅเชฟเชฐเชจเซ€ เชถเซเชฐเซ‡เชฃเซ€เชฎเชพเช‚ เช–เชธเซ‡เชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชฒเช•เซเชทเชฃเซ‹เชจเซ€ เชชเชฆเซเชงเชคเชฟเช“ เช…เชจเซ‡ เช…เชฎเชฒเซ€เช•เชฐเชฃเซ‹ เชธเซเชฅเชฟเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡:
    • เช…เชฃเซ*::from_ptr
    • เชซเชพเช‡เชฒ เชŸเชพเช‡เชฎเซเชธ
    • FileTimesExt
    • เชซเชพเช‡เชฒ::set_modified
    • เชซเชพเช‡เชฒ::set_times
    • IpAddr::to_canonical
    • Ipv6Addr::to_canonical
    • เชตเชฟเช•เชฒเซเชช::as_slice
    • เชตเชฟเช•เชฒเซเชช::as_mut_slice
    • เชชเซ‹เช‡เชจเซเชŸเชฐ::เชฌเชพเช‡เชŸ_เชเชก
    • เชจเชฟเชฐเซเชฆเซ‡เชถเช•::เชฌเชพเช‡เชŸ_เช“เชซเชธเซ‡เชŸ
    • เชจเชฟเชฐเซเชฆเซ‡เชถเช•::byte_offset_from
    • เชจเชฟเชฐเซเชฆเซ‡เชถเช•::เชฌเชพเช‡เชŸ_เชธเชฌ
    • เชชเซ‹เช‡เชจเซเชŸเชฐ::เชฐเซ‡เชชเชฟเช‚เช—_เชฌเชพเช‡เชŸ_เชเชก
    • เชจเชฟเชฐเซเชฆเซ‡เชถเช•:: wrapping_byte_offset
    • เชชเซ‹เช‡เชจเซเชŸเชฐ::เชฐเซ‡เชชเชฟเช‚เช—_เชฌเชพเช‡เชŸ_เชธเชฌ
  • "const" เชฒเช•เซเชทเชฃ, เชœเซ‡ เชธเซเชฅเชฟเชฐเชพเช‚เช•เซ‹เชจเซ‡ เชฌเชฆเชฒเซ‡ เช•เซ‹เชˆเชชเชฃ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชถเช•เซเชฏเชคเชพ เชจเช•เซเช•เซ€ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชพเชฐเซเชฏเซ‹เชฎเชพเช‚ เชฅเชพเชฏ เช›เซ‡:
    • Ipv6Addr::to_ipv4_mapped
    • เช•เชฆเชพเชšUninit::assume_init_read
    • เช•เชฆเชพเชšUninit::zeroed
    • เชฎเซ‡เชฎ::เชญเซ‡เชฆเชญเชพเชต
    • เชฎเซ‡เชฎ::เชถเซ‚เชจเซเชฏ
  • เชธเชฎเชฐเซเชฅเชจเชจเซเช‚ เชคเซเชฐเซ€เชœเซเช‚ เชธเซเชคเชฐ csky-unknown-linux-gnuabiv2hf, i586-unknown-netbsd เช…เชจเซ‡ mipsel-unknown-netbsd เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชฎเชพเชŸเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เชคเซเชฐเซ€เชœเชพ เชธเซเชคเชฐเชฎเชพเช‚ เชฎเซ‚เชณเชญเซ‚เชค เช†เชงเชพเชฐเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชธเซเชตเชฏเช‚เชธเช‚เชšเชพเชฒเชฟเชค เชชเชฐเซ€เช•เซเชทเชฃ เชตเชฟเชจเชพ, เชธเชคเซเชคเชพเชตเชพเชฐ เชฌเชฟเชฒเซเชก เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเชพ เช…เชฅเชตเชพ เช•เซ‹เชก เชฌเชจเชพเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชคเชชเชพเชธเซเชฏเชพ เชตเชฟเชจเชพ.

เชตเชงเซเชฎเชพเช‚, เช…เชฎเซ‡ เชนเชฐเซเชฎเชฟเชŸ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชจเชตเชพ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ€ เชจเซ‹เช‚เชง เชฒเชˆ เชถเช•เซ€เช เช›เซ€เช, เชœเซ‡ เชฐเชธเซเชŸ เชญเชพเชทเชพเชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เชตเชฟเชถเชฟเชทเซเชŸ เช•เชฐเซเชจเชฒ (เชฏเซเชจเชฟเช•เชฐเซเชจเชฒ) เชตเชฟเช•เชธเชพเชตเซ‡ เช›เซ‡, เชœเซ‡ เชธเซเชต-เชธเชฎเชพเชฏเซ‡เชฒ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชธเชพเชงเชจเซ‹ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เช…เชคเชฟเชฐเชฟเช•เซเชค เชธเซเชคเชฐเซ‹ เชตเชฟเชจเชพ เชนเชพเช‡เชชเชฐเชตเชพเช‡เชเชฐ เช…เชฅเชตเชพ เชเช•เชฆเชฎ เชนเชพเชฐเซเชกเชตเซ‡เชฐเชจเซ€ เชŸเซ‹เชš เชชเชฐ เชšเชพเชฒเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เชจเซ‡ เช‘เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เชตเชฟเชจเชพ. เชœเซเชฏเชพเชฐเซ‡ เชฌเชฟเชฒเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเซเชฅเชฟเชฐ เชฐเซ€เชคเซ‡ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เชนเซ‹เชฏ เช›เซ‡ เชœเซ‡ OS เช•เชฐเซเชจเชฒ เช…เชจเซ‡ เชธเชฟเชธเซเชŸเชฎ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เชตเชฟเชจเชพ เชธเซเชตเชคเช‚เชคเซเชฐ เชฐเซ€เชคเซ‡ เชคเชฎเชพเชฎ เชœเชฐเซ‚เชฐเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡. เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช•เซ‹เชก เช…เชชเชพเชšเซ‡ 2.0 เช…เชจเซ‡ MIT เชฒเชพเช‡เชธเชจเซเชธ เชนเซ‡เช เชณ เชตเชฟเชคเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. Rust, Go, Fortran, C เช…เชจเซ‡ C++ เชฎเชพเช‚ เชฒเช–เซ‡เชฒเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเชพ เชเช•เชฒเชพ เช…เชฎเชฒ เชฎเชพเชŸเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡. เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชคเซ‡เชจเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชฌเซเชŸเชฒเซ‹เชกเชฐ เชชเชฃ เชตเชฟเช•เชธเชพเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ เชœเซ‡ เชคเชฎเชจเซ‡ QEMU เช…เชจเซ‡ KVM เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชนเชฐเซเชฎเชฟเชŸเชจเซ‡ เชฒเซ‹เชจเซเชš เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹