packages feed

haskell-tools-builtin-refactorings-1.1.0.0: test/ExtensionOrganizerTest/UndecidableInstancesTest/SynNoSmallerPred.hs

{-# LANGUAGE ConstraintKinds, FlexibleInstances, FlexibleContexts, UndecidableInstances, ExplicitForAll #-}

module SynNoSmallerPred where

import Definitions

type Syn1 a   = Eq a                       {-* ConstraintKinds *-}
type Syn2 a b = Eq (D [a] b)               {-* ConstraintKinds, FlexibleContexts, FlexibleContexts *-}
type Syn3     = Syn2 Int Int               {-* ConstraintKinds, FlexibleContexts, FlexibleContexts *-}

instance Syn1 a => C a                     {-* UndecidableInstances, FlexibleInstances *-}
instance Syn2 a b => C2 (a,b)              {-* UndecidableInstances, FlexibleContexts *-}
instance forall a b . Syn2 a b => C3 (a,b) {-* UndecidableInstances, FlexibleContexts *-}
instance Syn3 => C4 (Int,Int)              {-* UndecidableInstances, FlexibleInstances, FlexibleContexts *-}