feat: standard = "c++fly" — one knob for latest std + all experimental features (0.0.91)#214
Merged
Conversation
… gates; fix c++latest GNU spelling
…t docs, version bump
…libc++ (clang+MSVC STL on windows); .exe-aware binary find
This was referenced Jul 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
standard = "c++fly":一行 manifest 启用「resolved 工具链最新-std=档位 + 它能开的全部实验特性门(语言 + 标准库)」。src/toolchain/cppfly.cppm:三张数据表(族×版本→最新档 / 语言特性门 / stdlib 门)+cppfly::resolve,首个真正使用Toolchain::version做门控的查询点。import std;无法暴露std::meta(P2996 反射):build.cxxflags中的-freflection未应用到 std 模块 BMI 预构建 #210)图全局方言旗标通道:全图 TU、P1689 扫描、std BMI 预构建经同一合并函数(effective_dialect_flags)同源;派生旗标并入指纹。c++fly on <tc>: <std>; enabled: ...; skipped: ...(mcpp 诊断替代编译器原始报错)。standard = "c++latest"在 GNU 族误拼-std=c++latest(GCC/Clang 不识别)→ 现解析到族最新档。设计(含编译器支持矩阵、方案取舍、实机探测记录):
.agents/docs/2026-07-14-std-features-experimental-gate-design.md实施计划:
.agents/docs/2026-07-14-single-pr-091-implementation-plan.md实机定案(gcc 16.1.0 探测)
-std=c++26默认启用(__cpp_contracts已定义),-fcontracts仅用于更早标准强开 → 表数据空串;-freflection(不对称)。Tests
test_cppfly.cpp(8 用例:表判定/版本门控/std 拼写/去重)+test_manifest.cppnormalize c++fly;本地 33/33 组全绿。std::meta反射,断言 summary/build.ninja/compile_commands/std-module.json 全链路 + c++latest 拼写回归 — PASS。-std=c++2c+ skipped summary + libc++-fexperimental-library— PASS。Version
0.0.91(mcpp.toml + MCPP_VERSION 两处同步)。