Jonas Schievink
0cd24c14c5
Only add proc_macro
to prelude in proc-macro crates
2021-10-04 18:22:39 +02:00
Jonas Schievink
0e6922f8a8
Implicitly depend on test
2021-09-28 21:39:41 +02:00
Jonas Schievink
0b76b29512
support non-extern-prelude dependencies
2021-09-28 21:23:46 +02:00
Lukas Wirth
3987bf5d6f
Simplify
2021-09-19 19:00:06 +02:00
Jonas Schievink
e241015a75
Rename is_member
to is_local
2021-09-07 17:29:58 +02:00
bors[bot]
1636f61a15
Merge #10005
...
10005: Extend `CargoConfig.unset_test_crates` r=matklad a=regexident
This is to allow for efficiently disabling `#[cfg(test)]` on all crates (by passing `unset_test_crates: UnsetTestCrates::All`) without having to first load the crate graph, when using rust-analyzer as a library.
(FYI: The change doesn't seem to be covered by any existing tests.)
Co-authored-by: Vincent Esche <regexident@gmail.com>
2021-08-30 08:42:13 +00:00
Dezhi Wu
ba0947dded
switch log
crate to tracing
2021-08-30 15:11:42 +08:00
Vincent Esche
74880a10ae
Extend CargoConfig.unset_test_crates
to allow for efficiently disabling #[cfg(test)]
on all crates without having to first load the crate graph
2021-08-26 13:10:14 +02:00
Aleksey Kladov
881d71a489
internal: reduce crate interdependence
...
I don't think there's anything wrong with project_model depending on
proc_macro_api directly -- fundamentally, both are about gluing our pure
data model to the messy outside world.
However, it's easy enough to avoid the dependency, so why not.
As an additional consideration, `proc_macro_api` now pulls in `base_db`.
project_model should definitely not depend on that!
2021-08-22 13:32:00 +03:00
Aleksey Kladov
5cef007bff
internal: improve consistency
...
load and load_proc_macro do similar things
2021-08-22 13:15:18 +03:00
Aleksey Kladov
4924c24d91
fix: resolve core::arch module
...
See https://users.rust-lang.org/t/rust-analyzer-unable-to-resolve-target-specific-module/63797/4?u=matklad
The fix is to put all sysroot crates into the same source root
2021-08-20 17:01:27 +03:00
Jonas Schievink
6f579c4862
Always add implicit proc_macro
dependency
2021-08-12 21:42:14 +02:00
Toby Fleming
cb13e4a2ca
Rust project supports proc-macro dependent crates
2021-08-01 14:43:10 -07:00
Aleksey Kladov
493ed2c17b
internal: use types to remove some unwraps
2021-07-19 21:20:10 +03:00
Aleksey Kladov
b8b166e674
fix: potential bugs when build scripts do not match the current project
2021-07-18 13:13:03 +03:00
Aleksey Kladov
f4de2ece0d
internal: simplify handling of the build scripts
2021-07-18 11:29:22 +03:00
Aleksey Kladov
8f3335f5fb
internal: make it clearer where IO happens
2021-07-17 23:56:50 +03:00
Aleksey Kladov
8df38aa797
internal: make sure that proc macro machinery doesn't depend on cwd
2021-07-17 17:55:16 +03:00
Aleksey Kladov
9318c643f1
internal: make it easier to isolate IO
2021-07-17 17:55:16 +03:00
Laurențiu Nicola
cc54d2bbc6
Avoid redundant clone
2021-06-28 09:28:31 +03:00
rezural
f55b1d1e19
add extra include paths, if target's path is manually set in Cargo.toml to be
2021-06-22 08:59:57 +10:00
Jamie Cunliffe
ae823aa23f
Move features into potential_cfg_options
2021-06-21 17:54:05 +01:00
Jamie Cunliffe
284483b347
Improve completion of cfg attributes
...
The completion of cfg will look at the enabled cfg keys when
performing completion.
It will also look crate features when completing a feature cfg
option. A fixed list of known values for some cfg options are
provided.
For unknown keys it will look at the enabled values for that cfg key,
which means that completion will only show enabled options for those.
2021-06-21 17:47:00 +01:00
Jade
8b77e2692c
Implement a config override for the default #[cfg(test)] in cargo crates
...
Fixes crates which vanish when the 'test' cfg atom is set.
Fix #7243 .
Fix #9203 .
Fix #7225 .
2021-06-19 01:09:19 -07:00
Jade
1f6abb7fba
Fix libcore not being included in rust-lang/rust module tree
...
If you are opening libcore from rust-lang/rust as opposed to e.g.
goto definition from some other crate which would use the sysroot
instance of libcore, a `#![cfg(not(test))]` would previously have made
all the code excluded from the module tree, breaking the editor
experience.
This puts in a slight hack that checks for the crate name "core" and
turns off `#[cfg(test)]`.
2021-06-19 01:09:19 -07:00
Maan2003
c9b4ac5be4
clippy::redudant_borrow
2021-06-13 09:24:16 +05:30
Kirill Bulatov
5c0369b1d0
Add a FIXME
2021-05-24 14:52:57 +03:00
Kirill Bulatov
72594beca4
Deal with todos
2021-05-23 23:37:59 +03:00
Kirill Bulatov
de090749d9
Drag detached files towards loading
2021-05-23 22:46:20 +03:00
Kirill Bulatov
695569d978
Draft detached files retrieval
2021-05-23 22:46:20 +03:00
Jonas Schievink
a272cdfecd
Fix build script dependencies
2021-05-12 14:48:26 +02:00
Jonas Schievink
32560839d9
Use Cargo target name as crate name
2021-05-11 23:34:56 +02:00
Lukas Wirth
8989fb8315
Discover rustc_cfg through unstable cargo options
2021-05-08 18:17:18 +02:00
Aleksey Kladov
9ec5e6e4fd
Clearer naming
2021-04-06 16:22:26 +03:00
Daniel McNab
d0a51d710e
Never run cargo check on the rustc source
2021-03-08 16:42:18 +00:00
Daniel McNab
d5d406fa78
Only show directory name
2021-03-08 16:41:40 +00:00
Daniel McNab
bbecea03fd
Revert "Support disabling rustc build scripts"
...
This reverts commit ddce6bb282764692d53b719bff4c37e3512d4556.
2021-03-08 16:37:52 +00:00
Daniel McNab
ddce6bb282
Support disabling rustc build scripts
2021-03-08 09:05:19 +00:00
Daniel McNab
877f745551
Fix the comment
...
It's worse than I thought...
2021-03-07 13:13:54 +00:00
Daniel McNab
419b5a1bee
Extract the large nested block into a function
...
Also add some more detailed comments
Extract into function deleted the previous comments
2021-03-07 12:59:15 +00:00
Daniel McNab
9246df669a
Require opt in to rustc_private
...
This gives the advantage that
A future extension would be to check for `feature(rustc_private)` instead
2021-03-07 12:24:20 +00:00
Daniel McNab
71a254c1a1
Don't double analyse the same crate
2021-03-07 11:17:14 +00:00
Daniel McNab
b46605cfcd
Update crate graph to only use subcrates of rustc_driver
2021-03-07 10:18:01 +00:00
Daniel McNab
7513867aa2
If a manual dependency exists, don't overwrite
...
This is a hack to work around miri being included in
our analysis of rustc-dev
Really, we should probably use an include set of the actual root libraries
I'm not sure how those are determined however
2021-03-06 13:56:42 +00:00
Daniel McNab
1076d21fc0
Implement opt-in (and opt-out) rustc_private
2021-03-06 12:17:22 +00:00
Benjamin Bouvier
4a6e602c94
Allow automatically detect the rustc-src directory ( fixes #3517 ).
...
If the configured rustcSource is set to "discover", try to automatically
detect a source from the sysroot rustc directory.
2021-02-13 18:20:46 +01:00
Edwin Cheng
9358eecc04
Async Loading outdir and proc-macro
2021-01-29 01:04:14 +08:00
Aleksey Kladov
4b59c3a538
Make logger-based debugging more pleasant
2021-01-28 17:07:53 +03:00
Edwin Cheng
6bdb6786ba
Refactor build script data
2021-01-22 19:11:01 +08:00
Edwin Cheng
ac3ec18f4b
Added defined_features in PackageData
2021-01-21 19:12:19 +08:00