Rust 1.8 發布,增加新特性

jopen 8年前發布 | 12K 次閱讀

Rust 1.8發布,放棄了Unix系統的Make編譯系統

Rust 1.8 發布了。Rust 是 Mozilla 的一個新的編程語言,由web語言的領軍人物Brendan Eich(js之父),Dave Herman以及Mozilla公司的Graydon Hoare 合力開發。

和往常一樣,你可以從我們的官方頁面安裝Rust 1.8 ,你也可以在Github上查看詳細的更新說明 。

Rust 1.8有兩個新功能,并有針對Windows用戶的好消息。

第一個新特征是各式各樣的“operator equals”運算符,如+ =和 - =,現在正通過各種性狀重載。這一變化在RFC953,看起來就像這樣:

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);

第二個特性是非常小的,RFC 218,在Rust1.8之前,沒有字段的結構沒有大括號:

struct Foo; // works
struct Bar { } // error

在Windows方面,32位MSVC現在建立實施unwinding。這將移動i686-PC-Windows-MSVC到Tier 1的平臺。

最后,我們長期使用 make 構建 Rust,但是,我們已經有了建立Rust項目的一個奇妙的工具: Cargo。

stabilizations 庫

Rust已穩定擁有約20個庫函數和方法,有三大主要變化:UTF-16 related string methods,various APIs related to time,various traits needed for operator overloading mentioned in the language section。

詳情查看發行說明 

Cargo 特性

  • cargo init can be used to start a Cargo project in your current working directory, rather than making a new subdirectory like cargo new.

  • cargo metadata is another new subcommand for fetching metadata about a project.

  • .cargo/config now has keys for -v and --color

  • Cargo’s ability to have target-specific dependencies was enhanced.

這次更新最值得關注的是,Rust 放棄了 Unix 系統傳統的 Make 工具,使用 Rust 自己的 Cargo 包管理工具。

詳情查看發行說明

來源:oschina

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!