rust-analyzer/crates/ra_hir/src
Florian Diebold b1a40042e8 Handle impl/dyn Trait in method resolution
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()`.
2019-08-22 21:55:11 +02:00
..
code_model migrate ra_hir to the new rowan 2019-07-19 13:16:25 +03:00
expr rename range -> text_range 2019-07-20 12:58:27 +03:00
nameres remove ast::*Kind from hir 2019-08-19 14:04:51 +03:00
ty Handle impl/dyn Trait in method resolution 2019-08-22 21:55:11 +02:00
adt.rs migrate ra_hir to the new rowan 2019-07-19 13:16:25 +03:00
code_model.rs Add representations of associated types 2019-08-12 21:43:00 +02:00
db.rs switch from volatile to untracked read 2019-08-15 15:24:02 +03:00
diagnostics.rs Use Source in Diagnostic and implement 2019-08-12 23:06:08 +07:00
either.rs cleanup casts 2019-07-19 18:22:00 +03:00
expr.rs remove ast::*Kind from hir 2019-08-19 14:04:51 +03:00
generics.rs Add impl Trait and dyn Trait types 2019-08-22 19:33:00 +02:00
ids.rs flip syntax text to use internal iteration 2019-07-19 20:29:59 +03:00
impl_block.rs remove ast::*Kind from hir 2019-08-19 14:04:51 +03:00
lang_item.rs migrate ra_hir to the new rowan 2019-07-19 13:16:25 +03:00
lib.rs implement durability 2019-08-15 15:27:00 +03:00
marks.rs implement while let desugaring 2019-08-07 15:14:22 +02:00
mock.rs Some clippy fixes for 1.36 2019-07-04 17:43:00 -04:00
name.rs infer type for await 2019-07-20 20:12:19 +09:00
nameres.rs cargo format 2019-07-08 04:09:35 +06:00
path.rs Lower fully qualified associated type paths 2019-08-12 21:43:00 +02:00
resolve.rs Constify KnownName's 2019-07-08 03:29:38 +06:00
source_binder.rs rustfmt 2019-08-04 08:45:14 +07:00
source_id.rs migrate ra_hir to the new rowan 2019-07-19 13:16:25 +03:00
traits.rs remove ast::*Kind from hir 2019-08-19 14:04:51 +03:00
ty.rs Handle impl/dyn Trait in method resolution 2019-08-22 21:55:11 +02:00
type_alias.rs allow rustfmt to reorder imports 2019-07-04 23:09:09 +03:00
type_ref.rs Add impl Trait and dyn Trait types 2019-08-22 19:33:00 +02:00