diff options
author | Clemens Winter <clemenswinter1@gmail.com> | 2016-08-12 12:16:15 +0200 |
---|---|---|
committer | Clemens Winter <clemenswinter1@gmail.com> | 2016-08-15 10:12:09 +0200 |
commit | b0298945ddbea26ef00099dc37db5e396af94de4 (patch) | |
tree | 27729cdcbe652561797ffae9a06c092c99eacd4f /src/dotty/tools/dotc/parsing/Parsers.scala | |
parent | 62348dea92476f1bbb9d7f163f168be9c7e189b5 (diff) | |
download | dotty-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.scala | 11 |
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 |