diff options
| author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-08-12 19:45:06 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-12 19:45:06 +0000 |
| commit | 4466e07fd7713a03a19fbbf387d32547a7fa53b1 (patch) | |
| tree | 34b3d7077302c4ab4fbb594af08c1a401c0e2054 | |
| parent | baf149437452f6aec9f873bb312723bf62cb3a74 (diff) | |
| parent | 6f579c4862b985afeb5249cc669e4dc558f7c2bc (diff) | |
Merge #9874
9874: fix: Always add implicit `proc_macro` dependency r=jonas-schievink a=jonas-schievink Even crates that don't set `proc-macro = true` are allowed to depend on `proc_macro` (just none of the APIs work when called outside of a proc macro). Fixes https://github.com/rust-analyzer/rust-analyzer/issues/9857 bors r+ Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
| -rw-r--r-- | crates/project_model/src/workspace.rs | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/crates/project_model/src/workspace.rs b/crates/project_model/src/workspace.rs index bfc0f144aac..898df83d620 100644 --- a/crates/project_model/src/workspace.rs +++ b/crates/project_model/src/workspace.rs @@ -533,15 +533,13 @@ fn cargo_to_crate_graph( lib_tgt = Some((crate_id, cargo[tgt].name.clone())); pkg_to_lib_crate.insert(pkg, crate_id); } - if cargo[tgt].is_proc_macro { - if let Some(proc_macro) = libproc_macro { - add_dep( - &mut crate_graph, - crate_id, - CrateName::new("proc_macro").unwrap(), - proc_macro, - ); - } + if let Some(proc_macro) = libproc_macro { + add_dep( + &mut crate_graph, + crate_id, + CrateName::new("proc_macro").unwrap(), + proc_macro, + ); } pkg_crates.entry(pkg).or_insert_with(Vec::new).push((crate_id, cargo[tgt].kind)); |
