@@ -59,8 +59,9 @@ record syn = do (doc, paramDocs, acc, opts) <- try (do
5959 syn_namespace syn }
6060 params <- manyTill (recordParameter rsyn) (reservedHL "where")
6161 (fields, cname, cdoc) <- indentedBlockS $ recordBody rsyn tyn
62+ let fnames = map (expandNS rsyn) (mapMaybe getName fields)
6263 case cname of
63− Just cn' -> accData acc tyn [fst cn']
64+ Just cn' -> accData acc tyn (fst cn' : fnames)
6465 Nothing -> return ()
6566 return $ PRecord doc rsyn fc opts tyn nfc params paramDocs fields cname cdoc syn
6667 <?> "record type declaration"
@@ -70,6 +71,9 @@ record syn = do (doc, paramDocs, acc, opts) <- try (do
7071 ++ getRecNames syn sc
7172 getRecNames _ _ = []
7273
74+ getName (Just (n, _), _, _, _) = Just n
75+ getName _ = Nothing
76+
7377 toFreeze :: Maybe Accessibility -> Maybe Accessibility
7478 toFreeze (Just Frozen) = Just Hidden
7579 toFreeze x = x