Skip to content

Visible type application (VTA) and datatype contexts are incompatible

Consider

data Ord a => T a = MkT (Maybe a)

foo = MkT @Int

Currently we get

Foo.hs:8:7: error:
    • Cannot apply expression of type ‘Maybe a0 -> T a0’
      to a visible type argument ‘Int’
    • In the expression: MkT @Int
      In an equation for ‘foo’: foo = MkT @Int
  |
8 | foo = MkT @Int
  |       ^^^^^^^^

This a known infelicity, and perhaps not an important one.

But it turns out to be easy to fix as part of other work on #18481 (closed)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information