-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Remove previous hack for SR-5206 #11315
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
As a temporary workaround for SR-5206, certain Foundation types which had custom behavior in JSONEncoder and JSONDecoder were granted special knowledge of those types internally in order to preserve strategies on encode/decode. This replaces that special knowledge with a more general-purpose fix that works for all types and all encoders/decoders.
@swift-ci Please test macOS |
@swift-ci Please smoke test Linux |
Build failed |
Mm. These |
Fixes unit test failues stemming from fileprivate "init(from:)" visibility on Decodable things.
@swift-ci Please test |
Build failed |
Build failed |
@itaiferber Can this change go to Swift 4.0.1? |
@norio-nomura Unfortunately, the bar for inclusion into the next patch release is incredibly high, and this isn't considered a high enough priority item for inclusion. However, I believe I can get this pushed into the release after that. |
@itaiferber Thank you for your reply and information.🙏 |
Remove previous hack for SR-5206
Do we know if Xcode 9.1 will ship with a toolchain that includes this fix? |
@mathiasquintero It should, yes. |
Ah, that's not correct. Xcode 9.1 contains the targeted fixes that went to swift-4.0-branch after the 4.0 release. |
@mathiasquintero @jrose-apple Sorry! Misread that as "Swift 4.1" instead of "Xcode 9.1" — skimmed too quick. Jordan has the answer. |
@jrose-apple @itaiferber but wasn't this later cherrypicked to the 4.0 branch? |
Heh, I missed that too, but that cherry-pick was very recent. We can't promise that that'll make it into Xcode 9.1 rather than a possible later point release before we're ready for Swift 4.1. |
Here's hoping for 4.0.2 rather than 4.1 ;) |
What's in this pull request?
Better resolves SR-5206 until the introduction of conditional conformance.
As a temporary workaround for SR-5206, certain Foundation types which had custom behavior in JSONEncoder and JSONDecoder were granted special knowledge of those types internally in order to preserve strategies on encode/decode.
This replaces that special knowledge with a more general-purpose fix that works for all types and all encoders/decoders.
Thanks to @norio-nomura for thinking of the approach on this.