Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Merge #3169 | bors[bot] | 2020-02-17 | 1 | -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.rs | adamrk | 2020-02-17 | 1 | -6/+4 | |
| | | ||||||
| * | replace uses of VariantData::is_unit with VariantData::kind | adamrk | 2020-02-16 | 1 | -4/+7 | |
| | | ||||||
* | | Fix coercion of &T to itself | Florian Diebold | 2020-02-16 | 2 | -0/+24 | |
| | | | | | | | | | | The autoderef coercion logic did not handle matching placeholders. This led to some type mismatches. | |||||
* | | Extend analysis-stats a bit | Florian Diebold | 2020-02-15 | 1 | -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 #3147 | bors[bot] | 2020-02-14 | 3 | -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 mode | Florian Diebold | 2020-02-14 | 3 | -0/+42 | |
| | | | | | | | | Fixes #3144. | |||||
* | | Make Self implement the trait inside trait default methods | Florian Diebold | 2020-02-14 | 3 | -4/+77 | |
|/ | ||||||
* | Move hir_fmt code to display module | Florian Diebold | 2020-02-14 | 2 | -372/+376 | |
| | ||||||
* | Rename Ty::Param => Ty::Placeholder | Florian Diebold | 2020-02-14 | 3 | -11/+11 | |
| | | | | This aligns more with Chalk. | |||||
* | Don't let unknown match arms fall back to ! | Florian Diebold | 2020-02-11 | 2 | -1/+22 | |
| | ||||||
* | Add or- and parenthesized-patterns | Matthew Jasper | 2020-02-09 | 2 | -3/+13 | |
| | ||||||
* | Add two more tests | Florian Diebold | 2020-02-07 | 1 | -0/+51 | |
| | ||||||
* | Fix some TODOs | Florian Diebold | 2020-02-07 | 3 | -11/+17 | |
| | ||||||
* | Don't print implicit type args from impl Trait | Florian Diebold | 2020-02-07 | 2 | -14/+21 | |
| | ||||||
* | Deal better with implicit type parameters and argument lists | Florian Diebold | 2020-02-07 | 4 | -26/+138 | |
| | ||||||
* | Formatting | Florian Diebold | 2020-02-07 | 9 | -38/+82 | |
| | ||||||
* | Clean up RPIT a bit | Florian Diebold | 2020-02-07 | 4 | -41/+13 | |
| | ||||||
* | Fix compilation of other crates | Florian Diebold | 2020-02-07 | 2 | -4/+10 | |
| | ||||||
* | Use variables in predicates as well | Florian Diebold | 2020-02-07 | 5 | -63/+52 | |
| | ||||||
* | Comment fixes / todos | Florian Diebold | 2020-02-07 | 3 | -6/+8 | |
| | ||||||
* | Fix APIT some more | Florian Diebold | 2020-02-07 | 4 | -101/+115 | |
| | ||||||
* | Fix APIT | Florian Diebold | 2020-02-07 | 1 | -0/+2 | |
| | ||||||
* | Change Ty::Param to contain param ID | Florian Diebold | 2020-02-07 | 11 | -127/+136 | |
| | ||||||
* | WIP use params for APIT | Florian Diebold | 2020-02-07 | 3 | -1/+64 | |
| | ||||||
* | Fix assoc type selection | Florian Diebold | 2020-02-07 | 2 | -32/+43 | |
| | ||||||
* | Fix another test | Florian Diebold | 2020-02-07 | 2 | -7/+3 | |
| | ||||||
* | First stab at desugaring bounds for APIT | Florian Diebold | 2020-02-07 | 2 | -6/+33 | |
| | ||||||
* | Fix crash | Florian Diebold | 2020-02-07 | 1 | -4/+7 | |
| | ||||||
* | Fix enum constructors | Florian Diebold | 2020-02-07 | 3 | -11/+9 | |
| | ||||||
* | Fix printing of function types | Florian Diebold | 2020-02-07 | 7 | -72/+73 | |
| | ||||||
* | Lower impl trait to variables, move away from using placeholders where they ↵ | Florian Diebold | 2020-02-07 | 9 | -188/+220 | |
| | | | | don't belong | |||||
* | wip lower impl trait to type args | Florian Diebold | 2020-02-07 | 4 | -4/+6 | |
| | ||||||
* | wip implement lowering mode | Florian Diebold | 2020-02-07 | 2 | -26/+34 | |
| | ||||||
* | Add impl trait lowering mode | Florian Diebold | 2020-02-07 | 4 | -32/+132 | |
| | ||||||
* | Introduce TyLoweringContext | Florian Diebold | 2020-02-07 | 4 | -146/+130 | |
| | ||||||
* | Standard formatting for array types | Aleksey Kladov | 2020-01-28 | 5 | -89/+89 | |
| | ||||||
* | Tweak Chalk settings | Florian Diebold | 2020-01-27 | 1 | -2/+1 | |
| | ||||||
* | Ignore failing impl Trait tests | Florian Diebold | 2020-01-27 | 1 | -0/+2 | |
| | ||||||
* | Upgrade Chalk | Florian Diebold | 2020-01-27 | 3 | -61/+71 | |
| | ||||||
* | Update crates | Jeremy Kolb | 2020-01-26 | 1 | -1/+1 | |
| | ||||||
* | Omit default parameters for reference types | Kirill Bulatov | 2020-01-22 | 2 | -2/+7 | |
| | ||||||
* | Fix inference for shift operators | Florian Diebold | 2020-01-17 | 3 | -5/+35 | |
| | | | | Fixes #2602. | |||||
* | Merge #2844 | bors[bot] | 2020-01-14 | 1 | -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! macro | Edwin Cheng | 2020-01-14 | 1 | -2/+2 | |
| | | ||||||
* | | Push resolver further up | Aleksey Kladov | 2020-01-14 | 3 | -25/+44 | |
| | | ||||||
* | | Push resolver up | Aleksey Kladov | 2020-01-14 | 1 | -21/+51 | |
| | | ||||||
* | | Move impls_future to Type, where it belongs | Aleksey Kladov | 2020-01-14 | 1 | -2/+1 | |
| | | ||||||
* | | Don't panic if chalk panics | Aleksey Kladov | 2020-01-13 | 1 | -9/+35 | |
|/ | ||||||
* | Fix various names, e.g. Iterator not resolving in core prelude | Florian Diebold | 2020-01-11 | 1 | -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. |