Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move the standard library to a separate workspace #128534

Merged
merged 4 commits into from
Aug 4, 2024

Commits on Aug 2, 2024

  1. Configuration menu
    Copy the full SHA
    7742be0 View commit details
    Browse the repository at this point in the history
  2. Move the standard library to a separate workspace

    This ensures that the Cargo.lock packaged for it in the rust-src
    component is up-to-date, allowing rust-analyzer to run cargo metadata on
    the standard library even when the rust-src component is stored in a
    read-only location as is necessary for loading crates.io dependencies of
    the standard library.
    
    This also simplifies tidy's license check for runtime dependencies as it
    can now look at all entries in library/Cargo.lock without having to
    filter for just the dependencies of runtime crates. In addition this
    allows removing an exception in check_runtime_license_exceptions that
    was necessary due to the compiler enabling a feature on the object crate
    which pulls in a dependency not allowed for the standard library.
    
    While cargo workspaces normally enable dependencies of multiple targets
    to be reused, for the standard library we do not want this reusing to
    prevent conflicts between dependencies of the sysroot and of tools that
    are built using this sysroot. For this reason we already use an unstable
    cargo feature to ensure that any dependencies which would otherwise be
    shared get a different -Cmetadata argument as well as using separate
    build dirs.
    
    This doesn't change the situation around vendoring. We already have
    several cargo workspaces that need to be vendored. Adding another one
    doesn't change much.
    
    There are also no cargo profiles that are shared between the root
    workspace and the library workspace anyway, so it doesn't add any extra
    work when changing cargo profiles.
    bjorn3 committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    1f3be75 View commit details
    Browse the repository at this point in the history
  3. Bless tests

    bjorn3 committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    feeeb5c View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2024

  1. Update incorrect comment

    bjorn3 committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    178886e View commit details
    Browse the repository at this point in the history