Потому что протокол не реализует сам себя, протокол это контейнер, но контейнер не обязан удовлетворять своим же требованиям.
Но один контейнер основан на другом контейнере. Разве не так? По мне так это было бы нормальное поведение.
Нет, это ненормальное поведение. Ты говоришь про значения, а я говорю про типы.
Ты протокол как existential используешь. Попробуй что-то типо <T: P2>: Generic<T>, в этом случае протокол это ограничение на тип
В таком случае работает, но мне нужно достичь результата когда класс G1 не будет generic типом.
Без стирания типов здесь боюсь не обойтись тогда
В Swift пока нельзя параметризировать унаследованные дженерик типы на уровне типа: class Foo<T: Equatable> { // ... } class Boo: Foo where T: Hashable { // Nope, но Hashable: Equatable // ... }
Я тут ниже тебе подобнее раписал почему и что делать. Ты просто один из миллиона людей в этом чате и не только у кого подобного рода проблемы.
Обсуждают сегодня