diff options
author | Martin Odersky <odersky@gmail.com> | 2015-01-18 18:35:02 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-01-18 18:38:12 +0100 |
commit | fbe4171404ac56a0fe8e6d54fa06bbd53e85bd97 (patch) | |
tree | bd05c10e99a025ea8cde678203af1c4dfbe11b60 /src/dotty/tools/dotc/core/Types.scala | |
parent | 566dd6e8a44090168ebe8e6703fea27152802286 (diff) | |
download | dotty-fbe4171404ac56a0fe8e6d54fa06bbd53e85bd97.tar.gz dotty-fbe4171404ac56a0fe8e6d54fa06bbd53e85bd97.tar.bz2 dotty-fbe4171404ac56a0fe8e6d54fa06bbd53e85bd97.zip |
New constraint handling
New constraint handling scheme using constraints that distinguish more between
parameter and non-parameter bounds and which track parameter bounds separately.
This allows a co-inductive formulation of satisfiability checking without fishy
cyclicity checks. It should also scale better for long chains of dependent type
variables.
Diffstat (limited to 'src/dotty/tools/dotc/core/Types.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/Types.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Types.scala b/src/dotty/tools/dotc/core/Types.scala index 8249e5a4c..30e394941 100644 --- a/src/dotty/tools/dotc/core/Types.scala +++ b/src/dotty/tools/dotc/core/Types.scala @@ -2251,7 +2251,7 @@ object Types { * is also a singleton type. */ def instantiate(fromBelow: Boolean)(implicit ctx: Context): Type = { - def upperBound = ctx.typerState.constraint.bounds(origin).hi + def upperBound = ctx.typerState.constraint.fullUpperBound(origin) def isSingleton(tp: Type): Boolean = tp match { case tp: SingletonType => true case AndType(tp1, tp2) => isSingleton(tp1) | isSingleton(tp2) |