aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Types.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-05-01 16:48:02 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-05-08 21:51:47 +0200
commit640feb1fe9de15dbf846c5a1ddc480c44523daa3 (patch)
tree9b2d1635f2038c24f5e3c1a5ca070444b1683e6b /src/dotty/tools/dotc/core/Types.scala
parent94c13485c7ced4b2fe1fec2936d74291d657ab88 (diff)
downloaddotty-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.scala3
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) {