เจ•เฉเจฐเจฟเจธเจŸเจฒ 0.34.0 เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ†

เจ•เฉเจฐเจฟเจธเจŸเจฒ เจฆเจพ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจฐเฉ‚เจฌเฉ€ เจธเฉฐเจŸเฉˆเจ•เจธ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ€ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ, เจœเจฟเจธ เจฆเฉ€เจ†เจ‚ เจฎเฉเฉฑเจ– เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ "เจฌเจฟเจฒเจŸ-เจ‡เจจ" เจ‡เจตเฉˆเจ‚เจŸ เจฒเฉ‚เจช เจฆเฉ‡ เจจเจพเจฒ เจฐเจจเจŸเจพเจˆเจฎ เจนเจจ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ I/O เจ“เจชเจฐเฉ‡เจธเจผเจจ เจ…เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจธ เจนเจจ, เจฎเจฒเจŸเฉ€เจฅเฉเจฐเฉˆเจกเจฟเฉฐเจ— เจฒเจˆ เจธเจฎเจฐเจฅเจจ (เจœเจฟเฉฐเจจเจพ เจšเจฟเจฐ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน เจธเฉฐเจ•เจฒเจจ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจ‡เฉฑเจ• เจซเจฒเฉˆเจ— เจฆเฉเจ†เจฐเจพ เจธเจฎเจฐเฉฑเจฅ เจนเฉˆ) เจ…เจคเฉ‡ C เจตเจฟเฉฑเจš เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒ เจฌเจนเฉเจค เจนเฉ€ เจธเจงเจพเจฐเจจ เจ…เจคเฉ‡ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจ•เจพเจฐเจตเจพเจˆ.

เจธเฉฐเจธเจ•เจฐเจฃ 0.34.0 เจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจญเจพเจธเจผเจพ เจ…เจงเจฟเจ•เจพเจฐเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจ†เจชเจฃเฉ€ เจชเจนเจฟเจฒเฉ€ เจ…เจธเจฒเฉ€ เจฐเฉ€เจฒเฉ€เจœเจผ (เจ…เจฐเจฅเจพเจค เจธเฉฐเจธเจ•เจฐเจฃ 1.0) เจตเฉฑเจฒ เจตเจงเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

เจ•เฉเจฐเจฟเจธเจŸเจฒ เจฆเฉ‡ เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจคเจพ เจฆเฉ‡ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจฌเจฆเจฒเจพเจ… เจ…เจคเฉ‡ เจธเฉเจงเจพเจฐ เจธเจผเจพเจฎเจฒ เจนเจจ:

  • API เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจฒเฉŒเจ—เจฟเฉฐเจ— เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ เจฒเจพเจ—, เจœเฉ‹ เจ•เจฟ, เจชเฉเจฐเจพเจฃเฉ‡ เจฆเฉ‡ เจ‰เจฒเจŸ, เจตเฉฑเจ–-เจตเฉฑเจ– เจฌเฉˆเจ•เจเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉเจจเฉ‡เจนเฉ‡ เจญเฉ‡เจœ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ "เจธเจฐเฉ‹เจค" เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจ‡เจนเจจเจพเจ‚ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ–เจฐเฉ‡ เจขเฉฐเจ— เจจเจพเจฒ เจซเจฟเจฒเจŸเจฐ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค

  • เจธเฉ€ เจตเจฟเจ•เจพเจธ เจฆเฉ€ เจฆเฉเจจเฉ€เจ† เจคเฉ‹เจ‚ เจฎเฉเฉฑเจขเจฒเฉ€เจ†เจ‚ เจ—เฉฑเจฒเจพเจ‚, เจ…เจฐเจจเฉ‹ ะธ WinError, I/O เจชเฉเจฐเจพเจˆเจฎเจฟเจŸเจฟเจต เจฒเจˆ เจตเจฐเจคเฉ‡ เจ—เจ, เจ…เจชเจตเจพเจฆ เจฒเฉœเฉ€ เจฆเฉ‡ เจ•เจพเจฐเจจ เจฌเฉ€เจคเฉ‡ เจฆเฉ€ เจ—เฉฑเจฒ เจฌเจฃ เจฐเจนเฉ‡ เจนเจจ IO::เจ—เจฒเจคเฉ€ (เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ…เจœเฉ‡ เจคเฉฑเจ• เจ•เฉ‹เจˆ เจตเฉ€ เจเจฐเจจเฉ‹ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ 'เจคเฉ‡ เจชเจพเจฌเฉฐเจฆเฉ€ เจจเจนเฉ€เจ‚ เจฒเจ—เจพเจ‰เจ‚เจฆเจพ)เฅค

  • เจ†เจชเจฐเฉ‡เจŸเจฐ เจคเฉ‹เจ‚ else nil เจฆเจพ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจฌเจฆเจฒ เจนเจŸเจพเจ‡เจ† เจ—เจฟเจ† เจ•เฉ‡เจธ/เจœเจฆเฉ‹เจ‚/เจนเฉ‹เจฐ. เจ‡เจน เจกเจฟเจตเฉˆเจฒเจชเจฐ เจจเฉ‚เฉฐ เจ…เจšเจพเจจเจ• เจธเจผเจพเจ–เจพเจตเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเฉ‚เฉฐ เจ›เฉฑเจกเจฃ เจคเฉ‹เจ‚ เจฐเฉ‹เจ•เจฃ เจฒเจˆ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจœเจฆเฉ‹เจ‚ เจจเจฟเจฐเจฃเจพเจ‡เจ• เจ•เฉ‡เจธเจพเจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ enums เจ…เจคเฉ‡ เจฏเฉ‚เจจเฉ€เจ…เจจ เจคเฉ‹เจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฒเฉฐเจ˜เจฃเจพ. เจญเจพเจต, เจธเจงเจพเจฐเจจ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจ‡เจน เจ•เฉ‹เจก เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพ เจœเจฆเฉ‹เจ‚ (เจœเจฆเฉ‹เจ‚ เจšเจพเจฐ) เจœเจพเจ‚ เจ•เจพเจฐเจœ เจนเฉ‹เจฐ-เจธเจผเจพเจ–เจพเจตเจพเจ‚:

a = 1 || 'x' || "foo"
เจ•เฉ‡เจธ เจ
เจœเจฆเฉ‹เจ‚ Int32
#โ€ฆ
เจœเจฆเฉ‹เจ‚ เจธเจคเจฐ
#โ€ฆ
เจ…เฉฐเจค

  • เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจตเจฟเจ•เจฒเจช เจ…เจฏเฉ‹เจ—_เจ“เจตเจฐเจซเจฒเฉ‹ เจนเฉเจฃ เจ‰เจชเจฒเจฌเจง เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ“เจตเจฐเจซเจฒเฉ‹ เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ, &+, &-, &* เจตเจฟเจงเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹เฅค

  • เจเจฐเฉ‡#เจซเจฟเจฒ เจนเฉเจฃ เจ‡เฉฑเจ• เจฌเฉเจฒเฉ‡เจŸ เจจเจพเจฒเฉ‹เจ‚ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจ‰เฉฑเจกเจฆเจพ เจนเฉˆ, เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจฎเฉ‡เจฎเจธเฉˆเฉฑเจŸ เจจเจพเจฒ เจฎเฉ‚เจฐเจ– เจฒเฉ‚เจช เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจงเฉฐเจจเจตเจพเจฆ;

  • เจธเจผเจพเจฐเจกเจœเจผ (เจชเฉˆเจ•เฉ‡เจœเจพเจ‚) เจฆเจพ เจฎเฉˆเจจเฉ‡เจœเจฐ, เจœเจฟเจธเจจเฉ‚เฉฐ เจตเจฟเจฐเฉ‹เจงเจพเจญเจพเจธเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, shards, เจนเฉเจฃ เจ•เฉ‹เจ•เฉ‹เจชเฉŒเจกเจธ (เจธเจตเจฟเจซเจŸ) เจ…เจคเฉ‡ เจฌเจฟเจฒเจกเจฐ (เจฐเฉ‚เจฌเฉ€) เจตเจฟเฉฑเจš เจชเจพเจ เจ—เจ เจคเฉ‡เจœเจผ เจ…เจคเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจ•เฉเจธเจผเจฒ เจฎเฉ‹เจฒเจฟเจจเฉ€เจฒเฉ‹ เจจเจฟเจฐเจญเจฐเจคเจพ เจธเฉฐเจคเฉเจธเจผเจŸเฉ€ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

  • เจธเจนเจฟเจฏเฉ‹เจ— เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจเจฒเจเจฒเจตเฉ€เจเจฎ เจเจ•เจธเจเจจเจฏเฉ‚เจเจฎเจเจ•เจธ, เจœเฉ‹ เจธเจฟเจงเจพเจ‚เจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจ‰เจคเจชเจพเจฆเจ•เจคเจพ, เจธเจฅเจฟเจฐเจคเจพ, เจ†เจฆเจฟ เจตเจฟเฉฑเจš เจ•เฉเจ เจตเจพเจงเจพ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค

... เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡, เจฎเฉ‡เจฐเฉ€ เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจฐเจพเจ เจตเจฟเฉฑเจš, เจ˜เฉฑเจŸ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเฉเจงเจพเจฐ.

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

เจธเจฐเฉ‹เจค: linux.org.ru

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