精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Rust 1.21發(fā)布,改進(jìn)語法和對工具的支持

責(zé)任編輯:editor004

作者:Sergio De Simone

2017-10-24 11:15:57

摘自:INFOQ

Rust團(tuán)隊(duì)剛剛發(fā)布了Rust 1 21,帶來更靈活的字面量語言特性、更穩(wěn)定的庫,并改進(jìn)了對工具的支持。新的語言特性允許將保存在靜態(tài)內(nèi)存里的字面量提升為值,這樣就可以安全地傳遞引用。

Rust團(tuán)隊(duì)剛剛發(fā)布了Rust 1.21,帶來更靈活的字面量語言特性、更穩(wěn)定的庫,并改進(jìn)了對工具的支持。

新的語言特性允許將保存在靜態(tài)內(nèi)存里的字面量提升為值,這樣就可以安全地傳遞引用。下面的代碼現(xiàn)在是合法的:

let x: &'static u32 = &5; thread::spawn(move || { println!("{}", x); });

在上一個(gè)版本的Rust中,上面的代碼無法通過編譯,因?yàn)榫€程塊里的變量x引用了字面量5,5是保存在棧上的,在線程塊函數(shù)退出之后就會(huì)消失。為了擴(kuò)展字面量的生存周期,Rust 1.21的編譯器將上述的代碼轉(zhuǎn)譯成如下的形式:

static FIVE: i32 = 5; let x = &FIVE;

編譯器現(xiàn)在可以在進(jìn)行轉(zhuǎn)譯的同時(shí)運(yùn)行LLVM,所以使用的內(nèi)存更少了。這樣有兩個(gè)好處:轉(zhuǎn)譯和LLVM可以同時(shí)進(jìn)行,而且主線程可以在這兩者之間切換。另外,rustup現(xiàn)在支持通過“rustup component add rls-preview”的方式來安裝Rust語言服務(wù)器(RLS)。根據(jù)Rust團(tuán)隊(duì)成員所述,這是安裝Rust工具的第一步,其中包含了RLS、Clippy和rustfmt,在Rust穩(wěn)定版中就可以正常運(yùn)行。

在庫穩(wěn)定性方面,現(xiàn)在可以使用Iterator::for_each代替for循環(huán),如:

// 舊代碼for i in 0..10 { println!("{}", i);}// 新代碼(0..10).for_each(|i| println!("{}", i));

這樣可以很容易地把多個(gè)迭代器串聯(lián)在一起,如:

(0..100) .map(|x| x + 1) .filter(|x| x % 2 == 0) .for_each(|i| println!("{}", i));

另外,Ord(有序集合)的max和min函數(shù)現(xiàn)在很穩(wěn)定了。Rc和Arc提供了更友好的接口,包括From<&[T]> where T: Clone、From、From、From> where T: ?Sized以及From>。

可以通過運(yùn)行rustup update stable獲取最新的Rust,更多細(xì)節(jié)可以參考Rust 1.21發(fā)布說明。

查看英文原文:Rust 1.21 Improves Language Syntax and Tooling

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 临泽县| 涞源县| 囊谦县| 万山特区| 秦皇岛市| 六盘水市| 高安市| 闽侯县| 武强县| 肥城市| 安达市| 红安县| 商水县| 会泽县| 甘孜县| 铜梁县| 揭阳市| 金山区| 克什克腾旗| 武城县| 灵璧县| 页游| 洪江市| 肇州县| 嵩明县| 宜兴市| 柳州市| 台中县| 政和县| 自治县| 金坛市| 星子县| 平果县| 潞西市| 景宁| 宜君县| 浠水县| 乌兰察布市| 扬中市| 武山县| 宁明县|