diff options
author | Guillaume Martres <smarter@ubuntu.com> | 2015-04-04 01:15:30 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-05-01 13:27:42 +0200 |
commit | 06e1905aed315d5199936797c9e9493326b74595 (patch) | |
tree | db50094702d250935ecbafd465542d4c11adc5d5 /tests/pos/valueclasses/t5853.scala | |
parent | 411d5be477cc862b14d8938c591524d8bf37d4cd (diff) | |
download | dotty-06e1905aed315d5199936797c9e9493326b74595.tar.gz dotty-06e1905aed315d5199936797c9e9493326b74595.tar.bz2 dotty-06e1905aed315d5199936797c9e9493326b74595.zip |
Enable untried pos tests related to value classes
Each test needs to have its own package because pos_all will try to
compile the whole valueclasses directory at once.
Diffstat (limited to 'tests/pos/valueclasses/t5853.scala')
-rw-r--r-- | tests/pos/valueclasses/t5853.scala | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/pos/valueclasses/t5853.scala b/tests/pos/valueclasses/t5853.scala new file mode 100644 index 000000000..82ac9dd1d --- /dev/null +++ b/tests/pos/valueclasses/t5853.scala @@ -0,0 +1,57 @@ +package t5853 + + + + + + + + +final class C(val x: Int) extends AnyVal { + def ppp[@specialized(Int) T](y: T) = () +} + + +class Foo { + def f = new C(1) ppp 2 +} + + +/* Original SI-5853 test-case. */ + +object Bippy { + implicit final class C(val x: Int) extends AnyVal { + def +++[@specialized T](y: T) = () + } + def f = 1 +++ 2 +} + + +/* Few more examples. */ + +final class C2(val x: Int) extends AnyVal { + def +++[@specialized(Int) T](y: T) = () +} + + +class Foo2 { + def f = new C2(1) +++ 2 +} + + +object Arrow { + implicit final class ArrowAssoc[A](val __leftOfArrow: A) extends AnyVal { + @inline def ->>[B](y: B): Tuple2[A, B] = Tuple2(__leftOfArrow, y) + } + + def foo = 1 ->> 2 +} + + +object SpecArrow { + implicit final class ArrowAssoc[A](val __leftOfArrow: A) extends AnyVal { + @inline def ->> [@specialized(Int) B](y: B): Tuple2[A, B] = Tuple2(__leftOfArrow, y) + } + + def foo = 1 ->> 2 +} |