jlrs:用于 Rust 和 Julia 互操作的库 v0.22 发布
jlrs 是一个用于 Rust 和 Julia 互操作的 crate。 v0.22 版本有诸多变更,摘要如下:
版本支持
- 支持 Julia 1.10 到 1.12 版本
- 最低支持的 Rust 版本(MSRV)为 1.85,代码库已迁移至 Rust 2024 版本
- 在构建时检测目标 Julia 版本,所有版本相关特性(如 julia-1-10)已被移除
- 环境变量
JULIA_DIR
更名为JLRS_JULIA_DIR
- 通过安装
jlrs-launcher
支持 jlrs 与 juliaup 配合适用
异步
- 支持异步闭包
- 接收
AsyncGcFrame
的异步闭包会实现AsyncTask
trait async_scope
方法要求使用异步闭包,而非返回异步块的闭包
更多详细信息请参见:https://github.com/Taaitaaiger/jlrs/releases/tag/v0.22.0
Github: https://github.com/Taaitaaiger/jlrs
generic-array v1.3 发布
generic-array 是一款基础 crate,用于在 const N: usize
未完全支持的场景下,模拟[T; N]
(固定大小数组)的功能。它诞生于 Rust min_const_generics
特性出现之前,如今仍是 Rust 生态中使用最广泛的 crate 之一,下载量已超过 3.9 亿次。
虽然两年前发布的 1.0 版本在易用性、性能与安全性上均有重大提升,实际场景中,这个版本的采用率却很低。一些非常重要且广泛使用的项目仍在使用 1.0 之前的版本,这迫使所有下游用户也不得不使用旧版本。
在 1.3.1 版本中,希望通过将 MSRV 降至 1.65.0,可以让使用者尽快升级至 1.x 版本。此外,近期还对内部结构进行了优化,以提升在超大数组场景下的 miri 检测工具的执行性能。
此外:
- 在 generic-array 1.3.2 版本中,新增
compat-0_14
特性,以支持 1.x 与 0.14 版本的GenericArray
实例之间快速转换 - generic-array 0.14 版本已正式废弃
Github: https://github.com/fizyk20/generic-array
i18n: 一个高效强大的 i18n 库
这是一个基于 Mozilla Fluent 的现代化的、高效且强大的 i18n 库,覆盖了编译期验证到灵活的运行时加载器等 i18n 处理全流程。
核心特性
- 强大的 Fluent 语法:遵循 Mozilla Fluent 规范,支持表达式翻译,可处理复数形式、性别适配及复杂插值逻辑
- 编译期安全性:
i18n-macros
crate 确保所有需要翻译的键在编译阶段均有效,从根源上消除相关的运行时错误 - 灵活的运行时加载器:
i18n-loader
crate 提供Locales
容器,可用于动态加载和管理翻译资源 - 网络加载:(可选的
net
特性)支持在运行时直接从 URL 加载本地化资源 - 易用的 API:简洁直观的 API 设计,让国际化功能能轻松集成到各类应用中
Github: https://github.com/Instant-Reactive-Systems/i18n
--
From 日报小组 Yuan YQ
社区学习交流平台订阅:
评论区
写评论还没有评论