Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Get rid of resolve_ty_as_possible | Florian Diebold | 2021-05-21 | 1 | -10/+9 |
| | | | | Instead use shallow resolving where necessary. | ||||
* | internal: Record mismatches of pattern types. | Dawer | 2021-05-19 | 1 | -2/+5 |
| | |||||
* | Fix false positive "Missing match arm". | Dawer | 2021-05-14 | 1 | -4/+5 |
| | |||||
* | Intern Substitutions | Florian Diebold | 2021-04-08 | 1 | -2/+2 |
| | | | | (Costs a bit of performance, reduces memory usage on RA by ~10%.) | ||||
* | Fix return type of Substitution::interned | Florian Diebold | 2021-04-07 | 1 | -1/+1 |
| | |||||
* | Remove Ty::substs{_mut} | Florian Diebold | 2021-04-07 | 1 | -2/+4 |
| | | | | | | Almost all uses actually only care about ADT substs, so it's better to be explicit. The methods were a bad abstraction anyway since they already didn't include the inner types of e.g. `TyKind::Ref` anymore. | ||||
* | infer: remove `record_pat_field_resolutions` field | Jonas Schievink | 2021-04-06 | 1 | -6/+0 |
| | | | | | Same as https://github.com/rust-analyzer/rust-analyzer/pull/8376, this can be computed from other data | ||||
* | infer: remove `record_field_resolutions` field | Jonas Schievink | 2021-04-06 | 1 | -4/+4 |
| | | | | | It stores no useful data, since we can derive all fields from `variant_resolutions` | ||||
* | Merge #8364 | bors[bot] | 2021-04-06 | 1 | -2/+2 |
|\ | | | | | | | | | | | | | | | | | | | 8364: Memory usage improvements r=jonas-schievink a=alexmaco These are mostly focused on splitting up enum variants with large size differences between variants by `Box`-ing things up. In my testing this reduces the memory usage somewhere in the low percentages, even though the measurements are quite noisy. Co-authored-by: Alexandru Macovei <[email protected]> | ||||
| * | Use Box'es to reduce the size of hir_def::expr::Pat from 112 to 64 bytes on ↵ | Alexandru Macovei | 2021-04-06 | 1 | -2/+2 |
| | | | | | | | | 64bit | ||||
* | | Move Ty accessors to TyExt | Lukas Wirth | 2021-04-06 | 1 | -1/+1 |
| | | |||||
* | | Add chalk_ir::Const to TyKind::Array | Lukas Wirth | 2021-04-06 | 1 | -5/+8 |
| | | |||||
* | | Use a constructor function for Static lifetimes | Lukas Wirth | 2021-04-06 | 1 | -9/+6 |
| | | |||||
* | | Add Lifetime to TyKind::Ref | Lukas Wirth | 2021-04-06 | 1 | -8/+12 |
|/ | |||||
* | Add Interner parameter to Binders::substitute | Florian Diebold | 2021-04-05 | 1 | -3/+6 |
| | |||||
* | Binders::subst -> substitute | Florian Diebold | 2021-04-05 | 1 | -2/+2 |
| | |||||
* | Move things in hir_ty into submodules | Florian Diebold | 2021-04-04 | 1 | -2/+2 |
| | | | | | - all the types that will be replaced by Chalk go to `types` - `TypeWalk` impls go to `walk` | ||||
* | Add TyBuilder::adt | Florian Diebold | 2021-04-04 | 1 | -19/+7 |
| | |||||
* | Rename Ty::interned to Ty::kind | Florian Diebold | 2021-04-03 | 1 | -1/+1 |
| | | | | ... since that's the actual method on Chalk side that matches the signature. | ||||
* | Introduce `GenericArg` like in Chalk | Florian Diebold | 2021-04-03 | 1 | -7/+10 |
| | | | | | | | Plus some more adaptations to Substitution. Lots of `assert_ty_ref` that we should revisit when introducing lifetime/const parameters. | ||||
* | Fix box pattern inference panic | Lukas Wirth | 2021-03-21 | 1 | -6/+26 |
| | |||||
* | clippy::complexity simplifications related to Iterators | Matthias Krüger | 2021-03-21 | 1 | -1/+1 |
| | |||||
* | Rename Substs -> Substitution | Florian Diebold | 2021-03-16 | 1 | -5/+7 |
| | |||||
* | Don't use Substs for Ref/Raw/Array/Slice | Florian Diebold | 2021-03-14 | 1 | -5/+5 |
| | |||||
* | Make Ty wrap TyKind in an Arc | Florian Diebold | 2021-03-14 | 1 | -6/+6 |
| | | | | | | | | ... like it will be in Chalk. We still keep `interned_mut` and `into_inner` methods that will probably not exist with Chalk. This worsens performance slightly (5ginstr inference on RA), but doesn't include other simplifications we can do yet. | ||||
* | Separate `Ty` and `TyKind` like in Chalk | Florian Diebold | 2021-03-13 | 1 | -20/+21 |
| | | | | | Currently `Ty` just wraps `TyKind`, but this allows us to change most places to already use `intern` / `interned`. | ||||
* | Use upstream cov-mark | Laurențiu Nicola | 2021-03-08 | 1 | -2/+1 |
| | |||||
* | Use chalk_ir::AdtId | Lukas Wirth | 2021-03-04 | 1 | -1/+1 |
| | |||||
* | Use chalk_ir::Mutability | Lukas Wirth | 2021-03-01 | 1 | -5/+6 |
| | |||||
* | Turn Ty::Tuple variant into a tuple-variant | Lukas Wirth | 2021-02-28 | 1 | -1/+1 |
| | |||||
* | Inline TypeCtor into Ty | Lukas Wirth | 2021-02-28 | 1 | -15/+12 |
| | |||||
* | Implement const pat inference | Lukas Wirth | 2020-12-23 | 1 | -1/+5 |
| | |||||
* | Properly infer tuple struct patterns when encountering ellipsis | Lukas Wirth | 2020-11-24 | 1 | -9/+22 |
| | |||||
* | Properly infer tuple patterns when encountering ellipsis | Lukas Wirth | 2020-11-24 | 1 | -8/+17 |
| | |||||
* | Implement box pattern inference | Jonas Schievink | 2020-09-12 | 1 | -1/+13 |
| | |||||
* | Rename record_field_pat to record_pat_field | Pavan Kumar Sunkara | 2020-09-10 | 1 | -1/+1 |
| | |||||
* | Rename ra_hir_ty -> hir_ty | Aleksey Kladov | 2020-08-13 | 1 | -0/+241 |