diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-11-16 14:16:34 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-11-16 14:16:34 -0800 |
commit | 83deccf4aa54257e04412a1ba96430dccd1483bb (patch) | |
tree | d0421ff7ce2c8531088a298da6e1987442b02244 /test | |
parent | 4de1a25c1c8db180269527976cb63bceee43d568 (diff) | |
parent | 1587a77eca46b265dc677b9be2536f1f60503f65 (diff) | |
download | scala-83deccf4aa54257e04412a1ba96430dccd1483bb.tar.gz scala-83deccf4aa54257e04412a1ba96430dccd1483bb.tar.bz2 scala-83deccf4aa54257e04412a1ba96430dccd1483bb.zip |
Merge pull request #1615 from retronym/ticket/6648
SI-6648 copyAttrs must preserve TypeTree#wasEmpty
Diffstat (limited to 'test')
-rw-r--r-- | test/files/pos/t6648.scala | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/files/pos/t6648.scala b/test/files/pos/t6648.scala new file mode 100644 index 0000000000..9593ebfee9 --- /dev/null +++ b/test/files/pos/t6648.scala @@ -0,0 +1,24 @@ +abstract class Node extends NodeSeq +trait NodeSeq extends Seq[Node] +object NodeSeq { + implicit def seqToNodeSeq(ns: Seq[Node]): NodeSeq = ??? + def foo[B, That](f: Seq[B])(implicit bf: scala.collection.generic.CanBuildFrom[Seq[Int], B, That]): That = ??? +} + +class Transformer { + def apply(nodes: Any): Any = ??? +} + +object transformer1 extends Transformer { + // Adding explicit type arguments, or making the impilcit view + // seqToNodeSeq explicit avoids the crash + NodeSeq.foo { + // These both avoid the crash: + // val t = new Transformer {}; t.apply(null) + // new Transformer().apply(null) + new Transformer {}.apply(null) + + null: NodeSeq + }: NodeSeq +} + |