mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
The compiler derived implementations of `Codable` conformances for enums did not take enum element unavailability into account. This could result in unavailable values being instantiated at runtime, leading to a general violation of the invariant that unavailable code is unreachable at runtime. This problem is possible because synthesized code is not type checked; had the conformances been hand-written, they would have been rejected for referencing unavailable declarations inside of available declarations. This change specifically alters derivation for the following declarations: - `Decodable.init(from:)` - `Encodable.encode(to:)` - `CodingKey.init(stringValue:)` Resolves rdar://110098469
18 KiB
18 KiB