前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2024-02-05 编译也是一种测试

【Rust日报】2024-02-05 编译也是一种测试

作者头像
MikeLoveRust
发布2024-02-17 16:18:04
1840
发布2024-02-17 16:18:04
举报

编译也是一种测试

文章主要讨论了关于Rust编译时长的问题。尽管已有并行前端、Cranelift后端和lld链接器等技术在改善Rust的编译效率,但由于一些根本性限制,其编译速度仍可能无法达到所有人的期望。 然而,作者指出有一种新的看法:由于Rust能在编译过程中捕获诸多问题,因此编译实际上可以视为你测试程序的一部分。这就是说,程序中任何规定的接口(如函数的签名、特性、变量类型)在编译时都相当于执行了一次小型的单元测试,而任何编译错误都可以看作是测试的失败。

原文链接 https://kobzol.github.io/rust/2024/02/04/compiling-rust-is-testing.html

reddit 上r/rust订阅增长

r/rust 现在已经增长到 271k 订阅者, 已经与 r/cpp 一道登上了系统编程语言reddit订阅人数的第一阶梯,领先于 r/go(236K),以及远远领先于 r/C_Programming(154K),r/Zig(11.4K),r/ada(8.6K)以及 r/d_language(5K)

原文链接 https://twitter.com/AstraKernel/status/1754020550434009393

Let futures be futures:关于Rust异步并发模型的再思考

这篇文章讨论了Rust语言中 future 的抽象概念,以及它在并发操作中的作用和相关争议。从2010年开始,出现了探索并发新方法的语言复兴期。在此期间,开发出的一种实现并发操作的抽象是"future"或"promise",这允许程序员在控制流中使用它。基于此,引入了"async/await"语法糖,使得future能够被整合进线性控制流中。这种方法已被多种主流语言采用,但也存在争议。

文章重点介绍了两篇优秀的文章,它们分别代表了对"future"的争议的两侧。一篇是Marius Eriksen在2013年写的,主张"future"提供了和线程不同的并发模型。它列出了一些使用"future"的优点,如类型的区分、多种组合方式、直接表达逻辑等。另一篇是Bob Nystrom在2015年的文章,批判这种区分异步函数和同步函数的做法,认为这给程序员带来了麻烦。 文章作者倾向于Eriksen的观点,认为"future"作为并发的模型优于传统线程。他探讨了Rust是如何采纳这种模型的,并希望建立一个更好的async Rust。

原文链接 https://without.boats/blog/let-futures-be-futures/

探究Rust并发编程的强大功能

Rust通过线程、消息传递和共享状态实现多任务并行处理能力,其所有权和类型系统在编译时帮助开发者避免常见的并发错误。

本文给出了一些示例, 包括多线程执行、通道消息交换和共享数据的线程安全操作,展示了Rust在保障并发安全性的同时,如何有效地管理并行任务。这些特性让Rust成为开发高性能、可靠系统的理想选择

原文链接 https://www.thealphadev.com/2024/02/unraveling-power-of-concurrency-in-rust.html

Slint 1.4版本发布:新增外观样式及API改进

Slint 1.4版本带来了全新的Cosmic外观样式和许多生活质量改进。

  • 新增了模仿System 76的Pop!_OS风格的Cosmic样式。
  • 新的API响应了用户反馈,增加了许多先前缺失的功能,如触摸区域的双击回调、配色单件的自定义控件适配,以及通过新的set_fullscreen(bool)函数以编程方式显示全屏窗口等。

此外,Slint引入了用于JavaScript API的二进制包,现在在macOS、Windows、和Linux上无需从源代码编译即可安装Slint,加快了npm安装步骤。

Android端口进展顺利,已支持虚拟键盘输入;LinuxKMS后端也新增了显示旋转支持。

开发体验也有所改进:if语句中的括号现可省略,自动补全更贴合开发者标识符选择,编译器优化生成更高效的输出,提高了应用程序的编译速度

原文链接 https://slint.dev/blog/slint-1.4-released

--

From 日报小组 BobQ, FBI小白

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-05,如有侵权请联系?cloudcommunity@tencent.com 删除

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

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

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编译也是一种测试
  • reddit 上r/rust订阅增长
  • Let futures be futures:关于Rust异步并发模型的再思考
  • 探究Rust并发编程的强大功能
  • Slint 1.4版本发布:新增外观样式及API改进
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com