Skip to content

[enhancement] xpkg 描述符 mcpp 段未知键静默忽略(dependencies 误写无诊断,deps 才是正确键) #237

Description

@Sunrisepeak

现象

xpkg 描述符 mcpp = { ... } 段中的未知键被静默忽略,没有任何警告或报错。

实际踩坑路径:声明包间依赖时把 deps 误写成 dependencies(TOML manifest 里是
[dependencies],很自然地带过来),结果依赖被整体丢弃,报错发生在下游很远处
——依赖包的头文件找不到:

mcpp = {
    language = "c++23",
    include_dirs = { "gena" },
    sources = { "gena/toya.cpp" },
    dependencies = { ["compat.toyb"] = "0.1.0" },  -- 静默忽略;正确拼写是 deps
    ...
}
fatal error: toyb.h: No such file or directory

从报错完全看不出是描述符键拼错。(deps = { ["compat.toyb"] = "0.1.0" } 一切正常
——0.0.97 的 compat-依赖-compat 链路本身验证是通的,传递解析/头传播/链接闭包都对。)

期望

与 0.0.97 给 manifest 加的 closed-grammar 守卫([[x]] 非白名单段硬报错)对齐:
描述符 mcpp 段遇到未知键至少 warning,理想是硬报错(键集合是封闭的,
src/manifest/xpkg.cppm 的 else-if 链就是白名单)。dependencies 可特判提示
"did you mean deps"。

环境

mcpp 0.0.97 · linux x86_64

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions