wit-bindgen-cli 0.57.1

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

interface aggregates {
  resource z;

  record r1 {
    z: z
  }
  record r2 {
    z: borrow<z>
  }
  record r3 {
    z1: borrow<z>,
    z2: z,
  }
  type t1 = tuple<z, r1>;
  type t2 = tuple<borrow<z>>;

  variant v1 {
    z(z),
  }
  variant v2 {
    z(borrow<z>),
  }

  type l1 = list<z>;
  type l2 = list<borrow<z>>;

  f: func(
    r1: r1,
    r2: r2,
    r3: r3,
    t1: t1,
    t2: t2,
    v1: v1,
    v2: v2,
    l1: l1,
    l2: l2,
    o1: option<z>,
    o2: option<borrow<z>>,
    result1: result<z>,
    result2: result<borrow<z>>,
  );
}

world resources {
  import aggregates;
  export aggregates;
}