summaryrefslogtreecommitdiff
path: root/test/files/pos/t3999b.scala
diff options
context:
space:
mode:
authoraleksandar <aleksandar@lampmac14.epfl.ch>2012-01-30 14:01:12 +0100
committeraleksandar <aleksandar@lampmac14.epfl.ch>2012-01-30 14:01:12 +0100
commit5f4c97c448f161b3bab7ae3271e30620eb9bea76 (patch)
tree337ba5231b800c680869931af1184b3ed77a692b /test/files/pos/t3999b.scala
parenta70d338afaef9a42bf13334267d07a43ad10c5c0 (diff)
parent5e9dd4a05c25f463f29d0fbc2f1bec194bf7700b (diff)
downloadscala-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.scala20
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