āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĻāĻ˛ āĻŽāĻ°āĻŋāĻāĻž 1.36 āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻāĻ¤ā§āĻ¤ā§āĻāĻŋāĻ¤!
āĻŽāĻ°āĻŋāĻāĻž 1.36 āĻ āĻ¨āĻ¤ā§āĻ¨ āĻāĻŋ?
āĻāĻŦāĻ āĻāĻāĻ¨ āĻāĻ°āĻ āĻŦāĻŋāĻļāĻĻā§:
- āĻ āĻŦāĻļā§āĻˇā§ āĻŽāĻ°āĻŋāĻāĻž 1.36 āĻ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤āĨ¤
- āĻā§āĻ°ā§āĻ alloc.
āĻŽāĻ°āĻŋāĻāĻž 1.36 āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§, std-āĻāĻ° āĻāĻŋāĻā§ āĻ āĻāĻļ āĻ¯āĻž āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§ āĻŦāĻ°āĻžāĻĻā§āĻĻāĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ (āĻ¯ā§āĻŽāĻ¨ Vec ), āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻā§āĻ°ā§āĻā§ āĻāĻā§āĨ¤ āĻāĻāĻ¨ std āĻāĻ āĻ āĻāĻļāĻā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻ°āĻŦā§āĨ¤ āĻāĻāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°ā§. - āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻāĻ¨āĻŋāĻ mem::uninitialized āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§āĨ¤
āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ°āĻŋāĻ˛āĻŋāĻā§, mem::uninitialized āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻžāĻ°āĻŽā§āĻāĻŋāĻ āĻā§āĻ āĻŦāĻžāĻāĻĒāĻžāĻ¸ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§āĻā§, āĻāĻāĻŋ āĻ āĻ˛āĻ¸ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻŦāĻ°āĻžāĻĻā§āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻŦā§āĻļ āĻŦāĻŋāĻĒāĻā§āĻāĻ¨āĻ (āĻāĻ°ā§ āĻ¤āĻĨā§āĻ¯), āĻ¤āĻžāĻ MaybeUninit āĻāĻžāĻāĻĒ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻāĻŋāĻ˛ , āĻ¯āĻž āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻāĨ¤
āĻāĻ¯āĻŧā§āĻ˛, āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻāĻ¨āĻŋāĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ, āĻ¤āĻžāĻšāĻ˛ā§ Rust 1.38 āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§, mem::uninitialized āĻāĻāĻāĻŋ āĻ āĻŦāĻšā§āĻ˛āĻŋāĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻšāĻŦā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻŽā§āĻŽāĻ°āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻāĻžāĻ¨āĻ¤ā§ āĻāĻžāĻ¨, āĻāĻĒāĻ¨āĻŋ Alexis Beingessner-āĻāĻ° āĻāĻ āĻŦā§āĻ˛āĻ āĻĒā§āĻ¸ā§āĻāĻāĻŋ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ - āĻŽāĻ°āĻŋāĻāĻž 2015 āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨āĻāĻ˛āĻāĻ˛āĨ¤
āĻā§āĻˇāĻŖāĻžāĻ¯āĻŧ āĻŽāĻ°āĻŋāĻāĻž 1.31.0 āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° NLL (āĻ¨āĻ¨-āĻ˛ā§āĻā§āĻ¸āĻŋāĻāĻžāĻ˛ āĻ˛āĻžāĻāĻĢāĻāĻžāĻāĻŽ) āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŦāĻ˛ā§āĻā§āĻ¨, āĻāĻžāĻˇāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ āĻ¯āĻž āĻ§āĻžāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻāĻā§ āĻāĻ°āĻ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻ āĻāĻŦāĻ āĻāĻ°āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§-āĻŦāĻžāĻ¨ā§āĻ§āĻŦ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
fn main() {
āĻ¯āĻžāĻ mut x = 5;
āĻ¯āĻžāĻ y = &x;
āĻ¯āĻžāĻ z = &mut x; // āĻāĻāĻŋ 1.31.0 āĻāĻ° āĻāĻā§ āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻāĻŋāĻ˛ āĻ¨āĻžāĨ¤
}1.31.0-āĻ, NLL āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° Rust 2018-āĻ āĻāĻžāĻ āĻāĻ°ā§āĻāĻŋāĻ˛, āĻāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¯ā§ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž Rust 2015-āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻŦā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ¨āĻāĻ˛āĻāĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻāĻžāĻ¨āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ¤ā§ āĻāĻ°āĻ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻŦā§āĻ˛āĻ āĻāĻ¨ā§āĻā§āĻ°āĻŋ (āĻĢā§āĻ˛āĻŋāĻā§āĻ¸ āĻā§āĻ˛āĻāĻ¸)āĨ¤ - āĻāĻžāĻ°ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻ¤āĻžāĻāĻž āĻšāĻ˛ âāĻ
āĻĢāĻ˛āĻžāĻāĻ¨āĨ¤
āĻŽāĻ°āĻŋāĻāĻž 1.36 āĻāĻžāĻ°ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻ¤āĻžāĻāĻž āĻ¸ā§āĻĨāĻŋāĻ° āĻāĻ°ā§āĻā§āĨ¤ --offline āĻĒāĻ¤āĻžāĻāĻž āĻāĻžāĻ°ā§āĻā§āĻā§ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻā§āĻ¯āĻžāĻļā§ āĻāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻŦāĻ˛ā§ āĻ¯āĻžāĻ¤ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻĒāĻ°ā§ āĻ āĻĢāĻ˛āĻžāĻāĻ¨ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ¯āĻāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ āĻĢāĻ˛āĻžāĻāĻ¨ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž, āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻāĻāĻ¨āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ, āĻ¤āĻāĻ¨ āĻāĻžāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻĻā§āĻŦā§āĨ¤ āĻĒā§āĻ°āĻžāĻ-āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ°ā§āĻā§ āĻĢā§āĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻŦā§āĨ¤ - āĻāĻāĻž āĻšāĻ˛ āĻāĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻ°ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻāĻžāĻ°āĻāĻŋāĻ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ°āĻ¯āĻŧā§āĻā§:
- dbg!() āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻāĻāĻ¨ āĻāĻāĻžāĻ§āĻŋāĻ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
- āĻŦā§āĻļ āĻāĻŋāĻā§ āĻāĻĒāĻŋāĻāĻ āĻāĻāĻ¨ āĻāĻ¨āĻ¸ā§āĻ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤:
- āĻ¨āĻ¤ā§āĻ¨ āĻāĻĒāĻŋāĻāĻ āĻ¯āĻž āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§:
- āĻāĻžāĻ::āĻāĻžāĻāĻ°ā§āĻ и āĻāĻžāĻ¸ā§āĻ::āĻĒā§āĻ˛;
- VecDeque::rotate_left и VecDeque::rotate_right;
- āĻĒāĻĄāĻŧā§āĻ¨::read_vectored и āĻ˛āĻŋāĻā§āĻ¨::write_vectored;
- āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§::āĻāĻĒāĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§;
- āĻŦāĻ°ā§āĻ°ā§āĻŽā§āĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻ° āĻāĻ¨ā§āĻ¯;
- str::as_mut_ptr.
- āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻāĻžāĻ¨ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§ āĻāĻāĻžāĻ¨ā§.
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ, āĻāĻžāĻšāĻžāĻā§ āĻŽāĻžāĻ˛ и Clippy.
āĻāĻ¤ā§āĻ¸: linux.org.ru