Commits

Slava Pestov committed 6bf9ab19ffa
Add preliminary library evolution test for resiliently adding a new protocol requirement This test ensures that the runtime correctly instantiates resilient conformances, and that IRGen emits the correct metadata, allowing a conformance that was compiled before a new requirement was added to present a default implementation of this requirement. For now, this runs with --no-backward-deployment, so we only test before/before, before/after and after/after cases. Getting after/before working is also an expected capability here, but requires IRGen witness table emission to know which requirements were satisfied by defaults, so that they can be dropped if they appear at the end of a witness table. In turn, this requires serializing SILDefaultWitnessTables. This will be added in a subsequent patch. In addition to fixing the above case, I need to write additional tests and possibly fix bugs related to more elaborate cases involving generics, as well as default witnesses for properties and subscripts.