1--TEST-- 2Class properties declared in eval() must not leak 3--FILE-- 4<?php 5 6eval(<<<'EOF' 7class A { 8 public A $a1; 9 public \B $b1; 10 public Foo\C $c1; 11 public ?A $a2; 12 public ?\B $b2; 13 public ?Foo\C $c2; 14} 15EOF 16); 17$obj = new A; 18var_dump($obj); 19?> 20--EXPECT-- 21object(A)#1 (0) { 22 ["a1"]=> 23 uninitialized(A) 24 ["b1"]=> 25 uninitialized(B) 26 ["c1"]=> 27 uninitialized(Foo\C) 28 ["a2"]=> 29 uninitialized(?A) 30 ["b2"]=> 31 uninitialized(?B) 32 ["c2"]=> 33 uninitialized(?Foo\C) 34} 35