1--TEST--
2When ArrayObject wraps an object, we should use proptable canonicalization
3--FILE--
4<?php
5
6$o = new stdClass;
7$ao = new ArrayObject($o);
8$ao[0] = 1;
9var_dump($o);
10$ao[0] += 1;
11var_dump($o);
12var_dump(isset($ao[0]));
13var_dump((array) $ao);
14unset($ao[0]);
15var_dump($o);
16
17?>
18--EXPECT--
19object(stdClass)#1 (1) {
20  ["0"]=>
21  int(1)
22}
23object(stdClass)#1 (1) {
24  ["0"]=>
25  int(2)
26}
27bool(true)
28array(1) {
29  [0]=>
30  int(2)
31}
32object(stdClass)#1 (0) {
33}
34