Avatar
例えば Dictionary 的な機能を持つ protocol を定義するとして、 mapValues を protocol level で書く(Value 型を変える)ということはできないのでしょうか? struct Dictionary では: func mapValues<T>(_ transform: (Value) throws -> T) rethrows -> [Key : T] が定義されていますが,これを protocol DictionaryProtocol { associatedtype Key: Hashable associatedtype Value func mapValues<T>(_ transform: (Value) throws -> T) rethrows -> Self (where Value == T) } のようなことをしたい…🙄(もしそれがあるのであれば Sequence の map 型も [T] と specialize された形になってないはずなので,やはり無理なのでしょうか) (edited)