• Alan Zimmerman's avatar
    Api Annotations: RdrHsSyn.mkAtDefault causes annotations to be disconnected. · 811b72ad
    Alan Zimmerman authored
    Summary:
    The code for mkAtDefault is as follows.
    
        mkATDefault (L loc (TyFamInstDecl { tfid_eqn = L _ e }))
              | TyFamEqn { tfe_tycon = tc, tfe_pats = pats, tfe_rhs = rhs } <- e
              = do { tvs <- checkTyVars (ptext (sLit "default")) equalsDots tc (hswb_cts pats)
                   ; return (L loc (TyFamEqn { tfe_tycon = tc
                                             , tfe_pats = tvs
                                             , tfe_rhs = rhs })) }
    
    An associated type in a class of the form
    
        type FoldableConstraint t x = ()
    
    has an AnnEqual attached to the location in tfid_eqn. Since the location
    is discarded, this annotation is then disconnected from the AST.
    
    Test Plan: ./validate
    
    Reviewers: hvr, austin
    
    Reviewed By: austin
    
    Subscribers: bgamari, thomie, mpickering
    
    Differential Revision: https://phabricator.haskell.org/D842
    
    GHC Trac Issues: #10307
    811b72ad
Parser.y 163 KB