Add a mean to mutably access the members of a workspace#9547
Add a mean to mutably access the members of a workspace#9547bors merged 2 commits intorust-lang:masterfrom
Conversation
|
(rust-highfive has picked a reviewer for you, use r? to override) |
|
Thanks! I would naively expect the non- |
|
They are morally the same, but I cannot implement the mutable version using the same approach since The non-mutable version iterates over a Vec and do the hashmap lookup, the mutable iterates over the HashMap and does a linear search over the Vec since it does not have other way to ensure that the mutable references do not overlap. I can remove the custom struct and return the |
It is used by cargo-c to patch all the lib crates in a workspace.
|
Now the code is similar enough, hopefully. |
| .collect(); | ||
|
|
||
| packages.iter_mut().filter_map(move |(path, package)| { | ||
| if members.contains(path) { |
There was a problem hiding this comment.
Could this use package.get_mut like above uses packages.get?
(same for default_members_mut below)
There was a problem hiding this comment.
no, the get_mut lifetime gets (rightfully) in the way.
|
@bors: r+ Ah yes, indeed! |
|
📌 Commit b26ceda has been approved by |
|
☀️ Test successful - checks-actions |
Update cargo 10 commits in aa8b09297bb3156b849e73db48af4cd050492fe6..81537ee3f7bd97ff7821b6c86c148764d40d26cd 2021-06-09 00:28:53 +0000 to 2021-06-11 00:00:14 +0000 - Change how the fix_deny_warnings_but_not_others test works (rust-lang/cargo#9571) - Add mising documentation regarding `cargo doc` (rust-lang/cargo#9565) - Implement warning for ignored trailing arguments (rust-lang/cargo#9561) - Make clippy happy (rust-lang/cargo#9569) - Fix rustc/rustdoc config values to be config-relative. (rust-lang/cargo#9566) - Update rustfix. (rust-lang/cargo#9567) - Warn if an "all" target is specified, but we don't match anything (rust-lang/cargo#9549) - add default_run to SerializedPackage (rust-lang/cargo#9550) - respect user choice of lib/bin over heuristics (rust-lang/cargo#9522) - Add a mean to mutably access the members of a workspace (rust-lang/cargo#9547)
Update cargo 10 commits in aa8b09297bb3156b849e73db48af4cd050492fe6..81537ee3f7bd97ff7821b6c86c148764d40d26cd 2021-06-09 00:28:53 +0000 to 2021-06-11 00:00:14 +0000 - Change how the fix_deny_warnings_but_not_others test works (rust-lang/cargo#9571) - Add mising documentation regarding `cargo doc` (rust-lang/cargo#9565) - Implement warning for ignored trailing arguments (rust-lang/cargo#9561) - Make clippy happy (rust-lang/cargo#9569) - Fix rustc/rustdoc config values to be config-relative. (rust-lang/cargo#9566) - Update rustfix. (rust-lang/cargo#9567) - Warn if an "all" target is specified, but we don't match anything (rust-lang/cargo#9549) - add default_run to SerializedPackage (rust-lang/cargo#9550) - respect user choice of lib/bin over heuristics (rust-lang/cargo#9522) - Add a mean to mutably access the members of a workspace (rust-lang/cargo#9547)
Update cargo 11 commits in aa8b09297bb3156b849e73db48af4cd050492fe6..44456677b5d1d82fe981c955dc5c67734b31f340 2021-06-09 00:28:53 +0000 to 2021-06-12 18:00:01 +0000 - Fix package_default_run test. (rust-lang/cargo#9577) - Change how the fix_deny_warnings_but_not_others test works (rust-lang/cargo#9571) - Add mising documentation regarding `cargo doc` (rust-lang/cargo#9565) - Implement warning for ignored trailing arguments (rust-lang/cargo#9561) - Make clippy happy (rust-lang/cargo#9569) - Fix rustc/rustdoc config values to be config-relative. (rust-lang/cargo#9566) - Update rustfix. (rust-lang/cargo#9567) - Warn if an "all" target is specified, but we don't match anything (rust-lang/cargo#9549) - add default_run to SerializedPackage (rust-lang/cargo#9550) - respect user choice of lib/bin over heuristics (rust-lang/cargo#9522) - Add a mean to mutably access the members of a workspace (rust-lang/cargo#9547)
It is used by cargo-c to patch all the lib crates in a workspace.