aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* More cleanupsFlorian Diebold2021-04-093-38/+29
|
* More moving stuff aroundFlorian Diebold2021-04-094-78/+74
|
* Move some more stuff to better placesFlorian Diebold2021-04-092-100/+93
|
* Move ToChalk -> mappingFlorian Diebold2021-04-0910-37/+76
|
* Reorganize hir_ty modulesFlorian Diebold2021-04-0910-100/+73
| | | | | Chalk isn't really a 'traits' thing anymore, so it doesn't make sense to have all the Chalk-related stuff in submodules of `traits`.
* Merge #8406bors[bot]2021-04-093-28/+85
|\ | | | | | | | | | | | | | | 8406: Improve indexing of impls r=flodiebold a=flodiebold Store impls for e.g. &Foo with the ones for Foo instead of the big "other" bucket. This can improve performance and simplifies the HIR impl search a bit. Co-authored-by: Florian Diebold <[email protected]>
| * Improve indexing of implsFlorian Diebold2021-04-093-28/+85
| | | | | | | | | | | | Store impls for e.g. &Foo with the ones for Foo instead of the big "other" bucket. This can improve performance and simplifies the HIR impl search a bit.
* | Merge #8440bors[bot]2021-04-093-6/+77
|\ \ | |/ |/| | | | | | | | | | | | | | | 8440: Fix crash on syn involving lifetimes returned by Chalk r=flodiebold a=flodiebold If we get lifetime variables back in autoderef, just immediately replace them by static lifetimes for now. Method resolution doesn't really deal correctly with new variables being introduced (this needs to be fixed more properly). This fixes `rust-analyzer analysis-stats --with-deps` crashing in the RA repo. Co-authored-by: Florian Diebold <[email protected]>
| * Fix crash on syn involving lifetimes returned by ChalkFlorian Diebold2021-04-093-6/+77
|/ | | | | | | | | | If we get lifetime variables back in autoderef, just immediately replace them by static lifetimes for now. Method resolution doesn't really deal correctly with new variables being introduced (this needs to be fixed more properly). This fixes `rust-analyzer analysis-stats --with-deps` crashing in the RA repo.
* Merge #8429bors[bot]2021-04-091-0/+20
|\ | | | | | | | | | | | | | | 8429: 8425: Added documentation for on enter covering //! doc comments. r=jonas-schievink a=chetankhilosiya Also added passing test case. Co-authored-by: Chetan Khilosiya <[email protected]>
| * 8425: Added documentation for on enter covering //! doc comments.Chetan Khilosiya2021-04-081-0/+20
| | | | | | | | Also added passing test case.
* | Merge #8433bors[bot]2021-04-089-50/+83
|\ \ | | | | | | | | | | | | | | | | | | | | | 8433: Intern lots of things r=jonas-schievink a=flodiebold This uses the new interning infrastructure for most type-related things, where it had a positive effect on memory usage and performance. In total, this gives a slight performance improvement and a quite good memory reduction (1119MB->885MB on RA, 1774MB->1188MB on Diesel). Co-authored-by: Florian Diebold <[email protected]>
| * | CleanupFlorian Diebold2021-04-082-24/+19
| | |
| * | Intern VariancesFlorian Diebold2021-04-081-2/+3
| | | | | | | | | | | | This may be a slight performance improvement.
| * | Don't intern ProgramClause at allFlorian Diebold2021-04-081-2/+2
| | | | | | | | | | | | This seems to work best performance/memory-wise.
| * | Intern QuantifiedWhereClausesFlorian Diebold2021-04-081-2/+3
| | | | | | | | | | | | Slight performance and memory usage improvement.
| * | Intern ProgramClausesFlorian Diebold2021-04-081-2/+3
| | |
| * | Intern CanonicalVarKindsFlorian Diebold2021-04-081-2/+3
| | | | | | | | | | | | Slight savings in performance and memory.
| * | Intern consts & lifetimesFlorian Diebold2021-04-082-7/+20
| | | | | | | | | | | | Slight memory usage reduction.
| * | Intern typesFlorian Diebold2021-04-081-3/+7
| | | | | | | | | | | | Performance about the same, memory reduced by ~5%.
| * | Intern SubstitutionsFlorian Diebold2021-04-088-27/+34
| | | | | | | | | | | | (Costs a bit of performance, reduces memory usage on RA by ~10%.)
| * | Intern VariableKindsFlorian Diebold2021-04-081-4/+14
|/ /
* | Merge #8431bors[bot]2021-04-081-2/+12
|\ \ | | | | | | | | | | | | | | | | | | | | | 8431: 8024: Added the trait highlight modifier for assoc types. r=Veykril a=chetankhilosiya Co-authored-by: Chetan Khilosiya <[email protected]>
| * | 8024: Added the trait modifier for assoc types.Chetan Khilosiya2021-04-081-2/+12
|/ /
* | Merge #8428bors[bot]2021-04-087-33/+40
|\ \ | |/ |/| | | | | | | | | | | | | | | 8428: Use named fields in `MacroCallKind` r=jonas-schievink a=jonas-schievink bors r+ changelog skip Co-authored-by: Jonas Schievink <[email protected]>
| * Use named fields in `MacroCallKind`Jonas Schievink2021-04-087-33/+40
|/
* Merge #8426bors[bot]2021-04-081-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8426: Track recursion limit when expanding custom derive r=jonas-schievink a=jonas-schievink You can write a custom derive that expands to itself: ```rust #[proc_macro_derive(Derive)] pub fn derive(item: TokenStream) -> TokenStream { let mut out: TokenStream = "#[derive(Derive)]".parse().unwrap(); out.extend(item); out } ``` rustc reports a recursion limit error, but rust-analyzer used to spin in name resolution and eventually fail with "name resolution is stuck". This makes it fail fast by respecting the recursion depth of the invocation. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Track recursion limit when expanding custom deriveJonas Schievink2021-04-081-1/+1
|/
* Merge #8421bors[bot]2021-04-081-13/+30
|\ | | | | | | | | | | | | | | 8421: Reduce allocations in "Expand macro" formatter r=edwin0cheng a=lnicola Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * Reduce allocations in Expand macroLaurențiu Nicola2021-04-081-13/+30
| |
| |
| \
*-. \ Merge #8419 #8423bors[bot]2021-04-0819-1550/+344
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8419: Move hir_ty to Chalk IR r=flodiebold a=flodiebold Closes #8313. There's some further cleanups to do: - we're still using our `TypeWalk` in lots of places (not for mutating/folding though, just for walking) - we're still using our own canonicalization and unification and our `InferenceTable` - ~`ToChalk` still exists and gets called, it's just the identity in most cases now (I'll probably clean those up before merging this)~ 8423: Bump lsp-types and syn r=kjeremy a=kjeremy This lsp-types now supports a default InsertTextMode for completion and a per-completion item commit_characters Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: kjeremy <[email protected]>
| | * | Bump lsp-types and synkjeremy2021-04-082-5/+5
| | | | | | | | | | | | | | | | This lsp-types now supports a default InsertTextMode for completion and a per-completion item commit_characters
| * | | Remove unusedFlorian Diebold2021-04-0814-69/+20
| | | |
| * | | Replace `make_binders` by the now equivalent `make_only_type_binders`Florian Diebold2021-04-082-35/+22
| | | |
| * | | Remove identity impls for ToChalkFlorian Diebold2021-04-084-215/+21
| | | |
| * | | Fix `Canonicalized::apply_solution`Florian Diebold2021-04-081-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | Now that we're using Chalk's `substitute` which actually knows about lifetimes, the hack doesn't work anymore, but we can put in a proper lifetime.
| * | | Fix missing match armsFlorian Diebold2021-04-085-3/+23
| | | |
| * | | Fix remaining `interned_mut` callFlorian Diebold2021-04-081-4/+6
| | | |
| * | | Replace remaining `fold` callsFlorian Diebold2021-04-083-59/+104
| | | |
| * | | Replace some `fold` callsFlorian Diebold2021-04-084-47/+53
| | | |
| * | | Fix shifted_{in,out} callsFlorian Diebold2021-04-085-11/+11
| | | |
| * | | Fix subst_prefixFlorian Diebold2021-04-081-1/+4
| | | |
| * | | Get rid of walk_mut [not compiling]Florian Diebold2021-04-081-272/+0
| | | |
| * | | Fix TyBuilder methodsFlorian Diebold2021-04-081-5/+5
| | | |
| * | | Impl Fold for CallableSigFlorian Diebold2021-04-081-0/+18
| | | |
| * | | Add HasInterner boundsFlorian Diebold2021-04-086-14/+35
| | | |
| * | | Allow unusedFlorian Diebold2021-04-081-0/+3
| | | |
| * | | Remove obsolete Cast implsFlorian Diebold2021-04-081-47/+0
| | | |
| * | | Make ToChalk implementations identityFlorian Diebold2021-04-082-272/+42
| | | |
| * | | Replace all the types by their Chalk versionsFlorian Diebold2021-04-083-554/+32
| |/ /