Mozilla ํ๋ก์ ํธ์ ์ํด ์ค๋ฆฝ๋์์ง๋ง ํ์ฌ๋ ๋ ๋ฆฝ์ ์ธ ๋น์๋ฆฌ ์กฐ์ง์ธ Rust Foundation์ ํ์์ผ๋ก ๊ฐ๋ฐ๋ ์์คํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด Rust 1.55์ ์ถ์๊ฐ ๋ฐํ๋์์ต๋๋ค. ์ด ์ธ์ด๋ ๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ค์ ์ ๋๊ณ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํ๋ฉฐ ๊ฐ๋น์ง ์์ง๊ธฐ๋ ๋ฐํ์์ ์ฌ์ฉํ์ง ์๊ณ ๋์ ์์ ๋ณ๋ ฌ์ฑ์ ๋ฌ์ฑํ ์ ์๋ ์๋จ์ ์ ๊ณตํฉ๋๋ค(๋ฐํ์์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ธฐ๋ณธ ์ด๊ธฐํ ๋ฐ ์ ์ง ๊ด๋ฆฌ๋ก ๋จ์ถ๋ฉ๋๋ค).
Rust์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ํฌ์ธํฐ๋ฅผ ์กฐ์ํ ๋ ์ค๋ฅ๋ฅผ ์ ๊ฑฐํ๊ณ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด ํด์ ๋ ํ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ก์ธ์คํ๋ ๊ฒ, ๋ ํฌ์ธํฐ ์ญ์ฐธ์กฐ, ๋ฒํผ ์ค๋ฒ๋ฐ ๋ฑ๊ณผ ๊ฐ์ ์ ์์ค ๋ฉ๋ชจ๋ฆฌ ์กฐ์์ผ๋ก ์ธํด ๋ฐ์ํ๋ ๋ฌธ์ ๋ก๋ถํฐ ๋ณดํธํฉ๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐฐํฌํ๊ณ ์ด์ ๋ธ๋ฆฌ๋ฅผ ๋ณด์ฅํ๋ฉฐ ์ข ์์ฑ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ํ๋ก์ ํธ๋ Cargo ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. crates.io ์ ์ฅ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์คํ ์ ์ํด ์ง์๋ฉ๋๋ค.
์ฃผ์ ํ์ :
- Cargo ํจํค์ง ๊ด๋ฆฌ์์๋ ๋น๋ ์ค์ ๋ฐ์ํ๋ ์ค๋ณต ์ค๋ฅ ๋ฐ ๊ฒฝ๊ณ ๋ฅผ ๋ณํฉํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์๋ก ๋ค๋ฅธ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ํจํค์ง๋ฅผ ์ฌ๋ฌ ๋ฒ ๋น๋ํ๋ "cargo test" ๋ฐ "cargo check --all-targets"์ ๊ฐ์ ๋ช ๋ น์ ์คํํ ๋ ์ด์ ์ฌ์ฉ์์๊ฒ ํ์๋๋ ๋์ ๋ฐ๋ณต๋๋ ๋ฌธ์ ๋ฐ์์ ๋ํ ์์ฝ์ด ํ์๋ฉ๋๋ค. ๋์ผํ ๊ฒ์ ๋ฐ๋ณต์ ์ผ๋ก ๋น๋ํ ๋ ์ฌ๋ฌ ๊ฐ์ ๋์ผํ ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํฉ๋๋ค. $ Cargo +1.55.0 check โall-targets foo v0.1.0 ํ์ธ ์ค ๊ฒฝ๊ณ : ํจ์๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค: 'foo' โ> src/lib.rs:9:4 | 9 | fn foo() {} | ^^^ | = ์ฐธ๊ณ : '#[warn(dead_code)]' ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ง ๊ฒฝ๊ณ : 'foo'(lib)๊ฐ ๊ฒฝ๊ณ 1๊ฐ ์์ฑ: 'foo'(lib ํ ์คํธ)๊ฐ ๊ฒฝ๊ณ 1๊ฐ ์์ฑ(์ค๋ณต 1๊ฐ) ์๋ฃ๋ ๊ฐ๋ฐ [์ต์ ํ๋์ง ์์ + debuginfo] ๋์ (s)0.84์ด
- ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ถ๋ ์์์ ๊ตฌ๋ฌธ ๋ถ์ ์ฝ๋๋ ๋ณด๋ค ๋น ๋ฅด๊ณ ์ ํํ Eisel-Lemire ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋๋ก ์ด๋๋์์ต๋๋ค. ์ด๋ ์ด์ ์ ๋งค์ฐ ๋ง์ ์๋ฆฟ์๊ฐ ํฌํจ๋ ์ซ์ ๋ฐ์ฌ๋ฆผ ๋ฐ ๊ตฌ๋ฌธ ๋ถ์๊ณผ ๊ด๋ จํ์ฌ ๊ด์ฐฐ๋ ์ผ๋ถ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
- ํ ํ๋ฆฟ์์ ๋ซํ์ง ์์ ๋ฒ์๋ฅผ ์ง์ ํ๋ ๊ธฐ๋ฅ์ด ์์ ํ๋์์ต๋๋ค("X.."๋ X ๊ฐ์ผ๋ก ์์ํ๊ณ ์ ์ ์ ํ์ ์ต๋๊ฐ์ผ๋ก ๋๋๋ ๋ฒ์๋ก ํด์๋ฉ๋๋ค). match x as u32 { 0 => println! (โ1!โ), XNUMX.. => println!("์์!"), }
- std::io::ErrorKind์์ ๋ค๋ฃจ๋ ํ์ฅ๋ ์ค๋ฅ ๋ณํ(์ค๋ฅ๋ฅผ NotFound ๋ฐ WillBlock๊ณผ ๊ฐ์ ๋ฒ์ฃผ๋ก ๋ถ๋ฅ) ์ด์ ์๋ ๊ธฐ์กด ๋ฒ์ฃผ์ ๋ง์ง ์๋ ์ค๋ฅ๊ฐ ErrorKind::Other ๋ฒ์ฃผ์ ์ํ์ผ๋ฉฐ ์ด๋ ํ์ฌ ์ฝ๋์ ์ค๋ฅ์๋ ์ฌ์ฉ๋์์ต๋๋ค. ์ด์ ๊ธฐ์กด ๋ฒ์ฃผ์ ๋ง์ง ์๋ ์ค๋ฅ์ ๋ํด ๋ณ๋์ ๋ด๋ถ ๋ฒ์ฃผ ErrorKind::Uncategorized๊ฐ ์์ผ๋ฉฐ, ErrorKind::Other ๋ฒ์ฃผ๋ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ(io::Error๋ฅผ ๋ฐํํ๋ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์)์์ ๋ฐ์ํ์ง ์๋ ์ค๋ฅ๋ก ์ ํ๋ฉ๋๋ค. ๋ ์ด์ ErrorKind:: ์นดํ ๊ณ ๋ฆฌ ๊ธฐํ๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค.
- API์ ์๋ก์ด ๋ถ๋ถ์ด ์์ ํ๋ ํน์ฑ์ ๋ฉ์๋ ๋ฐ ๊ตฌํ์ ํฌํจํ์ฌ ์์ ์ ์ธ ๋ฒ์ฃผ๋ก ์ด๋๋์์ต๋๋ค.
- ๋ฐ์ด๋::๋ณต์ ๋จ
- ๋ฐฐ์::as_str
- IntoInnerError::into_error
- IntoInnerError::into_parts
- MaybeUninit::assume_init_mut
- MaybeUninit::assume_init_ref
- MaybeUninit::์ฐ๊ธฐ
- ๋ฐฐ์ด::๋งต
- ops::์ ์ด ํ๋ฆ
- x86::_bittest
- x86::_bittest๋ฐ๋ณด์
- x86::_bittestandreset
- x86::_bittestandset
- x86_64::_bittest64
- x86_64::_bittestandcomplement64
- x86_64::_bittestandreset64
- x86_64::_bittestandset64
- ์์ ๋์ ๋ชจ๋ ์ปจํ ์คํธ์์ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ ๊ฒฐ์ ํ๋ "const" ์์ฑ์ str::from_utf8_unchecked ๋ฉ์๋์์ ์ฌ์ฉ๋ฉ๋๋ค.
- powerpc64le-unknown-freebsd ํ๋ซํผ์ ๋ํ ์ธ ๋ฒ์งธ ์์ค์ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค. ์ธ ๋ฒ์งธ ์์ค์๋ ๊ธฐ๋ณธ ์ง์์ด ํฌํจ๋์ง๋ง ์๋ํ๋ ํ ์คํธ, ๊ณต์ ๋น๋ ๊ฒ์ ๋๋ ์ฝ๋ ๋น๋ ๊ฐ๋ฅ ์ฌ๋ถ ํ์ธ์ ํฌํจ๋์ง ์์ต๋๋ค.
์ถ์ฒ : opennet.ru