Skip to content

Revisit approximating GADTs after implicit lookup #9158

Closed
@abgruszecki

Description

@abgruszecki

In #9140 we needed to temporarily remove code for approximating/"healing" types with GADT constraints, as it introduced unsoundness.

The root of the issue is more-or-less that given constraints F[X] <: G[X]; A <: B we approximated F[A] ~ G[B], even though we should not as F/G might not be injective.

@smarter the code for approximating GADTs is almost a copy of IsFullyDefinedAccumulator. Given that, do you suppose there's an equivalent problem with type variable approximation (forcing)? If not, then why?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions