aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir
Commit message (Collapse)AuthorAgeFilesLines
* Cache macro expansion in semanticsAleksey Kladov2020-07-241-2/+14
| | | | | #5497 accidentally made syntax highlighting quadratic, due to repeated tokentreeizing of macros.
* Add missing cancellation pointAleksey Kladov2020-07-241-0/+1
|
* Add profiling callAleksey Kladov2020-07-241-0/+1
|
* Store macro invocation parameters as text instead of ttLaurențiu Nicola2020-07-221-1/+1
|
* call_info works with closuresAleksey Kladov2020-07-171-14/+19
|
* Remove FunctionSignatureAleksey Kladov2020-07-161-1/+1
|
* Inlay hints use callablesAleksey Kladov2020-07-161-0/+3
|
* Redner self as param for call infor for assoc fn callAleksey Kladov2020-07-161-2/+12
|
* Semantical call infoAleksey Kladov2020-07-164-21/+99
|
* Align CallableDefId naming with other idsAleksey Kladov2020-07-162-3/+3
|
* Remove TypeCtor interningFlorian Diebold2020-07-151-3/+3
| | | | Our TypeCtor and Chalk's TypeName match now!
* Use Chalk closure supportFlorian Diebold2020-07-151-3/+3
|
* Cap macro expansion depth for IDE featuresAleksey Kladov2020-07-151-1/+1
| | | | closes #4453
* Merge #5355bors[bot]2020-07-141-0/+1
|\ | | | | | | | | | | | | | | | | 5355: Add a license field to all the crates r=matklad a=JohnTitor Some are unnecessary but it's okay to have it, I think. cc https://github.com/rust-lang/rust/issues/74269 Co-authored-by: Yuki Okushi <[email protected]>
| * Add a license field to all the cratesYuki Okushi2020-07-141-0/+1
| |
* | Cleanup visibilityAleksey Kladov2020-07-141-1/+1
| |
* | Cleanup hir diagnostics APIAleksey Kladov2020-07-141-8/+1
| |
* | Consolidate hir diagnostics code in one placeAleksey Kladov2020-07-142-6/+4
|/
* Don't copy-paste `impl_froms` into every crateAleksey Kladov2020-07-134-31/+17
|
* Use dedicated semantic highlight tag for parametersAleksey Kladov2020-07-111-1/+14
| | | | closes #5106
* Fix goto definition for type alias type parametersAleksey Kladov2020-07-112-0/+8
| | | | closes https://github.com/rust-analyzer/rust-analyzer/issues/5042
* Reduce visibilityAleksey Kladov2020-07-111-31/+31
|
* Speed up completionAleksey Kladov2020-07-111-0/+1
|
* Dont expose IDAleksey Kladov2020-07-101-4/+3
|
* RenameAleksey Kladov2020-07-102-3/+2
|
* Goto type definition works for selfAleksey Kladov2020-07-102-0/+21
|
* Add argument count mismatch diagnosticJonas Schievink2020-07-091-1/+3
|
* Merge #5149bors[bot]2020-07-011-5/+5
|\ | | | | | | | | | | | | | | | | | | 5149: Implement Chalk variable kinds r=flodiebold a=flodiebold This means we need to keep track of the kinds (general/int/float) of variables in `Canonical`, which requires some more ceremony. (It also exposes some places where we're not really dealing with canonicalization correctly -- another thing to be cleaned up when we switch to using Chalk's types directly.) Should fix the last remaining issue of #2534. Co-authored-by: Florian Diebold <[email protected]>
| * Implement Chalk variable kindsFlorian Diebold2020-07-011-5/+5
| | | | | | | | | | | | | | | | | | This means we need to keep track of the kinds (general/int/float) of variables in `Canonical`, which requires some more ceremony. (It also exposes some places where we're not really dealing with canonicalization correctly -- another thing to be cleaned up when we switch to using Chalk's types directly.) Should fix the last remaining issue of #2534.
* | Split `CrateImplDefs` in inherent and trait implsJonas Schievink2020-07-012-11/+13
| | | | | | | | | | | | This makes the intention of inherent vs. trait impls somewhat more clear and also fixes (?) an issue where trait impls with an unresolved trait were added as inherent impls instead (hence the test changes).
* | Make less code genericLaurențiu Nicola2020-07-011-69/+47
| |
* | Try to reduce Semantics monomorphisationsLaurențiu Nicola2020-07-011-23/+186
| |
* | Merge #5158bors[bot]2020-07-011-3/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 5158: Use CrateName correctly r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Use Strings for display namesAleksey Kladov2020-07-011-3/+3
| |/
* / Make SemanticsScope non-genericLaurențiu Nicola2020-07-011-8/+8
|/
* (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-272-53/+2
| | | | account for derefs of raw ptrs
* Add unsafe diagnostics and unsafe highlightingPaul Daniel Faria2020-06-272-1/+54
|
* Measure ItemTree query memory usageJonas Schievink2020-06-241-2/+2
|
* draw the rest of the owlJonas Schievink2020-06-241-6/+4
|
* Remove raw item queryJonas Schievink2020-06-241-2/+2
|
* New VFSAleksey Kladov2020-06-231-1/+9
|
* Enum variants with `Self::[variant]` now resolve (#4879)BGluth2020-06-221-0/+30
|
* Merge #4947bors[bot]2020-06-201-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4947: Replace `impls_in_trait` query with smarter use of `CrateImplDefs` r=matklad a=jonas-schievink `impls_in_trait` was allocating a whopping ~400 MB of RAM when running analysis-stats on r-a itself. Remove it, instead adding a query that computes a summary `CrateImplDefs` map for all transitive dependencies. This can probably still be made more efficient, but this already reduces the peak memory usage by 25% without much performance impact on analysis-stats. **Before**: ``` Total: 34.962107188s, 2083mb allocated 2141mb resident 422mb ImplsForTraitQuery (deps) 250mb CrateDefMapQueryQuery 147mb MacroArgQuery 140mb TraitSolveQuery (deps) 68mb InferQueryQuery (deps) 62mb ImplDatumQuery (deps) ``` **After**: ``` Total: 35.261100358s, 1520mb allocated 1569mb resident 250mb CrateDefMapQueryQuery 147mb MacroArgQuery 144mb TraitSolveQuery (deps) 68mb InferQueryQuery (deps) 61mb ImplDatumQuery (deps) 45mb BodyQuery 45mb ImplDatumQuery ``` Co-authored-by: Jonas Schievink <[email protected]>
| * Add new query to statsJonas Schievink2020-06-191-4/+4
| |
| * Replace `impls_in_trait` with `CrateImplDefs`Jonas Schievink2020-06-191-4/+4
| |
* | Merge #4851bors[bot]2020-06-192-2/+23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4851: Add quickfix to add a struct field r=TimoFreiberg a=TimoFreiberg Related to #4563 I created a quickfix for record literals first because the NoSuchField diagnostic was already there. To offer that quickfix for FieldExprs with unknown fields I'd need to add a new diagnostic (or create a `NoSuchField` diagnostic for those cases) I think it'd make sense to make this a snippet completion (to select the generated type), but this would require changing the `Analysis` API and I'd like some feedback before I touch that. Co-authored-by: Timo Freiberg <[email protected]>