diff options
Diffstat (limited to 'tests/untried/pos/overloaded_extractor_and_regular_def.scala')
-rw-r--r-- | tests/untried/pos/overloaded_extractor_and_regular_def.scala | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/untried/pos/overloaded_extractor_and_regular_def.scala b/tests/untried/pos/overloaded_extractor_and_regular_def.scala new file mode 100644 index 000000000..c34dee8fa --- /dev/null +++ b/tests/untried/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): Unit = { + import tapi._ + def bar(tree: Tree): Unit = { + val Apply(x) = tree + } + } +} |