mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
This is a quick fix for the problem. It'll work while all the JIT-ed functions have the same "fixed stack frame". Unwinder uses hard-coded unwind data for this "fixed stack frame". * Preallocate space for Win64 shadow args * typo * Setup unwinder for JIT functions * Revert "Dynamically xfail test case which fails on CI" This reverts commit7cc327fd5a. * Revert "Dynamically xfail test case which fails on CI" This reverts commitbdde797159. * Revert "Dynamically xfail test cases which fail on CI (GH-15710)" This reverts commit6d5962074f. * Remove XFAIL sections * Add hard-coded SEH unwind data for EXITCALL * Fix unwind data * Fix Windows multi-process support * Typo
64 lines
1.2 KiB
PHP
64 lines
1.2 KiB
PHP
--TEST--
|
|
GH-13177 (PHP 8.3.2: final private constructor not allowed when used in trait)
|
|
--FILE--
|
|
<?php
|
|
|
|
trait Bar {
|
|
final private function __construct() {}
|
|
}
|
|
|
|
final class Foo1 {
|
|
use Bar;
|
|
}
|
|
|
|
final class Foo2 {
|
|
use Bar {
|
|
__construct as final;
|
|
}
|
|
}
|
|
|
|
class Foo3 {
|
|
use Bar {
|
|
__construct as final;
|
|
}
|
|
}
|
|
|
|
trait TraitNonConstructor {
|
|
private final function test() {}
|
|
}
|
|
|
|
class Foo4 {
|
|
use TraitNonConstructor { test as __construct; }
|
|
}
|
|
|
|
for ($i = 1; $i <= 4; $i++) {
|
|
$rc = new ReflectionClass("Foo$i");
|
|
echo $rc->getMethod("__construct"), "\n";
|
|
}
|
|
|
|
class Foo5 extends Foo3 {
|
|
private function __construct() {}
|
|
}
|
|
|
|
?>
|
|
--EXPECTF--
|
|
Warning: Private methods cannot be final as they are never overridden by other classes in %s on line %d
|
|
Method [ <user, ctor> final private method __construct ] {
|
|
@@ %sgh13177.php 4 - 4
|
|
}
|
|
|
|
Method [ <user, ctor> final private method __construct ] {
|
|
@@ %sgh13177.php 4 - 4
|
|
}
|
|
|
|
Method [ <user, ctor> final private method __construct ] {
|
|
@@ %sgh13177.php 4 - 4
|
|
}
|
|
|
|
Method [ <user, ctor> final private method __construct ] {
|
|
@@ %sgh13177.php 24 - 24
|
|
}
|
|
|
|
|
|
Fatal error: Cannot override final method Foo3::__construct() in %s on line %d
|