diff options
author | Martin Odersky <odersky@gmail.com> | 2016-07-17 18:29:30 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-07-17 20:02:50 +0200 |
commit | 3c3b32346f2c4eafe26cc9659b41ae50b0316b92 (patch) | |
tree | e655126228eac24372ed5a57a569f1a5ee8597d4 /src | |
parent | 6e723202409d69cd6e6399d58a9d4fb7b2b337d4 (diff) | |
download | dotty-3c3b32346f2c4eafe26cc9659b41ae50b0316b92.tar.gz dotty-3c3b32346f2c4eafe26cc9659b41ae50b0316b92.tar.bz2 dotty-3c3b32346f2c4eafe26cc9659b41ae50b0316b92.zip |
Fix outer test in pattern matcher
Previous test did not reflect deeper paths for outer references. This caused
a -Ycheck:patMat failure for i1269.scala.
Diffstat (limited to 'src')
-rw-r--r-- | src/dotty/tools/dotc/transform/PatternMatcher.scala | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/transform/PatternMatcher.scala b/src/dotty/tools/dotc/transform/PatternMatcher.scala index 974053769..92d638be9 100644 --- a/src/dotty/tools/dotc/transform/PatternMatcher.scala +++ b/src/dotty/tools/dotc/transform/PatternMatcher.scala @@ -763,9 +763,8 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {thisTrans def outerTest(testedBinder: Symbol, expectedTp: Type): Tree = { val expectedOuter = expectedTp.normalizedPrefix match { - //case ThisType(clazz) => This(clazz) //case NoType => Literal(Constant(true)) // fallback for SI-6183 todo? - case pre => ref(pre.termSymbol) + case pre: SingletonType => singleton(pre) } // ExplicitOuter replaces `Select(q, outerSym) OBJ_EQ expectedPrefix` by `Select(q, outerAccessor(outerSym.owner)) OBJ_EQ expectedPrefix` |