[Rust] 1.69.0 업데이트 발표 (번역)

https://blog.rust-lang.org/2023/04/20/Rust-1.69.0.html

러스트는 누구든 믿음직하고 효과적인 소프트웨어를 만들 수 있게 도와주는 끝내주는 언어입니다.

만약 rustup을 통해서 Rust의 이전버전을 설치해놓은 상대라면, 업데이트는 아주 쉽습니다. 그냥 이렇게 치면 돼요.

rustup update stable

rustup을 설치한 적이 없다면, 우리 웹사이트의 설치 페이지에서 받을 수 있습니다. 그리고 깃허브에서 이번 버전에 대한 릴리즈 노트를 참조해보세요.

미래의 릴리즈를 테스트해서 러스트 팀을 돕고 싶다면, 로컬에서 베타 채널(rustup default beta) 또는 nightly 채널(rustup default nightly)로 업데이트하는 것을 고려할 수 있습니다.

버그를 발견했다면 리포트해주세요!




1.69.0 stable에는 무엇이 있나요?

Rust 1.69.0에는 새로운 major 기능이 도입된 것이 없습니다.
하지만 500명이 넘는 기여자가 작성한 3,000개 이상의 커밋을 포함해서 작고 많은 개선 사항이 포함되어 있습니다.




Cargo는 이제 일부 warning을 자동으로 수정하도록 제안합니다.

Rust 1.29.0은 몇 가지 간단한 컴파일러 경고를 자동으로 수정하는 용도로 cargo fix 명령을 추가했습니다.
그 이후로 auto fix가 가능한 warning의 수는 꾸준히 증가하고 있습니다.
또한 일부 간단한 Clippy warning을 자동으로 수정하는 지원도 추가되었습니다.

그리고 이제 Cargo는 자동으로 수정할 수 있는 경고를 감지하면 cargo fixcargo clippy --fix를 실행할 것을 제안합니다.

**warning: unused import: std::hash::Hash **
**--> src/main.rs:1:5 **
**| **
**1 | use std:#️⃣:Hash; **
**| ^^^^^^^^^^^^^^^ **
**| **
**= note: #[warn(unused_imports)] on by default warning: foo (bin "foo") generated 1 **


**warning (run cargo fix --bin "foo" to apply 1 suggestion) **

위에 나타난 full Cargo invocation은 단일 crate에 수정 사항을 정확하게 적용하려는 경우에만 필요합니다.

workspace의 모든 기본 멤버에 수정 사항을 적용하려는 경우는 간단한 cargo fix로도 충분합니다.




디버그 정보는 더 이상 기본적으로 빌드 스크립트에 포함되지 않습니다.

컴파일 속도를 개선하기 위해서 이제 Cargo는 기본적으로 빌드 스크립트에서 디버그 정보 emit을 기피합니다.
빌드 스크립트가 성공적으로 실행되면, 눈에 띄는 효과가 나오진 않지만 빌드 스크립트의 backtrace에는 더 적은 정보가 포함됩니다.

빌드 스크립트를 디버깅하려면 아래 스니펫을 Cargo.toml에 추가하여 디버그 정보를 다시 emit할 수 있습니다.

**[profile.dev.build-override] **
**debug = true **


**[profile.release.build-override] **
**debug = true **




안정화된 API들

CStr::from_bytes_until_nul
core::ffi::FromBytesUntilNulError

다음 API들은 이제 const context에서 안정화됐습니다.

SocketAddr::new
SocketAddr::ip
SocketAddr::port
SocketAddr::is_ipv4
SocketAddr::is_ipv6
SocketAddrV4::new
SocketAddrV4::ip
SocketAddrV4::port
SocketAddrV6::new
SocketAddrV6::ip
SocketAddrV6::port
SocketAddrV6::flowinfo
SocketAddrV6::scope_id




기타 변경사항

RustCargoClippy에서 확인해주세요.




1.69.0의 컨트리뷰터들

1.69.0의 완성엔 수많은 사람들이 함께했습니다. 전부 여러분이 없었다면 불가능했을 거에요.

고마워요!​