본문으로 건너뛰기

Rust 1.45.0 Release Notes

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

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

범위

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

읽는 법

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

타임라인

Rust 1.45.0 (2020-07-16)

  • Language
    • Out of range float to int conversions using as has been defined as a saturating conversion. This was previously undefined behaviour, but you can use the {f64, f32}::to_int_unchecked methods to continue using the current behaviour, which may be desirable in rare performance sensitive situations.
    • mem::Discriminant<T> now uses T's discriminant type instead of always using u64.
    • Function like procedural macros can now be used in expression, pattern, and statement positions. This means you can now use a function-like procedural macro anywhere you can use a declarative (macro_rules!) macro.
  • Compiler
    • You can now override individual target features through the target-feature flag. E.g. -C target-feature=+avx2 -C target-feature=+fma is now equivalent to -C target-feature=+avx2,+fma.
    • Added the force-unwind-tables flag. This option allows rustc to always generate unwind tables regardless of panic strategy.
    • Added the embed-bitcode flag. This codegen flag allows rustc to include LLVM bitcode into generated rlibs (this is on by default).
    • 그 외 4개 항목은 원문 참고
  • Libraries
    • net::{SocketAddr, SocketAddrV4, SocketAddrV6} now implements PartialOrd and Ord.
    • proc_macro::TokenStream now implements Default.
    • You can now use char with ops::{Range, RangeFrom, RangeFull, RangeInclusive, RangeTo} to iterate over a range of codepoints. E.g. you can now write the following; for ch in 'a'..='z' { print!("{}", ch); } println!(); // Prints "abcdefghijklmnopqrstuvwxyz"
    • 그 외 7개 항목은 원문 참고
  • Stabilized APIs
    • Arc::as_ptr
    • BTreeMap::remove_entry
    • Rc::as_ptr
    • 그 외 13개 항목은 원문 참고
  • Cargo
    • Cargo uses the embed-bitcode flag to optimize disk usage and build time.
  • Compatibility Notes
    • Trying to self initialize a static value (that is creating a value using itself) is unsound and now causes a compile error.
    • {f32, f64}::powi now returns a slightly different value on Windows. This is due to changes in LLVM's intrinsics which {f32, f64}::powi uses.
    • Rustdoc's CLI's extra error exit codes have been removed. These were previously undocumented and not intended for public use. Rustdoc still provides a non-zero exit code on errors.
    • 그 외 1개 항목은 원문 참고

Sources