When an Encoder is generic and defined in a Swift Package library module, an Xcode app can't import this module and use this encoder without crashing right between the instantiation of the encoder and the call to the container(keyedBy: ) method, which is never called.
A reproducible case is available at http://github.com/groue/GRDBIssue636, and attached to this issue.
- Open the Crash/Crash.xcodeproject project with Xcode 11.2 beta 2
- Run the app in an iOS simulator
- Expected: the app crashes with a "not implemented" fatal error
- Actual: the app crashes before the "not implemented" fatal error
Experiments reveal that the bug does not reproduce when the encoder is not generic.
Experiments reveal that the bug does not reproduce when the encoder is invoked from another swift package (run `swift build` and then `.build/debug/Crash` in order to see the expected "not implemented" fatal error, and not the unexpected crash.
This issue was first reported in https://github.com/groue/GRDB.swift/issues/636