Функция доступна только для свойства параметра - PullRequest
1 голос
/ 31 октября 2019

Возможно ли, чтобы функция была доступна только тогда, когда свойство параметра удовлетворяет определенному условию? Например, используя ключевое слово where? Я привел пример идеи ниже.

struct ASN1 {

    enum Types: UInt8 {
        case constructed
        case primitive
    }

    class Tag {
        let type: Types
    }

    class Encoder {

        func enter(tag: ASN1.Tag) where tag.type == .constructed {
            // Function only available when tag property type is .constructed
        }

    }
}
...