capnp-ocaml icon indicating copy to clipboard operation
capnp-ocaml copied to clipboard

List of List transpilation error

Open LasseBlaauwbroek opened this issue 2 years ago • 0 comments

Compiling

@0xafda4797418def92;
const listlist :List(List(UInt8)) = [[3]];

Leads to generated code with a syntax error (partially replicated here):

  module Reader = struct
    type array_t = ro MessageWrapper.ListStorage.t
    type builder_array_t = rw MessageWrapper.ListStorage.t
    type pointer_t = ro MessageWrapper.Slice.t option
    let of_pointer = RA_.deref_opt_struct_pointer

    let listlist : (ro, (ro, int, array_t) Capnp.Array.t, array_t) Capnp.Array.t =
      let decoders = RA_.ListDecoders.Pointer (fun slice ->
        let decoders = RA_.ListDecoders.Pointer (fun slice ->
          let struct_storage = RA_.pointers_struct slice in
          RA_.get_uint8_list (Some struct_storage) 0)
        in
        decoders)
      RA_.make_array_readonly _reader_default_value_12545965927582454309_listlist decoders
  end

Error:

86 |       RA_.make_array_readonly _reader_default_value_12545965927582454309_listlist decoders
           ^^^

It appears that a in is missing.

LasseBlaauwbroek avatar Oct 22 '21 18:10 LasseBlaauwbroek