diff options
author | Dmitry Petrashko <dark@d-d.me> | 2015-05-28 17:13:33 +0200 |
---|---|---|
committer | Dmitry Petrashko <dark@d-d.me> | 2015-05-28 17:13:33 +0200 |
commit | ef274600378cc55b78ad62ac9afc8ce9a21efb89 (patch) | |
tree | 203cb9cf0aebf03d86b73e96db92ea1647f6d089 /tests/run/traits-initialization.scala | |
parent | c533f81750d66a7c99bfb24aafc56a738db064bf (diff) | |
parent | 7779b8fefa745e8b034bc33f46d21bd8599ac4a0 (diff) | |
download | dotty-ef274600378cc55b78ad62ac9afc8ce9a21efb89.tar.gz dotty-ef274600378cc55b78ad62ac9afc8ce9a21efb89.tar.bz2 dotty-ef274600378cc55b78ad62ac9afc8ce9a21efb89.zip |
Merge pull request #611 from dotty-staging/supercalls-traits-test
Add a test for supercalls in traits.
Diffstat (limited to 'tests/run/traits-initialization.scala')
-rw-r--r-- | tests/run/traits-initialization.scala | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/run/traits-initialization.scala b/tests/run/traits-initialization.scala new file mode 100644 index 000000000..fdddc8f44 --- /dev/null +++ b/tests/run/traits-initialization.scala @@ -0,0 +1,41 @@ +object store { + var str = "" +} + +import store._ + +trait A { + str += "a" + val i = 2 + val s = str += 'A' + str += '1' +} + +trait B extends A { + str += 'b' + override val i = 3 + override val s = str += 'B' + str += '2' +} + +class D(sup: Unit) extends A { + str += 'd' + override val i = 4 + override val s = str += 'D' + str += '3' +} + +class E(sup: Unit) extends A with B { + str += 'd' + override val i = 5 + override val s = str += 'E' + str += '3' +} + + +object Test extends D({str += "Z"}) with B { + // should only have 2 fields + str += 'E' + def main(args: Array[String]) = assert(str == "ZaA1dD3bB2E4", str) + str += '4' +} |