File tree 2 files changed +9
-8
lines changed
2 files changed +9
-8
lines changed Original file line number Diff line number Diff line change @@ -642,15 +642,19 @@ fn register_previous_locks(
642
642
// if they changed.
643
643
let mut avoid_locking = HashSet :: new ( ) ;
644
644
registry. add_to_yanked_whitelist ( resolve. iter ( ) . filter ( keep) ) ;
645
+ // We must check `path_pkg` first so we don't recursively walk them via `add_deps`
645
646
for node in resolve. iter ( ) {
646
- if !keep ( & node) {
647
- add_deps ( resolve, node, & mut avoid_locking) ;
648
- } else if let Some ( pkg) = path_pkg ( node. source_id ( ) ) {
647
+ if let Some ( pkg) = path_pkg ( node. source_id ( ) ) {
649
648
if pkg. package_id ( ) != node {
650
649
avoid_locking. insert ( node) ;
651
650
}
652
651
}
653
652
}
653
+ for node in resolve. iter ( ) {
654
+ if !keep ( & node) {
655
+ add_deps ( resolve, node, & mut avoid_locking) ;
656
+ }
657
+ }
654
658
655
659
// Ok, but the above loop isn't the entire story! Updates to the dependency
656
660
// graph can come from two locations, the `cargo update` command or
Original file line number Diff line number Diff line change @@ -991,14 +991,11 @@ rustdns.workspace = true
991
991
p. change_file ( "Cargo.toml" , & workspace_toml. replace ( "2.29.8" , "2.29.81" ) ) ;
992
992
993
993
p. cargo ( "update -p rootcrate" )
994
- . with_stderr ( & format ! (
994
+ . with_stderr (
995
995
"\
996
- [UPDATING] git repository `{}`
997
996
[UPDATING] rootcrate v2.29.8 ([CWD]/rootcrate) -> v2.29.81
998
- [UPDATING] rustdns v0.5.0 ([..]) -> [..]
999
997
[UPDATING] subcrate v2.29.8 ([CWD]/subcrate) -> v2.29.81" ,
1000
- git_project. url( ) ,
1001
- ) )
998
+ )
1002
999
. run ( ) ;
1003
1000
}
1004
1001
You can’t perform that action at this time.
0 commit comments