Default emit_rerun_if_env_changed
to true
#738
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As mentioned in #701 (comment), I don't think there's a reason to default this to false.
rerun-if-env-changed
is purely additive (unlikererun-if-changed
, which has a fairly good default cleared if you emit it at all), so it should never hurt.I've also added code to skip emitting it for vars that provided by cargo, otherwise every use of
cc
will end up withcargo:rerun-if-env-changed
invocations for pointless things likeDEBUG
,OPT_LEVEL
, and so on. I don't think these are likely to hurt anything, but they definitely don't help, and cargo's docs say not to.An alternative to this would be to add a different function for vars provided by cargo, but that sounds like a headache to maintain, as reviewers could easily not notice the wrong function getting called for a given variable.
I'd like to get this in before the release, but mostly for the change of the default (since changing this after the release would be breaking) rather than skipping the cargo vars (which is not actually necessary).