diff options
author | aleksandar <aleksandar@lampmac14.epfl.ch> | 2012-01-30 14:01:12 +0100 |
---|---|---|
committer | aleksandar <aleksandar@lampmac14.epfl.ch> | 2012-01-30 14:01:12 +0100 |
commit | 5f4c97c448f161b3bab7ae3271e30620eb9bea76 (patch) | |
tree | 337ba5231b800c680869931af1184b3ed77a692b /test/files/pos/t3999b.scala | |
parent | a70d338afaef9a42bf13334267d07a43ad10c5c0 (diff) | |
parent | 5e9dd4a05c25f463f29d0fbc2f1bec194bf7700b (diff) | |
download | scala-5f4c97c448f161b3bab7ae3271e30620eb9bea76.tar.gz scala-5f4c97c448f161b3bab7ae3271e30620eb9bea76.tar.bz2 scala-5f4c97c448f161b3bab7ae3271e30620eb9bea76.zip |
Merge branch 'master' into issue/5374
Diffstat (limited to 'test/files/pos/t3999b.scala')
-rw-r--r-- | test/files/pos/t3999b.scala | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/files/pos/t3999b.scala b/test/files/pos/t3999b.scala new file mode 100644 index 0000000000..d3fe108479 --- /dev/null +++ b/test/files/pos/t3999b.scala @@ -0,0 +1,20 @@ +object `package` { + trait Score { def toString : String } + trait Test[+T <: Score] { def apply(s : String) : T } + + case class FT(f : Float) extends Score + implicit object FT extends Test[FT] { def apply(s : String) : FT = new FT(s.toFloat) } + + case class IT(i : Int) extends Score + implicit object IT extends Test[IT] { def apply(s : String) : IT = new IT(s.toInt) } +} + +class TT[+T <: Score](implicit val tb : Test[T]) { + def read(s : String) : T = tb(s) +} + +object Tester { + val tt = new TT[FT] + val r = tt.read("1.0") + r.toString +}
\ No newline at end of file |