Rust 1.41.0 发布,带来多项新特性
Rust 1.41.0 发布了,此版本亮点包括放宽对trait实现的限制、改进cargo install、对git更友好的Cargo.lock以及Box<T>与 FFI 相关的新保障。 放宽对trait实现的限制 为了防止当依赖项添加新 trait impl 时生态系统崩溃,Rust 强制执行孤立规则。其要点是,仅当所实现的 trait 或 type 是在本地定义而不是外部crate,才允许使用 trait impl。但是,当涉及泛型时会变得复杂。 在 Rust 1.41.0 之前,孤立规则过于严格,造成了问题。例如,假设 crate 定义了 BetterVec<T> 结构,并且想要一种将结构转换为标准库的 Vec<T>方法,需要编写以下代码: impl<T> From<BetterVec<T>> for Vec<T> { // ... } 这是模式的一个实例: impl<T> ForeignTrait<LocalType> for ForeignType<T&...