본문으로 건너뛰기

Rust 1.39.0 Release Notes

// RUST-RELEASE-NOTES — official release note timeline

Rust 1.39.0 공식 release note를 기준으로, 섹션별 앞쪽 항목을 발췌해 변화 흐름을 빠르게 훑을 수 있게 정리했습니다.

범위

  • 대상 릴리즈: Rust 1.39.0
  • 포함된 릴리즈 수: 1개
  • 생성 경로: scripts/bloggen.py rust-release-docs
  • 생성일: 2026-07-08
  • 원문: rust-lang/rust RELEASES.md

읽는 법

  • 이 문서는 해당 Rust 릴리즈 하나만 다룹니다.
  • 섹션별 최대 3개 앞쪽 항목만 발췌했으므로, 세부 API 목록은 원문 링크를 확인하세요.
  • Compatibility Notes는 업그레이드 전 회귀 위험을 확인하는 체크리스트로 보면 됩니다.

타임라인

Rust 1.39.0 (2019-11-07)

  • Language
    • You can now create async functions and blocks with async fn, async move {}, and async {} respectively, and you can now call .await on async expressions.
    • You can now use certain attributes on function, closure, and function pointer parameters. These attributes include cfg, cfg_attr, allow, warn, deny, forbid as well as inert helper attributes used by procedural macro attributes applied to items. e.g. fn len( #[cfg(windows)] slice: &[u16], #[cfg(not(windows))] slice: &[u8], ) -> usize { s…
    • You can now take shared references to bind-by-move patterns in the if guards of match arms. e.g. fn main() { let array: Box<[u8; 4]> = Box::new([1, 2, 3, 4]);
  • Compiler
    • Added tier 3* support for the i686-unknown-uefi target.
    • Added tier 3 support for the sparc64-unknown-openbsd target.
    • rustc will now trim code snippets in diagnostics to fit in your terminal. Note Cargo currently doesn't use this feature. Refer to cargo#7315 to track this feature's progress.
    • 그 외 1개 항목은 원문 참고
  • Libraries
    • Vec::new and String::new are now const functions.
    • LinkedList::new is now a const function.
    • str::len, [T]::len and str::as_bytes are now const functions.
    • 그 외 1개 항목은 원문 참고
  • Stabilized APIs
    • Pin::into_inner
    • Instant::checked_duration_since
    • Instant::saturating_duration_since
  • Cargo
    • You can now publish git dependencies if supplied with a version.
    • The --all flag has been renamed to --workspace. Using --all is now deprecated.
  • Compatibility Notes
    • Code that was previously accepted by the old borrow checker, but rejected by the NLL borrow checker is now a hard error in Rust 2018. This was previously a warning, and will also become a hard error in the Rust 2015 edition in the 1.40.0 release.
    • rustdoc now requires rustc to be installed and in the same directory to run tests. This should improve performance when running a large amount of doctests.
    • The try! macro will now issue a deprecation warning. It is recommended to use the ? operator instead.
    • 그 외 1개 항목은 원문 참고

Sources