Skip to content

Commit 0d3b666

Browse files
committed
Add test failing assertion about memory being freed
1 parent 926ea69 commit 0d3b666

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
--TEST--
2+
Eval code should not leak memory when using traits
3+
--FILE--
4+
<?php
5+
6+
const EVAL_CODE = <<<'CODE'
7+
trait TraitExample {
8+
public function bar(): self|C|D { return new self; }
9+
}
10+
class B {
11+
use TraitExample;
12+
}
13+
CODE;
14+
15+
eval(EVAL_CODE);
16+
17+
class A {
18+
use TraitExample;
19+
}
20+
21+
$a1 = new A();
22+
$a2 = $a1->bar();
23+
var_dump($a2);
24+
25+
//$b1 = new B();
26+
//$b2 = $b1->bar();
27+
//var_dump($b2);
28+
29+
?>
30+
DONE
31+
--EXPECT--
32+
object(A)#2 (0) {
33+
}
34+
DONE

0 commit comments

Comments
 (0)