aboutsummaryrefslogtreecommitdiff
path: root/crates/ide
Commit message (Collapse)AuthorAgeFilesLines
* Merge #9293bors[bot]2021-06-151-3/+4
|\ | | | | | | | | | | | | | | 9293: fix: Show diagnostic fixes before assists r=matklad a=lnicola Closes #9212 Co-authored-by: Laurențiu Nicola <[email protected]>
| * Show diagnostic fixes before assistsLaurențiu Nicola2021-06-151-3/+4
| |
* | Merge #9294bors[bot]2021-06-151-10/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | 9294: internal: introduce minicore -- a subset of libcore for testing r=matklad a=matklad Clearly, we need one more fixed point iteration loop! Co-authored-by: Aleksey Kladov <[email protected]>
| * | internal: switch some tests to minicoreAleksey Kladov2021-06-151-10/+5
| |/
* / Highlight unsafe trait refs as unsafe only in impl blocks and definitionsLukas Wirth2021-06-1512-19/+51
|/
* internal: don't #[ignore] testsAleksey Kladov2021-06-151-5/+5
| | | | See the style.md for motivation
* Merge #9278bors[bot]2021-06-152-8/+15
|\ | | | | | | | | | | | | | | 9278: internal: document that we don't #[ignore] tests r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * internal: document that we don't #[ignore] testsAleksey Kladov2021-06-152-8/+15
| |
* | Merge #9277bors[bot]2021-06-141-3/+3
|\| | | | | | | | | | | | | | | | | 9277: internal: more natural order of sources for TypeParam r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * internal: more natural order of sources for TypeParamAleksey Kladov2021-06-141-3/+3
| | | | | | | | | | We usually use first (left) variant of `Either` for "usual" case, and use right for odd things. For example, pat source is Pat | SelfParam.
* | Merge #9275bors[bot]2021-06-141-2/+60
|\ \ | |/ |/| | | | | | | | | | | 9275: feat: Support goto type for field expressions and patterns r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * Support goto type for field expressions and patternsLukas Wirth2021-06-141-2/+60
| |
* | minor: less ambiguous nameAleksey Kladov2021-06-141-2/+3
| |
* | internal: flatten module hierarchyAleksey Kladov2021-06-143-9/+10
| | | | | | | | | | It seems that any crate can be made better by flattening the modules down to a single layer?
* | internal: document rename challengesAleksey Kladov2021-06-141-0/+18
| |
* | internal: adapt diagnostics to the new rename APIAleksey Kladov2021-06-141-423/+12
| |
* | internal: prepare to move assist definitionsAleksey Kladov2021-06-141-2/+2
| |
* | internal: move diagnostics to a new crateAleksey Kladov2021-06-1424-4601/+4
|/
* internal: prepare to move rename to base_dbAleksey Kladov2021-06-141-41/+40
| | | | | | | | | | It's better to handle magical cases upper in the stack, because it allows for better re-use of the general implementation below. So, we pull the `self` case up here. The end goal is to put `Definition::rename` to the `ide_db`, because it's a generally re-usable functionality useful for different ide features, alongside with the search which is already there.
* fix: don't use display-related functionality where semantics mattersAleksey Kladov2021-06-141-41/+119
| | | | | | | NavigationTarget is strictly a UI-level thing -- it describes where the cursor should be placed when the user presses goto definition. It doesn't make any semantic guaratees about rage and focus range and, as such, is not suitable for driving renames.
* internal: diagnostic code is mandatoryAleksey Kladov2021-06-132-23/+12
|
* minor: dead codeAleksey Kladov2021-06-132-50/+34
|
* internal: kill diagnostic sinkAleksey Kladov2021-06-131-35/+13
|
* internal: use cov-mark rather than bailing out diagnosticAleksey Kladov2021-06-132-49/+53
|
* internal: refactor missing match arms diagnosticsAleksey Kladov2021-06-132-907/+926
|
* internal: remove DiagnosticWithFix infraAleksey Kladov2021-06-134-585/+534
|
* internal: refactor incorrect case diagnosticsAleksey Kladov2021-06-133-40/+38
|
* minorAleksey Kladov2021-06-132-38/+38
|
* internal: refactor find_map diagnosticAleksey Kladov2021-06-134-171/+184
|
* minorAleksey Kladov2021-06-133-44/+34
|
* internal: refactor missing or or some diagnosticAleksey Kladov2021-06-133-24/+41
|
* internal: refactor remove this semicolon diagnosticsAleksey Kladov2021-06-136-59/+68
|
* internal: refactor mismatched args count diagnosticAleksey Kladov2021-06-132-250/+274
|
* internal: refactor missing unsafe diagnosticAleksey Kladov2021-06-132-84/+103
|
* internal: refactor BreakOutsideOfLoop diagnosticAleksey Kladov2021-06-132-10/+32
|
* internal: refactor NoSuchField diagnosticAleksey Kladov2021-06-133-290/+297
|
* internal: refactor unimplemented builtin macro diagnosticAleksey Kladov2021-06-132-5/+21
|
* minor: simplifyAleksey Kladov2021-06-136-35/+18
|
* internal: check diagnostics in all files and not just the first oneAleksey Kladov2021-06-135-41/+46
|
* internal: remove def-level diagnostics testsAleksey Kladov2021-06-131-0/+12
|
* internal: refactor macro errorAleksey Kladov2021-06-132-0/+165
|
* internal: refactor unresolved proc macro diagnosticAleksey Kladov2021-06-133-11/+42
|
* internal: refactor inactive code diagnosticsAleksey Kladov2021-06-132-17/+126
|
* internal: refactor unresolved macro call diagnosticAleksey Kladov2021-06-132-26/+75
|
* internal: refactor unresolved import diagnosticAleksey Kladov2021-06-133-29/+121
|
* internal: refactor unresolved extern crate diagnosticAleksey Kladov2021-06-132-0/+52
|
* internal: unified missing fields diagnosticAleksey Kladov2021-06-132-24/+25
|
* internal: move missing_fields diagnosticsAleksey Kladov2021-06-134-53/+78
|
* internal: start new diagnostics APIAleksey Kladov2021-06-133-34/+82
| | | | | | | | | | | | | | | | | | At the moment, this moves only a single diagnostic, but the idea is reafactor the rest to use the same pattern. We are going to have a single file per diagnostic. This file will define diagnostics code, rendering range and fixes, if any. It'll also have all of the tests. This is similar to how we deal with assists. After we refactor all diagnostics to follow this pattern, we'll probably move them to a new `ide_diagnostics` crate. Not that we intentionally want to test all diagnostics on this layer, despite the fact that they are generally emitted in the guts on the compiler. Diagnostics care to much about the end presentation details/fixes to be worth-while "unit" testing. So, we'll unit-test only the primary output of compilation process (types and name res tables), and will use integrated UI tests for diagnostics.
* minor: put a mark backAleksey Kladov2021-06-131-0/+1
|