diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2019-09-03 13:17:58 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2019-09-03 13:17:58 +0100 |
commit | bac73ade7f73d9b7bafaf369a0b206a4ffea73dd (patch) | |
tree | ddd1737a8e3f46fb8757bad1d8024469d3bf0a89 /crates/ra_lsp_server | |
parent | 1c0672b7f802c7e7814ba9a1b3b21ecf866343d6 (diff) | |
parent | b8c1e402fa3a40c7e979750d60d7b003f9cb7b0d (diff) |
Merge #1757
1757: Assoc type bindings r=flodiebold a=flodiebold
This adds support for type bindings (bounds like `where T: Iterator<Item = u32>`).
It doesn't yet work in as many situations as I'd like because of some [Chalk problems](https://github.com/rust-lang/chalk/issues/234). But it works in some situations, and will at least not bitrot this way ;)
(part of the problem is that we use `Normalize` to normalize associated types, but produce `ProjectionEq` goals from where clauses, so Chalk can't normalize using the environment; this would be fixed by using `ProjectionEq` for normalization, which I think is the 'proper' way, but then we'd run into those ambiguity problems everywhere...)
Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/ra_lsp_server')
0 files changed, 0 insertions, 0 deletions