From b71650f367a97536a2fbb6ecaae0e046651ae9f5 Mon Sep 17 00:00:00 2001 From: Dmitry Petrashko Date: Fri, 19 Jun 2015 14:13:26 +0200 Subject: 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. --- src/dotty/tools/dotc/transform/PatternMatcher.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/dotty/tools/dotc/transform/PatternMatcher.scala') 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 } -- cgit v1.2.3