Commits

Slava Pestov committed 0b320a6d5b8
Sema: Implement DefaultWitnessChecker Now that WitnessChecker is separate from ConformanceChecker, implement a DefaultWitnessChecker subclass which performs default witness resolution. This populates the recently-added ProtocolDecl::DefaultWitnesses map. Unlike ConformanceChecker, the DefaultWitnessChecker looks up the witness in any protocol extensions of the protocol, matching the context archetypes of the requirement against the witness. For now, we infer default witnesses for all protocols, but don't do anything with that information. An upcoming SILGen patch will start to emit thunks and add tests.