rescript-labs / decco

Bucklescript PPX which generates JSON (de)serializers for user-defined types

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mutually recursive types

jchavarri opened this issue · comments

It seems that single recursive types are supported since #31, but mutually recursive types using and are not.

Repro:

[@decco] type inttree =
  | Empty
  | Node(node)
[@decco] and node = {
  value: int,
  left: inttree,
  right: inttree,
};

It triggers an error The value node_encode can't be found.

I believe that encoders/decoders should also be declared with and so they can call each other.