aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/code_model.rs
Commit message (Collapse)AuthorAgeFilesLines
* Format & replace todos with 'fixme'Zac Pullar-Strecker2020-06-301-9/+13
|
* Move resolver into impls, work on testsZac Pullar-Strecker2020-06-301-12/+25
|
* (Partially) fix handling of type params depending on type paramsFlorian Diebold2020-06-291-3/+6
| | | | | | | | If the first type parameter gets inferred, that's still not handled correctly; it'll require some more refactoring: E.g. if we have `Thing<T, F=fn() -> T>` and then instantiate `Thing<_>`, that gets turned into `Thing<_, fn() -> _>` before the `_` is instantiated into a type variable -- so afterwards, we have two type variables without any connection to each other.
* Remove unneeded code, filename from tests, fix rebasing issuesPaul Daniel Faria2020-06-271-2/+6
|
* Revert ide highlighting changes (addressing on another branch)Paul Daniel Faria2020-06-271-4/+0
|
* Add HighlightTag::Operator, use it for unsafe deref. Move unsafe validation ↵Paul Daniel Faria2020-06-271-3/+5
| | | | to its own file
* Move diagnostics back into expr, add tests for diagnostics, fix logic to ↵Paul Daniel Faria2020-06-271-3/+2
| | | | account for derefs of raw ptrs
* Add unsafe diagnostics and unsafe highlightingPaul Daniel Faria2020-06-271-1/+4
|
* draw the rest of the owlJonas Schievink2020-06-241-6/+4
|
* Apply suggestions from code reviewvsrs2020-06-181-35/+50
|
* Add Type::walk methodvsrs2020-06-181-71/+59
|
* Remove AdtOrTraitvsrs2020-06-181-29/+22
|
* Fix type "items" order.vsrs2020-06-181-7/+18
|
* Add `Go to Type Definition` hover action.vsrs2020-06-181-2/+106
|
* Respect casing when searching for importsJonas Schievink2020-06-101-1/+1
|
* Limit import map queriesJonas Schievink2020-06-101-6/+10
|
* ra_hir: expose `import_map::search_dependencies`Jonas Schievink2020-06-101-0/+14
|
* Add highlight support for unsafe fn calls and raw ptr derefPaul Daniel Faria2020-06-021-0/+8
|
* Merge #4592bors[bot]2020-05-271-0/+1
|\ | | | | | | | | | | | | | | 4592: fix textedit range returned for completion when left token is a keyword r=bnjjj a=bnjjj close #4545 Co-authored-by: Benjamin Coenen <[email protected]>
| * fix textedit range returned for completion when left token is a keyword #4545Benjamin Coenen2020-05-241-0/+1
| | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | Pass trivially copy types as copykjeremy2020-05-261-9/+9
|/
* Ty -> TypeFedor Sakharov2020-05-141-2/+7
|
* Adds a param_idx helperFedor Sakharov2020-05-141-2/+2
|
* Use generic_defaults and display_source_codeFedor Sakharov2020-05-141-3/+4
|
* Correctly fill default type parametersFedor Sakharov2020-05-131-0/+5
|
* Merge #4421bors[bot]2020-05-111-0/+20
|\ | | | | | | | | | | | | | | | | | | | | | | | | 4421: Find references to a function outside module r=flodiebold a=montekki Fixes #4188 Yet again, it looks like although the code in https://github.com/rust-analyzer/rust-analyzer/blob/da1f316b0246ce41d7cb8560181e294089f06ef3/crates/ra_ide_db/src/search.rs#L128-L132 may be wrong, it is not hit since the `vis` is `None` at this point. The fix is similar to the #4237 case: just add another special case to `Definition::visibility()`. Co-authored-by: Fedor Sakharov <[email protected]>
| * New definition_visibility methodFedor Sakharov2020-05-111-0/+20
| |
* | Highlight mutable statics as mutableMatthew Jasper2020-05-101-0/+4
|/
* New HirDisplay method for displaying sourcecodeTimo Freiberg2020-05-081-3/+6
|
* Rename ImplItem to AssocItemEdwin Cheng2020-05-051-1/+1
|
* Propose custom derives in completionKirill Bulatov2020-05-021-8/+7
|
* Complete assoc. items on type parametersJonas Schievink2020-04-291-0/+10
|
* Complete union fields after dotJonas Schievink2020-04-281-12/+15
|
* Don't add call parens when an fn type is expectedJonas Schievink2020-04-251-0/+7
|
* Rename StructField -> FieldAleksey Kladov2020-04-251-17/+17
|
* Do not add default and closure types in 'add explicit type' assistKirill Bulatov2020-04-211-0/+4
|
* Ignore proc-macro in completionEdwin Cheng2020-04-181-0/+11
|
* diagnostics cli, iterate over membersJosh Mcguigan2020-04-151-1/+5
|
* Move computation of missing fields into hirAleksey Kladov2020-04-071-22/+9
|
* 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.)