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

Avoid colliding with older Cargo fingerprint changes #8473

Merged
merged 1 commit into from
Jul 9, 2020

Commits on Jul 9, 2020

  1. Avoid colliding with older Cargo fingerprint changes

    The fingerprint format Cargo stores changed recently in a way that
    older Cargos cannot understand. Unfortunately though older Cargos are
    colliding on some compilation units trying to read the new format and
    they're bailing out. This commit fixes this issue by ensuring that the
    location for fingerprint metadata is different in older Cargos and newer
    Cargos.
    
    Fingerprint metadata is always stored in a location with a hash in the
    file name. This hash typically includes the hash of rustc's version
    information itself, but for units which don't have a `Metadata` it's a
    much simpler hash which is much more likely to collide with other
    versions of Cargo. The fix in this commit is to extract the metadata
    version that we're hashing to a constant, and then also hash it for
    generating a filesystem location to house fingerprint data for a unit
    that has no `Metadata`.
    
    Closes rust-lang#8472
    alexcrichton committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    15d4960 View commit details
    Browse the repository at this point in the history