Rust 1.39 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฐเฉ€เจฒเฉ€เจœเจผ

เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฐเฉ€เจฒเฉ€เจœเจผ เจœเฉฐเจ—เจพเจฒ 1.39, เจฎเฉ‹เจœเจผเฉ€เจฒเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉเจ†เจฐเจพ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจญเจพเจธเจผเจพ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† 'เจคเฉ‡ เจ•เฉ‡เจ‚เจฆเฉเจฐเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจชเฉเจฐเจฌเฉฐเจงเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจœเจพเจ‚ เจฐเจจเจŸเจพเจˆเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ‰เฉฑเจš เจ•เจพเจฐเจœ เจธเจฎเจพเจจเจคเจพ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจพเจงเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

เจฐเจธเจŸ เจฆเจพ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจชเฉเจฐเจฌเฉฐเจงเจจ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจจเฉ‚เฉฐ เจชเฉเจ†เจ‡เฉฐเจŸเจฐ เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€ เจคเฉ‹เจ‚ เจฎเฉเจ•เจค เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ˜เฉฑเจŸ-เจชเฉฑเจงเจฐเฉ€ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€ เจคเฉ‹เจ‚ เจชเฉˆเจฆเจพ เจนเฉ‹เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจšเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฌเจพเจ…เจฆ-เจฎเฉเจ•เจค เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจเจ•เจธเฉˆเจธ, เจจเจฒ เจชเฉเจ†เจ‡เฉฐเจŸเจฐ เจกเฉ€เจฐเฉ‡เจซเจฐเฉˆเจ‚เจธ, เจฌเจซเจฐ เจ“เจตเจฐเจฐเจจ เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ€เจ†เจ‚เฅค เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจตเฉฐเจกเจฃ, เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจญเจฐเจคเจพ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจชเฉˆเจ•เฉ‡เจœ เจฎเฉˆเจจเฉ‡เจœเจฐ เจตเจฟเจ•เจธเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจ•เจพเจฐเจ—เฉ‹, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ•เจฒเจฟเฉฑเจ• เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจฎเฉ‡เจœเจผเจฌเจพเจจ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจฟเจค เจนเฉˆ crates.io.

เจฎเฉเฉฑเจ– เจจเจตเฉ€เจจเจคเจพเจตเจพเจ‚:

  • เจธเจฅเจฟเจฐ เจ•เฉ€เจคเจพ "async" เจซเฉฐเจ•เจธเจผเจจ, async เจฎเฉ‚เจต { ... } เจฌเจฒเจพเจ•, เจ…เจคเฉ‡ ".await" เจ†เจชเจฐเฉ‡เจŸเจฐ 'เจคเฉ‡ เจ†เจงเจพเจฐเจฟเจค เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจ…เจธเจฟเฉฐเจ•เจฐเฉ‹เจจเจธ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจธเฉฐเจŸเฉˆเจ•เจธ, เจœเฉ‹ เจ•เจฟ เจฎเฉเฉฑเจ– เจ•เจฎเจพเจ‚เจก เจชเฉเจฐเจตเจพเจน เจจเฉ‚เฉฐ เจฌเจฒเจพเจ• เจจเจพ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจนเฉˆเจ‚เจกเจฒเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃเจพ เจธเฉŒเจ–เจพ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ…เจธเจฟเฉฐเจ•เจฐเฉ‹เจจเจธ I/O เจฒเจˆ เจชเจนเจฟเจฒเจพเจ‚ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ‡ API เจฆเฉ€ เจคเฉเจฒเจจเจพ เจตเจฟเฉฑเจš, async/.await เจ•เฉฐเจธเจŸเจฐเฉฑเจ•เจŸเจธ เจธเจฎเจเจฃ เจตเจฟเฉฑเจš เจธเจฐเจฒ เจนเจจ, เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจชเฉœเฉเจนเจจเจฏเฉ‹เจ— เจนเจจ, เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเฉ‚เจชเจธ, เจ•เฉฐเจกเฉ€เจธเจผเจจเจฒ เจธเจŸเฉ‡เจŸเจฎเฉˆเจ‚เจŸเจพเจ‚, เจ…เจคเฉ‡ เจ…เจชเจตเจพเจฆเจพเจ‚ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจœเจพเจฃเฉ€เจ†เจ‚-เจชเจ›เจพเจฃเฉ€เจ†เจ‚ เจตเจนเจพเจ… เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจคเจ•เจจเฉ€เจ•เจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจ…เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจธ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค

    Async-await เจธเฉฐเจŸเฉˆเจ•เจธ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจซเฉฐเจ•เจธเจผเจจ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจจเฉ‚เฉฐ เจฐเฉ‹เจ• เจธเจ•เจฆเฉ‡ เจนเจจ, เจฎเฉเฉฑเจ– เจฅเฉเจฐเฉˆเจก 'เจคเฉ‡ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจตเจพเจชเจธ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจ เจœเจฟเฉฑเจฅเฉ‹เจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจ›เฉฑเจกเจฟเจ† เจธเฉ€เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, I/O เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ…เจœเจฟเจนเฉ‡ เจตเจฟเจฐเจพเจฎ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจ…เจ—เจฒเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจฆเฉ‡ เจ†เจ‰เจฃ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจนเฉ‹เจฐ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค "async fn" เจ…เจคเฉ‡ "async เจฎเฉ‚เจต" เจจเจพเจฒ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจซเฉฐเจ•เจธเจผเจจ เจ…เจคเฉ‡ เจฌเจฒเจพเจ• เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจตเจพเจชเจธ เจ•เจฐเจฆเฉ‡ เจนเจจ เจญเจตเจฟเฉฑเจ–, เจœเฉ‹ เจ‡เฉฑเจ• เจธเจฅเจ—เจค เจ…เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจธ เจ—เจฃเจจเจพ เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเฉเจฒเจคเจตเฉ€ เจ—เจฃเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ ".await" เจ†เจชเจฐเฉ‡เจŸเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจจเจคเฉ€เจœเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ•เฉ‹เจˆ เจตเฉ€ เจ•เจพเจฐเจตเจพเจˆ เจ‰เจฆเฉ‹เจ‚ เจคเฉฑเจ• เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจœเจพเจ‚ เจชเฉ‚เจฐเจต-เจฏเฉ‹เจœเจจเจพเจฌเฉฑเจง เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• .await เจจเฉ‚เฉฐ เจฌเฉเจฒเจพเจ‡เจ† เจจเจนเฉ€เจ‚ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจจเจพเจฒ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจจเฉ‡เจธเจŸเจก เจ•เฉฐเจธเจŸเจฐเฉฑเจ•เจŸเจธ เจจเฉ‚เฉฐ เจฌเจฟเจจเจพเจ‚ เจตเจพเจงเฉ‚ เจ“เจตเจฐเจนเฉˆเฉฑเจก เจฆเฉ‡ เจฌเจฃเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

    async fn first_function() -> u32 {.. }
    ...
    let future = first_function();
    ...
    let result: u32 = future.await;

  • เจธเจฅเจฟเจฐ เจ•เฉ€เจคเจพ "#!"เจฆเฉเจ†เจฐเจพ-เจšเจพเจฒ" เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจ…เจคเฉ‡ เจธเจฎเฉ€เจ•เจฐเจจ เจฆเฉ‡ "เจœเฉ‡" เจญเจพเจ— เจตเจฟเฉฑเจš เจ‡เจนเจจเจพเจ‚ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฆเฉ‡ เจนเจตเจพเจฒเฉ‡ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ "เจฎเฉˆเจš". เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจนเฉเจฃ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจ‰เจธเจพเจฐเฉ€เจ†เจ‚ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจนเฉˆ:

    fn main() {
    เจเจฐเฉ‡ เจฆเจฟเจ“: เจฌเจพเจ•เจธ<[u8; 4]> = เจฌเจพเจ•เจธ::เจจเจตเจพเจ‚([1, 2, 3, 4]);

    เจฎเฉˆเจš เจเจฐเฉ‡ {
    เจจเฉฐเจฌเจฐ
    เจœเฉ‡เจ•เจฐ nums.iter().sum::() == 10

    => {
    เจฌเฉ‚เฉฐเจฆ (เจธเฉฐเจ–เจฟเจ†);
    }
    _ => เจชเจนเฉเฉฐเจšเจฏเฉ‹เจ— เจจเจนเฉ€เจ‚!(),
    }
    }

  • เจธเฉฐเจ•เฉ‡เจค เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจนเฉˆ เจ—เฉเจฃ เจœเจฆเฉ‹เจ‚ เจซเฉฐเจ•เจธเจผเจจ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ, เจ•เจฒเฉ‹เจœเจผเจฐ, เจ…เจคเฉ‡ เจซเฉฐเจ•เจธเจผเจจ เจชเฉเจ†เจ‡เฉฐเจŸเจฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹เฅค เจ•เฉฐเจกเฉ€เจธเจผเจจเจฒ เจ•เฉฐเจชเจพเจˆเจฒเฉ‡เจธเจผเจจ เจเจŸเจฐเฉ€เจฌเจฟเจŠเจŸเจธ (cfg, cfg_attr) เจœเฉ‹ lint (เจ‡เจœเจพเจœเจผเจค, เจšเฉ‡เจคเจพเจตเจจเฉ€, เจ‡เจจเจ•เจพเจฐ เจ…เจคเฉ‡ เจฎเจจเฉเจนเจพ) เจฐเจพเจนเฉ€เจ‚ เจกเจพเจ‡เจ—เจจเฉŒเจธเจŸเจฟเจ•เจธ เจจเฉ‚เฉฐ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจธเจนเจพเจ‡เจ• เจฎเฉˆเจ•เจฐเฉ‹ เจ•เจพเจฒเจฟเฉฐเจ— เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจธเจฎเจฐเจฅเจฟเจค เจนเจจเฅค

    fn len(
    #[cfg(windows)] เจŸเฉเจ•เฉœเจพ: &[u16], // เจตเจฟเฉฐเจกเฉ‹เจœเจผ 'เจคเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹
    #[cfg(not(windows))] เจŸเฉเจ•เฉœเจพ: &[u8], // เจนเฉ‹เจฐ OS เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‹เจ‚
    ) -> เจตเจฐเจคเฉ‹เจ‚ {
    slice.len()
    }

  • NLL (เจจเจพเจจ-เจฒเฉ‡เจ•เจธเฉ€เจ•เจฒ เจฒเจพเจˆเจซเจŸเจพเจˆเจฎเจœเจผ) เจคเจ•เจจเฉ€เจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ (เจ‰เจงเจพเจฐ เจšเฉˆเจ•เจฐ) เจฆเฉ‡ เจ‰เจงเจพเจฐ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจชเจ›เจพเจฃเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฌเจพเจฐเฉ‡ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚, เจ…เจจเฉเจตเจพเจฆ เจ•เฉ€เจคเจพ เจ˜เจพเจคเจ• เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจตเจฟเฉฑเจš. เจธเจพเจจเฉ‚เฉฐ เจฏเจพเจฆ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‰เจงเจพเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฆเฉ‡ เจœเฉ€เจตเจจ เจ•เจพเจฒ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจตเจฟเจงเฉ€ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจคเจธเจฆเฉ€เจ• เจชเฉเจฐเจฃเจพเจฒเฉ€ เจจเฉ‡ เจ•เฉเจ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจฌเจฃเจพเจ‡เจ† เจนเฉˆ เจœเฉ‹ เจชเฉเจฐเจพเจฃเฉ‡ เจคเจธเจฆเฉ€เจ• เจ•เฉ‹เจก เจฆเฉเจ†เจฐเจพ เจ…เจฃเจฆเฉ‡เจ–เฉ€ เจ—เจˆ เจธเฉ€เฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจœเจพเจ‚เจšเจพเจ‚ เจฒเจˆ เจ—เจฒเจคเฉ€ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจชเจนเจฟเจฒเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจ•เฉ‹เจก เจฆเฉ‡ เจจเจพเจฒ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเจค เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจฌเจœเจพเจ เจชเจนเจฟเจฒเจพเจ‚ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจฐเจธเจŸ 2018 เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจšเฉฑเจฒเจฃ เจตเฉ‡เจฒเฉ‡ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจนเฉเจฃ เจคเจฐเฉเฉฑเจŸเฉ€เจ†เจ‚ เจจเจพเจฒ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ…เจ—เจฒเฉ€ เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš, เจฐเจธเจŸ 2015 เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจ—เจฒเจคเฉ€ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจจเฉ‚เฉฐ เจตเฉ€ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจœเฉ‹ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจชเฉเจฐเจพเจฃเฉ‡ เจ‰เจงเจพเจฐ เจšเฉˆเจ•เจฐ เจคเฉ‹เจ‚ เจ›เฉเจŸเจ•เจพเจฐเจพ เจชเจพเจตเฉ‡เจ—เจพ;
  • "const" เจ—เฉเจฃ, เจœเฉ‹ เจธเจฅเจฟเจฐเจพเจ‚เจ• เจฆเฉ€ เจฌเจœเจพเจ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš เจตเจฐเจคเจฃ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจซเฉฐเจ•เจธเจผเจจ Vec::new, String::new, LinkedList::new, str::len, [T]::len เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค , str::as_bytes,
    abs, wrapping_abs เจ…เจคเฉ‡ overflowing_abs;

  • API เจฆเฉ‡ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจนเจฟเฉฑเจธเฉ‡ เจจเฉ‚เฉฐ เจธเจฅเจฟเจฐ เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจœเฉ‹ เจธเจฅเจฟเจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ
    Pin::into_inner, Instant::checked_duration_since เจ…เจคเฉ‡ Instant::saturating_duration_since;

  • เจ•เจพเจฐเจ—เฉ‹ เจชเฉˆเจ•เฉ‡เจœ เจฎเฉˆเจจเฉ‡เจœเจฐ เจ•เฉ‹เจฒ เจนเฉเจฃ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจซเจพเจˆเจฒเจพเจ‚ เจฒเจˆ ".toml" เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจนเฉˆเฅค เจ•เจพเจฐเจ—เฉ‹ เจคเฉ‹เจ‚ เจธเจฟเฉฑเจงเจพ เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจธเจนเจพเจ‡เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆเฅค เจตเจฟเจตเจพเจฆเจ—เฉเจฐเจธเจค "--all" เจซเจฒเฉˆเจ— เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฆเฉ‡ เจนเฉ‹เจ, "--workspace" เจซเจฒเฉˆเจ— เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†เฅค เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจ–เฉ‡เจคเจฐ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ"เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เจฐเฉ‹", เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ—เจฟเฉฑเจŸ เจŸเฉˆเจ— เจ…เจคเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉฐเจฌเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจ•เฉ‡ เจจเจฟเจฐเจญเจฐเจคเจพ เจชเฉเจฐเจ•เจพเจธเจผเจค เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ. เจตเฉฑเจ–-เจตเฉฑเจ– เจธเฉฐเจ•เจฒเจจ เจชเฉœเจพเจตเจพเจ‚ เจฆเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจธเจฎเฉ‡เจ‚ เจฆเฉ€ เจ‡เฉฑเจ• HTML เจฐเจฟเจชเฉ‹เจฐเจŸ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจŸเฉˆเจธเจŸ เจตเจฟเจ•เจฒเจช "-Ztimings" เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†เฅค
  • rustc เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจตเจฟเฉฑเจš, เจกเจพเจ‡เจ—เจจเฉŒเจธเจŸเจฟเจ• เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจฆเฉ€เจ†เจ‚ เจชเฉ‚เจ›เจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉฑเจŸเจฃเจพ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจŸเจฐเจฎเฉ€เจจเจฒ เจตเจฟเฉฑเจš เจซเจฟเฉฑเจŸ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพเฅค เจŸเฉ€เจšเฉ‡ เจตเจพเจฒเฉ‡ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ เจฒเจˆ เจคเฉ€เจœเฉ‡ เจชเฉฑเจงเจฐ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเจพ
    i686-เจ…เจฃเจœเจพเจฃ-uefi เจ…เจคเฉ‡ sparc64-เจ…เจฃเจœเจพเจฃ-เจ“เจชเจจเจฌเฉ€เจเจธเจกเฉ€เฅค เจคเฉ€เจœเฉ‡ เจชเฉฑเจงเจฐ เจตเจฟเฉฑเจš เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจธเจนเจพเจ‡เจคเจพ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจชเจฐ เจธเจตเฉˆเจšเจพเจฒเจค เจœเจพเจ‚เจš เจ…เจคเฉ‡ เจ…เจงเจฟเจ•เจพเจฐเจค เจฌเจฟเจฒเจกเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจ•เจพเจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚เฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹