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

-- This one made GHC 6.4 loop becuause Unify.unify
-- didn't deal correctly with unifying
--	a :=: Foo a
-- where
--	type Foo a = a

module ShouldSucceed where

newtype PRef a = PRef a
type Drop1 a = a
class Ref a r | a -> r  where readRef :: a -> r
instance Ref (PRef a) (Drop1 a) where readRef (PRef v) = v