aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src
Commit message (Collapse)AuthorAgeFilesLines
* Less confusing profile namesAleksey Kladov2020-03-062-2/+2
|
* Explicitly remember desugard patsAleksey Kladov2020-03-062-6/+10
|
* Explicitly remember desugard exprsAleksey Kladov2020-03-062-18/+19
|
* Source map returns a resultAleksey Kladov2020-03-061-4/+7
| | | | cc #2236
* Add profiling callsAleksey Kladov2020-03-052-0/+4
|
* Implement concat macroEdwin Cheng2020-03-031-5/+18
|
* Reformat?Aleksey Kladov2020-03-021-5/+1
|
* Merge #3384bors[bot]2020-03-013-6/+49
|\ | | | | | | | | | | | | | | | | | | | | | | 3384: fix #2377 super::super::* r=flodiebold a=JoshMcguigan Thanks @matklad for the detailed explanation on #2377. I believe this fixes it. One thing I'm not sure about is you said the fix would involve changing `crates/ra_hir_def/src/path/lower/lower.rs`, but I only changed `crates/ra_hir_def/src/path/lower/lower_use.rs`. I'm not sure what kind of test code I'd have to write to expose the issue in `lower.rs`, but I'd be happy to add it if you are able to provide additional guidance. closes #2377 Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
| * fix completion for super::super::Josh Mcguigan2020-03-011-2/+6
| |
| * fix #2377 super::super::*Josh Mcguigan2020-03-012-4/+43
| |
* | Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-297-24/+24
|/
* Merge #3260bors[bot]2020-02-223-61/+48
|\ | | | | | | | | | | | | | | 3260: Refactor how builtins are resolved r=matklad a=flodiebold This fixes autocompletion suggesting e.g. `self::usize`. (I thought we had a bug for that, but I didn't find it.) Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
| * Refactor how builtins are resolvedFlorian Diebold2020-02-213-61/+48
| | | | | | | | This fixes autocompletion suggesting e.g. self::usize.
* | Fix handling of const patternsFlorian Diebold2020-02-213-4/+37
|/ | | | | | | | | E.g. in `match x { None => ... }`, `None` is a path pattern (resolving to the option variant), not a binding. To determine this, we need to try to resolve the name during lowering. This isn't too hard since we already need to resolve names for macro expansion anyway (though maybe a bit hacky). Fixes #1618.
* More manual clippy fixesKirill Bulatov2020-02-182-3/+3
|
* Run cargo +nightly fix --clippy -Z unstable-optionsKirill Bulatov2020-02-188-15/+11
|
* Merge #3169bors[bot]2020-02-171-4/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3169: Show record field names in Enum completion r=flodiebold a=adamrk Adresses https://github.com/rust-analyzer/rust-analyzer/issues/2947. Previously the details shown when autocompleting an Enum variant would look like the variant was a tuple even if it was a record: ![2020-02-16-15:59:32_crop](https://user-images.githubusercontent.com/16367467/74607233-64f21980-50d7-11ea-99db-e973e29c71d7.png) This change will show the names of the fields for a record and use curly braces instead of parentheses: ![2020-02-16-15:33:00_crop](https://user-images.githubusercontent.com/16367467/74607251-8ce17d00-50d7-11ea-9d4d-38d198a4aec0.png) This required exposing the type `adt::StructKind` from `ra_hir` and adding a function ``` kind(self, db: &impl HirDatabase) -> StructKind ``` in the `impl` of `EnumVariant`. There was also a previously existing function `is_unit(self, db: &impl HirDatabase) -> bool` for `EnumVariant` which I removed because it seemed redundant after adding `kind`. Co-authored-by: adamrk <ark.email@gmail.com>
| * replace uses of VariantData::is_unit with VariantData::kindadamrk2020-02-161-6/+0
| |
| * show names for record fields in enum completionadamrk2020-02-161-1/+8
| |
* | Introduce AsMacroCall traitEdwin Cheng2020-02-173-70/+124
| |
* | Bump crate resolution limit for large projectsBenjamin Brittain2020-02-141-1/+1
|/ | | | Change-Id: Ie0221e5bcfd1779cd5e241f96b4489e5bd3854c1
* Make Self implement the trait inside trait default methodsFlorian Diebold2020-02-141-5/+1
|
* Merge #3062bors[bot]2020-02-112-7/+15
|\ | | | | | | | | | | | | | | | | | | 3062: Implement slice pattern AST > HIR lowering r=jplatte a=jplatte WIP. The necessary changes for parsing are implemented, but actual inference is not yet. Just wanted to upload what I've got so far so it doesn't get duplicated :) Will fix #3043 Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
| * Implement slice pattern AST > HIR loweringJonas Platte2020-02-112-7/+15
| |
* | Merge #3074bors[bot]2020-02-103-10/+14
|\ \ | | | | | | | | | | | | | | | | | | | | | 3074: Or patterns r=matthewjasper a=matthewjasper Works towards #2458 Co-authored-by: Matthew Jasper <mjjasper1@gmail.com>
| * | Add or- and parenthesized-patternsMatthew Jasper2020-02-093-10/+14
| | |
* | | move to to_usize()Veetaha2020-02-091-1/+1
|/ /
* | FormattingFlorian Diebold2020-02-072-9/+12
| |
* | First stab at desugaring bounds for APITFlorian Diebold2020-02-071-4/+23
| |
* | wip lower impl trait to type argsFlorian Diebold2020-02-073-9/+90
|/
* Merge #2962bors[bot]2020-02-044-14/+34
|\ | | | | | | | | | | | | | | | | 2962: Differentiate underscore alias from named aliases r=matklad a=zombiefungus pre for Fixing Issue 2736 edited to avoid autoclosing the issue Co-authored-by: zombiefungus <divmermarlav@gmail.com>
| * include requested changeszombiefungus2020-02-024-27/+28
| |
| * add new ImportAlias enum to differentiate no alias from an _ aliaszombiefungus2020-02-024-11/+30
| |
* | Require ModPath for importingKirill Bulatov2020-02-021-2/+2
|/
* Merge #2917bors[bot]2020-01-282-14/+86
|\ | | | | | | | | | | | | | | 2917: Prefer imports starting with std r=matklad a=SomeoneToIgnore Closes https://github.com/rust-analyzer/rust-analyzer/issues/2915 Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
| * Add the testsKirill Bulatov2020-01-282-0/+42
| |
| * Apply the proposed refactoringKirill Bulatov2020-01-281-38/+43
| |
| * Prefer imports starting with stdKirill Bulatov2020-01-271-6/+31
| |
* | Publicize debug printing of CrateDefMapAleksey Kladov2020-01-282-41/+42
|/
* Remove dead codeAleksey Kladov2020-01-161-34/+2
|
* Make FromSource privateAleksey Kladov2020-01-161-1/+3
|
* Merge #2837bors[bot]2020-01-151-1/+1
|\ | | | | | | | | | | | | | | | | | | 2837: Accidentally quadratic r=matklad a=matklad Our syntax highlighting is accdentally quadratic. Current state of the PR fixes it in a pretty crude way, looks like for the proper fix we need to redo how source-analyzer works. **NB:** don't be scared by diff stats, that's mostly a test-data file Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
| * Introduce SourceBinderAleksey Kladov2020-01-151-1/+1
| |
* | RenameAleksey Kladov2020-01-153-17/+14
|/
* Don't parse child modules when doing diagnosticsAleksey Kladov2020-01-151-0/+7
|
* Merge #2803bors[bot]2020-01-112-1/+46
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2803: Fix various names, e.g. Iterator not resolving in core prelude r=matklad a=flodiebold Basically, `Iterator` is re-exported via several steps, which happened to not be resolved yet when we got to the prelude import, but since the name resolved to the reexport from `core::iter` (just to no actual items), we gave up trying to resolve it further. Maybe part of the problem is that we can have `PartialResolvedImport::Unresolved` or `PartialResolvedImport::Indeterminate` with `None` in all namespaces, and handle them differently. Fixes #2683. Co-authored-by: Florian Diebold <flodiebold@gmail.com>
| * Fix various names, e.g. Iterator not resolving in core preludeFlorian Diebold2020-01-112-1/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | Basically, `Iterator` is re-exported via several steps, which happened to not be resolved yet when we got to the prelude import, but since the name resolved to the reexport from `core::iter` (just to no actual items), we gave up trying to resolve it further. Maybe part of the problem is that we can have `PartialResolvedImport::Unresolved` or `PartialResolvedImport::Indeterminate` with `None` in all namespaces, and handle them differently. Fixes #2683.
* | Apply review suggestionsFlorian Diebold2020-01-115-34/+23
| |
* | Qualify some paths in 'add missing impl members'Florian Diebold2020-01-112-1/+48
| |
* | Use `self`Florian Diebold2020-01-111-0/+20
| |