aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Use Box'es to reduce size of hir_def::expr::Expr from 128 to 72 bytes (on ↵Alexandru Macovei2021-04-063-12/+22
| | | | | | | | | | 64bit systems) Rationale: only a minority of variants used almost half the size. By keeping large members (especially in Option) behind a box the memory cost is only payed when the large variants are needed. This reduces the size Vec<Expr> needs to allocate.
* Merge #8360bors[bot]2021-04-054-10/+23
|\ | | | | | | | | | | | | | | | | | | | | | | | | 8360: Fix shifting of binders in FnPointer r=flodiebold a=flodiebold - don't shift in/out for Chalk mapping (we want to have the same binders now) - do shift in when creating the signature for a closure (though it shouldn't matter much) - do shift in when lowering a `fn()` type - correctly deal with the implied binder in TypeWalk Tested with the binders validator on various repos, so I'm pretty sure this doesn't mess things up :grimacing: Co-authored-by: Florian Diebold <[email protected]>
| * Fix shifting of binders in FnPointerFlorian Diebold2021-04-054-10/+23
| | | | | | | | | | | | | | | | | | - don't shift in/out for Chalk mapping (we want to have the same binders now) - do shift in when creating the signature for a closure (though it shouldn't matter much) - do shift in when lowering a `fn()` type - correctly deal with the implied binder in TypeWalk
* | Merge #8358bors[bot]2021-04-059-40/+86
|\| | | | | | | | | | | | | | | 8358: Align FnPointer with Chalk r=flodiebold a=flodiebold CC #8313 Co-authored-by: Florian Diebold <[email protected]>
| * Align FnPointer with ChalkFlorian Diebold2021-04-059-40/+86
|/
* Merge #8356bors[bot]2021-04-0511-112/+108
|\ | | | | | | | | | | | | | | | | | | 8356: Align more methods to Chalk r=flodiebold a=flodiebold Related to #8313. Move some inherent methods that don't exist in Chalk to an extension trait, remove some others. Co-authored-by: Florian Diebold <[email protected]>
| * Substitution::prefix -> subst_prefixFlorian Diebold2021-04-054-11/+15
| | | | | | | | I probably want to get rid of this function completely later.
| * Get rid of Substitution::suffixFlorian Diebold2021-04-052-10/+6
| |
| * Remove some unused methods, move some to types.rsFlorian Diebold2021-04-052-29/+15
| |
| * Binders::wrap_empty -> wrap_empty_bindersFlorian Diebold2021-04-053-16/+12
| |
| * Substitution::single -> from1Florian Diebold2021-04-054-14/+17
| |
| * Move ProjectionTy methods to extension traitFlorian Diebold2021-04-057-32/+43
|/
* Merge #8353bors[bot]2021-04-054-18/+50
|\ | | | | | | | | | | | | | | 8353: Replace hir_ty::Lifetime with chalk equivalent r=flodiebold a=Veykril Our `Lifetime` isn't really used yet so this is a rather simple change Co-authored-by: Lukas Wirth <[email protected]>
| * Replace unused hir_ty::Lifetime with chalk equivalentsLukas Wirth2021-04-054-18/+50
| |
* | Merge #8352bors[bot]2021-04-051-9/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 8352: Remove dead legacy macro expansion code r=lnicola a=brandondong I was investigating some unrelated macro issue when I noticed this dead code. This legacy macro expansion logic was changed in https://github.com/rust-analyzer/rust-analyzer/pull/8128. Co-authored-by: Brandon <[email protected]>
| * | Remove dead legacy macro expansion codeBrandon2021-04-051-9/+3
| | |
* | | Merge #8351bors[bot]2021-04-051-22/+21
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 8351: Use more assoc. type aliases in the chalk interner r=flodiebold a=jonas-schievink Makes it sligthly easier to swap out these types Co-authored-by: Jonas Schievink <[email protected]>
| * | Use more assoc. type aliases in the chalk internerJonas Schievink2021-04-051-22/+21
| | | | | | | | | | | | Makes it sligthly easier to swap out these types
* | | Merge #8350bors[bot]2021-04-053-13/+24
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 8350: internal: prepare to store OpQueue results in the queue itself r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | internal: prepare to store OpQueue results in the queue itselfAleksey Kladov2021-04-053-13/+24
| | |
* | | Merge #8348bors[bot]2021-04-0520-228/+296
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8348: Make `Binders` more like Chalk r=flodiebold a=flodiebold Working towards #8313. - hide `value` - use `VariableKinds` - adjust `subst` to be like Chalk's `substitute` - also clean up some other `TypeWalk` stuff to prepare for it being replaced by Chalk's `Fold` Co-authored-by: Florian Diebold <[email protected]>
| * | | Rename shift_bound_vars{_out} to align with ChalkFlorian Diebold2021-04-055-25/+32
| | | |
| * | | Get rid of subst_bound_vars usesFlorian Diebold2021-04-053-5/+9
| | | |
| * | | Get rid of some walk_mut usesFlorian Diebold2021-04-052-10/+15
| | | |
| * | | Add Interner parameter to Binders::substituteFlorian Diebold2021-04-0514-43/+52
| | | |
| * | | Binders::subst -> substituteFlorian Diebold2021-04-0514-39/+39
| | | |
| * | | Use VariableKinds in BindersFlorian Diebold2021-04-057-84/+107
| | | |
| * | | Hide Binders internals moreFlorian Diebold2021-04-0511-88/+108
| | | |
* | | | Merge #8347bors[bot]2021-04-051-4/+15
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 8347: Minor interning improvements r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | `Interned<T>`: Only hash the pointerJonas Schievink2021-04-051-2/+8
| | | |
| * | | Make `impl_internable!` macro publicJonas Schievink2021-04-051-2/+7
| |/ /
* | | Merge #8346bors[bot]2021-04-054-5/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8346: Use arrayvec 0.7 to avoid perf regression in 0.6.1 r=lnicola a=kjeremy See: https://github.com/bluss/arrayvec/issues/182 Co-authored-by: kjeremy <[email protected]>
| * | | Use arrayvec 0.7 to avoid perf regression in 0.6.1kjeremy2021-04-054-5/+5
|/ / / | | | | | | | | | See: https://github.com/bluss/arrayvec/issues/182
* | | Merge #8344bors[bot]2021-04-055-26/+30
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 8344: Pass interner to `ProjectionTy::self_type_parameter` and `TraitRef::self_type_parameter` r=flodiebold a=lnicola CC #8313 changelog skip Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * | Pass interner to TraitRef::self_type_parameterLaurențiu Nicola2021-04-054-20/+24
| | |
| * | Pass interner to ProjectionTy::self_type_parameterLaurențiu Nicola2021-04-054-7/+7
|/ /
* | Merge #8343bors[bot]2021-04-051-0/+28
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 8343: internal: document hypothetical completion problem r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | internal: document hypothetical completion problemAleksey Kladov2021-04-051-0/+28
| | |
* | | Merge #8342bors[bot]2021-04-0514-58/+58
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 8342: Rename `TyKind::Unknown` and `TyKind::ForeignType` (Chalk move) r=flodiebold a=lnicola CC #8313 Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * | Rename TyKind::ForeignType to ForeignLaurențiu Nicola2021-04-057-10/+10
| | |
| * | Rename TyKind::Unknown to ErrorLaurențiu Nicola2021-04-0514-48/+48
| | |
* | | Merge #8245bors[bot]2021-04-057-157/+260
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 8245: Properly resolve intra doc links in hover and goto_definition r=matklad a=Veykril Unfortunately involves a bit of weird workarounds due to pulldown_cmark's incorrect lifetimes on `BrokenLinkCallback`... I should probably open an issue there asking for the fixes to be pushed to a release since they already exist in the repo for quite some time it seems. Fixes #8258, Fixes #8238 Co-authored-by: Lukas Wirth <[email protected]>
| * | Replace Range<usize> usage with TextRangeLukas Wirth2021-03-302-32/+27
| | |
| * | Remove unused Definition::docsLukas Wirth2021-03-301-23/+0
| | |
| * | Use new new docs string source mapping in goto_def and hoverLukas Wirth2021-03-304-119/+73
| | |
| * | Implement basic Documentation source to syntax range mappingLukas Wirth2021-03-305-36/+149
| | |
| * | Properly resolve intra doc links in hover and goto_definitionLukas Wirth2021-03-304-39/+103
| | |
* | | Merge #8339bors[bot]2021-04-051-18/+55
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8339: fix: extract variable works in guards r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | fix: extract variable works in guardsAleksey Kladov2021-04-051-18/+55
| | | | | | | | | | | | | | | | closes #8336
* | | | Merge #8326bors[bot]2021-04-051-39/+50
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8326: Rewrite reorder fields assist to use mutable syntax trees r=matklad a=Veykril This also instead uses `Either` to use the typed `RecordPat` and `RecordExpr` nodes, this unfortunately gives a bit of code duplication Co-authored-by: Lukas Wirth <[email protected]>