Я пытаюсь настроить description
типа Collection
(например, Array
), особенно когда Iterator.Element
является каким-то конкретным типом.
Однако я не уверен, как это сделать, поскольку, как только я пытаюсь расширить Collection
в соответствии с протоколом CustomStringConvertible
, компилятор жалуется, что Collection
не может иметь предложение о наследовании (и если я не не объявляет CustomStringConvertible
о соответствии, реализация description
, похоже, игнорируется).
Можно ли настроить description
для Collection
типов?
// Attempt 1
extension Collection: CustomStringConvertible where Iterator.Element == MyType {
var description: String {
// this produces a compile error
return "something"
}
}
// Attempt 2
extension Collection where Iterator.Element == MyType {
var description: String {
// this is ignored
return "something"
}
}
В более общем смысле, можно ли настроить description
для встроенных типов?
extension Double: CustomStringConvertible {
var description: String { return "hi" }
// this is also ignored + warning by compiler
}