bors[bot]
38b108c20e
Merge #6935
...
6935: Don't look at attributes when lowering to ItemTree r=jonas-schievink a=jonas-schievink
Resolves 2 `cfg_attr` FIXMEs
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com >
2020-12-18 19:38:07 +00:00
Jonas Schievink
77972e2001
Don't look at attributes when lowering to ItemTree
...
Resolves 2 `cfg_attr` FIXMEs
2020-12-18 20:37:26 +01:00
bors[bot]
c073e4f6ba
Merge #6934
...
6934: Implement `cfg_attr` handling r=jonas-schievink a=jonas-schievink
Part of https://github.com/rust-analyzer/rust-analyzer/issues/5548
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com >
2020-12-18 19:27:18 +00:00
Jonas Schievink
aab9cc9cfb
Hit a mark
2020-12-18 20:25:41 +01:00
Jonas Schievink
382ee2fa03
Add test
2020-12-18 20:01:02 +01:00
Jonas Schievink
d42d1d33f0
Fix parsing of active cfg_attr
2020-12-18 20:00:59 +01:00
Aleksey Kladov
ade2f5cd12
Reduce test verbosity
2020-12-18 21:26:47 +03:00
Aleksey Kladov
0e3581e823
NavTarget doesn't assume that it points to a symbol
2020-12-18 21:15:48 +03:00
Jonas Schievink
08de1b4fa5
Implement RawAttr::filter
2020-12-18 18:58:42 +01:00
Aleksey Kladov
cd4a7bf36e
Minor, cleanup API
2020-12-18 19:50:00 +03:00
Aleksey Kladov
55ba353b39
Don't expose SyntaxKind from IDE API
...
SyntaxKind is somewhat of an internal type, but IDE is using it to
basically specify an icon. Let's have a dedicated entity for this
instead.
2020-12-18 19:28:48 +03:00
Aleksey Kladov
2465fa02b7
Cleaup imports
...
ide should re-export everything it needs.
2020-12-18 18:02:11 +03:00
Jesse Bakker
700034bd5a
Do not merge imports with different attributes
2020-12-18 15:29:37 +01:00
bors[bot]
f4929fa9cc
Merge #6901
...
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](479d1f7eec/crates/hir/src/has_source.rs (L116) ) line to panic.
This PR is a temp fix for all of these similar to bd4c352831/crates/completion/src/render/macro_.rs (L42)
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com >
2020-12-18 02:30:51 +00:00
Edwin Cheng
60a3785ac2
Temp fixes panic caused by no ast for proc-macro
2020-12-18 10:26:17 +08:00
Jonas Schievink
4f07d8dd58
Refactor attributes API to allow handling cfg_attr
2020-12-18 02:24:14 +01:00
Kirill Bulatov
9d2cbf05e3
Show first fuzzy completions fully containing the input
2020-12-17 23:10:18 +02:00
bors[bot]
b55cb897e5
Merge #6912
...
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 <jongje@amazon.com >
Co-authored-by: Jon Gjengset <jon@thesquareplanet.com >
2020-12-17 18:32:13 +00:00
Jon Gjengset
faed47b3d3
Fun times with rustfmt
2020-12-17 10:24:58 -08:00
Jon Gjengset
71478e067b
Update crates/project_model/src/cargo_workspace.rs
...
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com >
2020-12-17 13:18:23 -05:00
bors[bot]
b0e5d1efdb
Merge #6920
...
6920: Minor API cleanup r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com >
2020-12-17 17:18:50 +00:00
Aleksey Kladov
30216880c4
Minor API cleanup
2020-12-17 20:14:13 +03:00
Aleksey Kladov
c888f1de6f
Rewrite doctest runnables
...
Handle more cases in a generic way without copy-pasting code.
2020-12-17 20:11:40 +03:00
Aleksey Kladov
0da1532ef2
Minor code style
2020-12-17 20:10:39 +03:00
kjeremy
d828bd794b
LSP 3.16 - Released
2020-12-17 11:33:35 -05:00
Jonas Schievink
9231821c03
Make Attrs::from_attrs_owner private
2020-12-17 15:45:26 +01:00
Jonas Schievink
eaeabbb815
Add AttrDefId::krate
...
Access to the containing crate will be needed to handle `cfg_attr`
2020-12-17 14:29:29 +01:00
Aleksey Kladov
2ae31e34b1
Rename ImplDef -> Impl
...
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!
2020-12-17 14:36:15 +03:00
bors[bot]
d641bccb0f
Merge #6907
...
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 <lukastw97@gmail.com >
2020-12-17 11:00:39 +00:00
Jon Gjengset
9802c0ccd0
Default to host platform for cargo metadata
...
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 .
2020-12-16 17:38:37 -08:00
Jonas Schievink
6615fda695
decl_check: don't pass db around so often
2020-12-17 01:19:56 +01:00
Jonas Schievink
21b68a328c
Remove module_lang_items
...
It isn't used anywhere except in `crate_lang_items`. Remove it to
slightly reduce memory usage and simplify the code.
2020-12-17 00:26:01 +01:00
Jonas Schievink
28b5334580
Avoid querying attributes in item tree lowering
...
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.
2020-12-16 23:42:03 +01:00
Lukas Wirth
55faa2daa3
Lifetime reference search
2020-12-16 22:21:01 +01:00
bors[bot]
067067a6c1
Merge #6896
...
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 <jonasschievink@gmail.com >
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com >
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2020-12-16 17:08:03 +00:00
bors[bot]
63bbdb31e5
Merge #6897
...
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 <jonasschievink@gmail.com >
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com >
2020-12-16 16:52:46 +00:00
Lukas Wirth
dd496223f5
Node-ify lifetimes
2020-12-16 14:16:09 +01:00
bors[bot]
c1c36acb02
Merge #6861
...
6861: generate default implementation for an enum from an enum variant #6860 r=matklad a=bnjjj
close #6860
Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com >
2020-12-16 08:36:05 +00:00
bors[bot]
ece626fe81
Merge #6894
...
6894: Parenthesize composite if condition before inverting in invert-if assist r=matklad a=Jesse-Bakker
Fixes #6867
Co-authored-by: Jesse Bakker <github@jessebakker.com >
2020-12-16 08:20:11 +00:00
Benjamin Coenen
2c82a1aec7
generate default implementation for an enum from an enum variant #6860
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com >
2020-12-15 21:35:41 +01:00
Jonas Schievink
b238ddd21a
Make macro def krate mandatory
...
Refactors builtin derive support to go through proper name resolution
2020-12-15 20:33:05 +01:00
Jonas Schievink
c31c3246a8
Basic support for decl macros 2.0
2020-12-15 18:43:34 +01:00
bors[bot]
eb9ba457b0
Merge #6879
...
6879: Change HasChildSource::ChildId assoc item to generic param r=matklad a=Veykril
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2020-12-15 17:22:03 +00:00
Lukas Wirth
2c67a4abe4
Change HasChildSource::ChildId assoc item to generic param
2020-12-15 18:21:01 +01:00
Jesse Bakker
0f42a71806
Parenthesize composite if condition before inverting in invert-if assist
2020-12-15 16:25:57 +01:00
Jonas Schievink
479babf874
Reject visibilities on macro_rules!
2020-12-15 15:37:49 +01:00
Jonas Schievink
c1cb595382
Move to upstream macro_rules! model
2020-12-15 15:37:37 +01:00
bors[bot]
39aae835fd
Merge #6886
...
6886: Expand statements for macros in lowering r=matklad a=edwin0cheng
Fixes #6811
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com >
2020-12-15 12:41:07 +00:00
bors[bot]
435d46b183
Merge #6888
...
6888: Use standard test style r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com >
2020-12-15 12:34:37 +00:00
Edwin Cheng
1f4da7098c
Remove obsolete comment
2020-12-15 17:25:59 +08:00