New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
missing collections methods in Forwarders, Proxies, SynchronizedXxx #4290
Comments
Imported From: https://issues.scala-lang.org/browse/SI-4290?orig=1 |
@paulp said: |
@paulp said: |
@paulp said: We are not exactly hitting it out of the park if we can't manage with fewer than 25 variations of slice. |
@retronym said:
|
@retronym said: That change doesn't offer a plan for ListBuffer, though. |
@Ichoran said: |
@Ichoran said: |
I'm opening a separate ticket from #4288 so I can close that when I fix slice.
Here are the methods I found in either Traversable or TraversableOnce, but not in TraversableForwarder, excluding the methods singled out for exclusion in TraversableForwarder's scaladoc. The list is so long I'm afraid I'm missing something about how this is supposed to work.
I realize that it's not uncommon that one can get away with not forwarding some methods because they are implemented in terms of other methods (and given that fundamental methods like map and flatMap are on this list, I assume that logic was being applied) but with nothing in place to verify that that is the case for any given combination of methods, nothing checking if it is made untrue via method overrides, nothing documenting the intentions, and nothing preventing some future change from making it untrue, it seems like we have to forward everything if we want to even have a glimpse of correctness.
Here is the opening list. I am sure there are more once we move upward from Traversable.
The text was updated successfully, but these errors were encountered: