aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* | Merge #7361bors[bot]2021-01-201-4/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | 7361: bump serde r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | bump serdekjeremy2021-01-201-4/+4
| | |
* | | Merge #7360bors[bot]2021-01-2010-23/+31
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 7360: Make public DefMap fields private r=jonas-schievink a=jonas-schievink This gives us more freedom to change the implementation for name resolution within block expressions. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Make public DefMap fields privateJonas Schievink2021-01-2010-23/+31
|/ /
* | Merge #7350bors[bot]2021-01-205-25/+40
|\ \ | | | | | | | | | | | | | | | | | | | | | 7350: Update pico-args r=matklad a=kjeremy Should maintain existing behavior Co-authored-by: kjeremy <[email protected]>
| * | Update pico-argskjeremy2021-01-195-25/+40
| |/ | | | | | | Should maintains existing behavior
* | Merge #7357bors[bot]2021-01-202-23/+81
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 7357: Dont show runnables from nested mods r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Avoid intermediate collectionsAleksey Kladov2021-01-202-27/+53
| | |
| * | Don't show runnable suggestions for other filesAleksey Kladov2021-01-202-3/+35
| | | | | | | | | | | | | | | 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.
* | | Merge #7355bors[bot]2021-01-2032-82/+79
|\| | | | | | | | | | | | | | | | | | | | | | | | | | 7355: :arrow_up: rowan r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | :arrow_up: rowanAleksey Kladov2021-01-207-17/+12
| | | | | | | | | | | | It now stores text inline with tokens
| * | .Aleksey Kladov2021-01-1928-67/+69
|/ /
* | Merge #7352bors[bot]2021-01-195-36/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 7352: :arrow_up: rowan r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | :arrow_up: rowanAleksey Kladov2021-01-195-36/+11
| |/
* | 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
| |
* | Merge #7347bors[bot]2021-01-191-10/+16
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7347: Reduce TokenMap size r=edwin0cheng a=edwin0cheng Reduces HygieneFrameQuery's memory usage by to another 10 MB. cc #7331 bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * | 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 #7346bors[bot]2021-01-191-10/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7346: :arrow_up: rowan r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | :arrow_up: rowanAleksey Kladov2021-01-191-10/+4
|/ / /
* | | 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-1822-287/+884
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-184-2/+31
| | | | | | |
| * | | | | | 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
| | | | | | |
* | | | | | | Merge #7337bors[bot]2021-01-184-169/+151
|\ \ \ \ \ \ \ | |_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7337: Remove obsolete RangeInfo usage in rename r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | | 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
| | |/ / / | |/| | |
* | | | | Merge #7334bors[bot]2021-01-187-4/+94
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7334: Add back jemalloc support r=jonas-schievink a=jonas-schievink jemalloc is useful due to its introspection API, which allows obtaining quick and accurate memory usage statistics without running into `mallinfo`'s limitations. Co-authored-by: Jonas Schievink <[email protected]>
| * | | | | Add back jemalloc supportJonas Schievink2021-01-187-4/+94
|/ / / / /
* | | | | Merge #7333bors[bot]2021-01-182-38/+38
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7333: cargo update r=kjeremy a=kjeremy Update test_serialize_proc_macro for new serde version. I'm assuming the test update is legitimate but I would like someone to double check since I'm not familiar with this area. Co-authored-by: kjeremy <[email protected]>