隨著 Rust 語言的發(fā)展,經(jīng)常需要改進(jìn)樣式指南,例如支持新的語言結(jié)構(gòu)(比如 let-chain / let-else 等新語法),像這樣的新結(jié)構(gòu)會(huì)被 rustfmt 忽略且不格式化,隨后需要添加格式化。并且 rustfmt 的向后兼容性也阻礙了 Rust 代碼風(fēng)格的演變。
為了解決這兩個(gè)問題,RFC 3309重振了 Rust 風(fēng)格的團(tuán)隊(duì),它有三個(gè)目標(biāo):
確定新 Rust 結(jié)構(gòu)的樣式
發(fā)展現(xiàn)有的 Rust 風(fēng)格
定義機(jī)制以發(fā)展 Rust 風(fēng)格,同時(shí)考慮向后兼容性
注意:風(fēng)格團(tuán)隊(duì)不打算做出任何“驚天動(dòng)地”的風(fēng)格改變。
Cranelift 已經(jīng) merge 了 RISCV 后端
Pre-RFC: unsafe attributes
RalfJ 提出一個(gè) Pre-RFC ,提議為一些可能導(dǎo)致未定義行為的屬性加上 unsafe,比如
rust // SAFETY: there is no other global function of this name #[unsafe(no_mangle)] pub fn my_own_write(...) { ... }
之前有個(gè)issue 提出 #[no_mangle] 也是 Unsafe 的,在某些平臺(tái)上(至少是 GNU/Linux,但也聽說過 Windows 和其他幾個(gè)平臺(tái)),將兩個(gè)靜態(tài)庫鏈接在一起,而這兩個(gè)庫都導(dǎo)出了一個(gè)同名的符號(hào),那么哪個(gè)符號(hào)實(shí)際上被鏈接了,這是無法定義的。
審核編輯:劉清
-
GNU
+關(guān)注
關(guān)注
0文章
143瀏覽量
17542 -
RFC
+關(guān)注
關(guān)注
0文章
16瀏覽量
10126 -
rust語言
+關(guān)注
關(guān)注
0文章
57瀏覽量
3028
原文標(biāo)題:【Rust 日?qǐng)?bào)】2022-09-30 Cranelift 已經(jīng) merge 了 RISCV 后端
文章出處:【微信號(hào):Rust語言中文社區(qū),微信公眾號(hào):Rust語言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
riscv的mcu的目前開發(fā)如何?

RISCV soft JTAG調(diào)試_v1.2
McFW框架中的dup和merge的作用是什么?
請(qǐng)教8168 Merge Link作用
后端系統(tǒng),后端系統(tǒng)是什么意思
對(duì)于merge、join和concat三者的區(qū)別分析

Merge用VR和AR技術(shù)創(chuàng)建和發(fā)展一個(gè)適合孩子的XR生態(tài)系統(tǒng)
Git命令解析-merge、rebase

RISCV該如何開啟和使用V擴(kuò)展指令?
排序算法merge-sort的基礎(chǔ)知識(shí)

Cranelift的2022進(jìn)展報(bào)告
一個(gè)coverage merge小技巧

git rebase與相關(guān)git merge命令比較

git rebase和git merge的區(qū)別

RISCV soft JTAG調(diào)試_v1.1

評(píng)論