mirror of
https://github.com/apple/swift.git
synced 2026-06-20 15:42:51 +02:00
3bf9cb5cd7
Since reparentable protocols can have less availability than the protocols inheriting from it, we need to first loosen availability checking inheritance clauses to allow for the statement of retroactive refinement. Then, we need to tighten it in other places in terms of expression checking, because we now cannot refer to members of a generic type that originate from an unavailable ancestor of a protocol to which the value conforms. Previously it was not possible for that to be the case, so no checking was performed.