前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2023-11-28 Axum 发布 0.7 版本

【Rust日报】2023-11-28 Axum 发布 0.7 版本

作者头像
MikeLoveRust
发布2023-11-30 10:40:55
3970
发布2023-11-30 10:40:55
举报
文章被收录于专栏:Rust语言学习交流

Axum 发布 0.7 版本

Axum 0.7.0 是一个构建在 Tokio、Tower 和 Hyper 之上的 Web 框架,新版主要变更点:

  1. 增加了对 Hyper 1.0 的支持。Hyper 1.0 对 API 进行了重大调整,移除了之前的高级API,并计划在新的 hyper-util 库中重新添加这些API。
  2. 引入了一个新的 axum::serve 函数来替代原有的 axum::Server,以简化启动过程。
  3. 推出了自己的 Body 类型来代替 http-body 库的功能。
  4. 为了简化路由配置,Axum 0.7.0 减少了泛型的使用,提供了更加清晰的中间件和请求处理方式。

开发者在升级过程中应注意与 tower-http 的兼容性,并可以通过查看变更日志来获取升级指南。

更新日志 https://tokio.rs/blog/2023-11-27-announcing-axum-0-7-0

Rustlantis:一个新的模糊测试器

Rustlantis 是来自 eth 的 Qian Wang 的毕业设计项目。

它是一个新的模糊器,能够生成在Rust的中间级别表示(Mid-level Intermediate Representation,MIR)中的程序,这些程序是确定性,且不含未定义行为。Rustlantis 已经发现了 Rust 编译器和 LLVM 中的 13 个以前未知的错误,这些错误导致了错误的编译和崩溃。

作者在论文中,介绍了他们如何使用语义模糊测试来找出 Rust 编译器中的错误。这种方法通过生成随机程序,编译它,并观察编译后的程序行为来工作。如果行为不正确,那么编译器中就存在一个错误。

Rustlantis 的设计保证了生成的程序具有可约简的控制流,这意味着生成的程序可以使用循环、if-else 和 break 语句来表示。此外,Rustlantis 还能确保所有的语句最多执行一次,所有的函数只进入一次。

该论文对 Rustlantis、其实现及其在发现 Rust 编译器和 LLVM 中的关键错误方面的有效性进行了彻底而详细的研究。 对发现的错误及其影响的详细分析,展示了此类模糊测试工具在确保编译器可靠性和程序正确性方面的重要性。

论文链接 https://ethz.ch/content/dam/ethz/special-interest/infk/inst-pls/plf-dam/documents/StudentProjects/MasterTheses/2023-Andy-Thesis.pdf

rustc_codegen_clr:rustc 的 .NET 后端

FractalFir 分享了其 rustc 后端的更新,该后端允许将 Rust 代码编译为 .NET 程序集,从而使 Rust 库能在 C# 中使用,反之亦然。

作者在类型处理代码上进行了重大改进,支持了常量数据和切片,修复了许多错误,并对最终的 CIL(公共中间语言)代码进行了一些优化,提高了在 .NET 运行时内 Rust 代码的速度。

目前,该 codegen 能够编译核心库中的1000多个函数,尽管还有约300个函数无法正确编译。作者认为这是一个重要的里程碑,因为超过75%的核心库已经编译。

github仓库地址 https://github.com/FractalFir/rustc_codegen_clr/

-- From 日报小组 RustPlumber

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Axum 发布 0.7 版本
  • Rustlantis:一个新的模糊测试器
  • rustc_codegen_clr:rustc 的 .NET 后端
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档