swift
106c470a - [Serialization] Handle re-export of error enums harder (#21880)

Commit
6 years ago
[Serialization] Handle re-export of error enums harder (#21880) A refinement of Doug's e3207f753c from a year ago to account for trying to reference an import-as-member error enum /through/ an overlay when it's in a Clang module using 'export_as'. The problem is that importing error enums synthesizes a corresponding struct, and that struct doesn't have a Clang node and so when it isn't found in the right module the compiler didn't know to allow it anyway. I know, right? (Looking at the source change might be simpler than trying to read the above paragraph.) I'm still not 100% sure on how this occurred in the original (Apple-internal) projects hitting this, but I think it's just that we handle all import-as-member types at once, and the clients were using something else from a type that contained the error enum, and then that resulted in the error struct's conformances getting written into a serialized swiftmodule. rdar://problem/47152185
Author
Parents
Loading