on master help sign in
stripLinear needs to check dependent pairs

Previously not loooking for patterns to hide in dependent pairs, so some things end up being detected as total which really aren't.

commit41711c7e20f91929fd93c7dd3439e83086272c38 authorEdwin Brady <ecb10@st-andrews.ac.uk> dateSun 1 Mar 2015, 13:45 (12 years ago) parent5475fe3
1 file changed+4
src/Idris/AbsSyntax.hs+4
src/Idris/AbsSyntax.hs+4
@@ -1714,6 +1714,10 @@ stripLinear i tm = evalState (sl tm) [] where
17141714 return (a' : as')
17151715 slAlts ns [] = return []
17161716 sl (PPair fc p l r) = do l' <- sl l; r' <- sl r; return (PPair fc p l' r')
1717+ sl (PDPair fc p l t r) = do l' <- sl l
1718+ t' <- sl t
1719+ r' <- sl r
1720+ return (PDPair fc p l' t' r')
17171721 sl (PApp fc fn args) = do -- Just the args, fn isn't matchable as a var
17181722 args' <- mapM slA args
17191723 return $ PApp fc fn args'