summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_compile/T14154.hs
blob: e29ee8550423a4b7e0c4d18cab0e8261c8fa2247 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{-# Language RankNTypes, DerivingStrategies, TypeApplications,
    ScopedTypeVariables, GADTs, PolyKinds #-}

module T14154 where

newtype Ran g h a
  = MkRan (forall b. (a -> g b) -> h b)

newtype Swap p f g a where
  MkSwap :: p g f a -> Swap p f g a

ireturn :: forall m i a. a -> m i i a
ireturn = undefined

xs = case ireturn @(Swap Ran) 'a' of
       MkSwap (MkRan f) -> f print