aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | Less reallocationsKirill Bulatov2021-03-214-21/+12
| | | | | | |
| * | | | | | Use smart case in flyimport items lookupKirill Bulatov2021-03-213-6/+80
|/ / / / / /
* | | | | | Merge #8123bors[bot]2021-03-216-224/+250
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8123: Do not display unqualified assoc item completions r=SomeoneToIgnore a=SomeoneToIgnore Part of https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/autoimport.20weirdness Removes all flyimport completions for any unqualified associated type, effectively reverting https://github.com/rust-analyzer/rust-analyzer/pull/8095 I've explained the reasoning in the corresponding FIXME and open to discussions. As an alternative way, we could add yet another parameter in the method that's used by the `qualify_path` and enable it for the qualify assists only. Co-authored-by: Kirill Bulatov <[email protected]>
| * | | | | Disable unqualified assoc items completion for nowKirill Bulatov2021-03-203-2/+10
| | | | | |
| * | | | | DocsKirill Bulatov2021-03-205-15/+20
| | | | | |
| * | | | | Do not query item search by name eagerlyKirill Bulatov2021-03-204-222/+200
| | | | | |
| * | | | | Do not propose assoc items without qualifiersKirill Bulatov2021-03-203-3/+38
| | | | | |
* | | | | | Merge #8130bors[bot]2021-03-211-3/+0
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8130: Revert "Temporarily run git describe on CI to debug #8043" r=lnicola a=lnicola Reverts rust-analyzer/rust-analyzer#8121 bors r+ changelog skip Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | | | Revert "Temporarily run git describe on CI to debug #8043"Laurențiu Nicola2021-03-211-3/+0
|/ / / / /
* | | | | Merge #8127bors[bot]2021-03-218-18/+184
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8127: Add label completion r=Veykril a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Fix incorrect scoping in while expressionsLukas Wirth2021-03-213-14/+41
| | | | |
| * | | | Add label completionLukas Wirth2021-03-214-7/+100
| | | | |
| * | | | Track labels in scopesLukas Wirth2021-03-214-11/+57
| | | | |
* | | | | Merge #8122bors[bot]2021-03-218-14/+36
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8122: Make bare underscore token an Ident rather than Punct in proc-macro r=edwin0cheng a=kevinmehall In rustc and proc-macro2, a bare `_` token is parsed for procedural macro purposes as `Ident` rather than `Punct` (see https://github.com/rust-lang/rust/pull/48842). This changes rust-analyzer to match rustc's behavior and implementation by handling `_` as an Ident in token trees, but explicitly preventing `$x:ident` from matching it in MBE. proc macro crate: ```rust #[proc_macro] pub fn input(input: proc_macro::TokenStream) -> proc_macro::TokenStream { dbg!(input) } ``` test crate: ```rust test_proc_macro::input!(_); ``` output (rustc): ```rust [test-proc-macro/src/lib.rs:10] input = TokenStream [ Ident { ident: "_", span: #0 bytes(173..174), }, ] ``` output (rust-analyzer before this change): ```rust [test-proc-macro/src/lib.rs:10] input = TokenStream [ Punct { ch: '_', spacing: Joint, span: 4294967295, }, ] ``` output (rust-analyzer after this change): ```rust [test-proc-macro/src/lib.rs:10] input = TokenStream [ Ident { ident: "_", span: 4294967295, }, ] ``` Co-authored-by: Kevin Mehall <[email protected]>
| * | | | Fix and test edge cases of `_` as identKevin Mehall2021-03-203-3/+13
| | | | |
| * | | | Make bare underscore token an Ident rather than Punct in proc-macroKevin Mehall2021-03-206-12/+24
| | |_|/ | |/| |
* | | | Merge #8124bors[bot]2021-03-205-14/+233
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8124: Add basic lifetime completion r=Veykril a=Veykril This adds basic lifetime completion, basic in the sense that the completions for lifetimes are only shown when the user enters `'` followed by a char. Showing them when nothing is entered is kind of a pain, as we would want them to only show up where they are useful which in turn requires a lot of tree traversal and cursor position checking to verify whether the position is valid for a lifetime. This in itself doesn't seem too bad as usually when you know you want to write a lifetime putting `'` to ask for lifetime completions seems fine. ~~I'll take a look at whether its possible to lift the restriction of having to put a char after `'`.~~ This actually already works so I guess this is the clients responsibility, in which case VSCode doesn't like it. ![TYH9gIlyVo](https://user-images.githubusercontent.com/3757771/111886437-c9b02f80-89cd-11eb-9bee-340f1536b0de.gif) Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Add basic lifetime completionLukas Wirth2021-03-205-14/+233
| |/ / /
* | | | Merge #8125bors[bot]2021-03-205-24/+44
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | 8125: Don't use an untyped String for ActiveParam tracking r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Don't use an untyped String for ActiveParam trackingLukas Wirth2021-03-205-24/+44
| |/ /
* | | Merge #8121bors[bot]2021-03-201-0/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 8121: Temporarily run git describe on CI to debug #8043 r=lnicola a=lnicola bors r+ changelog skip Co-authored-by: Laurențiu Nicola <[email protected]>
| * | Temporarily run git describe to debug #8043Laurențiu Nicola2021-03-201-0/+3
|/ /
* | Merge #8119bors[bot]2021-03-204-12/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | 8119: Don't return a SourceChange on WillRenameFiles when nothing gets refactored r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | Don't return a SourceChange on WillRenameFiles when nothing gets refactoredLukas Wirth2021-03-202-8/+7
| | |
| * | Fix add_life_to_type label typoLukas Wirth2021-03-202-4/+3
| | |
* | | Merge #8117bors[bot]2021-03-2014-91/+130
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8117: Turn Obligation into something similar to chalk_ir::DomainGoal r=flodiebold a=flodiebold This includes starting to make use of Chalk's `Cast` trait. Co-authored-by: Florian Diebold <[email protected]>
| * | | Turn Obligation into something similar to chalk_ir::DomainGoalFlorian Diebold2021-03-2014-91/+130
| | | | | | | | | | | | | | | | This includes starting to make use of Chalk's `Cast` trait.
* | | | Merge #8116bors[bot]2021-03-207-42/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8116: Remove WhereClause::Error r=flodiebold a=flodiebold Chalk doesn't have it, and judging from the removed code, it wasn't useful anyway. Co-authored-by: Florian Diebold <[email protected]>
| * | | Remove WhereClause::ErrorFlorian Diebold2021-03-207-42/+8
| | | | | | | | | | | | | | | | | | | | Chalk doesn't have it, and judging from the removed code, it wasn't useful anyway.
* | | | Merge #8115bors[bot]2021-03-2010-105/+89
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8115: Rename GenericPredicate -> WhereClause r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * | | Rename GenericPredicate -> WhereClauseFlorian Diebold2021-03-2010-105/+89
|/ / /
* | | Merge #8112bors[bot]2021-03-197-187/+248
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8112: Revamp `hir_def` attribute API r=Veykril a=jonas-schievink This adds `AttrsWithOwner`, which can construct an accurate `AttrSourceMap` without requiring additional information from the caller. r? @Veykril Co-authored-by: Jonas Schievink <[email protected]>
| * | | Add `AttrsWithOwner` and clean up `source_map`Jonas Schievink2021-03-195-155/+216
| | | |
| * | | Move `AttrsOwnerNode` to syntax and make it publicJonas Schievink2021-03-193-33/+33
|/ / /
* | | Merge #8111bors[bot]2021-03-194-18/+15
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8111: Return `Either` from `MacroDefId::ast_id` r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Return `Either` from `MacroDefId::ast_id`Jonas Schievink2021-03-194-18/+15
|/ / /
* | | Merge #8110bors[bot]2021-03-191-3/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8110: simplify r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | simplifyAleksey Kladov2021-03-191-3/+3
| | | | | | | | | | | | | | | | changelog skip
* | | | Merge #8109bors[bot]2021-03-192-40/+66
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8109: Make ast editing more ergonomic r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Make ast editing more ergonomicAleksey Kladov2021-03-192-40/+66
| |/ / | | | | | | | | | changelog internal
* | | Merge #8108bors[bot]2021-03-192-21/+48
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 8108: Fix handling of `#![cfg]` in outline module file r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Fix handling of `#![cfg]` in outline module fileJonas Schievink2021-03-192-21/+48
|/ /
* | Merge #8106bors[bot]2021-03-191-2/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8106: Add builtin macro-like attributes r=jonas-schievink a=jonas-schievink We also have to know about these to resolve them bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Add builtin macro-like attributesJonas Schievink2021-03-191-2/+5
|/ /
* | Merge #8104bors[bot]2021-03-195-13/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8104: Rename derive-specific APIs r=jonas-schievink a=jonas-schievink Indicate that they're derive-specific bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Rename derive-specific APIsJonas Schievink2021-03-195-13/+13
|/ /
* | Merge #8102bors[bot]2021-03-191-27/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | 8102: Cleanup qualify_path r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | Cleanup qualify_pathLukas Wirth2021-03-191-27/+17
|/ /
* | Merge #8097bors[bot]2021-03-197-41/+32
|\ \ | | | | | | | | | | | | | | | | | | | | | 8097: Parse extended_key_value_attributes r=jonas-schievink a=Veykril Companion PR https://github.com/rust-analyzer/ungrammar/pull/31 Co-authored-by: Lukas Wirth <[email protected]>
| * | Parse extended_key_value_attributesLukas Wirth2021-03-197-41/+32
| | |