]> Repositorios git - classgraph.git/commit
Skip placeholder synthesis for unapplied-family use sites
authorJavier Sagredo <[email protected]>
Thu, 7 May 2026 00:15:11 +0000 (02:15 +0200)
committerJavier Sagredo <[email protected]>
Thu, 7 May 2026 00:15:11 +0000 (02:15 +0200)
commitafd859de5bf8120de54147a87205883bf91ca354
tree9961e7dac9842e4544ef95e3017be851575f847b
parent6b43ab8695ba2b98250d3d31cf500f7a386407de
Skip placeholder synthesis for unapplied-family use sites

When a constraint references a family unapplied (passed as a
higher-kinded argument, e.g. @CanUpgradeLedgerTables LedgerState@),
the FamilyApp at the use site has no args. The placeholder
synthesizer would emit @LedgerState = ?@ — informationless beyond
the family name itself, which the family node already shows on its
own. Skip these empty-args use sites so the family node sits in the
graph cleanly without a tautological placeholder hanging off it.

Concretizing the bare reference to e.g. @LedgerState (ShelleyBlock
proto era) mk@ would require constraint-solver-like propagation
across the constraint set (matching @l ~ LedgerState (ShelleyBlock
proto era)@ from elsewhere) — work GHC does at typecheck time but
that we don't preserve in the dump.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
data/viewer.js