как расширить абстрактные классы `Freezed`
обновление: отредактировано, поскольку в этом выпуске дан ответ на мой исходный вопрос ,
учитывая, что замороженный класс не может напрямую реализовать другие классы (см. проблему выше)
Foo.baz
можно реализовать, как показано ниже
abstract class Baz<T> {
const Baz(this.data);
final T data;
}
@freezed
abstract class Foo<T> with _$Foo<T> {
@Implements(Baz)
const factory Foo.baz(T data) = _FooBaz;
}
но
Type T
не передается в реализованный
Baz
в
abstract class _FooBaz<T> implements Foo<T>, Baz<dynamic> { /// `<= HERE!!!!`
const factory _FooBaz(T data) = _$_FooBaz<T>;
T get data;
_$FooBazCopyWith<T, _FooBaz<T>> get copyWith;
}
если я попытаюсь передать
Type
внутри
@Implements
Я получаю ошибку
Arguments of a constant creation must be constant expressions. Try making the argument a valid constant, or use 'new' to call the constructor.
есть ли способ правильно передать тип реализованному классу?