Skip to content

Parser: commas_tup_tail duplicate SrcSpan on "Missing" value

Parsing

{-# LANGUAGE TupleSections #-}

baz = (1, "hello", 6.5,,) 'a' (Just ())

Results in the following AST fragment

(L tests/examples/Tuple.hs:3:7-25
   (ExplicitTuple
      [ L tests/examples/Tuple.hs:3:8
          (Present
             (L tests/examples/Tuple.hs:3:8
                (HsOverLit
                   (OverLit
                      (HsIntegral [ '1' ] 1)
                      PlaceHolder
                      (HsLit
                         (HsString
                            []
                            {abstract:FastString}))
                      PlaceHolder))))
      , L tests/examples/Tuple.hs:3:11-17
          (Present
             (L tests/examples/Tuple.hs:3:11-17
                (HsLit
                   (HsString
                      [ '"'
                      , 'h'
                      , 'e'
                      , 'l'
                      , 'l'
                      , 'o'
                      , '"'
                      ]
                      {abstract:FastString}))))
      , L tests/examples/Tuple.hs:3:20-22
          (Present
             (L tests/examples/Tuple.hs:3:20-22
                (HsOverLit
                   (OverLit
                      (HsFractional
                         (FL
                            [ '6' , '.' , '5' ]
                            (:% 13 2)))
                      PlaceHolder
                      (HsLit
                         (HsString
                            []
                            {abstract:FastString}))
                      PlaceHolder))))
      , L tests/examples/Tuple.hs:3:24
          (Missing PlaceHolder)
      , L tests/examples/Tuple.hs:3:24
          (Missing PlaceHolder)
      ]

The final Missing PlaceHolder has a duplicated SrcSpan

Edited by Alan Zimmerman
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information