は、次のことを考えてみましょう:where節でのプロトコルのSwift関連型?
protocol SomeProtocol {
typealias F: Foo
typealias FB: FooBar where FB.Foo == F
}
しかし、我々はそのようなtypealias
でwhere
句を置くことができないので、これはコンパイルされません。
これは簡単にこのようなtype parameterization
で行うことができますので、私はここで何かが欠けている必要があります。
struct SomeStruct<F: Foo, FB: FooBar where FB.Foo == F> {}
associated type
ためwhere
句と同等とは何ですか?
同様の問題は、この質問の一部です:http://stackoverflow.com/questions/33843038/define-a-swift-protocol-which-requires -a-specific-of-sequence-of-sequenceである。 –
あなたは何も欠けていません。これは現在Swiftでは不可能です。 –
これはレーダー経由でリクエストされています。http://openradar.appspot.com/17203060、http://www.openradar.me/21441502、swift-evolution:https://lists.swift.org/pipermail /swift-evolution/Week-of-Mon-20160229/011666.html(「*プロトコルの任意の要件」を見てください)、私は誰も進化の提案を作成していないと思います。 –