Commits

Slava Pestov committed c6a0f51611c
SIL: Add devirtualizer support for default witness methods We ignore substitutions from the conformance, using the Self type substitution from the call site instead. The new SILFunctionType::getDefaultWitnessMethodProtocol() method is used to figure out what "shape" the Self substitutions need to take. This is cleaner than it was before the method was added, but is still a bit of a hack; more and more it appears that we need to stop thinking of witness_method as a separate calling convention, and design what @rjmccall described as "abstraction patterns for generic signatures" instead.