Skip to content

feat: 添加 mp-units 2.5.0 模块包 - #514

Closed
helantianshen wants to merge 0 commit into
mcpplibs:mainfrom
helantianshen:feat/add-mp-units
Closed

helantianshen wants to merge 0 commit into
mcpplibs:mainfrom
helantianshen:feat/add-mp-units

Conversation

@helantianshen

@helantianshen helantianshen commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

添加 mpusz.mp-units@2.5.0,提供上游 mp_units.core、mp_units.systems 和 mp_units,使用 import std、std::format、contracts=none。安装钩子精确修补 chrono 偏特化导出和 ratio 相等比较,再将三个接口原样复制为 .cppm;归档及校验值不变,无额外包依赖。

测试覆盖单位换算、量纲约束、多 TU、chrono、格式化和自然单位。固定 mcpp 2026.10.1.2 验证:

  • Linux 独立 GCC 16.2.1/binutils 2.47、官方 LLVM 23.1.1/libc++:冷安装消费工程与 workspace 均为 2 passed; 0 failed。
  • 安装钩子正常路径及 10 个缺失/重复匹配用例通过;354 个上游文件仅两个目标头文件改变,三个模块副本一致。
  • 三平台解析、Lua 和相关索引 lint 通过。

PR 保持 Draft:GCC 验证载荷来自 CachyOS x86_64_v3,两个新版工具链尚未在公共 xim 索引发布;当前默认 GCC 16.1.0、LLVM 22.1.8 仍有编译阻塞。提交 7c30f42 的 CI 已结束:macOS、Windows 各 2 passed; 0 failed;Linux GCC 16.1.0 仍报 recursive lazy load,LLVM 22.1.8 为 1 passed; 1 failed(自然单位约束)。lint、镜像、站点及副作用检查通过;失败汇总检查由上述 Linux 失败触发。未修改系统编译器、全仓工具链默认值或 CI 排除规则。详见仓库 spec。

待决定

@Sunrisepeak

当前 Linux CI 仍使用 GCC 16.1.0 和 LLVM 22.1.8,分别失败于模块加载和自然单位 quantity 约束;本地独立新版工具链已通过,但尚未进入公共工具链索引。失败日志见 本轮 CI。

可选路线:

  1. 升级 xim 公共工具链:补充并验证新版 GCC、binutils、LLVM 载荷,让普通 mcpp 用户与 CI 都能使用。涉及工具链仓库和发布流程,需要上游协调。
  2. 增加 mp-units 专用新版工具链 CI:仅为本包获取并使用新版工具链,影响范围较小;本仓需要维护下载、校验及适配脚本,默认工具链用户仍无法直接使用。

当前暂停进一步工具链和 CI 修改,保留失败测试及 Draft 状态;本地验证通过不代表默认生态接入已完成。

@Sunrisepeak

Sunrisepeak commented Oct 4, 2026 •

Copy link
Copy Markdown
Member

精简后的版本已在 #515 继续提交,提交作者保留为你。原始提交 7c30f42 仍然可以从 refs/pull/514/head 找到。

This branch was successfully deployed

1 active deployment
github-pages — afe5e8a9 Deployed Oct 4, 2026 by Sunrisepeak via deploy #412
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants