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年前发布,应该已经广泛传播。
好文章,需要你的鼓励
火箭实验室(Rocket Lab)宣布计划以现金加股票方式,斥资80亿美元收购主要卫星运营商铱星通信(Iridium Communications),交易预计于2027年中完成。铱星目前运营着由66颗活跃低轨卫星组成的星座网络,拥有约255万活跃用户,2024年营收达8.717亿美元。收购完成后,Rocket Lab计划借助其新型重型运载火箭Neutron及Lightning卫星平台,扩大铱星星座规模,开拓未被覆盖的市场并降低发射成本。
谷歌研究院开发的论文助手工具PAT,利用分阶段深度推理流水线自动审查学术论文,在真实错误检测任务上达到89.7%召回率,并已在STOC和ICML两大顶会完成超4700篇论文的真实部署。
音乐流媒体平台Tidal宣布,将于7月中旬启用自动化工具,对完全由AI生成的音乐添加"AI"标识,并移除具有欺诈性质的曲目。平台还将取消AI生成音乐的版税资格,仅向真人创作、演唱的原创音乐开放变现渠道。此外,Tidal明确将高频异常上传、干扰真实艺术家等行为列为欺诈活动。Deezer、Spotify等竞争对手此前已推出类似检测机制,流媒体行业正加速构建AI内容治理体系。
香港大学与武汉大学联合开发的EO-WM系统,将地球观测卫星图像预测重新定义为天气驱动的世界建模问题,通过把气象信号拆解为气候基线、天气异常和累积压力三层,显著提升了对极端干旱和热浪事件下植被退化的预测准确性。