aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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 #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]>
| * | | | | cargo updatekjeremy2021-01-182-38/+38
|/ / / / / | | | | | | | | | | | | | | | 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
* | | | | | Merge #7324bors[bot]2021-01-185-4/+37
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7324: Add `MacroType` r=jonas-schievink a=jonas-schievink Adds syntax-level support for macros in type position. Based on https://github.com/rust-analyzer/rust-analyzer/pull/7291 due to the ungrammar update Co-authored-by: Jonas Schievink <[email protected]>
| * | | | | Add `MacroType` syntaxJonas Schievink2021-01-185-4/+37
|/ / / / /
* | | | | Merge #7291bors[bot]2021-01-1828-168/+236
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7291: Wrap remaining self/super/crate in Name{Ref} r=matklad a=Veykril That should be the remaining special casing for `self` 🎉 Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | Wrap remaining self/super/crate in Name{Ref}Lukas Wirth2021-01-1528-168/+236
| | | | | |
* | | | | | Merge #7323bors[bot]2021-01-181-8/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7323: Minor r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | MinorAleksey Kladov2021-01-181-8/+5
| | | | | | |
* | | | | | | Merge #7322bors[bot]2021-01-181-1/+3
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7322: Use assert_never properly r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>