Rust团队发布了Rust 1.93,这是该编程语言的最新版本,专为创建快速且安全的系统级软件而设计。此次发布改进了C标准库musl实现中涉及DNS解析器的操作。因此,Linux二进制文件在网络方面预计将更加可靠。
Rust 1.93于1月22日推出。通过rustup安装了旧版本Rust的开发者可以通过运行rust update stable命令进行升级。
musl库升级带来网络改进
在Rust 1.93中,*-linux-musl目标将附带musl 1.2.5版本。Rust团队表示,这主要影响x86_64、aarch64和powerpc64le的静态musl构建,这些构建此前捆绑的是musl 1.2.3版本。对于Rust生态系统而言,此次更新的主要动机是接收musl DNS解析器的重大改进,这些改进在1.2.4版本中发布,并在1.2.5版本中修复了错误。
使用musl目标进行静态链接时,此次更新应该使执行网络操作的便携式Linux二进制文件更加可靠,特别是在面对大型DNS记录和递归名称服务器时。
不过,更新的musl库也带来了一个破坏性变化:移除了Rust libc crate正在使用的几个传统兼容性符号。这个问题的修复已在2023年6月的libc 0.2.146版本中发布(距今2.5年前)。团队认为这个修复已经得到了足够广泛的传播,因此团队准备在Rust目标中进行这一变更。
标准库内部调整和新功能
此外,Rust 1.93还调整了标准库的内部结构,允许用Rust编写的全局分配器使用std的thread_local!和std::thread::current,而无需担心重入问题,这是通过使用系统分配器来实现的。
在Rust 1.93中,cfg属性现在可以应用于asm!块内的单个语句。cfg属性基于配置谓词有条件地包含其所附加的形式。
最后,Rust 1.93稳定了23个API。Rust 1.93紧随上个月发布的Rust 1.92,后者将未来兼容性lint设为默认拒绝,这样在检测到时会导致编译错误。
Q&A
Q1:Rust 1.93更新musl库有什么好处?
A:更新到musl 1.2.5主要是为了获得DNS解析器的重大改进。使用musl目标进行静态链接时,这将使执行网络操作的便携式Linux二进制文件更加可靠,特别是在处理大型DNS记录和递归名称服务器时表现更好。
Q2:如何升级到Rust 1.93?
A:通过rustup安装了旧版本Rust的开发者可以通过运行"rust update stable"命令进行升级到Rust 1.93版本。
Q3:Rust 1.93的musl库更新会带来什么影响?
A:更新主要影响x86_64、aarch64和powerpc64le的静态musl构建。虽然带来了网络功能改进,但也移除了一些传统兼容性符号,不过相关修复已在2.5年前发布,应该已经广泛传播。
好文章,需要你的鼓励
FORTIS是专门测量AI代理"越权行为"的基准测试,研究发现十款顶尖模型普遍选择远超任务需要的高权限技能,端到端成功率最高仅14.3%。
谷歌在Android Show发布会上宣布,将Gemini更深度整合至Android系统,推出名为"Gemini Intelligence"的升级功能。该功能可跨应用处理日常任务,包括自动填写表单、安排日程、生成购物清单及自定义小组件等,无需用户频繁切换应用。此外,Gboard新增"Rambler"功能,可自动过滤语音输入中的口误和填充词。Gemini Intelligence将率先登陆三星Galaxy和谷歌Pixel手机,并支持Android Auto、Wear OS及智能眼镜。
荷兰Nebius团队提出SlimSpec,通过低秩分解压缩草稿模型LM-Head的内部表示而非裁剪词汇,在保留完整词汇表的同时将LM-Head计算时间压缩至原来的五分之一,端到端推理速度超越现有方法最高达9%。