From 82f3e49b37043e9f7661a43fe28c158dec4a3f31 Mon Sep 17 00:00:00 2001 From: Eugene Burmako Date: Wed, 9 May 2012 19:10:37 +0200 Subject: fixes a problem with an extractor object overloaded by a regular def --- .../pos/overloaded_extractor_and_regular_def.scala | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 test/files/pos/overloaded_extractor_and_regular_def.scala (limited to 'test/files/pos/overloaded_extractor_and_regular_def.scala') diff --git a/test/files/pos/overloaded_extractor_and_regular_def.scala b/test/files/pos/overloaded_extractor_and_regular_def.scala new file mode 100644 index 0000000000..c8e7da5cad --- /dev/null +++ b/test/files/pos/overloaded_extractor_and_regular_def.scala @@ -0,0 +1,32 @@ +trait TreesBase { + type Tree + + type Apply <: Tree + + val Apply: ApplyExtractor + + abstract class ApplyExtractor { + def apply(x: Int): Apply + def unapply(apply: Apply): Option[Int] + } +} + +trait TreesApi extends TreesBase { + def Apply(x: String) +} + +class Universe extends TreesApi { + abstract class Tree + case class Apply(x: Int) extends Tree + object Apply extends ApplyExtractor + def Apply(x: String) = Apply(x.toInt) +} + +object Test extends App { + def foo(tapi: TreesApi) { + import tapi._ + def bar(tree: Tree) { + val Apply(x) = tree + } + } +} \ No newline at end of file -- cgit v1.2.3