Open soc opened 1 year ago
Consider:
@pub trait Iterator { fun next(): Option[Int32]; // this should be made generic }
Ideally we would have:
@pub trait Iterator[T] { fun next(): Option[T]; }
Which compiles, but a trait impls like ...
impl Iterator[Int32] for NoInt32Iterator { fun next(): Option[Int32] = None[Int32]; }
... fails compilation with:
return types `Option[Int32]` and `Option[T]` do not match
Feels like we forget specializing the return type.
Consider:
Ideally we would have:
Which compiles, but a trait impls like ...
... fails compilation with:
Feels like we forget specializing the return type.