Skip to content

cargo doesn't rerun build scripts when RUSTC is changed #10367

@jyn514

Description

@jyn514

Problem

The RUSTC env variable is provided to build scripts by cargo. According to the docs: https://doc.rust-lang.org/cargo/reference/build-scripts.html#rerun-if-env-changed

It is not necessary to use this for environment variables like TARGET that Cargo sets.

Cargo should rerun build scripts when rustc changes. I suspect this code needs to account for the path of the compiler, not just the version:

hash_rustc_version(bcx, &mut hasher);

See rust-lang/rust#93723 for a reproduction, but it's not anywhere close to minimal.

Steps

No response

Possible Solution(s)

No response

Notes

No response

Version

cargo 1.59.0-beta.5 (5ad495c68 2022-01-25)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-rebuild-detectionArea: rebuild detection and fingerprintingC-bugCategory: bugS-needs-designStatus: Needs someone to work further on the design for the feature or fix. NOT YET accepted.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions