Skip to content

Kind unification bug #3077

@kcsongor

Description

@kcsongor

As discussed on slack, there seems to be an issue with how kinds are unified, here's a minimal, self-contained example:

data TProxy (t :: Type) = TProxy
data SProxy (s :: Symbol) = SProxy

put :: forall proxy a. proxy a -> TProxy a
put _ = TProxy

--wrong :: TProxy "apple"
wrong = put (SProxy :: SProxy "apple")

This typechecks (on both HEAD and 0.11.6), and we managed to force a Symbol into TProxy.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions