on master help sign in
Fix error in spotting linear arguments

Some not being spotted under type synonyms, so happily accepted even if not unifying. Fixes #2210 Fixes #2213

commit07916597e3d800a541bf76ddbcec6631610d2a90 authorEdwin Brady <ecb10@st-andrews.ac.uk> dateSat 9 May 2015, 14:42 (11 years ago) parent23b36da
1 file changed+5−2
src/Idris/AbsSyntax.hs+5−2
src/Idris/AbsSyntax.hs+5−2
@@ -1770,9 +1770,12 @@ stripLinear i tm = evalState (sl tm) [] where
17701770 t' <- sl t
17711771 r' <- sl r
17721772 return (PDPair fc p l' t' r')
1773− sl (PApp fc fn args) = do -- Just the args, fn isn't matchable as a var
1773+ sl (PApp fc fn args) = do fn' <- case fn of
1774+ -- Just the args, fn isn't matchable as a var
1775+ PRef _ _ -> return fn
1776+ t -> sl t
17741777 args' <- mapM slA args
1775− return $ PApp fc fn args'
1778+ return $ PApp fc fn' args'
17761779 where slA (PImp p m l n t) = do t' <- sl t
17771780 return $ PImp p m l n t'
17781781 slA (PExp p l n t) = do t' <- sl t