aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDmitry Petrashko <dark@d-d.me>2016-02-20 17:38:01 +0100
committerDmitry Petrashko <dark@d-d.me>2016-02-20 17:38:01 +0100
commit6e535f7dc855d1587142f81bd9a53ea9ba3c7300 (patch)
treed40ac06c10a3d587ac9bac1fea7d6acde2339e75 /tests
parent3a8fa8b4fc5ef486ffc2e9e85d454598bf15aa02 (diff)
parent1ebbba352eb61f5cc575455f61d496a54fcb7f95 (diff)
downloaddotty-6e535f7dc855d1587142f81bd9a53ea9ba3c7300.tar.gz
dotty-6e535f7dc855d1587142f81bd9a53ea9ba3c7300.tar.bz2
dotty-6e535f7dc855d1587142f81bd9a53ea9ba3c7300.zip
Merge pull request #1112 from dotty-staging/value-classes-private-this-param
Value classes: add support for private[this] parameter
Diffstat (limited to 'tests')
-rw-r--r--tests/neg/valueClasses.scala2
-rw-r--r--tests/pos/valueclasses/privatethisparam.scala18
2 files changed, 18 insertions, 2 deletions
diff --git a/tests/neg/valueClasses.scala b/tests/neg/valueClasses.scala
index ae90ef63c..74a576ce6 100644
--- a/tests/neg/valueClasses.scala
+++ b/tests/neg/valueClasses.scala
@@ -6,5 +6,3 @@ class B1 {
class B2(x: Int) extends AnyVal // error: value class may not be a local class
}
}
-class C(private[this] val u: Int) extends AnyVal // error: value class parameter must not be private[this]
-class D(u: Int) extends AnyVal // error: value class parameter must not be private[this]
diff --git a/tests/pos/valueclasses/privatethisparam.scala b/tests/pos/valueclasses/privatethisparam.scala
new file mode 100644
index 000000000..77ca9851c
--- /dev/null
+++ b/tests/pos/valueclasses/privatethisparam.scala
@@ -0,0 +1,18 @@
+package privatethisparam
+
+class Meter[T](x: T) extends AnyVal {
+ def zero: T = x
+}
+
+class Meter2(private[this] val x: Int) extends AnyVal {
+ def foo = x
+}
+
+object Test {
+ def bar = new Meter2(42)
+ def useZero = new Meter(5).zero
+ def test: Unit = {
+ val m1 = new Meter(1)
+ m1.zero
+ }
+} \ No newline at end of file