<?php
namespace A {
class T {}
}
namespace
{
class Test
{
public function first(string $str) : Closure
{
return function() use ($str) : int {
return strlen($str);
};
}
public function second() : self
{
return $this;
}
}
class SubTest extends Test
{
public function third() : parent
{
return new Test;
}
}
$s = new SubTest;
$t = $s->third();
echo ($t->second()->first("hello"))();
}