fix(agent-tunnel): clone ca_manager Arc to unbreak master build#1790
fix(agent-tunnel): clone ca_manager Arc to unbreak master build#1790irvingouj@Devolutions (irvingoujAtDevolution) wants to merge 1 commit into
Conversation
…d handle Both `AgentTunnelHandle` and `AgentTunnelListener` need to own a `ca_manager: Arc<CaManager>`, but `bind()` was moving the same `Arc` into each, failing compilation on master. Clone the `Arc` for the handle so the original move into `Self` still type-checks. This was missed because PRs #1773 and #1775 both passed CI against an older base, but the merge of #1775 on top of #1773 produced a semantic conflict that GitHub merged textually without re-running CI.
Let maintainers know that an action is required on their side
|
|
Superseded by 6e80f71 on master (feat(dgw): route KDC traffic through agent tunnel), which carries the same Arc::clone fix. Closing as duplicate. |
`crates/agent-tunnel/src/listener.rs:152-163` moves the same
`Arc<CaManager>` into both `AgentTunnelHandle` and `AgentTunnelListener`,
which fails to compile:
error[E0382]: use of moved value: `ca_manager`
--> crates/agent-tunnel/src/listener.rs:162:13
Clone the Arc for the handle so the move into `Self` still type-checks.
Root cause: PR #1773 added the `ca_manager` field to
`AgentTunnelListener`; PR #1775 used `ca_manager` in the same `bind()`
body for the handle initializer. Each PR's CI was green against its own
base, but the merge of #1775 on top of #1773 produced a semantic
conflict that wasn't textually conflicting, so GitHub merged it without
re-running CI.
This is the same fix originally proposed in #1790 (closed because #1781
incidentally carried it). Reapplied here because the revert removes
that incidental fix.
`crates/agent-tunnel/src/listener.rs:152-163` moves the same
`Arc<CaManager>` into both `AgentTunnelHandle` and `AgentTunnelListener`,
which fails to compile:
error[E0382]: use of moved value: `ca_manager`
--> crates/agent-tunnel/src/listener.rs:162:13
Clone the Arc for the handle so the move into `Self` still type-checks.
Root cause: PR #1773 added the `ca_manager` field to
`AgentTunnelListener`; PR #1775 used `ca_manager` in the same `bind()`
body for the handle initializer. Each PR's CI was green against its own
base, but the merge of #1775 on top of #1773 produced a semantic
conflict that wasn't textually conflicting, so GitHub merged it without
re-running CI.
This is the same fix originally proposed in #1790 (closed because #1781
incidentally carried it). Reapplied here because the revert removes
that incidental fix.
`crates/agent-tunnel/src/listener.rs:152-163` moves the same
`Arc<CaManager>` into both `AgentTunnelHandle` and `AgentTunnelListener`,
which fails to compile:
error[E0382]: use of moved value: `ca_manager`
--> crates/agent-tunnel/src/listener.rs:162:13
Clone the Arc for the handle so the move into `Self` still type-checks.
Root cause: PR #1773 added the `ca_manager` field to
`AgentTunnelListener`; PR #1775 used `ca_manager` in the same `bind()`
body for the handle initializer. Each PR's CI was green against its own
base, but the merge of #1775 on top of #1773 produced a semantic
conflict that wasn't textually conflicting, so GitHub merged it without
re-running CI.
This is the same fix originally proposed in #1790 (closed because #1781
incidentally carried it). Reapplied here because the revert removes
that incidental fix.
Summary
Master is currently broken on Linux + Windows (
tests,lintsjobs).crates/agent-tunnel/src/listener.rs:152-163moves the sameArc<CaManager>into bothAgentTunnelHandleandAgentTunnelListener, which doesn't compile:The fix is a one-liner:
Arc::clone(&ca_manager)for the handle so the move intoSelfstill type-checks.Root cause
PR #1773 added the
ca_managerfield toAgentTunnelListener. PR #1775 usedca_managerin the samebind()body for the handle initializer. Each PR's CI was green against its own base, but the merge of #1775 on top of #1773 produced a semantic conflict that wasn't textually conflicting, so GitHub merged it without re-running CI.Test plan
cargo check -p agent-tunnel— cleancargo clippy -p agent-tunnel --tests -- -D warnings— clean