aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Add test for binary op return ty with adtLukas Wirth2021-04-101-0/+47
|
* Add manual ops::Add impls to test::traits::closure_2Lukas Wirth2021-04-101-20/+46
|
* Implement more precise binary op return type predictionLukas Wirth2021-04-102-17/+51
|
* Let's try testing for "is not quadratic" conditionAleksey Kladov2021-04-102-0/+99
|
* Avoid an unnecessary `collect`Jonas Schievink2021-04-091-3/+1
|
* Merge #8450bors[bot]2021-04-092-1/+5
|\ | | | | | | | | | | | | | | | | 8450: Don't ignore unnamed consts when looking for definitions r=Veykril a=Veykril Fixes #8448 bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * Insert unnamed consts to ChildBySource DynMapLukas Wirth2021-04-092-1/+5
| |
* | Resolve prelude and crate root names in the root DefMapJonas Schievink2021-04-093-7/+64
| |
| |
| \
*-. \ Merge #8443 #8446bors[bot]2021-04-0910-143/+149
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8443: Rewrite `#[derive]` removal code to be based on AST r=jonas-schievink a=jonas-schievink We now remove any `#[derive]` before and including the one we want to expand, in the `macro_arg` query. The same infra will be needed by attribute macros (except we only remove the attribute we're expanding, not any preceding ones). Part of https://github.com/rust-analyzer/rust-analyzer/issues/8434 (doesn't implement the cfg-expansion yet, because that's more difficult) 8446: Undo path resolution hack for extern prelude r=jonas-schievink a=jonas-schievink Reverts the change made in https://github.com/rust-analyzer/rust-analyzer/pull/7959 We don't populate the extern prelude for block DefMaps anymore, so this is unnecessary bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| | * | Undo path resolution hack for extern preludeJonas Schievink2021-04-091-9/+4
| | | | | | | | | | | | | | | | | | | | We don't populate the extern prelude for block DefMaps anymore, so this is unnecessary
| * | | Use `name![derive]`Jonas Schievink2021-04-091-2/+6
| | | |
| * | | Use `pub(crate)`Jonas Schievink2021-04-091-1/+5
| | | |
| * | | Rewrite `#[derive]` removal to be based on ASTJonas Schievink2021-04-094-105/+92
| | | |
| * | | Store `#[derive]` attribute ID along macro invocJonas Schievink2021-04-095-12/+22
| | | |
| * | | Rename `Attr`s `index` field to `id`Jonas Schievink2021-04-091-8/+8
| | | |
| * | | Add `AttrId` to track attribute sourcesJonas Schievink2021-04-092-14/+20
| |/ /
* | | Merge #8445bors[bot]2021-04-0914-361/+355
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8445: `hir_ty` cleanup r=flodiebold a=flodiebold Move lots of things around within `hir_ty`. Most notably, all the Chalk-related stuff moves from within `traits/` to the top-level, since Chalk isn't purely a "traits thing" anymore. Co-authored-by: Florian Diebold <[email protected]>
| * | | More cleanups / module docsFlorian Diebold2021-04-096-10/+12
| | | |
| * | | 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`.
* / / Shrink `unlinked-file` diagnostic to 3 charactersJonas Schievink2021-04-091-7/+9
|/ /
* | 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.
* / 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.
* | 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
| |
* | 8024: Added the trait modifier for assoc types.Chetan Khilosiya2021-04-081-2/+12
| |
* | Use named fields in `MacroCallKind`Jonas Schievink2021-04-087-33/+40
|/
* 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-0818-1546/+340
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-081-1/+1
| |/ / |/| | | | | | | | 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.