Files
swift-mirror/lib/Serialization/Serialization.cpp
Alexis Laferrière 9602df1e83 [Serialization] Keep indirect conformances knowledge with safety
Given a scenario where a public type A, conforms to an internal protocol
B, which conforms to a public protocol C. A conforms indirectly to C
through a protocol that's hidden from the clients.

This is handled in module interface by printing the indirect conformance
of A to C explicitly at the end of the swiftinterface.

We have the same problem with deserialization safety that used to hide
the internal protocols from clients, thus breaking the knowledge of the
indirect dependency. To keep the indirect conformances, let's consider
all protocols as safe and preserve their conformance information.

rdar://105241772
2023-04-18 14:10:06 -07:00

243 KiB