aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/code_model.rs
Commit message (Collapse)AuthorAgeFilesLines
* Use `dyn Trait` for working with databseAleksey Kladov2020-03-161-166/+163
| | | | | | | It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate).
* Fix completion of HashMap::newFlorian Diebold2020-03-131-2/+10
| | | | | | | | | | | | | | | The `ty` function in code_model returned the type with placeholders for type parameters. That's nice for printing, but not good for completion, because placeholders won't unify with anything else: So the type we got for `HashMap` was `HashMap<K, V, T>`, which doesn't unify with `HashMap<?, ?, RandomState>`, so the `new` method wasn't shown. Now we instead return `HashMap<{unknown}, {unknown}, {unknown}>`, which does unify with the impl type. Maybe we should just expose this properly as variables though, i.e. we'd return something like `exists<type, type, type> HashMap<?0, ?1, ?2>` (in Chalk notation). It'll make the API more complicated, but harder to misuse. (And it would handle cases like `type TypeAlias<T> = HashMap<T, T>` more correctly.)
* Restore cargo-fmt gatingAleksey Kladov2020-03-131-11/+7
|
* fix issue 3444Josh Mcguigan2020-03-131-10/+38
|
* SimplifyAleksey Kladov2020-03-091-1/+1
|
* Use `Index` for CrateGraphAleksey Kladov2020-03-091-5/+4
|
* Merge #3519bors[bot]2020-03-091-5/+32
|\ | | | | | | | | | | | | | | 3519: Show mod path on hover r=matklad a=SomeoneToIgnore Closes #1064 Co-authored-by: Kirill Bulatov <[email protected]>
| * Less abstract CrateData apiKirill Bulatov2020-03-091-5/+8
| |
| * Show mod path in hover tooltipKirill Bulatov2020-03-071-0/+24
| |
* | Handle visibility for assoc item path completion as wellFlorian Diebold2020-03-081-8/+40
| |
* | Handle visibility for path completion (not in all cases yet)Florian Diebold2020-03-081-1/+11
| |
* | Handle visibility in method call completionFlorian Diebold2020-03-071-0/+8
|/
* Refactor reference search a bitAleksey Kladov2020-03-031-1/+11
|
* Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-291-18/+18
|
* MinorAleksey Kladov2020-02-291-4/+3
|
* Simplify SourceBinderAleksey Kladov2020-02-291-0/+1
|
* Don't store deriveable Module info in NameDefinitionAleksey Kladov2020-02-191-1/+28
|
* More manual clippy fixesKirill Bulatov2020-02-181-21/+15
|
* Run cargo +nightly fix --clippy -Z unstable-optionsKirill Bulatov2020-02-181-5/+5
|
* show names for record fields in enum completionadamrk2020-02-161-0/+5
|
* Revert source_analyzer changesKirill Bulatov2020-02-121-1/+0
|
* Fix post-rebase issuesKirill Bulatov2020-02-121-11/+12
|
* Support trait method call autoimportsKirill Bulatov2020-02-121-1/+5
|
* Trait location draftKirill Bulatov2020-02-121-11/+7
|
* Add more hir APIs for associated itemsAleksey Kladov2020-02-121-10/+60
|
* FormattingFlorian Diebold2020-02-071-6/+4
|
* Fix compilation of other cratesFlorian Diebold2020-02-071-10/+15
|
* wip lower impl trait to type argsFlorian Diebold2020-02-071-1/+1
|
* Add impl trait lowering modeFlorian Diebold2020-02-071-6/+8
|
* Introduce TyLoweringContextFlorian Diebold2020-02-071-4/+7
|
* Auto import functionsKirill Bulatov2020-02-011-6/+11
|
* Don't parse child modules when doing diagnosticsAleksey Kladov2020-01-151-3/+3
|
* Move Type API to typeAleksey Kladov2020-01-141-4/+70
|
* Move impls_future to Type, where it belongsAleksey Kladov2020-01-141-2/+18
|
* Use attr location for builtin macro goto-impEdwin Cheng2020-01-121-1/+23
|
* Apply review suggestionsFlorian Diebold2020-01-111-1/+3
|
* Qualify some paths in 'add missing impl members'Florian Diebold2020-01-111-0/+13
|
* Add `profile` calls to {Module,Function}::diagnosticsMichal Terepeta2020-01-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | With this change the output `ra_prof` gives a better indication where the time is spent. Example output: ``` 213ms - publish_diagnostics 213ms - diagnostics 70ms - Module::from_definition 70ms - Module::from_file 132ms - Module::diagnostics 78ms - Function::diagnostics 0ms - body_with_source_map_query (1 calls) 2ms - trait_solve_query (1 calls) 76ms - ??? 15ms - Function::diagnostics 0ms - body_with_source_map_query (1 calls) 15ms - trait_solve_query (5 calls) 38ms - Function::diagnostics (51 calls) 8ms - parse_query (1 calls) ``` Signed-off-by: Michal Terepeta <[email protected]>
* visible_from -> is_visible_fromFlorian Diebold2019-12-271-2/+2
|
* Remove visibility query, instead add struct field visibility to dataFlorian Diebold2019-12-261-2/+2
| | | | | Methods should be handled the same, and for items the visibility will be in the def map.
* Rename ResolvedVisibility -> VisibilityFlorian Diebold2019-12-261-3/+3
|
* Add visibility in code model for fieldsFlorian Diebold2019-12-261-1/+18
|
* Fill in type params in 'add missing impl members' assistFlorian Diebold2019-12-241-0/+11
|
* SimplifyAleksey Kladov2019-12-221-1/+1
|
* Remove imports from hirAleksey Kladov2019-12-211-11/+4
|
* Revert "Merge #2629"Aleksey Kladov2019-12-211-8/+10
| | | | | This reverts commit cdc9d682b066b110e0a44e5f8f1c574b38c16ba9, reversing changes made to 90ef070db3dce0a7acb9cd11d0b0d72de13c9d79.
* Remove hir for importsAleksey Kladov2019-12-211-10/+8
|
* Move impls to ItemScopeAleksey Kladov2019-12-201-1/+1
|
* Use generic ItemLoc for implsAleksey Kladov2019-12-201-2/+2
|
* Support for nested traitsAleksey Kladov2019-12-201-1/+1
|