summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorBurak Emir <emir@epfl.ch>2006-06-19 03:17:18 +0000
committerBurak Emir <emir@epfl.ch>2006-06-19 03:17:18 +0000
commit001ce2371bb9f2812c8ab5cda3faf8e21b548b8a (patch)
treece2a2a8352fce35208cea9eff7505ad957b6ee10 /src/compiler
parent77b063b003a58a7d88bf0c49e5fdb718acfb157f (diff)
downloadscala-001ce2371bb9f2812c8ab5cda3faf8e21b548b8a.tar.gz
scala-001ce2371bb9f2812c8ab5cda3faf8e21b548b8a.tar.bz2
scala-001ce2371bb9f2812c8ab5cda3faf8e21b548b8a.zip
proper handling of array(xs@_*)
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/matching/TransMatcher.scala7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/matching/TransMatcher.scala b/src/compiler/scala/tools/nsc/matching/TransMatcher.scala
index 898d82c28e..54187e02f8 100644
--- a/src/compiler/scala/tools/nsc/matching/TransMatcher.scala
+++ b/src/compiler/scala/tools/nsc/matching/TransMatcher.scala
@@ -221,8 +221,11 @@ with RightTracers {
//Console.println(pat);
//Console.println(pat.tpe);
//Console.println(b.tpe);
- b.symbol.setInfo(pat2.tpe);
- b.setType(pat2.tpe);
+ val tpe1:Type = pat2.tpe.widen.baseType( definitions.SeqClass ).typeArgs(0);
+
+ val tpe = appliedType(definitions.SeqClass.typeConstructor, List(tpe1))
+ b.symbol.setInfo(tpe);
+ b.setType(tpe);
val res = copy.Bind(b, id, wc);
//Console.println("====>");
//Console.println(res);