void TestPtr()
{
int n;
ptr<int, !deletable> p_no_delete;
ptr<int, deletable> p_can_delete;
p_no_delete = p_can_delete;
p_can_delete = p_no_delete; // compilation error
p_no_delete = &n;
p_can_delete = &n; // compilation error
p_no_delete = new_cast(new int); // compilation error
p_can_delete = new_cast(new int);
p_no_delete.Delete(); // compilation error
p_can_delete.Delete();
}