# Protocol '...' can only be used as a generic constraint because it has Self or associated type

{% tabs %}
{% tab title="📗 參考" %}
* Sundell ⟩ [Why can’t certain protocols, like Equatable and Hashable, be referenced directly?](https://www.swiftbysundell.com/questions/referencing-generic-protocols/)
{% endtab %}

{% tab title="👥 相關" %}
* can be solved by using [some](../swift/type/category/some-any-generics/some "mention") with keyword <mark style="color:red;">**`some`**</mark>.
{% endtab %}
{% endtabs %}
