I was directed to this answer by Developer Technical Support (DTS) in response to a question I asked about an issue we're seeing with our binary framework when we compile it with Xcode 12.5 but then it is linked by our clients against Xcode <12.5 which results in a crash on launch:
dyld: Symbol not found: __ZN5swift34swift50override_conformsToProtocolEPKNS_14TargetMetadataINS_9InProcessEEEPKNS_24TargetProtocolDescriptorIS1_EEPFPKNS_18TargetWitnessTableIS1_EES4_S8_E
In this case, we actually don't get this warning, everything compiles fine until the app crashes on launch with the above (rather unilluminating!) error. We also found this issue only seems to impact Xcode 12.5, so it seems to be an Xcode 12.5 vs Xcode <12.5 issue, rather than Xcode 12 vs Xcode 13.
There appear to be a number of other frameworks affected by this issue in Xcode 12.5. I also have a question on StackOverflow about this.
@edford can you elaborate a little on the expected behaviours around module/binary stability and what's going on here under-the-hood? This took us (and our customers) a little by surprise as we had expected that our framework would continue to be both forwards and backwards compatible as it has been until now.