From 7361ddea45727e80a79ba42af34e45f9641fc993 Mon Sep 17 00:00:00 2001 From: aarne Date: Sat, 12 Mar 2011 11:24:14 +0000 Subject: make it possible to override opers defined in an interface by syntax 'instance Foo of Bar - [f,g,h]' --- src/compiler/GF/Compile/Update.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/compiler/GF/Compile/Update.hs') diff --git a/src/compiler/GF/Compile/Update.hs b/src/compiler/GF/Compile/Update.hs index b5f301e8b..1dcae722c 100644 --- a/src/compiler/GF/Compile/Update.hs +++ b/src/compiler/GF/Compile/Update.hs @@ -89,10 +89,10 @@ rebuildModule gr mo@(i,mi@(ModInfo mt stat fs_ me mw ops_ med_ js_)) = do ("module" +++ showIdent i +++ "has open interfaces and must therefore be declared incomplete") case mt of - MTInstance i0 -> do + MTInstance (i0,mincl) -> do m1 <- lookupModule gr i0 testErr (isModRes m1) ("interface expected instead of" +++ showIdent i0) - js' <- extendMod gr False (i0,const True) i (jments m1) (jments mi) + js' <- extendMod gr False (i0, isInherited mincl) i (jments m1) (jments mi) --- to avoid double inclusions, in instance I of I0 = J0 ** ... case extends mi of [] -> return $ replaceJudgements mi js' -- cgit v1.2.3