Sounds like a bug! Care to file an issue on github?

Thanks,
-Kenton

On Mon, Jul 31, 2017 at 10:53 AM, <[email protected]> wrote:

> Is the Json Decoder supposed to be able to parse Void fields in a union
> member?
>
> Given
> struct TestDistinguishVoidsInUnion {
>   union {
>     first @0 :Void;
>     second @1 :Void;
>   }
> }
>
> the following test fails (Windows, v0.6.0):
> KJ_TEST("decode voids in union") {
>   MallocMessageBuilder message;
>   auto root = message.initRoot<test::TestDistinguishVoidsInUnion>();
>
>   JsonCodec json;
>   json.decode("{\"first\":null}", root);
>   KJ_EXPECT(root.isFirst() == true);
>
>   json.decode("{\"second\":null}", root);
>   KJ_EXPECT(root.isSecond() == true); //<-- this fails
> }
>
>
> The encoding seems to work fine:
> KJ_TEST("encode voids in union") {
>   MallocMessageBuilder message;
>   auto root = message.getRoot<test::TestDistinguishVoidsInUnion>();
>
>   JsonCodec json;
>
>   root.setFirst();
>   auto encoded = json.encode(root);
>   KJ_EXPECT(encoded == "{\"first\":null}");
>
>   root.setSecond();
>   encoded = json.encode(root);
>   KJ_EXPECT(encoded == "{\"second\":null}");
> }
>
>
> Thanks!
> Stijn
>
> --
> You received this message because you are subscribed to the Google Groups
> "Cap'n Proto" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> Visit this group at https://groups.google.com/group/capnproto.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Cap'n Proto" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/capnproto.

Reply via email to