aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Tweak assits API to fit mutable syntax treesAleksey Kladov2021-03-233-23/+53
| | | | changelog: skip
* Cleanup Definition::search_scopeLukas Wirth2021-03-231-83/+94
|
* Merge hir::MacroDef::is_* into hir::MacroDef::kindLukas Wirth2021-03-233-16/+20
|
* Set up a search scope when searching for mbe macro referencesLukas Wirth2021-03-233-4/+56
|
* Merge #8162bors[bot]2021-03-233-17/+10
|\ | | | | | | | | | | | | | | | | | | | | | | 8162: Compute more mathematically well-rounded notion of transitive deps r=Veykril a=matklad By including the crate itself, we make the resulting set closed with respect to `transitve_reveres_dependencies` operation, as it becomes a proper transitive closure. This just feels more proper and mathy. And, indeed, this actually allows us to simplify call sites somewhat. Co-authored-by: Aleksey Kladov <[email protected]>
| * Improve readabilityAleksey Kladov2021-03-231-0/+1
| |
| * Align naming of deps and revdepsAleksey Kladov2021-03-232-9/+2
| |
| * Align semantics of deps and rev depsAleksey Kladov2021-03-231-2/+2
| |
| * Compute more mathematically well-rounded notion of transitive depsAleksey Kladov2021-03-233-6/+5
| | | | | | | | | | | | | | | | By including the crate itself, we make the resulting set closed with respect to `transitve_reveres_dependencies` operation, as it becomes a proper transitive closure. This just feels more proper and mathy. And, indeed, this actually allows us to simplify call sites somewhat.
* | Merge #8142bors[bot]2021-03-234-7/+75
|\ \ | |/ |/| | | | | | | | | | | | | | | 8142: temp disable broken ref match completions for struct fields/methods r=matklad a=JoshMcguigan This PR implements a temporary workaround for #8058 by disabling ref match completions for struct fields and methods. Disabling this doesn't break any existing functionality (that I am aware of) since these completions were broken. I plan to keep working on a real fix for the underlying issue here, but I think a proper fix could take some time, so I'd prefer to quickly fix the bug to buy some more time to implement a better solution (which would ultimately allow re-enabling ref matches for struct fields and methods). Co-authored-by: Josh Mcguigan <[email protected]>
| * add unit test to demonstrate struct fields/methods do not get ref match ↵Josh Mcguigan2021-03-231-0/+38
| | | | | | | | completions
| * implement a temporary workaround for #8058Josh Mcguigan2021-03-224-7/+37
| |
* | Merge #8156bors[bot]2021-03-222-8/+63
|\ \ | | | | | | | | | | | | | | | | | | | | | 8156: Correctly lower TraitRefs with default params r=flodiebold a=Veykril Fixes #5685 Co-authored-by: Lukas Wirth <[email protected]>
| * | Correctly lower TraitRefs with default paramsLukas Wirth2021-03-222-8/+63
| | |
| | |
| \ \
*-. \ \ Merge #8154 #8155bors[bot]2021-03-2211-90/+163
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8154: rewrite merge use trees assist to use muatable syntax trees r=matklad a=matklad bors r+ 🤖 8155: Fix confusion between parameters and the function r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8152 bors r+ Co-authored-by: Aleksey Kladov <[email protected]> Co-authored-by: Jonas Schievink <[email protected]>
| | * | | resolver: manually traverse nested block scopesJonas Schievink2021-03-224-5/+45
| | |/ /
| * / / rewrite merge use trees assist to use muatable syntax treesAleksey Kladov2021-03-227-85/+118
|/ / / | | | | | | | | | changelog internal
* | | Merge #8153bors[bot]2021-03-221-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 8153: :arrow_up: rowan r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | :arrow_up: rowanAleksey Kladov2021-03-221-1/+1
| | |
* | | Merge #8141bors[bot]2021-03-221-7/+49
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8141: Don't suggest long looping paths for imports r=matklad a=SomeoneToIgnore Fixes https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/name.3A.3Aname.3A.3Aname.3A.3Aname.3A.3Aname Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Code review fixesKirill Bulatov2021-03-221-0/+2
| | | |
| * | | Do not revisit recursively imported modulesKirill Bulatov2021-03-211-7/+47
| | |/ | |/|
* | | Merge #8054bors[bot]2021-03-226-0/+684
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8054: Item movers r=matklad a=ivan770 Closes #6823 https://user-images.githubusercontent.com/14003886/111331579-b4f43480-8679-11eb-9af0-e4dabacc4923.mp4 Implementation issues: - [ ] Most of items are non-movable, since _movability_ of any item has to be determined manually. Common ones are movable though - [x] Cursor should move with the item Co-authored-by: ivan770 <[email protected]>
| * | Remove needless lifetimeivan7702021-03-191-1/+1
| | |
| * | Added more movable listsivan7702021-03-191-1/+95
| | |
| * | Added arglist moverivan7702021-03-191-12/+102
| | |
| * | Remove prioritization, add more movable itemsivan7702021-03-181-60/+124
| | |
| * | Fix code after rowan version bumpivan7702021-03-181-1/+1
| | |
| * | Remove movable array, improve client codeivan7702021-03-181-28/+8
| | |
| * | Item up and down moversivan7702021-03-186-0/+456
| | |
* | | Merge #8144bors[bot]2021-03-221-0/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8144: bail out early for source code closures r=Veykril a=hi-rustin close https://github.com/rust-analyzer/rust-analyzer/issues/8084 Co-authored-by: hi-rustin <[email protected]>
| * | | bail out early for source code closureshi-rustin2021-03-221-0/+6
| | | | | | | | | | | | | | | | add closure error
* | | | Merge #8139bors[bot]2021-03-2211-179/+194
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8139: Align `Canonical` and `InEnvironment` with the Chalk versions r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * | | | Align InEnvironment with ChalkFlorian Diebold2021-03-2110-123/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This in particular means storing a chalk_ir::Environment, not our TraitEnvironment. This makes InEnvironment not usable for Type, where we need to keep the full TraitEnvironment.
| * | | | Align Canonical more with Chalk's versionFlorian Diebold2021-03-216-81/+125
| | | | | | | | | | | | | | | | | | | | In particular, use chalk_ir::CanonicalVarKinds.
* | | | | Merge #8136 #8146bors[bot]2021-03-2210-113/+212
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8136: Introduce QuantifiedWhereClause and DynTy analogous to Chalk r=flodiebold a=flodiebold This introduces a bunch of new binders in lots of places, which we have to be careful about, but we had to add them at some point. There's a lot of skipping of the binders; once we're done with the Chalk move, we should review the remaining ones. 8146: Document patch policy r=matklad a=matklad bors r+ 🤖 Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Use QuantifiedWhereClause in generic_predicates as wellFlorian Diebold2021-03-219-37/+28
| | | | | | | | | | | | | | | | | | | | | | | | | Still far too much binder skipping going on; I find it hard to imagine this is all correct, but the tests pass.
| * | | | Introduce QuantifiedWhereClause and DynTy analogous to ChalkFlorian Diebold2021-03-218-105/+213
| | | | | | | | | | | | | | | | | | | | | | | | | This introduces a bunch of new binders in lots of places, which we have to be careful about, but we had to add them at some point.
* | | | | Reexport PrefixKind to remove deps to hirEdwin Cheng2021-03-223-5/+8
| |_|_|/ |/| | |
* | | | Merge #8137bors[bot]2021-03-213-9/+51
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8137: Fix box pattern inference panic r=flodiebold a=Veykril Fixes #6560 Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Fix box pattern inference panicLukas Wirth2021-03-213-9/+51
| | | | |
* | | | | Merge #8134bors[bot]2021-03-215-30/+108
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8134: Correct the paths of submodules from the include! macro r=edwin0cheng a=sticnarf This PR should fix #7846. It mostly follows the instructions from @edwin0cheng in that issue. Co-authored-by: Yilin Chen <[email protected]>
| * | | | check is_include_macro only when attr_path is not specifiedYilin Chen2021-03-211-4/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Yilin Chen <[email protected]>
| * | | | use the included file as the source of expanded include macroYilin Chen2021-03-215-28/+107
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Yilin Chen <[email protected]>
* | | | | Merge #8133bors[bot]2021-03-217-16/+173
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8133: Ignore type bindings in generic_predicates_for_param (fix panic on ena and crates depending on it) r=flodiebold a=flodiebold This allows us to handle more cases without a query cycle, which includes certain cases that rustc accepted. That in turn means we avoid triggering salsa-rs/salsa#257 on valid code (it will still happen if the user writes an actual cycle). We actually accept more definitions than rustc now; that's because rustc only ignores bindings when looking up super traits, whereas we now also ignore them when looking for predicates to disambiguate associated type shorthand. We could introduce a separate query for super traits if necessary, but for now I think this should be fine. Co-authored-by: Florian Diebold <[email protected]>
| * | | | Ignore type bindings in generic_predicates_for_paramFlorian Diebold2021-03-216-19/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to handle more cases without a query cycle, which includes certain cases that rustc accepted. That in turn means we avoid triggering salsa-rs/salsa#257 on valid code (it will still happen if the user writes an actual cycle). We actually accept more definitions than rustc now; that's because rustc only ignores bindings when looking up super traits, whereas we now also ignore them when looking for predicates to disambiguate associated type shorthand. We could introduce a separate query for super traits if necessary, but for now I think this should be fine.
| * | | | Test for a Salsa bugFlorian Diebold2021-03-213-0/+124
| | |/ / | |/| |
* | | | Merge #8132bors[bot]2021-03-213-2/+37
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8132: Add `'` to trigger_characters, allowing more direct lifetime completions r=Veykril a=Veykril Fixes having to type a character after `'` to complete lifetimes and labels Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Add `'` to trigger_characters, allowing more direct lifetime completionsLukas Wirth2021-03-213-2/+37
| | |/ / | |/| |
* | | | Merge #8135bors[bot]2021-03-2133-156/+120
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8135: more clippy::{perf, complexity, style} fixes r=Veykril a=matthiaskrgr Co-authored-by: Matthias Krüger <[email protected]>