Open
Description
@usableFromInline
struct Foo {
var integer: Int
}
struct Bar: Sendable {
var foo: Foo // warning: Stored property 'foo' of 'Sendable'-conforming struct 'Bar' has non-sendable type 'Foo'
}
This warning only makes sense if the compiled with library evolution mode but this warning is also emitted if compiled without library evolution mode.
If @usableFromInline
is removed from Foo
the Sendable
conformance is synthesised as expected.
Environment
- Swift compiler version info: swift-driver version: 1.87.3 Apple Swift version 5.9.2 (swiftlang-5.9.2.2.51 clang-1500.1.0.2.2)
Metadata
Metadata
Assignees
Labels
Feature → attributes: The @usableFromInline attributeArea → standard library: The Sendable protocolFeature: Declaration and type attributesA deviation from expected or documented behavior. Also: expected but undesirable behavior.The Swift compiler itselfFeature: umbrella label for concurrency language featuresFeature → protocol: protocol conformancesFeature → protocol → conformances: derived conformances aka synthesized conformancesArea → compiler: Semantic analysisBug: Unexpected warning