Latest Results
[ty] Replace ParameterForm with TypeForm (#25847)
## Summary
Remove the entire `ParameterForm` and `argument_forms` subsystem, as
well as the `conflicting-argument-forms` diagnostic, using `TypeForm`
instead for the three remaining known callables that were still using it
(`cast`, `assert_type`, and `TypeAliasType`).
Improve the projection of `TypeForm` types into their represented type
to account for aliases, unions, intersections, and type variables, as
well as protecting against stack overflow.
This PR avoids scope creep into improving IDE behavior around `TypeForm`
(highlighting of type-form arguments as type annotations). It preserves
existing behavior for `cast`, `assert_type`, and `TypeAliasType` via
special-casing of those three callables.
Closes https://github.com/astral-sh/ty/issues/3714.
## Test plan
Added/updated mdtests.
Main change in ecosystem is that we now accept `type[...]` types as type
expressions in `cast`; this matches both user expectations in
HomeAssistant and the TypeForm PEP, which says that instances of `type`
are TypeForms. Latest Branches
0%
charlie/revive-equality-narrowing-enum-performance 0%
charlie/revive-equality-narrowing 0%
lerebear/push-wqpsynnsqtxq © 2026 CodSpeed Technology