系統(tǒng)編程語言Rust再次被更新,其增加了對關(guān)聯(lián)常量的支持,Cargo功能也得到了改善。
Rust是Mozilla開發(fā)的注重安全、性能和并發(fā)性的編程語言,預(yù)期用途包括嵌入其他語言,編寫具有特定空間和時間要求的程序,以及編寫底層代碼,如設(shè)備驅(qū)動程序和操作系統(tǒng)。
對關(guān)聯(lián)常量的支持補(bǔ)充了Rust對關(guān)聯(lián)功能的現(xiàn)有支持,可以與traits,structs和enum相關(guān)聯(lián)。關(guān)聯(lián)的函數(shù)是與類型本身相關(guān)聯(lián)的,而不是任何特定實(shí)例。Rust 1.20還添加了定義“關(guān)聯(lián)常量”的功能:
struct Struct;
impl Struct {
const ID: u32 = 0;
}
fn main() {
println!("the ID of Struct is: {}", Struct::ID);
}
它將常數(shù)ID與Struct相關(guān)聯(lián)。
Traits也可以與常量相關(guān)聯(lián),并且它們還會具有特殊能力,你可以像關(guān)聯(lián)類型一樣來關(guān)聯(lián)一個常量,只聲明不賦值。Traits的執(zhí)行者會在運(yùn)行時賦值。
Rust的包管理器Cargo也已進(jìn)行了更新,第一個更新是crates.io的秘密身份驗(yàn)證令牌被移動了位置,這意味著它可以被賦予權(quán)限級別,同時也可以被系統(tǒng)的其他用戶隱藏。在此之前,它是被存儲在配置文件中,它只允許某些級別存儲。
Cargo的另一個改變是允許存儲次級二進(jìn)制文件,這意味著可以將較大的二進(jìn)制文件拆分開來存儲。
前段時間,Rust語言官方網(wǎng)站發(fā)布了一份2017年Rust語言使用情況報告,參與問卷調(diào)查的開發(fā)者認(rèn)為Rust需要改進(jìn)的地方如下,不知這次Rust的更新是否能夠讓程序員滿意。
17%的反饋提到Rust需要提升工效,比如可以更方便地用它創(chuàng)建原型,更容易地進(jìn)行異步編程,提供更多靈活的數(shù)據(jù)結(jié)構(gòu)類型。
·16%的反饋希望Rust具有更好的文檔。文檔里應(yīng)該包含入門教程,并提供更多的示例和視頻教材。
·15%的反饋指出Rust需要提供更多的包支持。
·9%的反饋鼓勵Rust提供官方的IDE支持。
·8%的反饋希望能夠降低學(xué)習(xí)曲線的坡度。
·其他的反饋包括:更快的編譯速度、更多的協(xié)作支持、更好的語言互操作性、改進(jìn)的工具、更友好的錯誤消息、改進(jìn)對web assembly的支持等。