aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* DefMap: hide remaining crate-visible fieldsJonas Schievink2021-01-204-11/+23
|
* Merge #7359bors[bot]2021-01-203-32/+49
|\ | | | | | | | | | | | | | | | | | | 7359: ItemTree: store a mapping from blocks to inner items r=jonas-schievink a=jonas-schievink To do name resolution within block expressions, we need to know which inner items are located inside each block expression. This adds such a mapping to `ItemTree`, replacing the previous one, which was seemingly unused other than to access all the inner items. This also assigns `AstId`s to block expressions, which is needed to store the mapping in salsa. Co-authored-by: Jonas Schievink <[email protected]>
| * Create a mapping from blocks to inner itemsJonas Schievink2021-01-202-26/+35
| |
| * Record `FileAstId`s for block expressiosnJonas Schievink2021-01-191-6/+14
| | | | | | | | | | Every block expression may contain inner items, so we need to be able to refer to any block expression and use it as a salsa key.
* | Make public DefMap fields privateJonas Schievink2021-01-2010-23/+31
| |
* | Merge #7350bors[bot]2021-01-202-9/+16
|\ \ | | | | | | | | | | | | | | | | | | | | | 7350: Update pico-args r=matklad a=kjeremy Should maintain existing behavior Co-authored-by: kjeremy <[email protected]>
| * | Update pico-argskjeremy2021-01-192-9/+16
| |/ | | | | | | Should maintains existing behavior
* | Avoid intermediate collectionsAleksey Kladov2021-01-201-26/+20
| |
* | Don't show runnable suggestions for other filesAleksey Kladov2021-01-201-3/+32
| | | | | | | | | | It't be actually great to have these once we have run anything dialog, but for run the thing at point it makes sense to show a limited set.
* | :arrow_up: rowanAleksey Kladov2021-01-206-15/+9
| | | | | | | | It now stores text inline with tokens
* | .Aleksey Kladov2021-01-1927-65/+69
| |
* | Merge #7352bors[bot]2021-01-194-6/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 7352: :arrow_up: rowan r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | :arrow_up: rowanAleksey Kladov2021-01-194-6/+7
| |/
* | Merge #7351bors[bot]2021-01-194-12/+41
|\ \ | |/ |/| | | | | | | | | | | | | | | 7351: Show const params in completions r=Veykril a=Veykril bors r+ ![image](https://user-images.githubusercontent.com/3757771/105080872-bba76680-5a91-11eb-91cd-0910da4c8312.png) Co-authored-by: Lukas Wirth <[email protected]>
| * Show const params in completionsLukas Wirth2021-01-194-12/+41
| |
* | Reduce TokenMap sizeEdwin Cheng2021-01-191-10/+16
| |
* | Merge #7321bors[bot]2021-01-192-73/+136
|\ \ | | | | | | | | | | | | | | | | | | | | | 7321: Support runnables in macros r=matklad a=edwin0cheng fixes #4771 Co-authored-by: Edwin Cheng <[email protected]>
| * | Support runnables in macrosEdwin Cheng2021-01-192-73/+136
| | |
* | | Merge #7342bors[bot]2021-01-198-36/+78
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7342: Show deprecated completions for deprecated traits r=kjeremy a=SomeoneToIgnore TIL that there are two kinds of deprecation tags and a few details about String methods. <img width="472" alt="Screenshot 2021-01-19 at 01 11 38" src="https://user-images.githubusercontent.com/2690773/104970200-569d3380-59f3-11eb-9ee3-627b3c8a5c9d.png"> Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Show deprecated completions for deprecated traitsKirill Bulatov2021-01-188-28/+69
| | | |
| * | | Consider rustc_deprecated attr when checking for deprecationKirill Bulatov2021-01-181-8/+9
| | |/ | |/|
* | | Merge #7341bors[bot]2021-01-183-2/+7
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7341: Fix warnings when running `cargo doc --document-private-items` r=Veykril a=jyn514 These were the warnings previously: <details> ``` warning: could not parse code block as Rust code --> crates/stdx/src/lib.rs:137:9 | 137 | /// ∀ x in slice[..idx]: pred(x) | _________^ 138 | | /// && ∀ x in slice[idx..]: !pred(x) | |____^ | = note: error from rustc: unknown start of token: \u{2200} warning: 1 warning emitted warning: unresolved link to `package` --> crates/base_db/src/input.rs:181:15 | 181 | /// it's [package].name, can be different for other project types or even | ^^^^^^^ no item named `package` in scope | = note: `#[warn(broken_intra_doc_links)]` on by default = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` warning: unresolved link to `package` --> crates/base_db/src/input.rs:181:15 | 181 | /// it's [package].name, can be different for other project types or even | ^^^^^^^ no item named `package` in scope | = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` warning: 2 warnings emitted warning: unresolved link to `package` --> crates/base_db/src/input.rs:181:15 | 181 | /// it's [package].name, can be different for other project types or even | ^^^^^^^ no item named `package` in scope | = note: `#[warn(broken_intra_doc_links)]` on by default = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` warning: unresolved link to `package` --> crates/base_db/src/input.rs:181:15 | 181 | /// it's [package].name, can be different for other project types or even | ^^^^^^^ no item named `package` in scope | = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` warning: 2 warnings emitted ``` </details> This does *not* fix the following warning, because it is actually rust code and rustdoc is being over eager: ``` warning: Rust code block is empty --> crates/parser/src/grammar.rs:16:5 | 16 | //! ``` | _____^ 17 | | //! // test function_with_zero_parameters 18 | | //! // fn foo() {} 19 | | //! ``` | |_______^ | help: mark blocks that do not contain Rust code as text | 16 | //! ```text | ^^^^^^^ ``` https://github.com/rust-lang/rust/pull/79816 should make this configurable so the warning can be `allow`ed. Co-authored-by: Joshua Nelson <[email protected]>
| * | Fix warnings when running `cargo doc --document-private-items`Joshua Nelson2021-01-183-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were the warnings previously: ``` warning: could not parse code block as Rust code --> crates/stdx/src/lib.rs:137:9 | 137 | /// ∀ x in slice[..idx]: pred(x) | _________^ 138 | | /// && ∀ x in slice[idx..]: !pred(x) | |____^ | = note: error from rustc: unknown start of token: \u{2200} warning: 1 warning emitted warning: unresolved link to `package` --> crates/base_db/src/input.rs:181:15 | 181 | /// it's [package].name, can be different for other project types or even | ^^^^^^^ no item named `package` in scope | = note: `#[warn(broken_intra_doc_links)]` on by default = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` warning: unresolved link to `package` --> crates/base_db/src/input.rs:181:15 | 181 | /// it's [package].name, can be different for other project types or even | ^^^^^^^ no item named `package` in scope | = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` warning: 2 warnings emitted warning: unresolved link to `package` --> crates/base_db/src/input.rs:181:15 | 181 | /// it's [package].name, can be different for other project types or even | ^^^^^^^ no item named `package` in scope | = note: `#[warn(broken_intra_doc_links)]` on by default = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` warning: unresolved link to `package` --> crates/base_db/src/input.rs:181:15 | 181 | /// it's [package].name, can be different for other project types or even | ^^^^^^^ no item named `package` in scope | = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` warning: 2 warnings emitted ``` This does *not* fix the following warning, because it is actually rust code and rustdoc is being over eager: ``` warning: Rust code block is empty --> crates/parser/src/grammar.rs:16:5 | 16 | //! ``` | _____^ 17 | | //! // test function_with_zero_parameters 18 | | //! // fn foo() {} 19 | | //! ``` | |_______^ | help: mark blocks that do not contain Rust code as text | 16 | //! ```text | ^^^^^^^ ``` https://github.com/rust-lang/rust/pull/79816 should make this configurable so the warning can be `allow`ed.
* | | Merge #7340bors[bot]2021-01-183-38/+20
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7340: Remove obsolete RangeInfo usage in references r=Veykril a=Veykril Didn't even realize these were only here for renaming as well! bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Remove obsolete RangeInfo usage in referencesLukas Wirth2021-01-183-38/+20
| | | |
* | | | Merge #7336bors[bot]2021-01-1810-39/+35
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7336: Rename `CrateDefMap` to `DefMap` r=matklad a=jonas-schievink I propose handling local items by computing a `DefMap` for every block expression, using the regular (early) name resolution algorithm. The result of that will be a `DefMap` that has a reference to the parent `DefMap`, which is either the one computed for the containing block expression, or the crate's root `DefMap`. Name resolution will fall back to a name in the parent `DefMap` if it cannot be resolved in the inner block. The `DefMap`s computed for block expressions will go through a separate query that can be garbage-collected much more aggressively, since these `DefMap`s should be cheap to compute and are never part of a crate's public API. The first step towards that is to make `CrateDefMap` not specific to crates anymore, hence this rename (if this plans sounds reasonable). cc https://github.com/rust-analyzer/rust-analyzer/issues/7325 and https://github.com/rust-analyzer/rust-analyzer/issues/1165 Co-authored-by: Jonas Schievink <[email protected]>
| * | | | Rename `CrateDefMap` to `DefMap`Jonas Schievink2021-01-1810-39/+35
| | | | |
* | | | | Merge #7339bors[bot]2021-01-181-3/+6
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7339: Delete optional arg for inline attr and add doc alias attr completion r=lnicola a=bnjjj close #7167 Co-authored-by: Benjamin Coenen <[email protected]>
| * | | | Delete optional arg for inline attr and add doc alias attr completion #7167Benjamin Coenen2021-01-181-3/+6
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| | | | |
| \ \ \ \
*-. \ \ \ \ Merge #7297 #7338bors[bot]2021-01-1821-285/+882
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7297: Propose trait associated items and autoimport traits on completion r=matklad a=SomeoneToIgnore ![trait_imports](https://user-images.githubusercontent.com/2690773/104819998-6faeb480-583a-11eb-8b45-b7351b51b90e.gif) Closes #7248 7338: Parse `impl const Trait` r=Veykril a=Veykril Closes #7313 bors r+ Co-authored-by: Kirill Bulatov <[email protected]> Co-authored-by: Lukas Wirth <[email protected]>
| | * | | | | Parse `impl const Trait`Lukas Wirth2021-01-183-0/+29
| | | | | | |
| * | | | | | Small token fixKirill Bulatov2021-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | Properly resolve completion edits for empty inputKirill Bulatov2021-01-172-35/+46
| | | | | | |
| * | | | | | Do trait solving in batchKirill Bulatov2021-01-171-95/+97
| | | | | | |
| * | | | | | Draft the working completionKirill Bulatov2021-01-173-27/+168
| | | | | | |
| * | | | | | Add flyimport completion for trait assoc itemsKirill Bulatov2021-01-1618-248/+662
| | | | | | |
* | | | | | | Remove obsolete RangeInfo usage in renameLukas Wirth2021-01-184-169/+151
| |_|_|_|/ / |/| | | | |
* | | | | | Merge #7332bors[bot]2021-01-182-164/+210
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7332: Rename reference search uses ide_db::search directly r=matklad a=Veykril https://github.com/rust-analyzer/rust-analyzer/pull/7251#discussion_r556644241 Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | Make rename reference search use ide_db::search directlyLukas Wirth2021-01-182-164/+210
| | |/ / / | |/| | |
* | | | | Add back jemalloc supportJonas Schievink2021-01-184-1/+18
| | | | |
* | | | | cargo updatekjeremy2021-01-181-4/+4
| | | | | | | | | | | | | | | | | | | | Update test_serialize_proc_macro for new serde version
* | | | | Merge #7331bors[bot]2021-01-182-1/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7331: shrink_to_fit `TokenMap`'s backing storage r=jonas-schievink a=jonas-schievink Reduces `HygieneFrameQuery`'s memory usage by like 10 MB or so bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | | | shrink_to_fit `TokenMap`'s backing storageJonas Schievink2021-01-182-1/+5
| | | | | |
* | | | | | Merge #7326bors[bot]2021-01-181-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7326: Use `is_ident` when converting Path to an Identifier r=edwin0cheng a=kevaundray Co-authored-by: Kevaundray Wedderburn <[email protected]>
| * | | | | | cargo fmtKevaundray Wedderburn2021-01-181-1/+1
| | | | | | |
| * | | | | | use `is_ident` methodKevaundray Wedderburn2021-01-181-2/+2
| | | | | | |
* | | | | | | Merge #7329bors[bot]2021-01-181-0/+20
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7329: Add test for reference search on self declaration param r=Veykril a=Veykril Closes #7316 bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | | Add test for reference search on self declaration paramLukas Wirth2021-01-181-0/+20
| | | | | | |
* | | | | | | Merge #7327bors[bot]2021-01-181-9/+1
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7327: Remove `item_tree::Expr` r=jonas-schievink a=jonas-schievink It's empty and unused bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | | | | Remove `item_tree::Expr`Jonas Schievink2021-01-181-9/+1
| | |/ / / / | |/| | | | | | | | | | | | | | | | It's empty and unused