0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Cranelift merge了RISCV后端

工程师邓生 来源:Rust语言中文社区 作者:huangjj27 2022-10-09 11:41 次阅读

随着 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
    GNU
    +关注

    关注

    0

    文章

    143

    浏览量

    17445
  • RFC
    RFC
    +关注

    关注

    0

    文章

    16

    浏览量

    10090
  • rust语言
    +关注

    关注

    0

    文章

    57

    浏览量

    2999

原文标题:【Rust 日报】2022-09-30 Cranelift 已经 merge 了 RISCV 后端

文章出处:【微信号:Rust语言中文社区,微信公众号:Rust语言中文社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    riscv的mcu的目前开发如何?

    GD32VF103 RISCV开发板试用体验 1.本文目的 2.工具下载 3.硬件连接 4.工程测试 1.本文目的riscv的mcu的开发目前到底如何?目前可以做那些有意思的项目?本人从嵌入式
    的头像 发表于 03-29 16:12 6784次阅读
    <b class='flag-5'>riscv</b>的mcu的目前开发如何?

    RISCV soft JTAG调试_v1.2

    因为目前软件的限制,RISCV的逻辑不能同时共用JTAG,所以如果想要同时去调试逻辑和RISCV的话,可以通过RISCV的soft Jtag来实现。soft Jtag就是通过GPIO来实现的软件
    的头像 发表于 04-23 08:38 935次阅读

    McFW框架中的dup和merge的作用是什么?

    后代码有点乱,原图是这样的: 请问在这个框图中,DUP0 和DUP1,MERGE1,MERGE0的作用是什么?为什么要在捕获图像数据后进行两个复制?而复制之后又整合起来?
    发表于 05-31 03:21

    请教8168 Merge Link作用

    请教TI专家: 8168中,merge的作用,是将多路视频,合成为一路视频,可是具体是什么意思呢?还是不明白,主要由两点:1 merge Link的输入为n ,输出为1??2 是说输入进来的N路视频
    发表于 07-25 06:20

    后端系统,后端系统是什么意思

    后端系统,后端系统是什么意思 “后端系统”从宽泛的角度上讲是指向用户提供数据的服务器、超级服务器、群集系统、中程系统以及
    发表于 04-06 17:21 3676次阅读

    对于merge、join和concat三者的区别分析

    从合并的方式看merge和join是一样的,有left/right/inner/outer,而concat只有inner/outer两种,因为merge和join参与合并的对象有左右区分,而
    的头像 发表于 01-06 11:55 2w次阅读
    对于<b class='flag-5'>merge</b>、join和concat三者的区别分析

    Git命令解析-merge、rebase

    出现两个分支,为什么会是三路合并。从git 源码中可以找到merge执行的入口,它有这样的方法签名:可以看出,除了含义明显的ours和theirs,还有一个待合并的文件叫做ancestor。根据文档
    的头像 发表于 07-29 18:21 1049次阅读
    Git命令解析-<b class='flag-5'>merge</b>、rebase

    RISCV该如何开启和使用V扩展指令?

    机制 6.RVV使用体验 1.前言 RISCV V扩展即向量指令扩展(RVV),这部分作为研究AI加速计算领域有着非常关键的作用。既然的D1支持rvv扩展(0.7.1,最新的版本已经0.10版本
    的头像 发表于 06-18 16:28 9414次阅读

    排序算法merge-sort的基础知识

    本文介绍、解释、评估和实现排序算法merge-sort 。本文的目的是为您提供有关合并排序算法的可靠背景信息,该算法是更复杂算法的基础知识。
    的头像 发表于 04-07 17:54 2523次阅读
    排序算法<b class='flag-5'>merge</b>-sort的基础知识

    Gowin RiscV AE250用户指南

    电子发烧友网站提供《Gowin RiscV AE250用户指南.pdf》资料免费下载
    发表于 09-19 15:02 0次下载
    Gowin <b class='flag-5'>RiscV</b> AE250用户指南

    Cranelift的2022进展报告

    Wasmtime(一个生产就绪的 WebAssembly 虚拟机)、Rustc_codegen_cranelift 的 Rust 编译器后端,以及其他一些应用提供基础。 更多请看:https
    的头像 发表于 12-21 15:01 583次阅读

    一个coverage merge小技巧

    分享一个coverage merge小技巧,在群里经常看到有小伙伴问改了代码之后coverage能不能merge。今天带大家来看看这个问题。
    的头像 发表于 05-24 10:08 643次阅读
    一个coverage <b class='flag-5'>merge</b>小技巧

    git rebase与相关git merge命令比较

    。 #概念     首先要理解的是git rebase和git merge解决同样的问题。这两个命令都旨在将更改从一个分支集成到另一个分支 - 它们只是以不同的方式进行。试想一下当你开始在专用分支中开发新功能时另一个团队成员以新提交更新master分支会发生什么。这会出
    的头像 发表于 05-26 16:22 819次阅读
    git rebase与相关git <b class='flag-5'>merge</b>命令比较

    git rebase和git merge的区别

      解决冲突 git rebase和git merge的区别 分支合并 git merge是用来合并两个分支的。 比如:将 b 分支合并到当前分支。 同样git rebase b,也是把 b 分支
    的头像 发表于 07-05 09:54 601次阅读
    git rebase和git <b class='flag-5'>merge</b>的区别

    RISCV soft JTAG调试_v1.1

    因为目前软件的限制,RISCV的逻辑不能同时共用JTAG,所以如果想要同时去调试逻辑和RISCV的话,可以通过RISCV的soft Jtag来实现。soft Jtag就是通过GPIO来实现的软件
    的头像 发表于 02-23 16:16 574次阅读
    <b class='flag-5'>RISCV</b> soft JTAG调试_v1.1