xref: /PHP-7.4/Zend/tests/bug44141.phpt (revision e97d5fab)
1--TEST--
2Bug #44141 (private parent constructor callable through static function)
3--FILE--
4<?php
5class X
6{
7        public $x;
8        private function __construct($x)
9        {
10                $this->x = $x;
11        }
12}
13
14class Y extends X
15{
16        static public function cheat($x)
17        {
18                return new Y($x);
19        }
20}
21
22$y = Y::cheat(5);
23echo $y->x, PHP_EOL;
24--EXPECTF--
25Fatal error: Uncaught Error: Call to private X::__construct() from context 'Y' in %sbug44141.php:15
26Stack trace:
27#0 %s(%d): Y::cheat(5)
28#1 {main}
29  thrown in %sbug44141.php on line 15
30