public void TestClassReturn()
{
// Section 3.1.4:
// Classes with non-default copy ctors/destructors are returned using a hidden
// argument
var c = ClassWithCopyCtor.Return (42);
Assert.AreEqual (42, c.GetX (), "#1");
var c2 = ClassWithDtor.Return (43);
Assert.AreEqual (43, c2.GetX (), "#2");
// This class is returned normally
var c3 = ClassWithoutCopyCtor.Return (44);
Assert.AreEqual (44, c3.GetX (), "#3");
}