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
ashas been defined as a saturating conversion. This was previously undefined behaviour, but you can use the{f64, f32}::to_int_uncheckedmethods to continue using the current behaviour, which may be desirable in rare performance sensitive situations. mem::Discriminant<T>now usesT's discriminant type instead of always usingu64.- 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.
- Out of range float to int conversions using
- Compiler
- You can now override individual target features through the
target-featureflag. E.g.-C target-feature=+avx2 -C target-feature=+fmais now equivalent to-C target-feature=+avx2,+fma. - Added the
force-unwind-tablesflag. This option allows rustc to always generate unwind tables regardless of panic strategy. - Added the
embed-bitcodeflag. This codegen flag allows rustc to include LLVM bitcode into generatedrlibs (this is on by default). - 그 외 4개 항목은 원문 참고
- You can now override individual target features through the
- Libraries
net::{SocketAddr, SocketAddrV4, SocketAddrV6}now implementsPartialOrdandOrd.proc_macro::TokenStreamnow implementsDefault.- You can now use
charwithops::{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_ptrBTreeMap::remove_entryRc::as_ptr- 그 외 13개 항목은 원문 참고
- Cargo
- Cargo uses the
embed-bitcodeflag to optimize disk usage and build time.
- Cargo uses the
- 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}::powinow returns a slightly different value on Windows. This is due to changes in LLVM's intrinsics which{f32, f64}::powiuses.- 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
- Rust release notes — official rust-lang/rust release notes.