隨著 Rust 語言的發展,經常需要改進樣式指南,例如支持新的語言結構(比如 let-chain / let-else 等新語法),像這樣的新結構會被 rustfmt 忽略且不格式化,隨后需要添加格式化。并且 rustfmt 的向后兼容性也阻礙了 Rust 代碼風格的演變。
為了解決這兩個問題,RFC 3309重振了 Rust 風格的團隊,它有三個目標:
確定新 Rust 結構的樣式
發展現有的 Rust 風格
定義機制以發展 Rust 風格,同時考慮向后兼容性
注意:風格團隊不打算做出任何“驚天動地”的風格改變。
Cranelift 已經 merge 了 RISCV 后端
Pre-RFC: unsafe attributes
RalfJ 提出一個 Pre-RFC ,提議為一些可能導致未定義行為的屬性加上 unsafe,比如
rust // SAFETY: there is no other global function of this name #[unsafe(no_mangle)] pub fn my_own_write(...) { ... }
之前有個issue 提出 #[no_mangle] 也是 Unsafe 的,在某些平臺上(至少是 GNU/Linux,但也聽說過 Windows 和其他幾個平臺),將兩個靜態庫鏈接在一起,而這兩個庫都導出了一個同名的符號,那么哪個符號實際上被鏈接了,這是無法定義的。
審核編輯:劉清
-
GNU
+關注
關注
0文章
143瀏覽量
17552 -
RFC
+關注
關注
0文章
16瀏覽量
10129 -
rust語言
+關注
關注
0文章
57瀏覽量
3031
原文標題:【Rust 日報】2022-09-30 Cranelift 已經 merge 了 RISCV 后端
文章出處:【微信號:Rust語言中文社區,微信公眾號:Rust語言中文社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
riscv的mcu的目前開發如何?
![<b class='flag-5'>riscv</b>的mcu的目前開發如何?](https://file.elecfans.com/web1/M00/E7/C8/pIYBAGBhjfKAWoukAAAKgru9m7A162.png)
RISCV soft JTAG調試_v1.2
McFW框架中的dup和merge的作用是什么?
請教8168 Merge Link作用
后端系統,后端系統是什么意思
對于merge、join和concat三者的區別分析
![對于<b class='flag-5'>merge</b>、join和concat三者的區別分析](https://file1.elecfans.com//web2/M00/A7/23/wKgZomUMQpiADh5kAABD5mcr-N4804.png)
Merge用VR和AR技術創建和發展一個適合孩子的XR生態系統
Git命令解析-merge、rebase
![Git命令解析-<b class='flag-5'>merge</b>、rebase](https://file.elecfans.com/web1/M00/84/91/pIYBAFxQEgSAJIdnAAA_NsN5L4I296.jpg)
RISCV該如何開啟和使用V擴展指令?
Cranelift的2022進展報告
git rebase與相關git merge命令比較
![git rebase與相關git <b class='flag-5'>merge</b>命令比較](https://file1.elecfans.com/web2/M00/88/C0/wKgZomRwbCeAJgMaAAALKLV0Y34480.jpg)
git rebase和git merge的區別
![git rebase和git <b class='flag-5'>merge</b>的區別](https://file1.elecfans.com/web2/M00/8C/08/wKgaomSkzTuAM-k9AAASXz6NsK8478.jpg)
RISCV soft JTAG調試_v1.1
![<b class='flag-5'>RISCV</b> soft JTAG調試_v1.1](https://file1.elecfans.com/web2/M00/C0/C2/wKgZomXYVHCALAhiAAAa3iF9Eis888.png)
評論