aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty
Commit message (Collapse)AuthorAgeFilesLines
* 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 <[email protected]>
| * use 'if let' instead of match on kind in lower.rsadamrk2020-02-171-6/+4
| |
| * replace uses of VariantData::is_unit with VariantData::kindadamrk2020-02-161-4/+7
| |
* | Fix coercion of &T to itselfFlorian Diebold2020-02-162-0/+24
| | | | | | | | | | The autoderef coercion logic did not handle matching placeholders. This led to some type mismatches.
* | Extend analysis-stats a bitFlorian Diebold2020-02-151-0/+3
|/ | | | | | | | | | | | This adds some tools helpful when debugging nondeterminism in analysis-stats: - a `--randomize` option that analyses everything in random order - a `-vv` option that prints even more detail Also add a debug log if Chalk fuel is exhausted (which would be a source of nondeterminism, but didn't happen in my tests). I found one source of nondeterminism (rust-lang/chalk#331), but there are still other cases remaining.
* Merge #3147bors[bot]2020-02-143-0/+42
|\ | | | | | | | | | | | | | | 3147: Check that impl self type matches up with expected self type in path mode r=matklad a=flodiebold Fixes #3144. Co-authored-by: Florian Diebold <[email protected]>
| * Check that impl self type matches up with expected self type in path modeFlorian Diebold2020-02-143-0/+42
| | | | | | | | Fixes #3144.
* | Make Self implement the trait inside trait default methodsFlorian Diebold2020-02-143-4/+77
|/
* Move hir_fmt code to display moduleFlorian Diebold2020-02-142-372/+376
|
* Rename Ty::Param => Ty::PlaceholderFlorian Diebold2020-02-143-11/+11
| | | | This aligns more with Chalk.
* Don't let unknown match arms fall back to !Florian Diebold2020-02-112-1/+22
|
* Add or- and parenthesized-patternsMatthew Jasper2020-02-092-3/+13
|
* Add two more testsFlorian Diebold2020-02-071-0/+51
|
* Fix some TODOsFlorian Diebold2020-02-073-11/+17
|
* Don't print implicit type args from impl TraitFlorian Diebold2020-02-072-14/+21
|
* Deal better with implicit type parameters and argument listsFlorian Diebold2020-02-074-26/+138
|
* FormattingFlorian Diebold2020-02-079-38/+82
|
* Clean up RPIT a bitFlorian Diebold2020-02-074-41/+13
|
* Fix compilation of other cratesFlorian Diebold2020-02-072-4/+10
|
* Use variables in predicates as wellFlorian Diebold2020-02-075-63/+52
|
* Comment fixes / todosFlorian Diebold2020-02-073-6/+8
|
* Fix APIT some moreFlorian Diebold2020-02-074-101/+115
|
* Fix APITFlorian Diebold2020-02-071-0/+2
|
* Change Ty::Param to contain param IDFlorian Diebold2020-02-0711-127/+136
|
* WIP use params for APITFlorian Diebold2020-02-073-1/+64
|
* Fix assoc type selectionFlorian Diebold2020-02-072-32/+43
|
* Fix another testFlorian Diebold2020-02-072-7/+3
|
* First stab at desugaring bounds for APITFlorian Diebold2020-02-072-6/+33
|
* Fix crashFlorian Diebold2020-02-071-4/+7
|
* Fix enum constructorsFlorian Diebold2020-02-073-11/+9
|
* Fix printing of function typesFlorian Diebold2020-02-077-72/+73
|
* Lower impl trait to variables, move away from using placeholders where they ↵Florian Diebold2020-02-079-188/+220
| | | | don't belong
* wip lower impl trait to type argsFlorian Diebold2020-02-074-4/+6
|
* wip implement lowering modeFlorian Diebold2020-02-072-26/+34
|
* Add impl trait lowering modeFlorian Diebold2020-02-074-32/+132
|
* Introduce TyLoweringContextFlorian Diebold2020-02-074-146/+130
|
* Standard formatting for array typesAleksey Kladov2020-01-285-89/+89
|
* Tweak Chalk settingsFlorian Diebold2020-01-271-2/+1
|
* Ignore failing impl Trait testsFlorian Diebold2020-01-271-0/+2
|
* Upgrade ChalkFlorian Diebold2020-01-273-61/+71
|
* Update cratesJeremy Kolb2020-01-261-1/+1
|
* Omit default parameters for reference typesKirill Bulatov2020-01-222-2/+7
|
* Fix inference for shift operatorsFlorian Diebold2020-01-173-5/+35
| | | | Fixes #2602.
* Merge #2844bors[bot]2020-01-141-2/+2
|\ | | | | | | | | | | | | | | 2844: Use dummy value for line! and column! macro r=matklad a=edwin0cheng Use dummy value `0` for line! and column! macro. Co-authored-by: Edwin Cheng <[email protected]>
| * Use dummy value for line! and column! macroEdwin Cheng2020-01-141-2/+2
| |
* | Push resolver further upAleksey Kladov2020-01-143-25/+44
| |
* | Push resolver upAleksey Kladov2020-01-141-21/+51
| |
* | Move impls_future to Type, where it belongsAleksey Kladov2020-01-141-2/+1
| |
* | Don't panic if chalk panicsAleksey Kladov2020-01-131-9/+35
|/
* Fix various names, e.g. Iterator not resolving in core preludeFlorian Diebold2020-01-111-0/+54
| | | | | | | | | | | | | 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.