1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00
Files
archived-php-src/Zend/tests/abstract_implicit.phpt
DanielEScherzer 0b94cf65e4 GH-16067: prevent invalid abstract during compilation of methods (GH-16069)
For classes that are not declared `abstract`, produce a compiler error for any
`abstract` methods. For anonymous classes, since they cannot be made abstract,
the error message is slightly different.

Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
2024-10-23 15:04:18 +02:00

20 lines
430 B
PHP

--TEST--
Abstract methods not allowed in classes that are not abstract (GH-16067)
--FILE--
<?php
// Still allowed via trait
trait TraitWithAbstract {
abstract public function foo();
}
class TraitWorks {
use TraitWithAbstract;
}
class NotAbstract {
abstract public function bar();
}
?>
--EXPECTF--
Fatal error: Class NotAbstract declares abstract method bar() and must therefore be declared abstract in %s on line %d