aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/code_model.rs
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup checking for existing impls in impl From assistMatthew Hall2020-04-021-33/+21
| | | | | Use the trait solver to check if there's an existing implementation of From<type_in_enum_variant> for the enum.
* Add impl From for enum variant assistMatthew Hall2020-04-011-1/+33
| | | | | | Basically adds a From impl for tuple enum variants with one field. Added to cover the fairly common case of implementing your own Error that can be created from another one, although other use cases exist.
* fix typo of visibility_ofEdwin Cheng2020-03-251-1/+1
|
* Add ItemScope::visibility_ofEdwin Cheng2020-03-241-0/+4
|
* Use more generic public apiKirill Bulatov2020-03-241-19/+2
|
* Remove the upcastKirill Bulatov2020-03-241-3/+7
|
* Auto import macrosKirill Bulatov2020-03-241-12/+19
|
* ra_hir: add more privacy for Typeveetaha2020-03-231-6/+14
|
* ra_hir: migrate some stuff to matches!()veetaha2020-03-221-18/+6
|
* 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
|