1--TEST--
2Observer: Retvals are observable that are: IS_REFERENCE, IS_VAR
3--SKIPIF--
4<?php if (!extension_loaded('zend-test')) die('skip: zend-test extension required'); ?>
5--INI--
6zend_test.observer.enabled=1
7zend_test.observer.observe_all=1
8zend_test.observer.show_return_value=1
9--FILE--
10<?php
11function &getMessage() {
12    $retval = 'I should be observable';
13    return $retval;
14}
15
16function foo() {
17    return getMessage(); // IS_REFERENCE + IS_VAR
18}
19
20$res = foo(); // Retval used
21foo(); // Retval unused
22
23echo 'Done' . PHP_EOL;
24?>
25--EXPECTF--
26<!-- init '%s%eobserver_retval_%d.php' -->
27<file '%s%eobserver_retval_%d.php'>
28  <!-- init foo() -->
29  <foo>
30    <!-- init getMessage() -->
31    <getMessage>
32    </getMessage:'I should be observable'>
33  </foo:'I should be observable'>
34  <foo>
35    <getMessage>
36    </getMessage:'I should be observable'>
37  </foo:'I should be observable'>
38Done
39</file '%s%eobserver_retval_%d.php'>
40