Skip to content

Commit 87b373d

Browse files
Fix: Declare GitClient.CloneProgress Sendable
These values are produced by an AsyncSequence and consumed on the main actor, so they cross an isolation boundary. The struct holds a Double and a payload-free internal enum, so it was already Sendable in fact and only lacked the declaration. Same toolchain split as GitClient.Status: Xcode 26 proves the value is disconnected at the call site, while the CI runner's Xcode 16.4 asks for the conformance.
1 parent 0f85e61 commit 87b373d

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

CodeEditModules/Sources/CESourceControl/Client/GitClient+Clone.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ import CodeEditCore
1111

1212
extension GitClient {
1313
/// A snapshot of clone progress: the total percentage (0-100) and the phase git is currently in.
14-
public struct CloneProgress {
14+
///
15+
/// `Sendable` because these are produced by an `AsyncSequence` and consumed on the main actor.
16+
/// It holds a `Double` and a payload-free internal enum, so the conformance is free.
17+
public struct CloneProgress: Sendable {
1518
let progress: Double
1619
let state: GitCloneProgressState
1720
}

0 commit comments

Comments
 (0)