Rust 1.100 공식 출시, 10년 만에 never 타입 안정화

원제: Rust 1.100

왜 중요한가

10년간 미완이었던 never 타입 안정화로 Rust의 타입 시스템이 완성 단계에 가까워졌으며, Allocator API는 성능 민감한 시스템 소프트웨어 개발 범위를 확장한다.

Rust 팀이 2026년 11월 12일 Rust 1.100.0을 공식 출시했다. 10년간 5차례 안정화 시도 끝에 never 타입(!)이 마침내 안정화됐으며, Allocator API, DropGuard API, Cargo의 미사용 의존성 보고 기능 등이 함께 추가됐다.

Rust 1.100.0의 가장 주목할 변경 사항은 never 타입(!)의 안정화다. 10년 역사와 5번의 실패한 시도 끝에 이뤄진 결과로, 이번 릴리스 목표(project goal)도 공식 완료됐다. never 타입은 절대 값을 반환하지 않는 발산 연산(diverging computation)을 나타내는 타입으로, return·break·std::process::exit 등의 표현식도 ! 타입을 갖는다. 이제 Result<T, !>처럼 코드 어디에서나 never 타입을 명시적으로 쓸 수 있다. 아울러 Infallible이 never 타입의 별칭으로 변경되어 기존 API와의 호환성을 유지한다. 단, 이 변경을 위해 2024 이전 에디션(2015·2018·2021)에서 "never type fallback"이 ()에서 !로 바뀌는 파괴적 변경(breaking change)이 도입됐다. Rust 팀은 이를 최소화하기 위해 사전 호환성 경고를 제공하고 영향받는 공개 크레이트 수정을 지원했다.

Allocator API 핵심 부분도 안정화됐다. 새로 안정화된 Allocator 트레이트를 통해 라이브러리 개발자가 커스텀 할당자를 정의하고, Vec·Box 등 표준 라이브러리 타입과 함께 사용할 수 있다. 이는 Allocators 1.0 프로젝트 목표의 토대다. 이 외에도 DropGuard API, 영크기 타입(zero-sized types) 활용 개선, Cargo의 미사용 의존성 보고, 캐시 충돌 감소, min-publish-age 옵션 등이 추가됐다.

출처

blog.rust-lang.org — 원문 읽기 →