rust/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 '574e23ec508064613783cba3d1833a95fd9a5080' 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
limit
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 '574e23ec508064613783cba3d1833a95fd9a5080' into sync-from-ra 2024-03-10 08:47:38 +02:00
paths
proc-macro-api Merge commit '574e23ec508064613783cba3d1833a95fd9a5080' 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
profile Merge commit '574e23ec508064613783cba3d1833a95fd9a5080' 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 '574e23ec508064613783cba3d1833a95fd9a5080' into sync-from-ra 2024-03-10 08:47:38 +02:00
sourcegen
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 '574e23ec508064613783cba3d1833a95fd9a5080' into sync-from-ra 2024-03-10 08:47:38 +02:00
test-utils
text-edit
toolchain Merge commit '574e23ec508064613783cba3d1833a95fd9a5080' 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 '574e23ec508064613783cba3d1833a95fd9a5080' into sync-from-ra 2024-03-10 08:47:38 +02:00
vfs-notify