aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-12-09 12:08:29 +0100
committerMartin Odersky <odersky@gmail.com>2013-12-09 12:08:29 +0100
commit190f44d0c9b91df24a227878b0c9a1f3d14c20a1 (patch)
tree17611d520017d551b712a6066c8f07311d7356e3
parenta53101c6fc3f06fed881e22736d134f6e7893ae0 (diff)
downloaddotty-190f44d0c9b91df24a227878b0c9a1f3d14c20a1.tar.gz
dotty-190f44d0c9b91df24a227878b0c9a1f3d14c20a1.tar.bz2
dotty-190f44d0c9b91df24a227878b0c9a1f3d14c20a1.zip
Fixes to desugaring and typing of parameterized Typedefs
-rw-r--r--src/dotty/tools/dotc/ast/Desugar.scala2
-rw-r--r--src/dotty/tools/dotc/typer/Typer.scala4
-rw-r--r--tests/pos/sigs.scala4
3 files changed, 7 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/ast/Desugar.scala b/src/dotty/tools/dotc/ast/Desugar.scala
index fa664ee08..da8c892c2 100644
--- a/src/dotty/tools/dotc/ast/Desugar.scala
+++ b/src/dotty/tools/dotc/ast/Desugar.scala
@@ -151,7 +151,7 @@ object desugar {
Modifiers(PrivateLocalParamAccessor | Synthetic), name, refOfDef(tparam))
Thicket(tparam, alias)
}
- else cpy.TypeDef(tdef, mods, name, rhs1)
+ else cpy.TypeDef(tdef, mods, name, rhs1, tdef.tparams)
}
private val synthetic = Modifiers(Synthetic)
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala
index 968d385b0..24599f7c8 100644
--- a/src/dotty/tools/dotc/typer/Typer.scala
+++ b/src/dotty/tools/dotc/typer/Typer.scala
@@ -740,8 +740,8 @@ class Typer extends Namer with Applications with Implicits {
def typedTypeDef(tdef: untpd.TypeDef, sym: Symbol)(implicit ctx: Context): TypeDef = track("typedTypeDef") {
val TypeDef(mods, name, rhs) = tdef
val mods1 = typedModifiers(mods)
- val rhs1 = typedType(rhs)
- cpy.TypeDef(tdef, mods1, name, rhs1).withType(sym.typeRef)
+ //val rhs1 = typedType(rhs)
+ cpy.TypeDef(tdef, mods1, name, TypeTree(sym.info)).withType(sym.typeRef)
}
def typedClassDef(cdef: untpd.TypeDef, cls: ClassSymbol)(implicit ctx: Context) = track("typedClassDef") {
diff --git a/tests/pos/sigs.scala b/tests/pos/sigs.scala
index 4b91015ee..6f66a02e9 100644
--- a/tests/pos/sigs.scala
+++ b/tests/pos/sigs.scala
@@ -1,5 +1,9 @@
object sigs {
+ type Lst[A] = List[A]
+
+ type Twin[B] = (B, B)
+
var x = 7 * 9
class Base {