diff options
Diffstat (limited to 'tests/run/t3452.scala')
-rw-r--r-- | tests/run/t3452.scala | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/run/t3452.scala b/tests/run/t3452.scala new file mode 100644 index 000000000..253fc93cf --- /dev/null +++ b/tests/run/t3452.scala @@ -0,0 +1,21 @@ +trait IStringPair[T] { + def a : String + def b : String + def build(a : String, b : String) : T + def cat(that : IStringPair[T]) = build(this.a + that.a, this.b + that.b) + override def toString = a + b +} + +class StringPair(val a : String, val b : String) extends IStringPair[StringPair] { + def build(a : String, b : String) = new StringPair(a, b) + def len = a.length + b.length +} + +object Test { + def main(args: Array[String]): Unit = { + val a = new StringPair("A", "B") + val b = new StringPair("1", "2") + val c = a cat b + println(c.len) + } +} |