WIP: move the 'record all toolstates' list into rustbuild #74389
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.
Currently, we still build Miri on beta/stable branches to record its toolstate. That seems rather unnecessary. This is a beginning of an attempt to fix that.
However, I think I have to give up here... I have no idea if this
execute_cli_for_paths
makes any sense; the control flow in rustbuild is entirely impossible to follow.^^ For some reason--dry-run
does not work for my new target (it does nothing). Maybe that is because of thisexecute_cli
; I tried to understand the existingdry_run
logic but it is very strange (if this is not a dry run then the first thing we do is setdry_run
to true?!??) and there are no comments explaining what happens.I am pretty sure what I have so far is wrong; the code in
toolstate.rs
all assumes that all tools have a state recorded in the JSON:rust/src/bootstrap/toolstate.rs
Line 182 in c724b67
and this loop looks like it makes similar assumptions:
rust/src/bootstrap/toolstate.rs
Line 125 in c724b67
@Mark-Simulacrum I think someone who actually understands the maze that is rustbuild needs to complete this. It would take me forever to figure this all out, I have no idea how to test any of this with reasonable effort, and it's just not enough of a problem I think to warrant that amount of effort.