aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
| | |/ / | |/| |
* | | | Merge #6862bors[bot]2020-12-148-39/+131
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 6862: Add LifetimeParam resolving to Semantics r=matklad a=Veykril This is stuff required for the lifetime references/definitions PR. I pulled this out to make it easier to review as well as because there is one thing that still has to be addressed which can be found in the review comments. Co-authored-by: Lukas Wirth <[email protected]>
| * | | Add LifetimeParam resolving to SemanticsLukas Wirth2020-12-148-39/+131
| | |/ | |/|
* | | Merge #6817bors[bot]2020-12-143-78/+36
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 6817: Replace goblin crate with object r=matklad a=lnicola Continuation of #4385. Co-authored-by: Laurențiu Nicola <[email protected]>
| * | Replace goblin crate with objectLaurențiu Nicola2020-12-133-78/+36
| | |
* | | Merge #6871bors[bot]2020-12-141-0/+2
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | 6871: Link config source r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Link config sourceAleksey Kladov2020-12-141-0/+2
|/ /
* | Merge #6858bors[bot]2020-12-131-0/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | 6858: Docs: Explain manual installation in VS Code r=lnicola a=cauthmann same as https://github.com/rust-analyzer/rust-analyzer.github.io/pull/81 , just against the correct repository this time Co-authored-by: Christian Authmann <[email protected]>
| * | Docs: Explain manual installation in VS CodeChristian Authmann2020-12-131-0/+17
| | |
* | | Merge #6840bors[bot]2020-12-132-0/+49
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 6840: Add a language configuration file for VS Code r=matklad a=dustypomerleau There has been recent discussion in #6451 and #6682 about the need to include angle brackets in auto-close and auto-surround functionality. This PR will accomplish that, but only for users of VS Code, as it uses the VS Code-specific `language-configuration.json` to get the job done. Since there are a large number of VS Code users in the Rust Analyzer cohort, it may be reasonable to fix the issue for them, while waiting on a more comprehensive solution in the language server. In addition to the usual brackets, I've added auto-closing of block comments. I avoided autoclosing single quotes, given that lifetimes are more common than chars. Co-authored-by: Dusty Pomerleau <[email protected]>