@@ -295,7 +295,7 @@ elab ist info emode opts fn tm
296 -- | elabE elaborates an expression, possibly wrapping implicit coercions
296 -- | elabE elaborates an expression, possibly wrapping implicit coercions
297 -- and forces/delays. If you make a recursive call in elab', it is
297 -- and forces/delays. If you make a recursive call in elab', it is
298− -- normally correct to call elabE - the ones that don't are desugarings
298+ -- normally correct to call elabE - the ones that don't are `desugarings
299 -- typically
299 -- typically
300 elabE :: ElabCtxt -> Maybe FC -> PTerm -> ElabD ()
300 elabE :: ElabCtxt -> Maybe FC -> PTerm -> ElabD ()
301 elabE ina fc' t =
301 elabE ina fc' t =
@@ -372,7 +372,10 @@ elab ist info emode opts fn tm
373 highlightSource fc' (AnnType "Type" "The type of types")
373 highlightSource fc' (AnnType "Type" "The type of types")
374 elab' ina fc (PUniverse fc' u) =
374 elab' ina fc (PUniverse fc' u) =
375+ do unless (UniquenessTypes `elem` idris_language_extensions ist
377+ lift $ tfail $ At fc' (Msg "You must turn on the UniquenessTypes extension to use UniqueType or AnyType")
375− do apply (RUType u) []
378+ apply (RUType u) []
377 highlightSource fc' (AnnType (show u) "The type of unique types")
380 highlightSource fc' (AnnType (show u) "The type of unique types")
378-- elab' (_,_,inty) (PConstant c)
381-- elab' (_,_,inty) (PConstant c)
@@ -1278,7 +1281,9 @@ elab ist info emode opts fn tm
1279 elab' ina fc t
1282 elab' ina fc t
1280 elab' ina fc (PRunElab fc' tm ns) =
1283 elab' ina fc (PRunElab fc' tm ns) =
1284+ do unless (ElabReflection `elem` idris_language_extensions ist) $
1285+ lift $ tfail $ At fc' (Msg "You must turn on the ElabReflection extension to use %runElab")
1281− do attack
1286+ attack
1282 n <- getNameFrom (sMN 0 "tacticScript")
1287 n <- getNameFrom (sMN 0 "tacticScript")
1283 let scriptTy = RApp (Var (sNS (sUN "Elab")
1288 let scriptTy = RApp (Var (sNS (sUN "Elab")
1284 ["Elab", "Reflection", "Language"]))
1289 ["Elab", "Reflection", "Language"]))