open Swig open Newobject1 exception RuntimeError of string * int let foo1 = ref (_Foo_makeFoo C_void) let _ = if get_int (_Foo_fooCount C_void) != 1 then raise (RuntimeError ("(1) Foo.fooCount != 1", get_int (_Foo_fooCount C_void))) let foo2 = ref ((invoke !foo1) "makeMore" C_void) let _ = if get_int (_Foo_fooCount C_void) != 2 then raise (RuntimeError ("(2) Foo.fooCount != 2", get_int (_Foo_fooCount C_void))) let _ = begin foo1 := C_void ; Gc.full_major () ; (if get_int (_Foo_fooCount C_void) != 1 then raise (RuntimeError ("(3) Foo.fooCount != 1", get_int (_Foo_fooCount C_void)))) ; foo2 := C_void ; Gc.full_major () ; (if get_int (_Foo_fooCount C_void) != 0 then raise (RuntimeError ("(4) Foo.fooCount != 0", get_int (_Foo_fooCount C_void)))) ; end