Foo<UIView> に対して == を UIView 同士の比較に制限し、それが呼び出されたときは NSObject の == (の先にある isEqual が呼ばれるのはいいとして、その場合 UIView は Equatable に準拠していると言えると思うけど、 UIView のリファレンスに載ってないのはドキュメント上の問題なのかな? (edited)UIView は Equatable に準拠している」で合ってると思います。 「親クラスを経由して準拠している」のか「自分で準拠している」のかは、違いをもたらさないはず。 SR-103は、「親クラスで準拠する時にデフォルト実装を選択している」だから「子も準拠している」と考えてよくて、特に↑とは矛盾しない。 (edited)