on master help sign in
Fix missing cases in 'tldeclared' to allow class/instance in parameter blocks
e410ab3Edwin Brady
src/Idris/AbsSyntaxTree.hs+3−1
@@ -458,7 +458,9 @@ tldeclared (PData _ _ _ _ (PDatadecl n _ ts)) = n : map fstt ts
458tldeclared (PParams _ _ ds) = []
458tldeclared (PParams _ _ ds) = []
459tldeclared (PMutual _ ds) = concatMap tldeclared ds
459tldeclared (PMutual _ ds) = concatMap tldeclared ds
460tldeclared (PNamespace _ ds) = concatMap tldeclared ds
460tldeclared (PNamespace _ ds) = concatMap tldeclared ds
461−
461+tldeclared (PClass _ _ _ _ n _ ms) = concatMap tldeclared ms
462+tldeclared (PInstance _ _ _ _ _ _ _ _) = []
463+tldeclared _ = []
462
464
463defined :: PDecl -> [Name]
465defined :: PDecl -> [Name]
464defined (PFix _ _ _) = []
466defined (PFix _ _ _) = []
src/Idris/ElabDecls.hs+1−1
@@ -1434,7 +1434,7 @@ elabDecl' what info (PNamespace n ps) = mapM_ (elabDecl' what ninfo) ps
1434elabDecl' what info (PClass doc s f cs n ps ds)
1434elabDecl' what info (PClass doc s f cs n ps ds)
1435 | what /= EDefns
1435 | what /= EDefns
1436 = do iLOG $ "Elaborating class " ++ show n
1436 = do iLOG $ "Elaborating class " ++ show n
1437− elabClass info s doc f cs n ps ds
1437+ elabClass info (s { syn_params = [] }) doc f cs n ps ds
1438elabDecl' what info (PInstance s f cs n ps t expn ds)
1438elabDecl' what info (PInstance s f cs n ps t expn ds)
1439 | what /= ETypes
1439 | what /= ETypes
1440 = do iLOG $ "Elaborating instance " ++ show n
1440 = do iLOG $ "Elaborating instance " ++ show n