diff options
author | Martin Odersky <odersky@gmail.com> | 2016-06-29 20:26:08 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-07-11 13:35:06 +0200 |
commit | ae360e93ad7f657992fc305e1b0755ef3ff0f166 (patch) | |
tree | 1470c75977f959f8552264fc006665bb97555fec /src/dotty/tools/dotc/core/StdNames.scala | |
parent | 6bd7ba9ea4484ee2065dd16077cba6c26b2050d9 (diff) | |
download | dotty-ae360e93ad7f657992fc305e1b0755ef3ff0f166.tar.gz dotty-ae360e93ad7f657992fc305e1b0755ef3ff0f166.tar.bz2 dotty-ae360e93ad7f657992fc305e1b0755ef3ff0f166.zip |
Handle signatures over uninstantiated type variables
Taking the signature over a type with uninstantiated type variables
means that the signature can change later, once we instantiate the
type variable. We handle this by recording uninstantiated positions
of signatures and fixing them in PostTyper, when type variables are
instantiated.
- This allows to drop the kludge of "normalizing" in derivedRefinedType
Dropping this initially revealed the problems with under-determined
signatures. Now that these problems are fixed, we can drop for good.
Diffstat (limited to 'src/dotty/tools/dotc/core/StdNames.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/StdNames.scala | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/StdNames.scala b/src/dotty/tools/dotc/core/StdNames.scala index 778d13cab..f9ede23c5 100644 --- a/src/dotty/tools/dotc/core/StdNames.scala +++ b/src/dotty/tools/dotc/core/StdNames.scala @@ -743,6 +743,8 @@ object StdNames { (0 until num).map(syntheticLambdaParamName)(breakOut) final val Conforms = encode("<:<") + + final val Uninstantiated: TypeName = "?$" } abstract class JavaNames[N <: Name] extends DefinedNames[N] { |