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年前发布,应该已经广泛传播。
好文章,需要你的鼓励
AI软件开发自动化初创公司8090 Solutions宣布完成1.35亿美元A轮融资,由Salesforce Ventures领投。8090由知名风险投资人Chamath Palihapitiya于2024年创立,其核心产品"Software Factory"是一款AI平台,通过自然语言文档帮助企业加速应用开发,支持现有程序现代化改造及全新应用构建。此次融资将用于扩充团队规模和基础设施建设。
港科大与快手联合提出NormGuard,针对流匹配模型强化学习训练中速度范数膨胀问题,通过训练时单向惩罚约束,在保留奖励的同时改善图像真实感。
火箭实验室(Rocket Lab)宣布计划以现金加股票方式,斥资80亿美元收购主要卫星运营商铱星通信(Iridium Communications),交易预计于2027年中完成。铱星目前运营着由66颗活跃低轨卫星组成的星座网络,拥有约255万活跃用户,2024年营收达8.717亿美元。收购完成后,Rocket Lab计划借助其新型重型运载火箭Neutron及Lightning卫星平台,扩大铱星星座规模,开拓未被覆盖的市场并降低发射成本。
谷歌研究院开发的论文助手工具PAT,利用分阶段深度推理流水线自动审查学术论文,在真实错误检测任务上达到89.7%召回率,并已在STOC和ICML两大顶会完成超4700篇论文的真实部署。