Skip to content

Loopbreaker doesn't fill in ambiguous type applications #8

@isovector

Description

@isovector
src/Polysemy/Tagged.hs:1:1: error:
    • Could not deduce: Polysemy.Internal.Union.IndexOf
                          r (Polysemy.Internal.Union.Found r (Tagged k20 e))
                        ~ Tagged k20 e
        arising from a use of ‘retag’
      from the context: Member (Tagged k5 e) r
        bound by the type signature for:
                   retag__Loopbreaker_a1VWm :: forall k k3 (k4 :: k) (k5 :: k3)
                                                      (e :: (* -> *) -> * -> *)
                                                      (r :: [(* -> *) -> * -> *]) a.
                                               Member (Tagged k5 e) r =>
                                               Sem (Tagged k4 e : r) a -> Sem r a
        at src/Polysemy/Tagged.hs:1:1
      The type variable ‘k20’ is ambiguous
    • In the expression: retag
      In an equation for ‘retag__Loopbreaker_a1VWm’:
          retag__Loopbreaker_a1VWm = retag
    • Relevant bindings include
        retag__Loopbreaker :: Sem (Tagged k4 e : r) a -> Sem r a
          (bound at <no location info>)

for retag:

retag
    :: forall k1 k2 e r a
     . Member (Tagged k2 e) r
    => Sem (Tagged k1 e ': r) a
    -> Sem r a

This is a pretty high priority bug!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions