Skip to content

Commit eca3f69

Browse files
committed
add another test for i1540
1 parent cbe2ab2 commit eca3f69

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/dotty/tools/dotc/transform/PatternMatcher.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {
240240
val isDefined = extractorMemberType(prev.tpe, nme.isDefined)
241241

242242
if ((isDefined isRef defn.BooleanClass) && getTp.exists) {
243-
// isDefined and get maybe overloaded
243+
// isDefined and get may be overloaded
244244
val getDenot = prev.tpe.member(nme.get).suchThat(_.info.isParameterless)
245245
val isDefinedDenot = prev.tpe.member(nme.isDefined).suchThat(_.info.isParameterless)
246246

tests/pos/i1540b.scala

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class Casey1[T](val a: T) {
2+
def isDefined: Boolean = true
3+
def isDefined(x: T): Boolean = ???
4+
def get: T = a
5+
def get(x: T): String = ???
6+
}
7+
object Casey1 { def unapply[T](a: Casey1[T]) = a }
8+
9+
object Test {
10+
def main(args: Array[String]): Unit = {
11+
val c @ Casey1(x) = new Casey1(0)
12+
assert(x == c.get)
13+
}
14+
}

0 commit comments

Comments
 (0)