隨著 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ā)如何?
![<b class='flag-5'>riscv</b>的mcu的目前開發(fā)如何?](https://file.elecfans.com/web1/M00/E7/C8/pIYBAGBhjfKAWoukAAAKgru9m7A162.png)
RISCV soft JTAG調(diào)試_v1.2
McFW框架中的dup和merge的作用是什么?
請(qǐng)教8168 Merge Link作用
后端系統(tǒng),后端系統(tǒng)是什么意思
對(duì)于merge、join和concat三者的區(qū)別分析
![對(duì)于<b class='flag-5'>merge</b>、join和concat三者的區(qū)別分析](https://file1.elecfans.com//web2/M00/A7/23/wKgZomUMQpiADh5kAABD5mcr-N4804.png)
Merge用VR和AR技術(shù)創(chuàng)建和發(fā)展一個(gè)適合孩子的XR生態(tài)系統(tǒng)
Git命令解析-merge、rebase
![Git命令解析-<b class='flag-5'>merge</b>、rebase](https://file.elecfans.com/web1/M00/84/91/pIYBAFxQEgSAJIdnAAA_NsN5L4I296.jpg)
RISCV該如何開啟和使用V擴(kuò)展指令?
排序算法merge-sort的基礎(chǔ)知識(shí)
![排序算法<b class='flag-5'>merge</b>-sort的基礎(chǔ)知識(shí)](https://file.elecfans.com/web2/M00/3B/D0/poYBAGJOtXKAPxgQAAAqvv39_RU043.png)
Cranelift的2022進(jìn)展報(bào)告
一個(gè)coverage merge小技巧
![一個(gè)coverage <b class='flag-5'>merge</b>小技巧](https://file1.elecfans.com/web2/M00/88/99/wKgaomRtce-AXhshAAA_k1fc_to033.png)
git rebase與相關(guān)git merge命令比較
![git rebase與相關(guān)git <b class='flag-5'>merge</b>命令比較](https://file1.elecfans.com/web2/M00/88/C0/wKgZomRwbCeAJgMaAAALKLV0Y34480.jpg)
git rebase和git merge的區(qū)別
![git rebase和git <b class='flag-5'>merge</b>的區(qū)別](https://file1.elecfans.com/web2/M00/8C/08/wKgaomSkzTuAM-k9AAASXz6NsK8478.jpg)
RISCV soft JTAG調(diào)試_v1.1
![<b class='flag-5'>RISCV</b> soft JTAG調(diào)試_v1.1](https://file1.elecfans.com/web2/M00/C0/C2/wKgZomXYVHCALAhiAAAa3iF9Eis888.png)
評(píng)論