apple / swift-nio-ssl

TLS Support for SwiftNIO, based on BoringSSL.
https://swiftpackageindex.com/apple/swift-nio-ssl/main/documentation/niossl
Apache License 2.0
388 stars 139 forks source link

Adopt `Sendable` incrementally #392

Closed dnadoba closed 2 years ago

dnadoba commented 2 years ago

Incremental Sendable adoption.

Other changes

dnadoba commented 2 years ago

Need to fix warnings in tests too. Will do so shortly.

dnadoba commented 2 years ago

Sadly @preconcurrency typealias [...] has no semantic meaning (https://github.com/apple/swift/issues/60487). We need to add @preconcurrency to the declarations using the typealias. Will do so in a separate PR.

dnadoba commented 2 years ago

API breakage is a false positive. It is fine to inherit from Sendable through NIOPreconcurrencySendable because it is marked @preconcurrency.

10:46:06 3 breaking changes detected in NIOSSL:
10:46:06   💔 API breakage: protocol NIOSSLCustomPrivateKey has generic signature change from  to <Self : NIOCore.NIOPreconcurrencySendable>
10:46:06   💔 API breakage: protocol NIOSSLCustomPrivateKey has added inherited protocol NIOPreconcurrencySendable
10:46:06   💔 API breakage: protocol NIOSSLCustomPrivateKey has added inherited protocol Sendable