Don’t swallow virtual manifest parsing errors #4828
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.
Before this change,
cargo::util::toml::do_read_manifest
ended like this:Errors returned by
to_virtual_manifest
were always ignored. As a result, when something was wrong in a virtual manifest, Cargo would unhelpfully exit with no more output than:http://doc.crates.io/manifest.html#virtual-manifest defines a virtual manifest as “the
package
table is not present”, so let’s first determine if a manifest is virtual based on that criteria, and then only call one of the two methods.Although it is not mentioned in the documentation,
[project]
seems to be in the code an alias for[package]
. So let’s preserve that here too.