diff options
author | Martin Odersky <odersky@gmail.com> | 2014-05-01 16:48:02 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-05-08 21:51:47 +0200 |
commit | 640feb1fe9de15dbf846c5a1ddc480c44523daa3 (patch) | |
tree | 9b2d1635f2038c24f5e3c1a5ca070444b1683e6b /src/dotty/tools/dotc/core/Types.scala | |
parent | 94c13485c7ced4b2fe1fec2936d74291d657ab88 (diff) | |
download | dotty-640feb1fe9de15dbf846c5a1ddc480c44523daa3.tar.gz dotty-640feb1fe9de15dbf846c5a1ddc480c44523daa3.tar.bz2 dotty-640feb1fe9de15dbf846c5a1ddc480c44523daa3.zip |
Adding dependency tracking to constraint satisfaction
The previous scheme checked all constraint bounds twice everytime
the bounds for a parameter in a constraint were changed. The new scheme,
which can be disabled by unsetting `Config.trackContrDeps`, only
checks those cbounds that directly or indirectly mention the changed
parameter.
Diffstat (limited to 'src/dotty/tools/dotc/core/Types.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/Types.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Types.scala b/src/dotty/tools/dotc/core/Types.scala index bb882e36c..088a2e3af 100644 --- a/src/dotty/tools/dotc/core/Types.scala +++ b/src/dotty/tools/dotc/core/Types.scala @@ -2119,11 +2119,12 @@ object Types { override def toString = if (lo eq hi) s"TypeAlias($lo)" else s"TypeBounds($lo, $hi)" + + override def computeHash = unsupported("computeHash") } class CachedTypeBounds(lo: Type, hi: Type, hc: Int) extends TypeBounds(lo, hi) { myHash = hc - override def computeHash = unsupported("computeHash") } final class CoTypeBounds(lo: Type, hi: Type, hc: Int) extends CachedTypeBounds(lo, hi, hc) { |