Skip to main content

Rust 1.54.0 Release Notes

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

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

범위

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

읽는 법

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

타임라인

Rust 1.54.0 (2021-07-29)

  • Language
    • You can now use macros for values in some built-in attributes. This primarily allows you to call macros within the #[doc] attribute. For example, to include external documentation in your crate, you can now write the following: #![doc = include_str!("README.md")]
    • You can now cast between unsized slice types (and types which contain unsized slices) in const fn.
    • You can now use multiple generic lifetimes with impl Trait where the lifetimes don't explicitly outlive another. In code this means that you can now have impl Trait<'a, 'b> where as before you could only have impl Trait<'a, 'b> where 'b: 'a.
  • Compiler
    • Rustc will now search for custom JSON targets in /lib/rustlib/<target-triple>/target.json where / is the "sysroot" directory. You can find your sysroot directory by running rustc --print sysroot.
    • Added wasm as a target_family for WebAssembly platforms.
    • You can now use #[target_feature] on safe functions when targeting WebAssembly platforms.
    • 그 외 3개 항목은 원문 참고
  • Libraries
    • panic::panic_any will now #[track_caller].
    • Added OutOfMemory as a variant of io::ErrorKind.
    • proc_macro::Literal now implements FromStr.
    • 그 외 1개 항목은 원문 참고
  • Stabilized APIs
    • BTreeMap::into_keys
    • BTreeMap::into_values
    • HashMap::into_keys
    • 그 외 6개 항목은 원문 참고
  • Cargo
    • Added the --prune <spec> option to cargo-tree to remove a package from the dependency graph.
    • Added the --depth option to cargo-tree to print only to a certain depth in the tree
    • Added the no-proc-macro value to cargo-tree --edges to hide procedural macro dependencies.
    • 그 외 1개 항목은 원문 참고
  • Compatibility Notes
    • Mixing Option and Result via ? is no longer permitted in closures for inferred types.
    • Previously unsound code is no longer permitted where different constructors in branches could require different lifetimes.
    • As previously mentioned the std::arch intrinsics now uses stricter const checking than before and may reject some previously accepted code.
    • 그 외 1개 항목은 원문 참고

Sources