2023๋…„ 4์›” 23์ผยท1๋ถ„ ์ฝ๊ธฐ

Rust 1.69 ์†Œ๊ฐœ: ์‹œ์Šคํ…œ ์ˆ˜์ค€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ๋ฐœ์ „

Rust 1.69๋Š” cargo fix ํ•˜์œ„ ๋ช…๋ น ๊ฐœ์„  ๋ฐ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ์˜ ๋””๋ฒ„๊ทธ ์ •๋ณด ์ œ์™ธ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ช‡ ๊ฐ€์ง€ ํ–ฅ์ƒ๋œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ์ŠคํŒŒ์Šค ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ”„๋กœํ† ์ฝœ ์ตœ์ ํ™”, ์Šคํƒ ํ”ผ๋‹, ํ–ฅ์ƒ๋œ ๋‹ค์ค‘ ์ƒ์‚ฐ์ž ์ฑ„๋„๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

Rust 1.69 ์†Œ๊ฐœ: ์‹œ์Šคํ…œ ์ˆ˜์ค€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ๋ฐœ์ „

์‹œ์Šคํ…œ ์ˆ˜์ค€์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์„ ๋‹จ์ˆœํ™”ํ•˜๋„๋ก ์„ค๊ณ„๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ธ Rust๋Š” ์ตœ์‹  ์—…๋ฐ์ดํŠธ์ธ Rust 1.69๋กœ ํ—ค๋“œ๋ผ์ธ์„ ์žฅ์‹ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ตœ์ฒจ๋‹จ ์–ธ์–ด๋Š” C, C++, Go์™€ ๊ฐ™์€ ๋Œ€์‘ ์–ธ์–ด์— ๋น„ํ•ด ์žฅ๋‹จ์ ์ด ์ ์€ ํ–ฅ์ƒ๋œ ์ฝ”๋“œ ํ’ˆ์งˆ์„ ์ œ๊ณตํ•˜๋ฉฐ ์ •๊ธฐ์ ์ธ ์—…๋ฐ์ดํŠธ ๋ฐ ๊ฐœ์„  ์‚ฌํ•ญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Rust 1.69๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด rustup์„ ํ†ตํ•ด ์ด์ „ ๋ฒ„์ „์˜ Rust๋ฅผ ์„ค์น˜ํ•œ ์‚ฌ์šฉ์ž๋Š” ๋‹ค์Œ ๋ช…๋ น์„ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ์ฃผ๋ชฉํ• ๋งŒํ•œ ์—…๋ฐ์ดํŠธ์—๋Š” ์ฃผ์š” ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์ง€๋งŒ ์ˆ˜๋งŽ์€ ์ž‘์€ ๊ฐœ์„  ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Rust 1.69๋Š” 500๋ช…์ด ๋„˜๋Š” ๊ธฐ์—ฌ์ž์˜ 3,000๊ฐœ ์ด์ƒ์˜ ์ปค๋ฐ‹์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด Rust ๋ฆด๋ฆฌ์Šค ํŒ€์˜ ์ง€์†์ ์ธ ๋…ธ๋ ฅ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

Rust 1.69์˜ ๊ฐœ์„  ์‚ฌํ•ญ์—๋Š” Rust 1.29์— ๋„์ž…๋œ ๋‹จ์ˆœ ์ปดํŒŒ์ผ๋Ÿฌ ๊ฒฝ๊ณ ๋ฅผ ์ž๋™ ์ˆ˜์ •ํ•˜๋Š” cargo fix ํ•˜์œ„ ๋ช…๋ น์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๊ณ ์˜ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ–ˆ์œผ๋ฉฐ ์ˆ˜์ •ํ•˜๊ธฐ ์‰ฌ์šด ๋ช‡ ๊ฐ€์ง€ Clippy ๊ฒฝ๊ณ ๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Cargo๋Š” ์ˆ˜์ • ๊ฐ€๋Šฅํ•œ ๊ฒฝ๊ณ ๋ฅผ ๊ฐ์ง€ํ•  ๋•Œ cargo fix ๋˜๋Š” cargo clippy --fix ์‹คํ–‰์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด Cargo ํ˜ธ์ถœ์€ ์ˆ˜์ • ์‚ฌํ•ญ์„ ๋‹จ์ผ ํฌ๋ ˆ์ดํŠธ์— ์ •ํ™•ํ•˜๊ฒŒ ์ ์šฉํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ Rust 1.69๋Š” ์ปดํŒŒ์ผ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ์— ๋””๋ฒ„๊ทธ ์ •๋ณด๋ฅผ ๋” ์ด์ƒ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ œ Cargo๋Š” ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋””๋ฒ„๊ทธ ์ •๋ณด๋ฅผ ๋ฐฉ์ถœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹คํ–‰๋  ๋•Œ ์–ด๋– ํ•œ ์˜ํ–ฅ๋„ ๋А๋ผ์ง€ ๋ชปํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. cstr::from_bytes_until_nul ๋ฐ core::ffi::FromBytesUntilNulError ํฌํ•จํ•˜์—ฌ ์—ฌ๋Ÿฌ API๋„ ์•ˆ์ •ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ „ Rust 1.68 ๋ฆด๋ฆฌ์Šค์—์„œ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์€ Cargo ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์œ„ํ•œ ์ŠคํŒŒ์Šค ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ”„๋กœํ† ์ฝœ์˜ ์•ˆ์ •์„ฑ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ƒˆ๋กœ์šด ํ”„๋กœํ† ์ฝœ์€ Git ํ”„๋กœํ† ์ฝœ์—์„œ ๊ฒฝํ—˜ํ•œ ํ™•์žฅ ์ œํ•œ ๋ฐ ์ง€์—ฐ์„ ํ•ด๊ฒฐํ•˜์—ฌ crates.io์— ์•ก์„ธ์Šคํ•  ๋•Œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. Sparse ํ”„๋กœํ† ์ฝœ์€ Rust 1.70.0์—์„œ crates.io์˜ ๊ธฐ๋ณธ๊ฐ’์ด ๋˜๋„๋ก ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Rust 1.68์— ๋„์ž…๋œ ๋‹ค๋ฅธ ๊ฐœ์„  ์‚ฌํ•ญ์—๋Š” ์ƒˆ๋กœ์šด pin! T ํ‘œํ˜„์‹์—์„œ Pin<&mut T> ๊ตฌ์„ฑํ•˜๊ณ  {core, std}::pin::pin! ๋ฐ impl DerefMut for PathBuf .

Rust 1.67์€ #[must_use] ๋ฐ async fn์— ๋Œ€ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ ๊ฒฝ๊ณ ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹ค์ค‘ ์ƒ์‚ฐ์ž, ๋‹จ์ผ ์†Œ๋น„์ž ์ฑ„๋„์˜ ๊ตฌํ˜„์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  {integer}::checked_ilog , {integer}::ilog ๋ฐ NonZero*::BITS ์™€ ๊ฐ™์€ ์ˆ˜๋งŽ์€ API๋ฅผ ์•ˆ์ •ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

2022๋…„ 12์›”์— ์ถœ์‹œ๋œ Rust 1.66์€ ์ •์ˆ˜ ํ‘œํ˜„์ด ์žˆ๋Š” ์—ด๊ฑฐํ˜•์„ ํ™œ์„ฑํ™”ํ•˜์—ฌ ํ•„๋“œ์™€ ํ•จ๊ป˜ ๋ช…์‹œ์  ํŒ๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฒ„์ „์€ ๋˜ํ•œ ์ƒˆ๋กœ์šด ์•ˆ์ •ํ™”๋œ black_box ๊ธฐ๋Šฅ, cargo remove , ํŒจํ„ด์˜ ..=x ๋ฒ”์œ„ ๋ฐ API ์•ˆ์ •ํ™”๋กœ ์ข…์†์„ฑ์„ ์ œ๊ฑฐํ•˜๋Š” ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜๋งŽ์€ ๋งž์ถคํ˜• ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋Š” Rust์˜ ์‹œ์Šคํ…œ ์ˆ˜์ค€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ตœ์ ํ™”์˜ ์ด์ ์„ ๋ˆ„๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ no-code ํ”Œ๋žซํผ์ธ AppMaster ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑ์„ ๊ฐ€์†ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started
Rust 1.69 ์†Œ๊ฐœ: ์‹œ์Šคํ…œ ์ˆ˜์ค€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ๋ฐœ์ „ | AppMaster