Использование протокола только для класса мне ясно. Я знаю, что могу сделать что-то вроде:
protocol HashableClass: class, Hashable {}
Но мне интересно, можно ли создать расширение только для класса:
extension Hashable: class {} / extension Hashable where Self is class {} ??
Второй вопрос: возможно ли создавать неклассовые протоколы (противоположные классовым протоколам)?
Заранее спасибо.