rust-analyzer/crates
bors 59b9cc17f9 Auto merge of #16871 - Veykril:dev-dependency-cycles, r=Veykril
fix: Skip problematic cyclic dev-dependencies

Implements a workaround for https://github.com/rust-lang/rust-analyzer/issues/14167, notably it does not implement the ideas surfaced in the issue, but takes a simpler to implement approach (and one that is more consistent).

Effectively, all this does is discard dev-dependency edges that go from a workspace library target to another workspace library target. This means, using a dev-dependency to another workspace member inside unit tests will always fail to resolve for r-a now, (instead of being order dependent and causing problems elsewhere) while things will work out fine in integration tests, benches, examples etc. This effectively acknowledges package cycles to be okay, but crate graph cycles to be invalid:

Quoting https://github.com/rust-lang/rust-analyzer/issues/14167#issuecomment-1864145772
> Though, if you have “package cycle” in integration tests, you’d have “crate cycle” in unit test.

We disallow the latter here, while continuing to support the former

(What's missing is to supress diagnostics for such unit tests, though not doing so might be a good deterrent, making devs avoid the pattern altogether)
2024-03-18 20:54:38 +00:00
..
base-db Merge commit '574e23ec50' into sync-from-ra 2024-03-10 08:47:38 +02:00
cfg Review Updates and added tests. 2024-03-11 11:05:59 -04:00
flycheck Show compilation progress in test explorer 2024-03-15 16:28:59 +03:30
hir remove redundant clone()s 2024-03-17 14:06:21 +01:00
hir-def Repalce Span with SyntaxContextId in MacroCallLoc 2024-03-15 12:47:05 +01:00
hir-expand Remove usages of SpanData where Span suffices 2024-03-15 13:02:40 +01:00
hir-ty Auto merge of #16852 - ShoyuVanilla:atpit, r=Veykril 2024-03-18 10:38:24 +00:00
ide Auto merge of #16860 - Veykril:macarons, r=Veykril 2024-03-18 09:14:08 +00:00
ide-assists fix: typo 2024-03-15 21:14:17 +08:00
ide-completion Auto merge of #16860 - Veykril:macarons, r=Veykril 2024-03-18 09:14:08 +00:00
ide-db Split SymbolKind::Function into Function and Method 2024-03-17 11:07:22 +01:00
ide-diagnostics Auto merge of #16861 - Veykril:macro-diag-exceptions, r=Veykril 2024-03-17 20:41:40 +00:00
ide-ssr internal: Improve rooted upmapping 2024-03-12 13:46:58 +01:00
intern Merge commit '426d2842c1' into sync-from-ra2 2024-01-03 11:35:07 +02:00
limit Merge commit 'ddf105b646' into sync-from-ra 2024-02-11 08:40:19 +02:00
load-cargo Auto merge of #16335 - lnicola:salsa-lz4-file-text, r=Veykril 2024-03-11 13:43:33 +00:00
mbe Remove usages of SpanData where Span suffices 2024-03-15 13:02:40 +01:00
parser Merge commit '574e23ec50' into sync-from-ra 2024-03-10 08:47:38 +02:00
paths Merge commit '4ef6a49b44' into sync-from-ra 2024-03-03 09:17:31 +02:00
proc-macro-api Merge commit '574e23ec50' into sync-from-ra 2024-03-10 08:47:38 +02:00
proc-macro-srv Remove dead test code 2024-03-14 16:24:51 +01:00
proc-macro-srv-cli Merge commit 'ddf105b646' into sync-from-ra 2024-02-11 08:40:19 +02:00
profile Merge commit '574e23ec50' into sync-from-ra 2024-03-10 08:47:38 +02:00
project-model Skip problematic cyclic dev-dependencies 2024-03-18 11:25:59 +01:00
rust-analyzer Auto merge of #16860 - Veykril:macarons, r=Veykril 2024-03-18 09:14:08 +00:00
salsa Merge commit '574e23ec50' into sync-from-ra 2024-03-10 08:47:38 +02:00
sourcegen Merge commit 'ddf105b646' into sync-from-ra 2024-02-11 08:40:19 +02:00
span Remove usages of SpanData where Span suffices 2024-03-15 13:02:40 +01:00
stdx Remove dead test code 2024-03-14 16:24:51 +01:00
syntax Generate AST in a more stable manner 2024-03-18 09:24:10 +01:00
test-fixture Merge commit '574e23ec50' into sync-from-ra 2024-03-10 08:47:38 +02:00
test-utils Merge commit 'ac998a74b3' into sync-from-ra 2024-02-18 09:41:20 +02:00
text-edit Merge commit 'ddf105b646' into sync-from-ra 2024-02-11 08:40:19 +02:00
toolchain Merge commit '574e23ec50' into sync-from-ra 2024-03-10 08:47:38 +02:00
tt feat: Support macro calls in eager macros for IDE features 2024-03-14 15:40:35 +01:00
vfs Merge commit '574e23ec50' into sync-from-ra 2024-03-10 08:47:38 +02:00
vfs-notify Merge commit 'a911652360' into sync-from-ra 2024-01-21 16:53:06 +02:00