about summary refs log tree commit diff
path: root/src/librustc_data_structures/unify
AgeCommit message (Collapse)AuthorLines
2018-03-01Remove dead codeSean Griffin-568/+0
These modules were replaced with re-exports from ena
2017-08-28Suggest `Ok(())` when encountering `Ok()`Oliver Schneider-10/+10
2017-08-19rustc: Remove some dead codeVadim Petrochenkov-1/+2
2017-08-15use field init shorthand EVERYWHEREZack M. Davis-4/+4
Like #43008 (f668999), but _much more aggressive_.
2016-11-18Don't clone in UnificationTable::probe().Nicholas Nethercote-1/+1
This speeds up compilation of rustc-benchmarks/inflate-0.1.0 by 1%.
2016-10-20run rustfmt on unify folderSrinivas Reddy Thatiparthy-8/+6
2016-03-21Improve time complexity of equality relationsMarkus Westerlind-9/+12
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
2016-03-05adopt new header style to sidestep rust-lang-nursery/rustfmt#836Niko Matsakis-3/+3
2016-03-05apply rustfmt to librustc_data_structures, correcting ↵Niko Matsakis-59/+67
rust-lang-nursery/rustfmt#836
2015-12-12fix dropck performance regressionAriel Ben-Yehuda-3/+18
Turns out that calling `resolve_type_variables_if_possible` in a O(n^2) loop is a bad idea. Now we just resolve each copy of the region variable to its lowest name each time (we resolve the region variable to its lowest name, rather than to its unify-table name to avoid the risk of the unify-table name changing infinitely many times. That may be not a problem in practice, but I am not sure of it).
2015-08-18remove unused importNiko Matsakis-1/+0
2015-08-12Fallout in libs -- misc missing bounds uncovered by WF checks.Niko Matsakis-1/+1
2015-07-25Implement Default TyParam fallbackJared Roesch-1/+7
This patch allows type parameter defaults to influence type inference. This is a possible breaking change since it effects the way type inference works and will have different behavior when mixing defaults and literal fallback.
2015-04-24Change name of unit test sub-module to "tests".Johannes Oertel-1/+1
Changes the style guidelines regarding unit tests to recommend using a sub-module named "tests" instead of "test" for unit tests as "test" might clash with imports of libtest.
2015-04-17Address nitsNiko Matsakis-1/+1
2015-04-17Add licenses.Niko Matsakis-0/+10
2015-04-17Port to use the new Unify code, which has no UnifyValue traitNiko Matsakis-0/+528
but is otherwise mostly the same.