nbindgen 0.0.1

A tool for generating Nim bindings to Rust code (based on cbindgen).
Documentation

type StylePoint*[T] = object
  x: T
  y: T

type StyleFoo_Tag* = uint8

type Foo_Body* = object
  tag*: StyleFoo_Tag
  x: int32
  y: StylePoint[T]
  z: StylePoint[float32]

type Bar_Body* = object
  tag*: StyleFoo_Tag
  x0: T

type Baz_Body* = object
  tag*: StyleFoo_Tag
  x0: StylePoint[T]

type StyleFoo*[T] = object
  tag*: StyleFoo_Tag
  foo*: Foo_Body
  bar*: Bar_Body
  baz*: Baz_Body

type StyleBar_Tag* = int

type StyleBar1_Body* = object
  x: int32
  y: StylePoint[T]
  z: StylePoint[float32]
  u: proc (a0: int32): int32 {.cdecl.}

type StyleBar2_Body* = object
  x0: T

type StyleBar3_Body* = object
  x0: StylePoint[T]

type StyleBar*[T] = object
  tag*: StyleBar_Tag
  bar1*: StyleBar1_Body
  bar2*: StyleBar2_Body
  bar3*: StyleBar3_Body

type StyleBaz_Tag* = uint8

type Baz1_Body* = object
  tag*: StyleBaz_Tag
  x0: StyleBar[uint32]

type Baz2_Body* = object
  tag*: StyleBaz_Tag
  x0: StylePoint[int32]

type StyleBaz* = object
  tag*: StyleBaz_Tag
  baz1*: Baz1_Body
  baz2*: Baz2_Body

type StyleTaz_Tag* = uint8

type StyleTaz1_Body* = object
  x0: StyleBar[uint32]

type StyleTaz2_Body* = object
  x0: StyleBaz

type StyleTaz* = object
  tag*: StyleTaz_Tag
  taz1*: StyleTaz1_Body
  taz2*: StyleTaz2_Body

proc foo*(foo: ptr StyleFoo[int32],
          bar: ptr StyleBar[int32],
          baz: ptr StyleBaz,
          taz: ptr StyleTaz) {.importc: "foo".}