aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Typer.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-02-12 20:29:11 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 11:11:05 +0100
commit0ed27cc87d1f080836b319f97cbf900c2ba2c234 (patch)
treeb49ddea5d864140e6b7e64f2a61a409e348bd745 /src/dotty/tools/dotc/typer/Typer.scala
parent5ae8b128eb3e694c3fbb83124371a9bbb9d698fe (diff)
downloaddotty-0ed27cc87d1f080836b319f97cbf900c2ba2c234.tar.gz
dotty-0ed27cc87d1f080836b319f97cbf900c2ba2c234.tar.bz2
dotty-0ed27cc87d1f080836b319f97cbf900c2ba2c234.zip
Fix serialization of Bind-defined types in type patterns.
These are now represented as BIND nodes in pickled types.
Diffstat (limited to 'src/dotty/tools/dotc/typer/Typer.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Typer.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala
index 331657e12..e98b73cae 100644
--- a/src/dotty/tools/dotc/typer/Typer.scala
+++ b/src/dotty/tools/dotc/typer/Typer.scala
@@ -842,7 +842,8 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
def typedBind(tree: untpd.Bind, pt: Type)(implicit ctx: Context): Bind = track("typedBind") {
val body1 = typed(tree.body, pt)
typr.println(i"typed bind $tree pt = $pt bodytpe = ${body1.tpe}")
- val sym = ctx.newSymbol(ctx.owner, tree.name, EmptyFlags, body1.tpe, coord = tree.pos)
+ val flags = if (tree.isType) BindDefinedType else EmptyFlags
+ val sym = ctx.newSymbol(ctx.owner, tree.name, flags, body1.tpe, coord = tree.pos)
assignType(cpy.Bind(tree)(tree.name, body1), sym)
}