aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge #6916bors[bot]2020-12-174-40/+13
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6916: Make `Attrs::from_attrs_owner` private r=matklad a=jonas-schievink It is only meant for use inside `hir` crates. Removes `docs_from_symbol`, which didn't seem to have any visible effect in VS Code. Co-authored-by: Jonas Schievink <[email protected]>
| * | | | Make `Attrs::from_attrs_owner` privateJonas Schievink2020-12-174-40/+13
|/ / / /
* | | | Merge #6915bors[bot]2020-12-171-0/+30
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6915: Add `AttrDefId::krate` r=jonas-schievink a=jonas-schievink Access to the containing crate will be needed to handle `cfg_attr`. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Add `AttrDefId::krate`Jonas Schievink2020-12-171-0/+30
|/ / / | | | | | | | | | Access to the containing crate will be needed to handle `cfg_attr`
* | | Merge #6914bors[bot]2020-12-1712-31/+31
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6914: Rename ImplDef -> Impl r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Rename ImplDef -> ImplAleksey Kladov2020-12-1712-31/+31
|/ / / | | | | | | | | | | | | | | | We used to have `Def` suffix for all symbols, but we moved off from that. `FunctionDef` isn't better than `Function`. Looks like we've forgot to change `Impl` though!
* | | Merge #6907bors[bot]2020-12-1712-41/+373
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6907: Lifetime reference search r=matklad a=Veykril PR #6787 but rewritten to make use of the HIR now. This only applies to Lifetimes, not labels. Also Higher-Ranked Trait Bounds aren't supported yet, but I feel like this PR is big enough as is which is why I left them out after noticing I forgot about them. Supporting renaming required slight changes in the renaming module as lifetime names aren't allowed for anything but lifetimes(and labels) and vice versa for normal names. Co-authored-by: Lukas Wirth <[email protected]>
| * | | Lifetime reference searchLukas Wirth2020-12-1612-41/+373
| | | |
* | | | Merge #6911bors[bot]2020-12-173-60/+68
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6911: decl_check: don't pass `db` around so often r=matklad a=jonas-schievink Instead, store it in the `DeclValidator`. Also pass the `CrateId` that defines the checked item along. This is not yet needed, but will be once I've refactored `Attrs` to handle `cfg_attr` internally. We could also try to extract the crate from the "owner" `ModuleDefId` instead of passing it in, but then it might not be present for builtin types. Open to suggestions. Co-authored-by: Jonas Schievink <[email protected]>
| * | | decl_check: don't pass `db` around so oftenJonas Schievink2020-12-173-60/+68
|/ / /
* | | Merge #6910bors[bot]2020-12-164-57/+32
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6910: Remove `module_lang_items` r=jonas-schievink a=jonas-schievink It isn't used anywhere except in `crate_lang_items`. Remove it to slightly reduce memory usage and simplify the code. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Remove `module_lang_items`Jonas Schievink2020-12-164-57/+32
|/ / / | | | | | | | | | | | | It isn't used anywhere except in `crate_lang_items`. Remove it to slightly reduce memory usage and simplify the code.
* | | Merge #6909bors[bot]2020-12-163-38/+28
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6909: Avoid querying attributes in item tree lowering r=jonas-schievink a=jonas-schievink ItemTree is per-file, so there is no unique crate associated with it. This means that it cannot know the active CfgOptions and thus couldn't handle `cfg_attr`. Prepare it for `cfg_attr`s by avoiding accessing attributes. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Avoid querying attributes in item tree loweringJonas Schievink2020-12-163-38/+28
|/ / | | | | | | | | | | | | | | ItemTree is per-file, so there is no unique crate associated with it. This means that it cannot know the active CfgOptions and thus couldn't handle `cfg_attr`. Prepare it for `cfg_attr`s by avoiding accessing attributes.
* | Merge #6896bors[bot]2020-12-1663-274/+420
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6896: Node-ify lifetimes r=jonas-schievink a=Veykril Let's see if this passes the tests 🤞 Depends on https://github.com/rust-analyzer/ungrammar/pull/15 Co-authored-by: Jonas Schievink <[email protected]> Co-authored-by: Jonas Schievink <[email protected]> Co-authored-by: Lukas Wirth <[email protected]>
| * | Node-ify lifetimesLukas Wirth2020-12-1663-274/+420
| | |
* | | Merge #6897bors[bot]2020-12-1623-68/+286
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6897: Basic support for macros 2.0 r=jonas-schievink a=jonas-schievink This adds support for (built-in-only) macros 2.0, and removes some hacks used for builtin derives, which are declared via macros 2.0 in libcore. First steps for https://github.com/rust-analyzer/rust-analyzer/issues/2248. Blocked on https://github.com/rust-analyzer/ungrammar/pull/16. Co-authored-by: Jonas Schievink <[email protected]> Co-authored-by: Jonas Schievink <[email protected]>
| * | Unpatch ungrammarJonas Schievink2020-12-162-2/+4
| | |
| * | Make macro def krate mandatoryJonas Schievink2020-12-1514-42/+91
| | | | | | | | | | | | Refactors builtin derive support to go through proper name resolution
| * | Basic support for decl macros 2.0Jonas Schievink2020-12-1515-28/+195
| | |
* | | Merge #6906bors[bot]2020-12-161-0/+14
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | 6906: Document new permissions r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Update docs/dev/README.mdAleksey Kladov2020-12-161-1/+1
| | | | | | | | | Co-authored-by: Lukas Wirth <[email protected]>
| * | Document new permissionsAleksey Kladov2020-12-161-0/+14
|/ /
* | Merge #6861bors[bot]2020-12-163-0/+204
|\ \ | | | | | | | | | | | | | | | | | | | | | 6861: generate default implementation for an enum from an enum variant #6860 r=matklad a=bnjjj close #6860 Co-authored-by: Benjamin Coenen <[email protected]>
| * | generate default implementation for an enum from an enum variant #6860Benjamin Coenen2020-12-151-4/+8
| | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | generate default implementation for an enum from an enum variant #6860Benjamin Coenen2020-12-151-22/+22
| | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | generate default implementation for an enum from an enum variant #6860Benjamin Coenen2020-12-143-0/+200
| | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | Merge #6894bors[bot]2020-12-163-0/+16
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6894: Parenthesize composite if condition before inverting in invert-if assist r=matklad a=Jesse-Bakker Fixes #6867 Co-authored-by: Jesse Bakker <[email protected]>
| * | | Parenthesize composite if condition before inverting in invert-if assistJesse Bakker2020-12-153-0/+16
| | | |
* | | | Merge #6879bors[bot]2020-12-154-23/+37
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 6879: Change HasChildSource::ChildId assoc item to generic param r=matklad a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * | | Change HasChildSource::ChildId assoc item to generic paramLukas Wirth2020-12-154-23/+37
| | | |
* | | | Merge #6893bors[bot]2020-12-1537-273/+335
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6893: Move to upstream `macro_rules!` model r=matklad a=jonas-schievink This changes `macro_rules!` from being treated as a macro invocation to being a first-class item. It also disallows using an additional ident argument for regular macros, so `m! ident(...);` now fails to parse. This matches upstream Rust, and makes the code somewhat simpler by removing repeated "is this a `macro_rules!` call" checks. It will also simplify allowing visibilities on macros, which is currently being proposed in https://github.com/rust-lang/rust/pull/78166. Co-authored-by: Jonas Schievink <[email protected]>
| * | | | Reject visibilities on `macro_rules!`Jonas Schievink2020-12-151-1/+13
| | | | |
| * | | | Move to upstream `macro_rules!` modelJonas Schievink2020-12-1536-272/+322
|/ / / /
* | | | Merge #6886bors[bot]2020-12-154-84/+163
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6886: Expand statements for macros in lowering r=matklad a=edwin0cheng Fixes #6811 Co-authored-by: Edwin Cheng <[email protected]>
| * | | | Remove obsolete commentEdwin Cheng2020-12-151-1/+0
| | | | |
| * | | | Add regression testEdwin Cheng2020-12-151-0/+24
| | | | |
| * | | | Expand statements for mbe in loweringEdwin Cheng2020-12-153-83/+139
| | |_|/ | |/| |
* | | | Merge #6888bors[bot]2020-12-151-62/+67
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6888: Use standard test style r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Use standard test styleAleksey Kladov2020-12-151-62/+67
| | | | |
* | | | | Merge #6889bors[bot]2020-12-152-0/+17
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6889: Resolve `macro-error` diagnostics on asm & llvm_asm r=matklad a=lf- We currently stub these out as returning unit. This fixes spurious RA `macro-error` diagnostics introduced somewhere around 0.2.400 in the following: ```rust unsafe { asm!(""); llvm_asm!(""); } ``` I'd ideally like to write a unit test for this, but I'm not familiar with where the tests for `hir_expand` are. Thanks to @edwin0cheng for help on resolving this issue. Co-authored-by: lf- <[email protected]>
| * | | | | Resolve `macro-error` diagnostics on asm & llvm_asmlf-2020-12-152-0/+17
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently stub these out as returning unit. This fixes spurious RA diagnostics in the following: ```rust unsafe { asm!(""); llvm_asm!(""); } ```
* | | | | Merge #6887bors[bot]2020-12-151-4/+4
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6887: Add `#` to canonical test example r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Add `#` to canonical test exampleAleksey Kladov2020-12-151-4/+4
| | | | |
* | | | | Merge #6875bors[bot]2020-12-152-0/+130
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6875: Add find usages for enum constructors r=matklad a=sasurau4 Fix #2549 for enum Co-authored-by: Daiki Ihara <[email protected]>
| * | | | | Add find usages for enum constructorsDaiki Ihara2020-12-142-0/+130
| | |_|_|/ | |/| | |
* | | | | Merge #6885bors[bot]2020-12-151-0/+1
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6885: Add !language-configuration.json to .vscodeignore r=matklad a=bryangingechen #6840 added a `language-configuration.json` file to `package.json`, but because `.vscodeignore` was not updated, this file was not uploaded when the extension was published, leading to constant errors in the VS Code dev tools console: ``` [Extension Host] stack trace: Error: ENOENT: no such file or directory, open '/Users/-/.vscode/extensions/matklad.rust-analyzer-0.2.416/language-configuration.json' ``` Co-authored-by: Bryan Gin-ge Chen <[email protected]>
| * | | | add language-configuration.json to .vscodeignoreBryan Gin-ge Chen2020-12-151-0/+1
|/ / / /
* | | | Merge #6874bors[bot]2020-12-142-0/+11
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6874: Implement `module_path!()` r=jonas-schievink a=jonas-schievink Closes https://github.com/rust-analyzer/rust-analyzer/issues/6747 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | | Implement `module_path!()`Jonas Schievink2020-12-142-0/+11
| | |/ / | |/| |