aboutsummaryrefslogtreecommitdiff
path: root/tests/neg/t1164.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/neg/t1164.scala')
-rw-r--r--tests/neg/t1164.scala29
1 files changed, 0 insertions, 29 deletions
diff --git a/tests/neg/t1164.scala b/tests/neg/t1164.scala
deleted file mode 100644
index 7775b5e86..000000000
--- a/tests/neg/t1164.scala
+++ /dev/null
@@ -1,29 +0,0 @@
-object test {
-
- class Foo[a](val arg : a)
-
- object Foo {
- def apply [a](arg : a, right :a) = new Foo[a](arg)
- def unapply [a](m : Foo[a]) = Some (m.arg)
- }
-
- def matchAndGetArgFromFoo[a]( e:Foo[a]):a = {e match { case Foo(x) => x }}
- // Unapply node here will have type argument [a] instantiated to scala.Nothing:
- // UnApply(TypeApply(Select(Ident(Foo),unapply),List(TypeTree[TypeVar(PolyParam(a) -> TypeRef(ThisType(TypeRef(NoPrefix,scala)),Nothing))])),List(),List(Bind(x,Ident(_))))
- // but the type of the UnApply node itself is correct: RefinedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,<empty>)),test$)),Foo), test$$Foo$$a, TypeAlias(TypeRef(NoPrefix,a)))
- //
-
-
- // Try the same thing as above but use function as argument to Bar
- // constructor
-
- type FunIntToA [a] = (Int) => a
- class Bar[a] (var f: FunIntToA[a])
-
- object Bar {
- def apply[a](f: FunIntToA[a]) = new Bar[a](f)
- def unapply[a](m: Bar[a]) = Some (m.f)
- }
-
- def matchAndGetFunFromBar[a](b:Bar[a]) : FunIntToA[a] = { b match { case Bar(x) => x}}
-}