Rust 1.9发布了。更新内容: 语言: The #[deprecated] attribute when applied to an API will generate warnings when used. The warnings may be suppressed with #[allow(deprecated)]. RFC 1270. fn item types are zero sized, and each fn names a unique type. This will break code that transmutes fns, so callingtransmute on a fn type will generate a warning for a few cycles, then will be converted to an error. Field and method resolution understand visibility, so private fields and methods cannot prevent the proper use of public fields and methods. The parser considers unicode codepoints in the PATTERN_WHITE_SPACE category to be whitespace. 库: std::sync::Once is poisoned if its initialization function fails. cell::Ref and cell::RefMut can contain unsized types. Most types implement fmt:ebug. The default buffer size used by BufReader and BufWriter was reduced to 8K, from 64K. This is in line with the buffer size used by other languages. Instant, SystemTime and Duration implement += and -=. Duration additionally implements *= and /=. Skip is a DoubleEndedIterator. From<[u8; 4]> is implemented for Ipv4Addr. Chain implements BufRead. HashMap, HashSet and iterators are covariant. Cargo Cargo can now run concurrently. Top-level overrides allow specific revisions of crates to be overridden through the entire crate graph. This is intended to make upgrades easier for large projects, by allowing crates to be forked temporarily until they've been upgraded and republished. Cargo exports a CARGO_PKG_AUTHORS environment variable. Cargo will pass the contents of the RUSTFLAGS variable to rustc on the commandline. rustc arguments can also be specified in the build.rustflags configuration key. 性能: During type unification, the complexity of comparing variables for equivalance was reduced from O(n!) to O(n). This leads to major compile-time improvements in some scenarios. ToString is specialized for str, giving it the same performance as to_owned. Spawning processes with Command:utput no longer creates extra threads. #[derive(PartialEq)] and #[derive(PartialOrd)] emit less code for C-like enums. Misc: Passing the --quiet flag to a test runner will produce much-abbreviated output. The Rust Project now publishes std binaries for the mips-unknown-linux-musl, mipsel-unknown-linux-musl, andi586-pc-windows-msvc targets. 兼容性说明: std::sync::Once is poisoned if its initialization function fails. It is illegal to define methods with the same name in overlapping inherent impl blocks. fn item types are zero sized, and each fn names a unique type. This will break code that transmutes fns, so callingtransmute on a fn type will generate a warning for a few cycles, then will be converted to an error. Improvements to const evaluation may trigger new errors when integer literals are out of range. 下载地址: Source code (zip) Source code (tar.gz) 详情:Announcing Rust 1.9 Rust 1.9 发布,Mozilla 的编程语言下载地址