rust-analyzer/crates/ra_ide_api/src
bors[bot] 3d8a0982a1 Merge #866
866: Implement basic support for Associated Methods r=flodiebold a=vipentti

This is my attempt at learning to understand how the type inference works by adding basic support for associated methods. Currently it does not resolve associated types or constants. 

The basic idea is that `Resolver::resolve_path` returns a new `PathResult` type, which has two variants, `FullyResolved` and `PartiallyResolved`, fully resolved matches the previous behavior, where as `PartiallyResolved` contains the `PerNs<Resolution` in addition to a `segment_index` which contains the index of the segment which we failed to resolve. This index can then be used to continue inference in `infer_path_expr` using the `Type` we managed to resolve.

This changes some of the previous apis, so looking for feedback and suggestions.

This should enable fixing #832

Co-authored-by: Ville Penttinen <villem.penttinen@gmail.com>
2019-02-22 19:58:22 +00:00
..
completion Change resolve_path to return the fully resolved path or PerNs::none 2019-02-22 10:15:23 +02:00
snapshots remove hard-coded query-group macro 2019-02-11 22:24:39 +03:00
assists.rs reformat the world 2019-02-08 14:49:43 +03:00
call_info.rs Be precise about the argument list 2019-02-14 10:28:48 -05:00
change.rs reformat the world 2019-02-08 14:49:43 +03:00
completion.rs Filter attributes from the completion details/label 2019-02-12 20:35:10 +02:00
db.rs make HirDatabase object-safe 2019-02-03 22:15:31 +03:00
diagnostics.rs reformat the world 2019-02-08 14:49:43 +03:00
extend_selection.rs reformat the world 2019-02-08 14:49:43 +03:00
goto_definition.rs Change resolve_path to return the fully resolved path or PerNs::none 2019-02-22 10:15:23 +02:00
hover.rs Merge #866 2019-02-22 19:58:22 +00:00
impls.rs Turn ImplBlock into a copy type just containing IDs 2019-02-16 22:08:13 +01:00
lib.rs kill utils module 2019-02-21 15:57:40 +03:00
marks.rs fix regression in self-referential completion 2019-02-11 23:43:24 +03:00
mock_analysis.rs remove ignored macro tests 2019-02-19 20:06:53 +03:00
navigation_target.rs Refactor find_all_refs to return ReferenceSearchResult 2019-02-17 13:40:43 +02:00
parent_module.rs move crate for 2019-02-08 14:34:30 +03:00
references.rs Remove leading :: 2019-02-17 17:25:19 +02:00
runnables.rs reformat the world 2019-02-08 14:49:43 +03:00
status.rs reformat the world 2019-02-08 14:49:43 +03:00
symbol_index.rs Fix possible issue where unnamed is_symbol_def would pop stack wrongly 2019-02-13 18:02:18 +02:00
syntax_highlighting.rs remove hard-coded query-group macro 2019-02-11 22:24:39 +03:00