Explicitly cargo update
in path dependency workspaces.
#901
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.
Resolves a variant of #167 described here:
#167 (comment)
This issue was observed during a CI run of #900, where an older
tokio-stream version was using a brand-new tokio with stronger
guarantees: several types had newly become
UnwindSafe
.Since the baseline tokio-stream was a registry version, it was using
a fresh lockfile with the latest dependencies. The current arm,
meanwhile, was a path dependency fixed to a specific commit, where
cargo had decided to reuse an older version of tokio without the
UnwindSafe
trait on those types.This presented as a (phantom) breaking change: the older tokio-stream's
types were
UnwindSafe
due to auto-trait propagation from a newer tokiowhile the newer tokio-stream with an older tokio did not have that trait.
The solution is to explicitly run
cargo update
inside path dependencyworkspaces we create. This way, both path dependency and index-based
rustdoc JSON generation happens with the latest versions of the target
library's own dependencies.