diff options
author | Martin Odersky <odersky@gmail.com> | 2009-11-09 10:02:50 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2009-11-09 10:02:50 +0000 |
commit | c490722ae1b7a9147bcdc884e362409b4017d19f (patch) | |
tree | dff943acc82cfd98cd3247bf17f43cd91863cf94 /test/files/pos | |
parent | 6f4fba9c674d403372277b46c0455f38a1da1c4e (diff) | |
download | scala-c490722ae1b7a9147bcdc884e362409b4017d19f.tar.gz scala-c490722ae1b7a9147bcdc884e362409b4017d19f.tar.bz2 scala-c490722ae1b7a9147bcdc884e362409b4017d19f.zip |
Fixed #2504
Fixed #2517
Diffstat (limited to 'test/files/pos')
-rwxr-xr-x | test/files/pos/t2082.scala | 39 | ||||
-rwxr-xr-x | test/files/pos/t2504.scala | 5 |
2 files changed, 44 insertions, 0 deletions
diff --git a/test/files/pos/t2082.scala b/test/files/pos/t2082.scala new file mode 100755 index 0000000000..3a160612fe --- /dev/null +++ b/test/files/pos/t2082.scala @@ -0,0 +1,39 @@ + +trait Mapper[T <: Mapper[T]] + +trait KeyedMapper[KeyType, T <: KeyedMapper[KeyType, T]] extends Mapper[T] + + +trait KeyedMetaMapper[KeyType, T <: KeyedMapper[KeyType, T]] + +trait MappedForeignKey[KeyType, Owner <: Mapper[Owner], Other <: KeyedMapper[KeyType, Other]] + +trait IdPK + +class TestSubject extends KeyedMapper[Long, TestSubject] with IdPK + +class TestRun extends KeyedMapper[Long, TestRun] with IdPK { + object testSubject extends MappedForeignKey[Long, TestRun, TestSubject] +} + +object TestRun extends TestRun with KeyedMetaMapper[Long, TestRun] + +class MetaTestSubject extends TestSubject with KeyedMetaMapper[Long, TestSubject] +object TestSubject extends MetaTestSubject + +object Main { + + def oneToOneJoin[PType <: KeyedMapper[Long, PType] with IdPK, + CType <: KeyedMapper[Long, CType] with IdPK, + CMetaType <: CType with KeyedMetaMapper[Long, CType], + FKType <: MappedForeignKey[Long, PType, CType]] + (parents: List[PType], metaMapper: CMetaType, keyGetter: (PType) => FKType ): + Map[Long, CType] = Map.empty + + def callIt { + oneToOneJoin[TestRun, TestSubject, MetaTestSubject, + MappedForeignKey[Long, TestRun, TestSubject]]( + List(), TestSubject, (tr: TestRun) => tr.testSubject) + } + +} diff --git a/test/files/pos/t2504.scala b/test/files/pos/t2504.scala new file mode 100755 index 0000000000..67f8226852 --- /dev/null +++ b/test/files/pos/t2504.scala @@ -0,0 +1,5 @@ +object Test { + val ys: Iterable[_] = Array("abc") + val xs = Array("abc") + xs sameElements Array("abc") +} |