aboutsummaryrefslogtreecommitdiff
path: root/test/dotc/tests.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-04-03 18:12:53 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-04-08 17:02:29 +0200
commitc6af272d6d68c708cb87b12f25e61dd0a9717f09 (patch)
tree872d76c6f0c2c63365d8f40e2dc6ad8429524c01 /test/dotc/tests.scala
parentd079c0291289ad9f6517b0b929c4f03ef6b9f082 (diff)
downloaddotty-c6af272d6d68c708cb87b12f25e61dd0a9717f09.tar.gz
dotty-c6af272d6d68c708cb87b12f25e61dd0a9717f09.tar.bz2
dotty-c6af272d6d68c708cb87b12f25e61dd0a9717f09.zip
Option for testing for double bindings
A double binding is if a named type gets assigned two denotations in the same period. This is a side-effect and also a race condition, so it's very bad. I am trying to eliminate all causes of this. But one cause which will likely remain are double defitions in a prgram, if a user writes class C { val x: Int val x: Int } Then it's really hard to avoid setting two meanings of C.this.x! That's why the testing against double bindings is enabled by a -YnoDoubleBindings option. The understanding is that -YnoDoubleBindings should be set only if there are no double def errors anticipated. Otherwise the program might fail with an assertion error before the double def error is reported.
Diffstat (limited to 'test/dotc/tests.scala')
-rw-r--r--test/dotc/tests.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/test/dotc/tests.scala b/test/dotc/tests.scala
index 9665ec206..3228c3474 100644
--- a/test/dotc/tests.scala
+++ b/test/dotc/tests.scala
@@ -14,7 +14,7 @@ class tests extends CompilerTest {
// "-Yshow-suppressed-errors",
"-pagewidth", "160"
)
- val twice = List("#runs", "2")
+ val twice = List("#runs", "2", "-YnoDoubleBindings")
val doErase = List("-Ystop-before:terminal")
val posDir = "./tests/pos/"
@@ -55,7 +55,7 @@ class tests extends CompilerTest {
@Test def neg_typedapply() = compileFile(negDir, "typedapply", xerrors = 4)
@Test def neg_typedidents() = compileFile(negDir, "typedIdents", xerrors = 2)
@Test def neg_assignments() = compileFile(negDir, "assignments", xerrors = 3)
- @Test def neg_typers() = compileFile(negDir, "typers", xerrors = 10)
+ @Test def neg_typers() = compileFile(negDir, "typers", xerrors = 13)
@Test def neg_privates() = compileFile(negDir, "privates", xerrors = 2)
@Test def neg_rootImports = compileFile(negDir, "rootImplicits", xerrors = 2)
@Test def neg_templateParents() = compileFile(negDir, "templateParents", xerrors = 3)