Repository navigation
Issues from differential semantic drift analysis (a7721303 to b123b7c3) #8980
Description
Found by differential semantic drift analysis from a7721303 to b123b7c3.
These are the results of semantic drift analysis of the 119 commits merged since the previous round (#8768). The analysis covered the new language representations and every consumer that matches on them, the leftovers of removals and refactors, the OCaml and Rust build systems side by side, and the changelog, semantic diff and CI tooling. Each finding was checked by a second, independent pass against master and against existing issues and pull requests; none repeats an item of #8712 or #8768. Every issue states what is broken and where, and a separately labelled speculation on the cause.
In numbers: 11 issues covering 23 findings: 2 behaviour bugs and 1 test that hides failures (3 issues), 10 inconsistencies between docs, diagnostics, schema, changelog or tools and the code (6 issues), 3 pieces of duplicated logic (1 issue) and 7 dead or stale items (1 issue). Of the ten issues from the previous round, #8770 fixed nine; #8762 was closed deliberately.
Behaviour
-
let deleteandlet $$deleteproduce a duplicate ES export and an overwritten CommonJS export #8974let deleteandlet $$deleteproduce a duplicate ES export and an overwritten CommonJS export - genType emits
charas a TypeScript type #8975 genType emitscharas a TypeScript type -
concurrent_async_contextreports a cleanup error instead of the compile failure and leaks its temp dir #8979concurrent_async_contextreports a cleanup error instead of the compile failure and leaks its temp dir
Inconsistencies
-
make test-rewatchis documented as the Rust build system's test command but tests the OCaml one #8969make test-rewatchis documented as the Rust build system's test command but tests the OCaml one - Build schema says
namespace-entrywithout a namespace has no effect;rescriptrejects it #8970 Build schema saysnamespace-entrywithout a namespace has no effect;rescriptrejects it - Unreleased changelog fragments that no longer describe the release #8971 Unreleased changelog fragments that no longer describe the release
-
yarn test-commit-recordsis not run in CI #8972yarn test-commit-recordsis not run in CI - The
@aserror message omits float and bigint, which@asaccepts #8973 The@aserror message omits float and bigint, which@asaccepts - Doc-comment attributes: editor analysis accepts
@ocaml.doc/@ns.doc, genType and the printer do not #8978 Doc-comment attributes: editor analysis accepts@ocaml.doc/@ns.doc, genType and the printer do not
Duplication and dead code
- Logic maintained in several copies: load-path lookup, identifier classifier, ident hash sets #8976 Logic maintained in several copies: load-path lookup, identifier classifier, ident hash sets
- Dead code, stale comments and unused test inputs left by recent changes #8977 Dead code, stale comments and unused test inputs left by recent changes
🤖 Generated with Claude Code
Activity
cknitt commentedon Oct 23, 2026
All 11 issues are fixed and closed, one pull request each: #8974 → #8982, #8969 → #8983, #8970 → #8984, #8971 → #8985, #8972 → #8986, #8973 → #8987, #8975 → #8988, #8979 → #8989, #8976 → #8990, #8977 → #8991, #8978 → #8992.
Found along the way and filed separately: #8994, where the formatter prints
@res.docon a function parameter as a doc comment that doesn't parse.