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
* Pros
- When forwarding before erasure, we might end up needing a bridge,
the non-bridged forwarder therefore serves no practical purpose
and can cause clashes. These are problematic for two reasons:
1. Valid Scala 2 code might break, and can only be fixed in
binary incompatible way, like with
scala/scala@4366332
and
scala/scala@e3ef657
2. Clashes might not be detected under separate compilation, as
demonstrated by the previous commit.
Forwarding after erasure solves both of these problems.
- Scala 2 has always done it this way, so we're less likely to run
into surprising problems.
* Cons
- When forwarding after erasure, generic signatures will be missing,
Scala 2 tries to restore this information but that doesn't always
work (scala/bug#8905). We'll either have
to do something similar, or investigate a different solution like
scala/scala#7843.
0 commit comments