"Non-exhaustive patterns" for exhaustive ones
This is on ghc-8.6.3, Ubuntu Linux, built from source.
> ghc --make $doconCpOpt ConeEq
Linking ConeEq ...
>./ConeEq
reports ...
ConeEq: GBasis_simple.hs:144:1-32: Non-exhaustive patterns in function reduceBy1pass
But GBasis_simple.hs includes the function
reduceBy1pass :: Field a => String -> [Pol a] -> [Pol a]
reduceBy1pass _ [] = []
reduseBy1pass mode (f: fs) = redt [] (f: fs)
where
redt rs [] = rs
redt rs (f: fs) = let r = redCan mode (rs ++ fs) f
in
if isZero r then redt rs fs else redt (r: rs) fs
in which the patters are exhaustive. Am I missing something?