Closed kaimen-sano closed 6 months ago
Attention: Patch coverage is 96.85535%
with 5 lines
in your changes are missing coverage. Please review.
Project coverage is 88.25%. Comparing base (
dea7605
) to head (6850e45
). Report is 66 commits behind head on release/v2_contracts.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
reviewers: I would recommend filtering the commits when reviewing to only review the primary two commits. Use this link to do so!
Description and Motivation
rust-analyzer does not play well with circular dependencies. See https://github.com/rust-lang/rust-analyzer/issues/14167 for comments from many rust-analyzer maintainers around this issue.
Fundamentally, Cargo has (fragile) support for dev-dependencies having circular dependencies. This works because Cargo makes a distinction between the integration tests and the actual contract code. This allows us to not have circular dependencies when building our code, even though they may exist without an implementation akin to the Cargo build system.
Since rust-analyzer (and likely other tools in the Rust ecosystem) don't fare well with circular dependencies, we lift the relevant code up to separate crates (which only contain tests) to ensure there is no cyclic dependencies.
In the future, we could take a look at removing
white-whale-testing
, since it does not provide much value (and likely will lead to a higher chance of circular deps).Related Issues
Checklist:
Update index.md
)cargo fmt --all --
.cargo clippy -- -D warnings
.cargo schema
.