| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
It worked more or less by accident before. Now it's more complicated,
but we also have tests.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
test case t0273. Was positive in Scala 2, is now deemed to be negative.
Two two definitions
def a = () => ()
def a[T] = (p:A) => ()
do have matching signatures, so should constitute a double definition.
I previously thought that we can get away if the two definitions have
different result types, but then you immediately have a problem because
the denotations have matching signatures for the pruposes of "&" yet
cannot be merged. Which of the two definitions would override
a definition in a base class is then an arbitrary decision.
|
|
|
|
| |
If one alternative is a non-method yet the other is a method (of type PolyType or MethodType), the first alternative is "as specific as" the second.
|
| |
|
|
The previous treatment would force all members, causing cyclic reference errors.
We fix it by filtering early in computeMemberNames itself for implicits.
|