diff options
author | Paul Phillips <paulp@improving.org> | 2012-01-06 21:23:56 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-01-06 21:51:08 -0800 |
commit | a6ebd0f3ee2610ce1f5c3b2aee269ea8b2cfd6df (patch) | |
tree | e72e0e2d9b5611fe8892fb2dbcfb4f8312569cd9 /test | |
parent | 6a37ada63977e5016204ffa3f325c233d0e342c0 (diff) | |
download | scala-a6ebd0f3ee2610ce1f5c3b2aee269ea8b2cfd6df.tar.gz scala-a6ebd0f3ee2610ce1f5c3b2aee269ea8b2cfd6df.tar.bz2 scala-a6ebd0f3ee2610ce1f5c3b2aee269ea8b2cfd6df.zip |
Remedy spurious bounds conformance failure.
Misters hkarg and hkparam have to work harder to see
things from the same perspective, so they don't end up
in a huff over bounds which were the same all along.
Closes SI-5020, review by @moors.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/pos/t5020.scala | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/files/pos/t5020.scala b/test/files/pos/t5020.scala new file mode 100644 index 0000000000..06f7723f9f --- /dev/null +++ b/test/files/pos/t5020.scala @@ -0,0 +1,19 @@ +package a { + sealed trait GenericList[U, M[_ <: U]] { + type Transformed[N[MMA <: U]] <: GenericList[U, N] + } + + trait GenericCons[U, M[_ <: U], T <: GenericList[U, M]] extends GenericList[U, M] { + type Transformed[N[MMB <: U]] = GenericCons[U, N, GenericList[U, M]#Transformed[N]] + } +} + +package b { + sealed trait GenericList[L, M[_ >: L]] { + type Transformed[N[MMA >: L]] <: GenericList[L, N] + } + + trait GenericCons[L, M[_ >: L], T <: GenericList[L, M]] extends GenericList[L, M] { + type Transformed[N[MMB >: L]] = GenericCons[L, N, T#Transformed[N]] + } +}
\ No newline at end of file |