Update Rust crate guppy to v0.17.26#6
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
7621fc8 to
88de182
Compare
88de182 to
e36b29e
Compare
e36b29e to
2194198
Compare
2194198 to
633bd70
Compare
7d33f1b to
7a5d1e5
Compare
17d7663 to
9ecf354
Compare
9ecf354 to
b030d85
Compare
b030d85 to
18a4941
Compare
18a4941 to
55332de
Compare
55332de to
6c4fb77
Compare
6c4fb77 to
aa95009
Compare
db152e3 to
a5d2e5f
Compare
a5d2e5f to
ea4980c
Compare
ea4980c to
973490e
Compare
973490e to
84273a6
Compare
84273a6 to
175eacd
Compare
175eacd to
3c15302
Compare
3c15302 to
65df60d
Compare
65df60d to
d40dd9e
Compare
d40dd9e to
ff87053
Compare
ff87053 to
6ce0964
Compare
6ce0964 to
4829377
Compare
4829377 to
e7804ce
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR contains the following updates:
0.17.7→0.17.26Release Notes
guppy-rs/guppy (guppy)
v0.17.26: guppy 0.17.26Compare Source
Fixed
A node with a self-loop edge -- typically a package with a
pathdev-dependency on its own crate, or a feature node like
base/[base]arising from one -- was treated inconsistently by several APIs. The root
cause was that self-edges were counted as incoming edges in the SCC and
topological-sort machinery, which transitively confused everything built
on top:
Sccs::externals/ forward roots. Previously, a package whose onlyincoming edge was its own self-loop was excluded from the set of forward
roots, so callers iterating over
query_workspace().resolve().root_ids(_)did not see it, and forwardlink enumeration on it was broken. Now, self-loop edges no longer
disqualify a node from being a forward root: a single-node SCC is
external iff it has no incoming edges from outside its own SCC.
(#586)
TopoWithCycles::newfilteredself-looping nodes out of its root set for the same reason, dropping
them from the DFS and then placing them and their descendants at the
end of the topological order via a best-effort fallback. Now, the
root-set predicate accepts a node whose only incoming edge is its own
self-loop, so such nodes are visited in DFS order alongside other
roots. (#589)
Cycles::is_cyclicandfeature::Cycles::is_cyclic. Previously,these were reflexively
truefor every package or feature, regardlessof actual cycle membership. Now, they return
trueonly when theargument lies on a directed cycle: either in a multi-node SCC, or in a
single-node SCC with a self-loop edge. This is a behavior change, but
in the context of the rest of this release is being treated as a
bugfix. (#590)
Cycles::all_cyclesandfeature::Cycles::all_cycles. Previously,these reported only SCCs of two or more elements. Now, they also yield
single-node SCCs whose node has a self-loop edge, in topological order
alongside multi-node SCCs. This makes
all_cycles()andis_cyclic(x, x)agree on what counts as a cycle. (#590)FeatureGraphWarning::SelfLoop. Previously, this warning wasemitted for every self-loop edge in the feature graph, including
legitimate ones such as a path dev-dependency on the package's own
crate. Now, it is restricted to named-feature self-loops like
[features] a = ["a"], which really are user errors. (#592)Documentation
PackageGraph::directly_depends_onandFeatureGraph::directly_depends_on. Previously, both documentedthemselves as returning
falsewhen the two IDs were equal. Theimplementation has always called
dep_graph.contains_edge(a, b),which correctly returns
truefor self-loop edges, so thedocumentation contradicted the behavior. The documentation has now
been corrected to match.
FeatureGraph::directly_depends_on. Previously, the docstringread "returns true if
feature_ais a direct dependency offeature_b," with the operands inverted relative to the actualimplementation. Now the docstring reflects the implementation:
returns true if
feature_bis a direct dependency offeature_a.(#591)
Cycles] type-level documentation. Previously, the long-formdocumentation talked exclusively about multi-node cycles (like
serdeandserde_derive). It now also acknowledges single-nodeself-loop cycles as a case.
v0.17.25: guppy 0.17.25Compare Source
Added
Cargo metadata generated on Windows is now parseable on Unix. Windows paths are always normalized to forward slashes on Unix, which allows operations like
.parent()to work. (Cross-platform parsing is not fully tested yet so you might run into issues. Please file a bug if you do.)v0.17.24: guppy 0.17.24Compare Source
Added
Workspace::build_directory()returns the build directory for intermediate build artifacts (requires Cargo 1.91+).Workspace::default_members()andWorkspace::default_member_ids()iterate over workspace default members (requires Cargo 1.71+; returns empty iterator for older Cargo versions).PackageLink::registry()returns the registry URL for a dependency, if it uses a non-default registry.PackageLink::path()returns the file system path for path dependencies.v0.17.23: guppy 0.17.23Compare Source
Changed
cargo_metadataupdated to 0.23.0.v0.17.22: guppy 0.17.22Compare Source
Fixed
Replaced obsolete
doc_auto_cfgwithdoc_cfg, to fix Rust nightly builds with thedoc_cfgflag enabled.v0.17.21: guppy 0.17.21Compare Source
Changed
cargo_metadataupdated to 0.22.0.v0.17.20: guppy 0.17.20Compare Source
Changed
cargo_metadataupdated to 0.21.0.v0.17.19: guppy 0.17.19Compare Source
Changed
cargo_metadataupdated to 0.20.0.cargo_metadata. If you run into an error, please update your nightly toolchain. Nightly versions from at least 2024-07 do not appear to produce invalid metadata.v0.17.18: guppy 0.17.18Compare Source
Added
CargoSet::with_package_resolversupports passing in aPackageResolverfor additional dynamic filtering of dependency edges.CargoSet::target_linksandhost_linksreturn the set ofPackageLinkinstances followed on the target and host platforms, respectively.Thanks to anforowicz for these contributions!
v0.17.17: guppy 0.17.17Compare Source
Added
PlatformEval::target_specsto obtain the list ofTargetSpecinstances backing a platform evaluator. Thanks to anforowicz for the contribution!v0.17.16: guppy 0.17.16Compare Source
Added
BuildTarget::test_by_defaultreturns true if tests are run for a build target by default.BuildTarget::doc_by_defaultreturns true if documentation is enabled for a build target, respectively.Changed
BuildTarget::doc_testsis nowBuildTarget::doctest_by_default. The old name has been deprecated, but is kept around for compatibility.v0.17.15: guppy 0.17.15Compare Source
Added
BuildTarget::tests_enabledandBuildTarget::docs_enabledreturn true if tests and documentation is enabled for a build target, respectively.Changed
BuildTarget::doc_testsis nowBuildTarget::doc_tests_enabled. The old name has been deprecated, but is kept around for compatibility.v0.17.14: guppy 0.17.14Compare Source
Added
MetadataCommand::envadds environment variables to thecargo metadatacommand.Thanks to anforowicz for your first contribution!
v0.17.13: guppy 0.17.13Compare Source
Changed
PlatformSpec::currenttoPlatformSpec::build_targetto indicate that it is determined at build time, not at runtime. The old method is still available but has been marked deprecated.v0.17.12: guppy 0.17.12Compare Source
Added
Added support for custom sparse registries (
sparse+https://...). Thanks to jonhoo for your first contribution!v0.17.11: guppy 0.17.11Compare Source
Added
Added support for the upcoming Cargo resolver version
3:
within guppy,
CargoResolverVersion::V3. Resolver version 3 enables MSRV-awareversion resolution in Cargo.
The portion of dependency resolution that guppy works with (package and feature
resolution) happens after dependency versions have been resolved and
Cargo.lockis refreshed. This means that from guppy's perspective, resolverversion 3 is the same as version 2, and
CargoResolverVersion::V3acts as analias for
CargoResolverVersion::V2.v0.17.10: guppy 0.17.10Compare Source
Changed
cargo_metadataupdated to 0.19.1.v0.17.9: guppy 0.17.9Compare Source
Fixed
Cargo.tomlis within a subdirectory of oneof its members. (This is an uncommon situation, but one that is supported by Cargo.)
Changed
cargo_metadataupdated to 0.19.0.v0.17.8: guppy 0.17.8Compare Source
Fixed
Changed
target-specto 3.2.2.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.