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
This assertion dates from the time where the whole Zinc 1.x was under
development. As I understand it, it was put in place to make sure that
the names invalidation was correct.
However, the assertion itself is not correct. It violates some legit
scenarios that are valid, where there are changes in APIs but there are
no changes in the names.
One of these examples is the following one, provided by @francisdb,
where the original code is:
```
trait T2
trait T1 extends T2 { def foo: String }
class C1 extends T1 { def foo = "test" }
```
And moving `foo` from `T1` to `T2` causes the assertion to fail. In this
concrete scenario, we can see how the API has changed (the hashes are
not the same than the previous scenario) but the names are identical.
There are more examples, some of them I have occassionally run into.
Therefore, this commit should fixsbt#292 once and for all, and end the
pain of those who have kindly complained about it in the ticket. :)
0 commit comments