mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-29 14:33:29 +00:00
b1a40042e8
When we have one of these, the `Trait` doesn't need to be in scope to call its methods. So we need to consider this when looking for method candidates. (Actually I think the same is true when we have a bound `T: some::Trait`, but we don't handle that yet). At the same time, since Chalk doesn't handle these types yet, add a small hack to skip Chalk in method resolution and just consider `impl Trait: Trait` always true. This is enough to e.g. get completions for `impl Trait`, but since we don't do any unification we won't infer the return type of e.g. `impl Into<i64>::into()`. |
||
---|---|---|
.. | ||
code_model | ||
expr | ||
nameres | ||
ty | ||
adt.rs | ||
code_model.rs | ||
db.rs | ||
diagnostics.rs | ||
either.rs | ||
expr.rs | ||
generics.rs | ||
ids.rs | ||
impl_block.rs | ||
lang_item.rs | ||
lib.rs | ||
marks.rs | ||
mock.rs | ||
name.rs | ||
nameres.rs | ||
path.rs | ||
resolve.rs | ||
source_binder.rs | ||
source_id.rs | ||
traits.rs | ||
ty.rs | ||
type_alias.rs | ||
type_ref.rs |