package main import . "./refcount" // very innocent example func main() { a := NewA3() _ = NewB(a) b2 := BCreate(a) if a.Ref_count() != 3 { panic("This program will crash... now") } rca := b2.Get_rca() // _ = BCreate(rca) _ = rca if a.Ref_count() != 4 { panic("This program will crash... now") } /* Requires smart pointer support. v := NewVector_A(2) v.Set(0, a) v.Set(1, a) _ = v.Get(0) DeleteVector_A(v) */ }