aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_lsp_server/src/project_model.rs
diff options
context:
space:
mode:
authorFlorian Diebold <[email protected]>2019-08-05 20:13:34 +0100
committerFlorian Diebold <[email protected]>2019-08-12 20:43:00 +0100
commit6cfdfdecbaed38534397f16e1ea1cda38b0b9395 (patch)
tree44366b5104b57969a3e337acbeb30209ad709087 /crates/ra_lsp_server/src/project_model.rs
parent3a9a0bc968d9bb97c80f18b4323b3ad75cc8bbad (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