Commits

Devin Coughlin committed 978dd3a3579
Sema: Check protocol conformances for potential unavailability. Make sure that a witness declaration is at least as available as the protocol requirement declaration. This is analogous to requiring that an override is at least as available as the base declaration. We don’t use the RequirementMatch machinery to mark a candidate as unsafe but rather let the witness be chosen and then diagnose for potential unavailability. That is, potential unavailability will not affect the search for a candidate witness to a requirement. This is less expressive (users cannot write a protocol that selects an available implementation) but is more predictable. Swift SVN r27256