diff options
author | Miles Sabin <miles@milessabin.com> | 2016-05-06 12:39:13 +0100 |
---|---|---|
committer | Miles Sabin <miles@milessabin.com> | 2016-05-06 12:39:13 +0100 |
commit | 5faad77ccebb41e9674b103d499de927c0dba662 (patch) | |
tree | 04f2d34611e0f3bbe194ce9883923d85e35bf00f /test/files/neg/hkgadt.scala | |
parent | fa65623cd8d4e60368126fc958c7185ca5706a6b (diff) | |
download | scala-5faad77ccebb41e9674b103d499de927c0dba662.tar.gz scala-5faad77ccebb41e9674b103d499de927c0dba662.tar.bz2 scala-5faad77ccebb41e9674b103d499de927c0dba662.zip |
Added pos test with multiple cases; added neg tests.
Diffstat (limited to 'test/files/neg/hkgadt.scala')
-rw-r--r-- | test/files/neg/hkgadt.scala | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/files/neg/hkgadt.scala b/test/files/neg/hkgadt.scala new file mode 100644 index 0000000000..0107d2bdde --- /dev/null +++ b/test/files/neg/hkgadt.scala @@ -0,0 +1,35 @@ +object HKGADT { + sealed trait Foo[F[_]] + final case class Bar() extends Foo[List] + + def frob[F[_]](foo: Foo[F]): F[Int] = + foo match { + case Bar() => Set(1) + } + + sealed trait Foo1[F] + final case class Bar1() extends Foo1[Int] + def frob1[A](foo: Foo1[A]): A = foo match { + case Bar1() => true + } +} + +object HKGADT2 { + sealed trait Foo[F[_]] + final case class Bar() extends Foo[List] + final case class Baz() extends Foo[Set] + + def frob[F[_]](foo: Foo[F]): F[Int] = + foo match { + case Bar() => Set(1) + case Baz() => List(1) + } + + sealed trait Foo1[F] + final case class Bar1() extends Foo1[Int] + final case class Baz1() extends Foo1[Boolean] + def frob1[A](foo: Foo1[A]): A = foo match { + case Bar1() => true + case Baz1() => 1 + } +} |