package main

import "swigtests/voidtest"

func main() {
	voidtest.Globalfunc()
	f := voidtest.NewFoo()
	f.Memberfunc()

	voidtest.FooStaticmemberfunc()

	v1 := voidtest.Vfunc1(f.Swigcptr())
	v2 := voidtest.Vfunc2(f)
	if v1 != v2 {
		panic(0)
	}

	v3 := voidtest.Vfunc3(v1)

	v4 := voidtest.Vfunc1(f.Swigcptr())
	if v4 != v1 {
		panic(0)
	}

	v3.Memberfunc()
}
