@ivan0512

Почему в дарте неявное приведение типов так работает?

class Animal {
  String name;
  Animal(this.name);
}

class Cat extends Animal {
  Cat(String name) : super(name);
}

  List<Animal> animals = [];
  List<Cat> cats = animals;


Почему дарт не ловит данную ошибку на этапе компиляции? Даже тайпскрипт с таким справляется.
Знаю, что можно запретить неявные касты в конфиге анализатора, но это же работает просто на уровне IDE, код также продолжает компилировать. А если я вдруг не замечу эти ошибки? Можно ли вынести эту ошибку на уровень компилятора?

Почему было выбрано такое поведение? Когда это может быть нужно? Планируется ли исправлять это в будущем?
  • Вопрос задан
  • 928 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Neonoviiwolf
Flutter developer
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы