wit-bindgen-cli 0.56.0

CLI tool to generate bindings for WIT documents and the component model.
package test:flavorful;

interface to-test {
  record list-in-record1 { a: string }
  record list-in-record2 { a: string }
  record list-in-record3 { a: string }
  record list-in-record4 { a: string }
  type list-in-alias = list-in-record4;

  f-list-in-record1: func(a: list-in-record1);
  f-list-in-record2: func() -> list-in-record2;
  f-list-in-record3: func(a: list-in-record3) -> list-in-record3;
  f-list-in-record4: func(a: list-in-alias) -> list-in-alias;

  type list-in-variant1-v1 = option<string>;
  type list-in-variant1-v2 = result<_, string>;
  f-list-in-variant1: func(a: list-in-variant1-v1, b: list-in-variant1-v2);

  type list-in-variant2 = option<string>;
  f-list-in-variant2: func() -> list-in-variant2;

  type list-in-variant3 = option<string>;
  f-list-in-variant3: func(a: list-in-variant3) -> list-in-variant3;

  enum my-errno { success, a, b }
  errno-result: func() -> result<_, my-errno>;

  type list-typedef = string;
  type list-typedef2 = list<u8>;
  type list-typedef3 = list<string>;
  list-typedefs: func(a: list-typedef, c: list-typedef3) -> tuple<list-typedef2, list-typedef3>;

  list-of-variants: func(a: list<bool>, b: list<result>, c: list<my-errno>)
    -> tuple<list<bool>, list<result>, list<my-errno>>;
}

world test {
  export to-test;
}

world runner {
  import to-test;

  export run: func();
}