Skip to content
  • Alan Zimmerman's avatar
    Fix API Annotations for unboxed sums · 38f289fa
    Alan Zimmerman authored
    An unboxed tuple such as
    
        (# | b | | | | | #)
    
    Ends up in the parser via `tup_exprs` as
    
        Sum 2 7 lexp
    
    where `lexp` is a `LHsExpr`
    
    From an API annotation perspective, the 5 `AnnVbar`s after the `b` were attached
    to `lexp`, but the leading `AnnVbar`s did not have a home.
    
    This patch attaches them all to the the parent tuple expression. The first (alt
    - 1) of them come before `lexp`, and the remaining (arity - alt) come after.
    
    Test Plan: ./validate
    
    Reviewers: osa1, austin, bgamari
    
    Subscribers: thomie, mpickering
    
    Differential Revision: https://phabricator.haskell.org/D2968
    
    GHC Trac Issues: #12417
    38f289fa