在與黑客的通用功能的限制試驗,我編造了以下內容: <?hh // strict
class Base {}
class Derived extends Base {}
abstract class ImplBase {
abstract const type T as Base;
public function foo<Tf as this::T>(Tf $v): voi
字符串我有一個Hacklang泛型類是這樣的: class SomeClass<T> {
public function __construct(private T $input) {
}
public function __toString() : string {
return (string)$this->input;
}
}
我
無論左側參數的方差,約束在下面的聲明放在Ta和Tb失敗類型檢測: class A<+TCov, -TCon, [±]Ta as TCov, [±]Tb super TCon> {
public function __construct(private Ta $ta, private Tb $tb) {}
// [various methods making use of Ta