fix(embedded): Don't create an intermediate manifest by epage · Pull Request #12268 · rust-lang/cargo (original) (raw)
What does this PR try to resolve?
More immediately, this is to unblock rust-lang/rust#112601
More generally, this gets us away from hackily writing out an out-of-line manifest from an embedded manifest. To parse the manifest, we have to write it out so our regular manifest
loading code could handle it. This updates the manifest parsing code to
handle it.
This doesn't mean this will work everywhere in all cases though. For
example, ephemeral workspaces parses a manifest from the SourceId and
these won't have valid SourceIds.
As a consequence, Cargo.lock and CARGO_TARGET_DIR are changing from being next to
the temp manifest to being next to the script. This still isn't the
desired behavior but stepping stones.
How should we test and review this PR?
A Commit at a time
Additional information
In production code, this does not conflict with #12255 (due to #12262) but in test code, it does.