Remove fun_id, is_infix from FunBind, as they are now in Match
One of the changes D538 introduced is to add m_fun_id_infix to Match
data Match id body
= Match {
m_fun_id_infix :: (Maybe (Located id,Bool)),
-- fun_id and fun_infix for functions with multiple equations
-- only present for a RdrName. See note [fun_id in Match]
m_pats :: [LPat id], -- The patterns
m_type :: (Maybe (LHsType id)),
-- A type signature for the result of the match
-- Nothing after typechecking
m_grhss :: (GRHSs id body)
} deriving (Typeable)
This was done to track the individual locations and fixity of the fun_id for each of the defining equations for a function when there are more than one.
For example, the function (&&&) is defined with some prefix and some infix equations below.
(&&& ) [] [] = []
xs &&& [] = xs
( &&& ) [] ys = ys
This means that the fun_id / is_infix is now superfluous in the FunBind. This has not been removed as a potentially risky change just before 7.10 RC2, and so must be done after.
This ticket captures that task, which includes processing these fields through the renamer and beyond.
Edited by Alan Zimmerman