Fixed two showstopping bugs in 'deriving Read' code (mea culpa).
])
| lab_fields == 0 = -- common case.
snd (mapAccumL mk_qual
- c_Expr
+ d_Expr
(zipWithEqual "as_needed"
(\ con_field draw_from -> (mk_read_qual 10 con_field,
draw_from))
| not is_infix = 9
| otherwise = getFixity fixities dc_nm
- read_paren_arg = -- parens depend on precedence...
- HsPar (genOpApp a_Expr gt_RDR (HsLit (HsInt paren_prec_limit)))
+ read_paren_arg -- parens depend on precedence...
+ | nullary_con = false_Expr -- it's optional.
+ | otherwise = HsPar (genOpApp a_Expr gt_RDR (HsLit (HsInt paren_prec_limit)))
\end{code}