Skip to content

Opening a project of a workspace checks the whole workspace #3975

@Ten0

Description

@Ten0

I have a workspace which contains a large number of crates.

Say I need to do the following, in that order:

  • Update lib L
  • Fix crate A to new interface of lib L
  • Fix crate B to new interface of lib L

(A and B do not depend on each other)

When I try to completely update crate A, I can't see warnings and in general I get errors from project B, which I haven't fixed yet. This is due to rust-analyzer watching the whole workspace, even though I have only opened the root of A, and the Cargo.toml at the root of my folder is that of A.

I would expect that the current behaviour only happens when I open my workspace folder, and that when I open a single project it doesn't try to build the whole workspace, allowing me to completely fix a crate before moving to the next.

This would also have other benefits:

  • Performance: my workspace being very large, I rarely work on all projects at once so I would gain time and space by not building all of it
  • Feature flags testing: a global cargo check does not behave the same way as individual checks: when running a workspace check, all feature flags required in any crate of the workspace are enabled for every crate of the workspace, while when running a crate check, only the flags required for that specific crate are enabled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    E-hardS-unactionableIssue requires feedback, design decisions or is blocked on other work

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions