Is there a difference between extension A where Self:B and extension B where Self:A

are these the same thing?

extension MutableCollection where Self:BidirectionalCollection 
{
}
extension BidirectionalCollection where Self:MutableCollection 
{
}

is switching from one to another ABI-neutral?

They are both semantically equivalent, however switching from one to another is not ABI stable.

3 Likes