Dart:无效覆盖

时间:2016-04-20 15:41:24

标签: dart override subclass

以下代码:

abstract class Foo {
  List<Object> get c;

  Foo update(List c);
}

class Bar extends Foo {
  final List<int> c;

  Bar(this.c);

  Bar update(List<int> l) => new Bar(l);
}

生成消息:

ERROR: Invalid override. The type of DA.update ((List<Date>) → DA) is not
       a subtype of Attribute.update ((List<dynamic>) → Attribute).

我使用的是版本1.16.0-dev.5.1。

这是对的吗?我认为子类是一个子类型。

1 个答案:

答案 0 :(得分:0)

我认为这是一个带有泛型类型参数的强模式的错误

如果禁用强模式(右下角),错误消息将消失

DartPad example

我认为这是要遵循的问题https://github.com/dart-lang/sdk/issues/26151