aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Do not merge imports with different attributesJesse Bakker2020-12-182-1/+28
|/ /
* | Merge #6901bors[bot]2020-12-184-1/+22
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 6901: Temp fixes panic caused by no ast for proc-macro r=maklad a=edwin0cheng There are some panic when hover/goto definition for proc-macro. It is because in current design, we don't have `ast-node` for proc-macro and then it trigger [this](https://github.com/rust-analyzer/rust-analyzer/blob/479d1f7eec22c3564867223e2093f14774092528/crates/hir/src/has_source.rs#L116) line to panic. This PR is a temp fix for all of these similar to https://github.com/rust-analyzer/rust-analyzer/blob/bd4c352831662762ee7a66da77ec9adf623b0a0a/crates/completion/src/render/macro_.rs#L42 Co-authored-by: Edwin Cheng <[email protected]>
| * | Temp fixes panic caused by no ast for proc-macroEdwin Cheng2020-12-184-1/+22
| | |
* | | Merge #6924bors[bot]2020-12-188-114/+187
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6924: Refactor attributes API to allow handling cfg_attr later r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Refactor attributes API to allow handling cfg_attrJonas Schievink2020-12-188-114/+187
|/ / /
* | | Merge #6922bors[bot]2020-12-171-5/+14
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6922: Show first fuzzy completions fully containing the input r=matklad a=SomeoneToIgnore Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Show first fuzzy completions fully containing the inputKirill Bulatov2020-12-171-5/+14
|/ / /
* | | Merge #6912bors[bot]2020-12-171-2/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6912: Default to host platform for cargo metadata r=jonhoo a=jonhoo This modifies the logic for calling cargo metadata so that it will use the host platform if no explicit target platform is given. This is needed since cargo metadata defaults to outputting information for _all_ targets. Fixes #6908. Co-authored-by: Jon Gjengset <[email protected]> Co-authored-by: Jon Gjengset <[email protected]>
| * | | Fun times with rustfmtJon Gjengset2020-12-171-2/+1
| | | |
| * | | Update crates/project_model/src/cargo_workspace.rsJon Gjengset2020-12-171-1/+1
| | | | | | | | | | | | Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Default to host platform for cargo metadataJon Gjengset2020-12-171-2/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This modifies the logic for calling cargo metadata so that it will use the host platform if no explicit target platform is given. This is needed since cargo metadata defaults to outputting information for _all_ targets. Fixes #6908.
* | | | Merge #6920bors[bot]2020-12-171-4/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6920: Minor API cleanup r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Minor API cleanupAleksey Kladov2020-12-171-4/+2
| | | | |
* | | | | Merge #6919bors[bot]2020-12-172-121/+89
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6919: Rewrite doctest runnables r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Rewrite doctest runnablesAleksey Kladov2020-12-172-107/+83
| | | | | | | | | | | | | | | | | | | | Handle more cases in a generic way without copy-pasting code.
| * | | | Minor code styleAleksey Kladov2020-12-171-27/+19
|/ / / /
* | | | Merge #6779bors[bot]2020-12-176-37/+54
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6779: Latest LSP 3.16 r=kjeremy a=kjeremy Companion to gluon-lang/lsp-types#192 Co-authored-by: kjeremy <[email protected]>
| * | | | LSP 3.16 - Releasedkjeremy2020-12-176-37/+54
|/ / / /
* | | | 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]>