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
|