본문으로 건너뛰기

Rust 1.43.0 Release Notes

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

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

범위

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

읽는 법

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

타임라인

Rust 1.43.0 (2020-04-23)

  • Language
    • Fixed using binary operations with &{number} (e.g. &1.0) not having the type inferred correctly.
    • Attributes such as #[cfg()] can now be used on if expressions.
    • Allow type Foo: Ord syntactically.
    • 그 외 4개 항목은 원문 참고
  • Compiler
    • You can now pass multiple lint flags to rustc to override the previous flags. For example; rustc -D unused -A unused-variables denies everything in the unused lint group except unused-variables which is explicitly allowed. However, passing rustc -A unused-variables -D unused denies everything in the unused lint group including `unused-variable…
    • rustc will now prefer your system MinGW libraries over its bundled libraries if they are available on windows-gnu.
    • rustc now buffers errors/warnings printed in JSON.
  • Libraries
    • Arc<[T; N]>, Box<[T; N]>, and Rc<[T; N]>, now implement TryFrom<Arc<[T]>>,TryFrom<Box<[T]>>, and TryFrom<Rc<[T]>> respectively. Note These conversions are only available when N is 0..=32.
    • You can now use associated constants on floats and integers directly, rather than having to import the module. e.g. You can now write u32::MAX or f32::NAN with no imports.
    • u8::is_ascii is now const.
    • 그 외 4개 항목은 원문 참고
  • Stabilized APIs
    • Once::is_completed
    • f32::LOG10_2
    • f32::LOG2_10
    • 그 외 3개 항목은 원문 참고
  • Cargo
    • You can now set config [profile]s in your .cargo/config, or through your environment.
    • Cargo will now set CARGO_BIN_EXE_<name> pointing to a binary's executable path when running integration tests or benchmarks. <name> is the name of your binary as-is e.g. If you wanted the executable path for a binary named my-programyou would use env!("CARGO_BIN_EXE_my-program").
  • Compatibility Notes
    • Having trailing syntax in the assert! macro is now a hard error. This has been a warning since 1.36.0.
    • Fixed Self not having the correctly inferred type. This incorrectly led to some instances being accepted, and now correctly emits a hard error.

Sources