--TEST-- Bug #22510 (segfault among complex references) --INI-- error_reporting=E_ALL | E_DEPRECATED --FILE-- list; } function &method1() { print __CLASS__."::".__FUNCTION__."\n"; return @$this->foo; } function &method2() { print __CLASS__."::".__FUNCTION__."\n"; return $this->foo; } function method3() { print __CLASS__."::".__FUNCTION__."\n"; return @$this->foo; } } class bar { function run1() { print __CLASS__."::".__FUNCTION__."\n"; $this->instance = new foo(); $this->instance->method1($this); $this->instance->method1($this); } function run2() { print __CLASS__."::".__FUNCTION__."\n"; $this->instance = new foo(); $this->instance->method2($this); $this->instance->method2($this); } function run3() { print __CLASS__."::".__FUNCTION__."\n"; $this->instance = new foo(); $this->instance->method3($this); $this->instance->method3($this); } } function ouch(&$bar) { print __FUNCTION__."\n"; @$a = $a; $bar->run1(); } function ok1(&$bar) { print __FUNCTION__."\n"; $bar->run1(); } function ok2(&$bar) { print __FUNCTION__."\n"; @$a = $a; $bar->run2(); } function ok3(&$bar) { print __FUNCTION__."\n"; @$a = $a; $bar->run3(); } $bar = &new bar(); ok1($bar); $bar->instance->finalize(); print "done!\n"; ok2($bar); $bar->instance->finalize(); print "done!\n"; ok3($bar); $bar->instance->finalize(); print "done!\n"; ouch($bar); $bar->instance->finalize(); print "I'm alive!\n"; ?> --EXPECTF-- Deprecated: Assigning the return value of new by reference is deprecated in %s on line %d ok1 bar::run1 foo::method1 Notice: Only variable references should be returned by reference in %s on line %d foo::method1 Notice: Only variable references should be returned by reference in %s on line %d foo::finalize done! ok2 bar::run2 foo::method2 foo::method2 foo::finalize done! ok3 bar::run3 foo::method3 foo::method3 foo::finalize done! ouch bar::run1 foo::method1 Notice: Only variable references should be returned by reference in %s on line %d foo::method1 Notice: Only variable references should be returned by reference in %s on line %d foo::finalize I'm alive!