[#616] Fix conversion of pairs with type anns

Description

If we try to serialize a right-combed pair Ty to JSON, and the inner pair has a type annotation, that type annotation is dropped.

E.g., this:

Ty (TPair "" "" "" "" (Ty TInt "") (Ty (TPair "" "" "" "" (Ty TInt "") (Ty TInt "")) "ann")) ""

Is serialized to:

{"args":[{"prim":"int"},{"prim":"int"},{"prim":"int"}],"prim":"pair"}

Related issue(s)

Resolves #616 (closed)

Checklist for your Merge Request

Related changes (conditional)

  • Tests (see short guidelines)

    • If I added new functionality, I added tests covering it.
    • If I fixed a bug, I added a regression test to prevent the bug from silently reappearing again.
  • Documentation

    • I checked whether I should update the docs and did so if necessary:
    • I updated changelog files of all affected packages released to Hackage if my changes are externally visible.

Stylistic guide (mandatory)

Edited by Dmitriy Mozhevitin

Merge request reports

Loading