diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-06-19 14:13:26 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-06-19 16:48:50 +0200 |
commit | b71650f367a97536a2fbb6ecaae0e046651ae9f5 (patch) | |
tree | e07b9104ae20937315ec292337220813e979f9bb /src/dotty/tools/dotc/transform/PatternMatcher.scala | |
parent | 7269b37ce4a5db902513ee96678823a6921a4593 (diff) | |
download | dotty-b71650f367a97536a2fbb6ecaae0e046651ae9f5.tar.gz dotty-b71650f367a97536a2fbb6ecaae0e046651ae9f5.tar.bz2 dotty-b71650f367a97536a2fbb6ecaae0e046651ae9f5.zip |
Fix wrong test in PatMat.
Call drop method directly if class derives from sequence.
I do not understand how callRuntime works in scalac. Calling this method requires implicit search.
Diffstat (limited to 'src/dotty/tools/dotc/transform/PatternMatcher.scala')
-rw-r--r-- | src/dotty/tools/dotc/transform/PatternMatcher.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/PatternMatcher.scala b/src/dotty/tools/dotc/transform/PatternMatcher.scala index 5fa17921f..af8da01ff 100644 --- a/src/dotty/tools/dotc/transform/PatternMatcher.scala +++ b/src/dotty/tools/dotc/transform/PatternMatcher.scala @@ -136,7 +136,7 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {thisTrans def callDirect = tgt.select(nme.drop).appliedTo(Literal(Constant(n))) def callRuntime = ref(defn.traversableDropMethod).appliedTo(tgt, Literal(Constant(n))) - def needsRuntime = tgt.tpe derivesFrom defn.SeqClass /*typeOfMemberNamedDrop(tgt.tpe) == NoType*/ + def needsRuntime = !(tgt.tpe derivesFrom defn.SeqClass) /*typeOfMemberNamedDrop(tgt.tpe) == NoType*/ if (needsRuntime) callRuntime else callDirect } |