summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_compile/Tc173a.hs
blob: f3704ccd9ab963faa2662aaac1e59a9c1b4c6042 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{-# LANGUAGE FlexibleInstances, TypeSynonymInstances, UndecidableInstances #-}
module Tc173a where

class FormValue value where
   isFormValue :: value -> ()
   isFormValue _ = () 

class FormTextField value

instance FormTextField String

instance {-# OVERLAPPABLE #-} FormTextField value => FormTextFieldIO value

class FormTextFieldIO value

instance FormTextFieldIO value => FormValue value

instance {-# OVERLAPPING #-} FormTextFieldIO value => FormTextFieldIO (Maybe value)