aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/parsing/Parsers.scala
diff options
context:
space:
mode:
authorClemens Winter <clemenswinter1@gmail.com>2016-08-12 12:16:15 +0200
committerClemens Winter <clemenswinter1@gmail.com>2016-08-15 10:12:09 +0200
commitb0298945ddbea26ef00099dc37db5e396af94de4 (patch)
tree27729cdcbe652561797ffae9a06c092c99eacd4f /src/dotty/tools/dotc/parsing/Parsers.scala
parent62348dea92476f1bbb9d7f163f168be9c7e189b5 (diff)
downloaddotty-b0298945ddbea26ef00099dc37db5e396af94de4.tar.gz
dotty-b0298945ddbea26ef00099dc37db5e396af94de4.tar.bz2
dotty-b0298945ddbea26ef00099dc37db5e396af94de4.zip
Fix #1443: Replace toplevel TypeBounds with Any
Diffstat (limited to 'src/dotty/tools/dotc/parsing/Parsers.scala')
-rw-r--r--src/dotty/tools/dotc/parsing/Parsers.scala11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/parsing/Parsers.scala b/src/dotty/tools/dotc/parsing/Parsers.scala
index 12f629c57..edc9d3f66 100644
--- a/src/dotty/tools/dotc/parsing/Parsers.scala
+++ b/src/dotty/tools/dotc/parsing/Parsers.scala
@@ -648,12 +648,17 @@ object Parsers {
}
/* ------------- TYPES ------------------------------------------------------ */
- /** Same as [[typ]], but emits a syntax error if it returns a wildcard.
+ /** Same as [[typ]], but if this results in a wildcard it emits a syntax error and
+ * returns a tree for type `Any` instead.
*/
def toplevelTyp(): Tree = {
val t = typ()
- for (wildcardPos <- findWildcardType(t)) syntaxError("unbound wildcard type", wildcardPos)
- t
+ findWildcardType(t) match {
+ case Some(wildcardPos) =>
+ syntaxError("unbound wildcard type", wildcardPos)
+ scalaAny
+ case None => t
+ }
}
/** Type ::= FunArgTypes `=>' Type