You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
LinearSeqOps isEmpty, head, tail are nominally abstract, but inherit concrete implementations that are broken.
It's not currently possible to enforce that these methods are overridden in subclasses of LinearSeqOps. Practically, they are overridden in the concrete subclass that extends both LinearSeq and LinearSeqOps.
A different set of internal API ("template methods") for coordinating these "fundamental methods" might improve the situation for a future iteration of the library.
Dotty has a ticket about how to handle abstract methods overriding concrete, so maybe that language change would suffice.
The text was updated successfully, but these errors were encountered:
Transferred from scala/bug#11697
LinearSeqOps isEmpty, head, tail are nominally abstract, but inherit concrete implementations that are broken.
It's not currently possible to enforce that these methods are overridden in subclasses of LinearSeqOps. Practically, they are overridden in the concrete subclass that extends both LinearSeq and LinearSeqOps.
A different set of internal API ("template methods") for coordinating these "fundamental methods" might improve the situation for a future iteration of the library.
Dotty has a ticket about how to handle abstract methods overriding concrete, so maybe that language change would suffice.
The text was updated successfully, but these errors were encountered: