diff options
author | Florian Diebold <[email protected]> | 2019-08-05 20:13:34 +0100 |
---|---|---|
committer | Florian Diebold <[email protected]> | 2019-08-12 20:43:00 +0100 |
commit | 6cfdfdecbaed38534397f16e1ea1cda38b0b9395 (patch) | |
tree | 44366b5104b57969a3e337acbeb30209ad709087 /crates/ra_lsp_server/src/project_model.rs | |
parent | 3a9a0bc968d9bb97c80f18b4323b3ad75cc8bbad (diff) |
Add representations of associated types
This adds three different representations, copied from the Chalk model:
- `Ty::Projection` is an associated type projection written somewhere in the
code, like `<Foo as Trait>::Bar`.
- `Ty::UnselectedProjection` is similar, but we don't know the trait
yet (`Foo::Bar`).
- The above representations are normalized to their actual types during type
inference. When that isn't possible, for example for `T::Item` inside an `fn
foo<T: Iterator>`, the type is normalized to an application type with
`TypeCtor::AssociatedType`.
Diffstat (limited to 'crates/ra_lsp_server/src/project_model.rs')
0 files changed, 0 insertions, 0 deletions