2
いくつかのクラス階層があり、戻り型がthis.runtimeType
である基本クラス・メソッドで実装する必要があります。 Javaでは、汎用パラメータclass Base extends <This extends Base<This>>
を使用して行います。 この汎用型
class A<This extends A<This>> {
This copy() => //...
}
class B extends A<B> {}
A a = new A(); // ok
A ab = new B(); // ok
B b = new B(); // ok
しかし、あなたはありません抽象的でない親クラス持ちながら:ダートでは、それはあまりにも正常に動作します
A a2 = new A().copy(); // Unsound implicit cast from A<dynamic> to A<A<dynamic>>
そしてもちろんのを、私たちはここで明示的にするために、一般的なパラメータを指定することはできません - それは再帰的です。それは一種のバグでしょうか、それともダーツでそれを行う別の方法ですか?
ダーツアナライザバージョン1.20.1、警告: 'analyzer:strong-mode:true'のみ。 –
強いモードが進行中です。 –
でも、それはダーツキラー機能の一つです、私は思う:) –