about summary refs log tree commit diff
path: root/src/libsyntax/errors/mod.rs
diff options
context:
space:
mode:
authorMarkus Westerlind <marwes91@gmail.com>2016-03-03 10:43:52 +0100
committerMarkus Westerlind <marwes91@gmail.com>2016-03-21 22:40:30 +0100
commite00cdd73456a3258e317bf68f8fa3a26c9922deb (patch)
tree2d6c4e7a7d4181856a22ee2f315af88197933da4 /src/libsyntax/errors/mod.rs
parent6d262db4482e13ec05eb113e57e26d249698b4cf (diff)
downloadrust-e00cdd73456a3258e317bf68f8fa3a26c9922deb.tar.gz
rust-e00cdd73456a3258e317bf68f8fa3a26c9922deb.zip
Improve time complexity of equality relations
This PR adds a `UnificationTable` to the `TypeVariableTable` type which
is used store information about variable equality instead of just
storing them in a vector for later processing. By using a
`UnificationTable` equality relations can be resolved in O(n) (for all
realistic values of n) rather than O(n!) which can give massive
speedups in certain cases (see combine as an example).

Link to combine: https://github.com/Marwes/combine
Diffstat (limited to 'src/libsyntax/errors/mod.rs')
0 files changed, 0 insertions, 0 deletions