From d882ec053c9a70d29e668bc80bb3f1aa830c0281 Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Mon, 23 Sep 2013 17:51:43 +0200 Subject: SI-7870 Detect default getter clashes in constructors Default getters for constructors live in the companion module. These eluded the check for clashes in default getter names due to overloading, which aims to give a more user friendly error than "double definition: meth$default$1". This commit checks for default getters in the companion module, in addition to those in the template itself. --- test/files/neg/t7870.check | 4 ++++ test/files/neg/t7870.scala | 3 +++ 2 files changed, 7 insertions(+) create mode 100644 test/files/neg/t7870.check create mode 100644 test/files/neg/t7870.scala (limited to 'test/files/neg') diff --git a/test/files/neg/t7870.check b/test/files/neg/t7870.check new file mode 100644 index 0000000000..d9db911ac1 --- /dev/null +++ b/test/files/neg/t7870.check @@ -0,0 +1,4 @@ +t7870.scala:1: error: in class C, multiple overloaded alternatives of constructor C define default arguments. +class C(a: Int = 0, b: Any) { + ^ +one error found diff --git a/test/files/neg/t7870.scala b/test/files/neg/t7870.scala new file mode 100644 index 0000000000..5d48d43b3a --- /dev/null +++ b/test/files/neg/t7870.scala @@ -0,0 +1,3 @@ +class C(a: Int = 0, b: Any) { + def this(a: Int = 0) = this(???, ???) +} -- cgit v1.2.3