@@ -385,11 +385,11 @@ object Denotations {
385
385
* give a strong score advantage, the others a weak one.
386
386
*
387
387
* 1. The symbol exists, and the other one does not. (*)
388
- * 2. The symbol is concrete, and the other one is deferred
389
- * 3. The symbol appears before the other in the linearization of `pre`
390
- * 4. The symbol's visibility is strictly greater than the other one's.
391
- * 5. The symbol is not a bridge, but the other one is. (*)
392
- * 6. The symbol is a method, but the other one is not. (*)
388
+ * 2. The symbol is not a bridge, but the other one is. (*)
389
+ * 3. The symbol is concrete, and the other one is deferred
390
+ * 4. The symbol appears before the other in the linearization of `pre`
391
+ * 5. The symbol's visibility is strictly greater than the other one's.
392
+ * 6. The symbol is a method, but the other one is not.
393
393
*/
394
394
def meet (that : Denotation , pre : Type , safeIntersection : Boolean = false )(implicit ctx : Context ): Denotation = {
395
395
/** Try to merge denot1 and denot2 without adding a new signature. */
@@ -451,6 +451,8 @@ object Denotations {
451
451
val symScore : Int =
452
452
if ! sym1.exists then - 2
453
453
else if ! sym2.exists then 2
454
+ else if sym1.is(Bridge ) && ! sym2.is(Bridge ) then - 2
455
+ else if sym2.is(Bridge ) && ! sym1.is(Bridge ) then 2
454
456
else if ! sym1.isAsConcrete(sym2) then - 1
455
457
else if ! sym2.isAsConcrete(sym1) then 1
456
458
else
@@ -461,10 +463,8 @@ object Denotations {
461
463
val boundary2 = accessBoundary(sym2)
462
464
if boundary1.isProperlyContainedIn(boundary2) then - 1
463
465
else if boundary2.isProperlyContainedIn(boundary1) then 1
464
- else if sym1.is(Bridge ) && ! sym2.is(Bridge ) then - 2
465
- else if sym2.is(Bridge ) && ! sym1.is(Bridge ) then 2
466
- else if sym2.is(Method ) && ! sym1.is(Method ) then - 2
467
- else if sym1.is(Method ) && ! sym2.is(Method ) then 2
466
+ else if sym2.is(Method ) && ! sym1.is(Method ) then - 1
467
+ else if sym1.is(Method ) && ! sym2.is(Method ) then 1
468
468
else 0
469
469
470
470
val matchLoosely = sym1.matchNullaryLoosely || sym2.matchNullaryLoosely
0 commit comments