diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/neg/partialApplications.scala | 16 | ||||
-rw-r--r-- | tests/pickling/partialApplications.scala | 24 | ||||
-rw-r--r-- | tests/pos/collections.scala | 2 | ||||
-rw-r--r-- | tests/pos/partialApplications.scala | 17 |
4 files changed, 37 insertions, 22 deletions
diff --git a/tests/neg/partialApplications.scala b/tests/neg/partialApplications.scala new file mode 100644 index 000000000..d186273aa --- /dev/null +++ b/tests/neg/partialApplications.scala @@ -0,0 +1,16 @@ +object Test2 { + type Histogram = Map[_, Int] // this is now an existential type! + + type StringlyHistogram = Histogram[_ >: String] // Error: Test2.Histogram does not take type parameters + + val xs: Histogram[String] = Map[String, Int]() // Error: Test2.Histogram does not take type parameters + + val ys: StringlyHistogram[String] = xs // Error: Test2.StringlyHistogram does not take type parameters + + val zs: StringlyHistogram = xs + + val xs1 = xs + val ys1 = ys + val zs1 = zs + +} diff --git a/tests/pickling/partialApplications.scala b/tests/pickling/partialApplications.scala index f517011b9..c4c4328f6 100644 --- a/tests/pickling/partialApplications.scala +++ b/tests/pickling/partialApplications.scala @@ -1,13 +1,29 @@ -object PartialApplications { +object partialApplications { - type Histogram = Map[_, Int] + type Histogram[X] = Map[X, Int] - type StringlyHistogram = Histogram[_ >: String] + type StringlyHistogram[X >: String] = Histogram[X] val xs: Histogram[String] = Map[String, Int]() val ys: StringlyHistogram[String] = xs - val zs: StringlyHistogram = xs + def e = xs + + val zs: StringlyHistogram[_] = e + + type IntMap[Y] = Map[Int, Y] + + val is = Map[Int, Boolean]() + + val js: IntMap[Boolean] = is + + val ks: IntMap[_] = is + + type RMap[X, Y] = Map[Y, X] + + val rs = Map[Int, Float]() + + val ss: RMap[Float, Int] = rs } diff --git a/tests/pos/collections.scala b/tests/pos/collections.scala index 08c3010c8..5edcff986 100644 --- a/tests/pos/collections.scala +++ b/tests/pos/collections.scala @@ -10,7 +10,7 @@ object collections { val s = Set(1, 2, 3) val ss = s map (_ + 1) - val cbf: CanBuildFrom[List, Int, List[Int]] = scala.collection.immutable.List.canBuildFrom + val cbf: CanBuildFrom[List[_], Int, List[Int]] = scala.collection.immutable.List.canBuildFrom val nil = Nil val ints1 = 1 :: Nil diff --git a/tests/pos/partialApplications.scala b/tests/pos/partialApplications.scala index 696c544e7..fae6849fc 100644 --- a/tests/pos/partialApplications.scala +++ b/tests/pos/partialApplications.scala @@ -27,20 +27,3 @@ object Test { val ss: RMap[Float, Int] = rs } - -object Test2 { - type Histogram = Map[_, Int] - - type StringlyHistogram = Histogram[_ >: String] - - val xs: Histogram[String] = Map[String, Int]() - - val ys: StringlyHistogram[String] = xs - - val zs: StringlyHistogram = xs - - val xs1 = xs - val ys1 = ys - val zs1 = zs - -} |