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 ddce6bb282
.
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
Aleksey Kladov
add87f5424
Avoid blocking the main loop when editing Cargo.toml
...
I've noticed a bunch of "main loop too long" warnings in console when
typing in Cargo.toml. Profiling showed that the culprit is `rustc
--print cfg` call.
I moved it to the background project loading phase, where it belongs.
This highlighted a problem: we generally use single `cfg`, while it
really should be per crate.
2021-01-18 14:52:12 +03:00
Aleksey Kladov
cc963d2b11
Add profile call
2021-01-18 14:01:52 +03:00
Aleksey Kladov
e13065b8ac
Add profile call
2021-01-18 13:30:12 +03:00
Edwin Cheng
2b2d699b35
Report progress for cargo metadata and output-dir
2021-01-08 01:18:58 +08:00
Jeremy Kolb
26a1675764
Remove some redundant allocations
2020-12-12 12:27:09 -05:00
Jonas Schievink
eeeacc4727
Apply environment set by build scripts
2020-12-07 20:52:31 +01:00
Jonas Schievink
2b2318e695
Remove dummy ProcMacroClient in favor of Option
2020-12-07 17:16:50 +01:00
Aleksey Kladov
e88b5fe916
Simplify
2020-11-17 15:25:58 +01:00