package main

import . "swigtests/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)
	*/
}
