mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
cf7c68283d
If we're validating a class method against a trait method, we need to treat "self" in the trait method as the class where the method is used. To achieve this, we need to thread the proto scope through all methods, so it can be provided separately from proto.common->scope.
22 lines
263 B
PHP
22 lines
263 B
PHP
--TEST--
|
|
Abstract method in trait using "self"
|
|
--FILE--
|
|
<?php
|
|
|
|
trait T {
|
|
abstract private function method(self $x): self;
|
|
}
|
|
|
|
class C {
|
|
use T;
|
|
|
|
private function method(self $x): self {
|
|
return $this;
|
|
}
|
|
}
|
|
|
|
?>
|
|
===DONE===
|
|
--EXPECT--
|
|
===DONE===
|