Skip to content

type-alias-convention.pin.test.ts 的分节注释写着 "717 isomorphic aliases",实际 822 —— 唯一没被计数断言盖住的数字 #6605

Description

@qq9340100

观察类发现,记录在案,今天没有任何东西会因此判红。发现于 #4593 的别名补齐。

packages/spec/src/type-alias-convention.pin.test.ts 里 Iso 块开头的分节注释是:

// ---------------------------------------------------------------------------
// 717 isomorphic aliases: `z.input` === `z.infer`, so no `XParsed` is declared.
// ---------------------------------------------------------------------------

这个 717 在 #4593 之前就已经和事实脱节(当时文件里是 748 条 pin),#4593 补到 822 之后差得更远。

为什么它会漂而没人发现

同一个文件里 pin 的数量被一条计数断言盯着,并且盯得很紧 —— 断言旁边整段收据注释逐笔记着每次加减的来源和算法("Recompute from the file; never from the changelog")。但那条断言读的是 /^export type Iso\d+ = Assert</gm 的匹配数,不读这行分节注释。 于是文件里两个陈述同一个量的地方,一个每次改动都被 tsc + vitest 复核,另一个是纯散文,谁也不读 —— 它就是那个没被盖住的数字。

这正是本仓反复付账的 "declared ≠ enforced" 形状的小型版本:一个断言不到的计数,注定会说谎。

可选处置

  • A(最省): 把这行改成不带数字的措辞(// Isomorphic aliases: z.input === z.infer, so no XParsed is declared.),数量交给下面那条断言唯一负责。一个量只在一处陈述,就不会有第二处漂。
  • B: 保留数字,并把这行也纳入那条计数断言(断言同时校验注释里的数字与 pin 数相等)。多一处需要维护,但保住了"读注释就知道规模"。

倾向 A:收据注释已经把规模和每次变动讲得比一个数字清楚得多,再留一个必须手工同步的副本只是多一个说谎的位置。

影响

没有。它误导的是读者对规模的第一印象,不影响任何门、任何运行时、任何发布物。故按观察类归档,不进队列。

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions