@@ -357,7 +357,9 @@ elabClauses info fc opts n_in cs = let n = liftname info n_in in
357357 iputStrLn $ show fc ++
358358 ":warning - Unreachable case: " ++
359359 show (delab ist x)) xs
360− tree' <- tclift $ simpleCase tcase pcover RunTime fc pdef'
360+ let knowncovering = pcover && cov
361+
362+ tree' <- tclift $ simpleCase tcase knowncovering RunTime fc pdef'
361363 logLvl 3 (show tree)
362364 logLvl 3 $ "Optimised: " ++ show tree'
363365 ctxt <- getContext
@@ -365,7 +367,7 @@ elabClauses info fc opts n_in cs = let n = liftname info n_in in
365367 put (ist { idris_patdefs = addDef n pdef' (idris_patdefs ist) })
366368 case lookupTy (namespace info) n ctxt of
367369 [ty] -> do updateContext (addCasedef n (inlinable opts)
368− tcase pcover pats
370+ tcase knowncovering pats
369371 pdef pdef' ty)
370372 addIBC (IBCDef n)
371373 setTotality n tot