diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2018-12-29 12:24:40 +0000 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2018-12-29 12:24:40 +0000 |
commit | 9220641ba4d3c7a95db7355d9999da54d455607c (patch) | |
tree | 7c240880b47d94ecb9c9d39766579e8ec563b018 /Cargo.lock | |
parent | a9528c540b1e71d03d643244dd915f6420b38191 (diff) | |
parent | b1590bdf6a88c03e2aeeedbe04f4dbc4203073db (diff) |
Merge #355
355: Type variables / unification r=matklad a=flodiebold
This will really become necessary when we implement generics, but even now, it allows us to reason 'backwards' to infer types of expressions that we didn't understand for some reason.
This uses [ena](https://crates.io/crates/ena) to keep track of type variables.
Also turn `Ty::Tuple` from a `Vec` into an `Arc<[Ty]>` to keep `Ty` easily cloneable. Though to be honest I'm not sure how often we actually share data here, with all the make_muts and modifying...
Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'Cargo.lock')
-rw-r--r-- | Cargo.lock | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Cargo.lock b/Cargo.lock index d64c0bce0..fa3363bd2 100644 --- a/Cargo.lock +++ b/Cargo.lock | |||
@@ -272,6 +272,14 @@ version = "1.5.0" | |||
272 | source = "registry+https://github.com/rust-lang/crates.io-index" | 272 | source = "registry+https://github.com/rust-lang/crates.io-index" |
273 | 273 | ||
274 | [[package]] | 274 | [[package]] |
275 | name = "ena" | ||
276 | version = "0.11.0" | ||
277 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
278 | dependencies = [ | ||
279 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | ||
280 | ] | ||
281 | |||
282 | [[package]] | ||
275 | name = "error-chain" | 283 | name = "error-chain" |
276 | version = "0.12.0" | 284 | version = "0.12.0" |
277 | source = "registry+https://github.com/rust-lang/crates.io-index" | 285 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -737,6 +745,7 @@ name = "ra_hir" | |||
737 | version = "0.1.0" | 745 | version = "0.1.0" |
738 | dependencies = [ | 746 | dependencies = [ |
739 | "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", | 747 | "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", |
748 | "ena 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
740 | "flexi_logger 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)", | 749 | "flexi_logger 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)", |
741 | "id-arena 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 750 | "id-arena 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
742 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 751 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1546,6 +1555,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1546 | "checksum digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90" | 1555 | "checksum digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90" |
1547 | "checksum drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "69b26e475fd29098530e709294e94e661974c851aed42512793f120fed4e199f" | 1556 | "checksum drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "69b26e475fd29098530e709294e94e661974c851aed42512793f120fed4e199f" |
1548 | "checksum either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0" | 1557 | "checksum either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0" |
1558 | "checksum ena 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f56c93cc076508c549d9bb747f79aa9b4eb098be7b8cad8830c3137ef52d1e00" | ||
1549 | "checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02" | 1559 | "checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02" |
1550 | "checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7" | 1560 | "checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7" |
1551 | "checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596" | 1561 | "checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596" |