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>