Rust 1.8 发布,增加新特性
jopen 9年前
<p><img alt="Rust 1.8发布,放弃了Unix系统的Make编译系统" src="https://simg.open-open.com/show/92d873ce275f8a84dc3d0cc75d102cdd.jpg" /></p> <p>Rust 1.8 发布了。Rust 是 Mozilla 的一个新的编程语言,由web语言的领军人物Brendan Eich(js之父),Dave Herman以及Mozilla公司的Graydon Hoare 合力开发。</p> <p>和往常一样,你可以从我们的官方页面<a href="/misc/goto?guid=4958989995382487374">安装Rust 1.8 </a>,你也可以在Github上<a href="/misc/goto?guid=4958989995485305287">查看详细的更新说明</a> 。</p> <p><strong>Rust 1.8有两个新功能,并有针对Windows用户的好消息。</strong></p> <p>第一个新特征是各式各样的“operator equals”运算符,如+ =和 - =,现在正通过各种性状重载。这一变化在<a href="/misc/goto?guid=4958989995578733094">RFC953</a>,看起来就像这样:</p> <pre> use std::ops::AddAssign; #[derive(Debug)] struct Count { value: i32, } impl AddAssign for Count { fn add_assign(&mut self, other: Count) { self.value += other.value; } } fn main() { let mut c1 = Count { value: 1 }; let c2 = Count { value: 5 }; c1 += c2; println!("{:?}", c1);</pre> <p>第二个特性是非常小的,<a href="/misc/goto?guid=4958989995659594879">RFC 218</a>,在Rust1.8之前,没有字段的结构没有大括号:</p> <pre> struct Foo; // works struct Bar { } // error</pre> <p>在Windows方面,32位MSVC现在建立实施unwinding。这将移动i686-PC-Windows-MSVC到Tier 1的平台。</p> <p>最后,我们长期使用 make 构建 Rust,但是,我们已经有了建立Rust项目的一个奇妙的工具: Cargo。</p> <p><strong>stabilizations 库</strong></p> <p>Rust已稳定拥有约20个库函数和方法,有三大主要变化:UTF-16 related string methods,various APIs related to time,various traits needed for operator overloading mentioned in the language section。</p> <p>详情查看<a href="/misc/goto?guid=4958989995485305287">发行说明</a> </p> <p><strong>Cargo 特性</strong></p> <ul> <li> <p><a href="/misc/goto?guid=4958989995763285016"><code>cargo init</code></a> can be used to start a Cargo project in your current working directory, rather than making a new subdirectory like <code>cargo new</code>.</p> </li> <li> <p><a href="/misc/goto?guid=4958989995855858977"><code>cargo metadata</code></a> is another new subcommand for fetching metadata about a project.</p> </li> <li> <p><code>.cargo/config</code> now has <a href="/misc/goto?guid=4958989995936372799">keys for <code>-v</code> and <code>--color</code></a></p> </li> <li> <p>Cargo’s ability to have target-specific dependencies <a href="/misc/goto?guid=4958989996031561888">was enhanced</a>.</p> </li> </ul> <p>这次更新最值得关注的是,Rust 放弃了 Unix 系统传统的 Make 工具,使用 Rust 自己的 Cargo 包管理工具。</p> <p>详情查看<a href="/misc/goto?guid=4958989995485305287">发行说明</a></p> <p>来源:oschina</p>