เชฐเชธเซเชŸ 1.51 เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชฐเชฟเชฒเซ€เช

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

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

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

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

    เชตเชฐเซเชคเชฎเชพเชจ เชชเซเชฐเช•เชพเชถเชจเชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซ€เชจเซ‡, เชชเซเชฐเช•เชพเชฐ โ€œ[T; N]" (เชชเซเชฐเช•เชพเชฐ T เช…เชจเซ‡ เช•เชฆ N) เช•เซ‹เชˆเชชเชฃ เชชเซ‚เชฐเซเชฃเชพเช‚เช•, เชฌเซเชฒเชฟเชฏเชจ เช…เชจเซ‡ เช…เช•เซเชทเชฐ เชชเซเชฐเช•เชพเชฐเซ‹ (เชธเซเชŸเซเชฐเช•เซเชšเชฐ เช…เชจเซ‡ เชเชจเชฎ เชชเซเชฐเช•เชพเชฐเซ‹ เชนเชœเซ เชธเซเชงเซ€ เชธเชฎเชฐเซเชฅเชฟเชค เชจเชฅเซ€) เชธเชพเชฅเซ‡ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชฎเซ‚เชฐเซเชค เชชเซเชฐเช•เชพเชฐ เช…เชจเซ‡ เช•เชฆเชจเซ€ เช•เซเชทเชฎเชคเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เช•เซ‹เชจเซเชธเซเชŸเชจเซเชŸ เชœเซ‡เชจเชฐเชฟเช• เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸเชจเซ‡ เชฎเซ‹เชŸเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡; เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชšเซ‹เช•เซเช•เชธ เชชเซเชฐเช•เชพเชฐ เช…เชจเซ‡ เช•เชฆ เชธเชพเชฅเซ‡ เชฌเช‚เชงเชพเชฏเซ‡เชฒ เชจ เชนเซ‹เชฏ เชคเซ‡เชตเชพ เชเชฐเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹: เชธเซเชŸเซเชฐเช•เซเชŸ เชเชฐเซ‡ { // ^^^^^^^^^^^^^^^^^^^^ เชธเชคเชค เชธเชพเชฎเชพเชจเซเชฏ เชธเซ‚เชšเชฟเชจเซ€ เชตเซเชฏเชพเช–เซเชฏเชพ: [T; เชฒเช‚เชฌเชพเชˆ] // ^^^^^^ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— }

    เชœเซเชฏเชพเชฐเซ‡ เช–เชฐเซ‡เช–เชฐ "เชเชฐเซ‡" เชจเซ€ เช† เชตเซเชฏเชพเช–เซเชฏเชพ เชธเชพเชฅเซ‡ เชตเชชเชฐเชพเชฏ เช›เซ‡ ยป เช•เชฎเซเชชเชพเชˆเชฒเชฐ เชเชฐเซ‡เชจเซเช‚ เชฎเซ‹เชจเซ‹เชฎเซ‹เชฐเซเชซเชฟเช• เชตเชฐเซเชเชจ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชถเซ‡: เชธเซเชŸเซเชฐเช•เซเชŸ เชเชฐเซ‡ { เชฏเชพเชฆเซ€: [u8; 32] }

  • std::array::IntoIter API, เชธเชคเชค เชœเซ‡เชจเชฐเชฟเช• เชชเชฐ เช†เชงเชพเชฐเชฟเชค, เชธเซเชฅเชฟเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชคเชฎเซ‡ เช•เซ‹เชˆเชชเชฃ เชเชฐเซ‡ เชฎเชพเชŸเซ‡ เชฎเซ‚เชฒเซเชฏ เชฆเซเชตเชพเชฐเชพ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจเซ‹ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹: fn main() { let array = [1, 2, 3, 4, 5] ; // เช…เช—เชพเช‰, เชฎเซ‚เชฒเซเชฏ เชชเชฐ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ array.iter().copied() { println!("{}", เช†เช‡เชŸเชฎ); } // เชนเชตเซ‡ เชคเชฎเซ‡ std::array::IntoIter::new(array) { println!("{}", เช†เช‡เชŸเชฎ) เชฎเชพเช‚ เช†เช‡เชŸเชฎ เชฎเชพเชŸเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹; } }
  • เช•เชพเชฐเซเช—เซ‹ เชชเซ‡เช•เซ‡เชœ เชฎเซ‡เชจเซ‡เชœเชฐ เชนเชตเซ‡ Cargo.toml เชฎเชพเช‚ เชจเชตเชพ เชฐเชฟเชเซ‹เชฒเซเชตเชฐ เชซเซ€เชฒเซเชกเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชซเชฟเชšเชฐ เชฐเชฟเชเซ‹เชฒเซเชตเชฐเชจเชพ เชฌเซ€เชœเชพ เชตเชฐเซเชเชจเชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เชจเชฟเชฐเซเชงเชพเชฐเช•เชจเซเช‚ เชจเชตเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ "[เชธเซเชตเชฟเชงเชพเช“]" เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชธเซ‚เชšเชฟเชฌเชฆเซเชง เชจเชฟเชฐเซเชญเชฐเชคเชพ เชธเซเชตเชฟเชงเชพเช“เชจเซ‡ เชธเช‚เชฏเซ‹เชœเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชŸเชพเชณเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เชคเซ‡ เช…เชฏเซ‹เช—เซเชฏ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชฌเชฟเชฒเซเชก เชธเซเช•เซเชฐเชฟเชชเซเชŸเซเชธ เช…เชจเซ‡ เชฎเซ‡เช•เซเชฐเซ‹เชฎเชพเช‚ เช•เซ‡เชŸเชฒเซ€เช• เชฎเชพเชจเช• เชธเซเชตเชฟเชงเชพเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเชคเซ€ เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซเชฏเชพเชฐเซ‡ เชฌเชฟเชจ-เชฎเชพเชจเช• เชธเซเชตเชฟเชงเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชชเชฐเชฟเชฃเชพเชฎเซ€ เชเช•เซเชเซ‡เช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒเชฎเชพเช‚.

    เช…เชคเซเชฏเชพเชฐ เชธเซเชงเซ€, เชกเชฟเชชเซ‡เชจเซเชกเชจเซเชธเซ€ เช—เซเชฐเชพเชซเชฎเชพเช‚ เช˜เชฃเซ€ เชตเช–เชค เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชชเซ‡เช•เซ‡เชœเชจเซ€ เช•เซเชทเชฎเชคเชพเช“เชจเซ‡ เชœเซ‹เชกเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ เช•เซ‹เชˆ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ A เช…เชจเซ‡ B เช•เซเชทเชฎเชคเชพเช“เชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชคเซ€ เชกเชฟเชชเซ‡เชจเซเชกเชจเซเชธเซ€ fooเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เช…เชจเซ‡ เช† เชชเซ…เช•เซ‡เชœเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เชจเซเชฏ เชชเซ…เช•เซ‡เชœ เชฌเชพเชฐ เช…เชจเซ‡ เชฌเชพเชเชฎเชพเช‚ เชฅเชพเชฏ เช›เซ‡, เชคเซ‡เชฎ เช›เชคเชพเช‚ เชฌเชพเชฐ เชซเซ€เชšเชฐ A เชธเชพเชฅเซ‡ foo เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡, เช…เชจเซ‡ baz เชซเซ€เชšเชฐ B เชธเชพเชฅเซ‡ foo เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡, เชคเซ‹ เชชเช›เซ€ เชชเชฐเชฟเชฃเชพเชฎ เช เช†เชตเชถเซ‡ เช•เซ‡ เช•เชพเชฐเซเช—เซ‹ เช† โ€‹โ€‹เชธเซเชตเชฟเชงเชพเช“เชจเซ‡ เชธเช‚เชฏเซ‹เชœเชฟเชค เช•เชฐเชถเซ‡ เช…เชจเซ‡ foo เชจเซ‡ A เช…เชจเซ‡ B เชธเชฎเชพเชตเชฟเชทเซเชŸ เชธเซเชตเชฟเชงเชพเช“ เชธเชพเชฅเซ‡ เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเชถเซ‡. เช† เชชเชฆเซเชงเชคเชฟ เชเช• เชเชตเซ€ เชธเซเชตเชฟเชงเชพเชฎเชพเช‚ เชชเชฐเชฟเชฃเชฎเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡ เช…เชฎเซเช• เชจเชฟเชฐเซเชญเชฐเชคเชพ เชฒเช•เซเชทเซเชฏ เชธเชฟเชธเซเชŸเชฎ เชธเชพเชฅเซ‡ เช…เชธเช‚เช—เชค เชนเซ‹เชตเชพเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชธเช•เซเชทเชฎ เช›เซ‡ เชœเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชชเชฐเชฟเชฃเชพเชฎเซ€ เชฌเชฟเชฒเซเชก เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ "#![no_std]" เชธเชพเชฅเซ‡ เชฌเชฟเชฒเซเชŸ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒเชฎเชพเช‚ "#![no_std]" เชธเชพเชฅเซ‡ foo เชจเชพ เชตเชฐเซเชเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เช…เชจเซ‡ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ เชฌเชฟเชฒเซเชก เช‡เชจ เชฌเชฟเชฒเซเชก เชฆเชฐเชฎเชฟเชฏเชพเชจ "std" เชธเชพเชฅเซ‡ foo เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹. เชฐเซ‚. Cargo.toml เชฎเชพเช‚ เชฐเชฟเชเซ‹เชฒเซเชตเชฐ="2" เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชชเซ‡เช•เซ‡เชœ เชฎเซ‡เชจเซ‡เชœเชฐ เชนเชตเซ‡ dev, เชฏเชœเชฎเชพเชจ เช…เชจเซ‡ เชฒเช•เซเชทเซเชฏ เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเซ‡ เช…เชฒเช— เช•เชฐเซ€เชจเซ‡, เช† เชธเช‚เช˜เชฐเซเชทเชจเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชถเซ‡.

  • เช•เชพเชฐเซเช—เซ‹ เชธเซเชชเซเชฒเชฟเชŸ-เชกเชฟเชฌเช—เชฟเชจเชซเซ‹ เชตเชฟเช•เชฒเซเชชเชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡, เชœเซ‡ โ€œ[เชชเซเชฐเซ‹เชซเชพเช‡เชฒ]โ€ เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชธเซ‡เชŸ เช›เซ‡, เช…เชจเซ‡ เช…เชจเซเชฐเซ‚เชช เชซเซเชฒเซ‡เช— โ€œ-Csplit-debuginfo=unpackedโ€ rustc เชฎเชพเช‚, เชกเชฟเชฌเช—เซ€เช‚เช— เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เชฌเชšเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชจเชตเซ€ เชชเชฆเซเชงเชคเชฟเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ€ เช“เชซเชฐ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ‡ เช›เซ‡. dsymutil เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‹ เช…เชจเซ‡ macOS เชชเชฐ เชกเชฟเชฌเช—เซ€เช‚เช— เชฎเชพเชนเชฟเชคเซ€ เชธเชพเชฅเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเชพ เชจเชฟเชฐเซเชฎเชพเชฃเชจเซ‡ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเซ‡ เช›เซ‡.
  • เชธเซเชฅเชฟเชฐ เชฎเช•เซ‹เชธ "ptr::addr_of!" เช…เชจเซ‡ โ€œptr::addr_of_mut!โ€, เชœเซ‡ เชคเชฎเชจเซ‡ เช…เชธเช‚เชฐเซ‡เช–เชฟเชค เช•เซเชทเซ‡เชคเซเชฐเซ‹ เชฎเชพเชŸเซ‡ เช•เชพเชšเชพ เชชเซ‹เช‡เชจเซเชŸเชฐ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. std::ptr เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹; #[repr(packed)] struct Packed { f1: u8, f2: u16, } let packed = Packed { f1: 1, f2: 2 }; // &packed.f2 เชเช• เช…เชธเช‚เชฌเช‚เชงเชฟเชค เชชเซ‹เช‡เชจเซเชŸเชฐ เชฌเชจเชพเชตเชถเซ‡ เชœเซ‡ เช…เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชตเชฐเซเชคเชจ เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชœเชถเซ‡ raw_f2 = ptr::addr_of!(packed.f2); assert_eq!(เช…เชธเซเชฐเช•เซเชทเชฟเชค { raw_f2.read_unaligned() }, 2);
  • API เชจเชพ เชเช• เชจเชตเชพ เชญเชพเช—เชจเซ‡ เชธเซเชฅเชฟเชฐ เชถเซเชฐเซ‡เชฃเซ€เชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเซ€ เชชเชฆเซเชงเชคเชฟเช“เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เช•เชฐเซ€เชจเซ‡ เชธเซเชฅเชฟเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡:
    • เช†เชฐเซเช•::decrement_strong_count
    • เช†เชฐเซเช•::increment_strong_count
    • เชเช•เชตเชพเชฐ::เช•เซ‰เชฒ_เชตเชจเซเชธ_เชซเซ‹เชฐเซเชธ
    • เชชเซ€เช•เซ‡เชฌเชฒ::next_if_eq
    • เชชเซ€เช•เซ‡เชฌเชฒ::next_if
    • เชถเซ‹เชงเซ‹::stream_position
    • array::IntoIter
    • panic::panic_any
    • ptr::addr_of!
    • ptr::addr_of_mut!
    • เชธเซเชฒเชพเช‡เชธ::เชซเชฟเชฒ_เชตเชฟเชฅ
    • เชธเซเชฒเชพเช‡เชธ::เชธเซเชชเซเชฒเชฟเชŸ_เชธเชฎเชพเชตเชฟเชทเซเชŸ_เชฎเชŸ
    • เชธเซเชฒเชพเช‡เชธ::เชธเซเชชเซเชฒเชฟเชŸ_เชธเชฎเชพเชตเชฟเชทเซเชŸ
    • เชธเซเชฒเชพเช‡เชธ::เชธเซเชŸเซเชฐเซ€เชช_เชชเซเชฐเซ€เชซเชฟเช•เซเชธ
    • เชธเซเชฒเชพเช‡เชธ::เชธเซเชŸเซเชฐเซ€เชช_เชธเชซเชฟเช•เซเชธ
    • str::split_inclusive
    • เชธเชฟเช‚เช•::เชตเชจเซเชธเชธเซเชŸเซ‡เชŸ
    • เช•เชพเชฐเซเชฏ::เชœเชพเช—เซ‹
  • i386-unknown-linux-gnu, i486-unknown-linux-gnu, aarch64_be-unknown-linux-gnu, aarch64-unknown-linux-gnu_ilp32 เช…เชจเซ‡ aarch64_be-unknown-linux-gnu_ilp32 เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎเซเชธ เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชฅเชจเชจเซเช‚ เชคเซเชฐเซ€เชœเซเช‚ เชธเซเชคเชฐ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. . เชคเซเชฐเซ€เชœเชพ เชธเซเชคเชฐเชฎเชพเช‚ เชฎเซ‚เชณเชญเซ‚เชค เช†เชงเชพเชฐเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชธเซเชตเชฏเช‚เชธเช‚เชšเชพเชฒเชฟเชค เชชเชฐเซ€เช•เซเชทเชฃ เชตเชฟเชจเชพ, เชธเชคเซเชคเชพเชตเชพเชฐ เชฌเชฟเชฒเซเชก เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเชพ เช…เชฅเชตเชพ เช•เซ‹เชก เชฌเชจเชพเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชคเชชเชพเชธเซเชฏเชพ เชตเชฟเชจเชพ.

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

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