Avatar
@norio_nomura HashableID を持つ Identifiable が必要であれば、必要な側で Identifiable を継承して作ればよくないですか?標準ライブラリはできるだけ汎用的な方が良いかと。 protocol Identifiable { associatedtype ID: Equatable var id: ID { get } } protocol HashIdentifiable: Identifiable where ID: Hashable {} struct MyID: Equatable { static func ==(lhs: MyID, rhs: MyID) -> Bool { return true } } struct Foo: HashIdentifiable { // Hashable でないので Error var id: MyID }