diff --git a/src/compiler/GF/Grammar/Lookup.hs b/src/compiler/GF/Grammar/Lookup.hs index 25c9b75a0..9148104fd 100644 --- a/src/compiler/GF/Grammar/Lookup.hs +++ b/src/compiler/GF/Grammar/Lookup.hs @@ -204,8 +204,14 @@ allOpers gr = ResOper (Just ltyp) _ -> [ltyp] ResValue ltyp -> [ltyp] ResOverload _ tytrs -> [ltyp | (ltyp,_) <- tytrs] - CncFun (Just (i,ctx,typ)) _ _ _ -> [L NoLoc (mkProdSimple ctx typ)] + CncFun (Just (i,ctx,typ)) _ _ _ -> + [L NoLoc (mkProdSimple ctx (lock' i typ))] _ -> [] + + lock' i typ = case lock i typ of + Ok t -> t + _ -> typ + reachable = case greatestResource gr of Just r -> allExtendSpecs gr r _ -> []