diff options
author | Paul Phillips <paulp@improving.org> | 2012-01-27 20:09:38 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-01-27 21:39:50 -0800 |
commit | 0d0cdea28ec142a3e6da7a29b8130138a41ae782 (patch) | |
tree | 7cda2522ab910030605d097f00eca5f518eee124 /test/files/neg | |
parent | 5e2bf28ff209cc587d8bcf0d7fb4ae780936146a (diff) | |
download | scala-0d0cdea28ec142a3e6da7a29b8130138a41ae782.tar.gz scala-0d0cdea28ec142a3e6da7a29b8130138a41ae782.tar.bz2 scala-0d0cdea28ec142a3e6da7a29b8130138a41ae782.zip |
Test case closes SI-3854.
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/t3854.check | 5 | ||||
-rw-r--r-- | test/files/neg/t3854.scala | 15 |
2 files changed, 20 insertions, 0 deletions
diff --git a/test/files/neg/t3854.check b/test/files/neg/t3854.check new file mode 100644 index 0000000000..c478481a6f --- /dev/null +++ b/test/files/neg/t3854.check @@ -0,0 +1,5 @@ +t3854.scala:1: error: class Bar needs to be abstract, since method foo in trait Foo of type [G[_]](implicit n: N[G,F])X[F] is not defined +(Note that N[G,F] does not match M[G]) +class Bar[F[_]] extends Foo[F] { + ^ +one error found diff --git a/test/files/neg/t3854.scala b/test/files/neg/t3854.scala new file mode 100644 index 0000000000..e8db76c0a5 --- /dev/null +++ b/test/files/neg/t3854.scala @@ -0,0 +1,15 @@ +class Bar[F[_]] extends Foo[F] { + def foo[G[_[_], _]](implicit M: M[G]): X[({type λ[α] = G[F, α] })#λ] = null +} +// vim: set ts=4 sw=4 et: + +trait M[F[_[_], _]] +trait N[F[_], G[_]] + +trait X[F[_]] { + def apply[A]: F[A] +} + +trait Foo[F[_]] { + def foo[G[_]](implicit n: N[G, F]): X[F] +} |