Annotation of embedaddon/php/Zend/tests/bug64417.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #64417 (BC break: ArrayAccess::&offsetGet() in a trait causes fatal error)
! 3: --FILE--
! 4: <?php
! 5: trait aa {
! 6: private $container = array();
! 7: public function offsetSet($offset, $value) {
! 8: if (is_null($offset)) {
! 9: $this->container[] = $value;
! 10: } else {
! 11: $this->container[$offset] = $value;
! 12: }
! 13: }
! 14: public function offsetExists($offset) {
! 15: return isset($this->container[$offset]);
! 16: }
! 17: public function offsetUnset($offset) {
! 18: unset($this->container[$offset]);
! 19: }
! 20: public function &offsetGet($offset) {
! 21: $result = null;
! 22: if (isset($this->container[$offset])) {
! 23: $result = &$this->container[$offset];
! 24: }
! 25: return $result;
! 26: }
! 27: }
! 28:
! 29: class obj implements ArrayAccess {
! 30: use aa;
! 31: }
! 32:
! 33: $o = new obj;
! 34: $o['x'] = 1;
! 35: ++$o['x'];
! 36: echo $o['x'], "\n";
! 37: --EXPECT--
! 38: 2
! 39:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>