blob: afc484faef70c60fcff945ca77927dc6f3fddd31 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
unit h where
signature H where
data T = T1
unit t-impl where
module T where
data T = T2
unit p where
dependency h[H=<H>]
dependency t-impl
-- Known bug: GHC will not eagerly report an error here although
-- it could, if it more aggressively checked for type-compatibility
-- when a hole gets resolved
signature H(module H, T(..)) where
import T
unit h-impl where
dependency t-impl
module H(T(..)) where
import T
unit q where
-- Fortunately, you'll never be able to instantiate these signatures;
-- it's just an unsatisfiable set of constraints.
dependency p[H=h-impl:H]
|