update: edited as my original question is answered in this issue,
given an freezed class cannot directly implement other classes (see issue above)
Foo.baz can implement Baz as below
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;
}
but the Type T doesn't get passed to the implemented Baz in the
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;
}
if I try to pass the the Type inside @Implements
I get the error
Arguments of a constant creation must be constant expressions. Try making the argument a valid constant, or use 'new' to call the constructor.

is there any way to correctly pass the type to the implemented class?