Swifts GeneratorOf <T> crazy init

GeneratorOf erstellt ein generischesGenerator (undSequence):

struct GeneratorOf<T> : Generator, Sequence {
    init(_ next: () -> T?)
    init<G : Generator where T == T>(_ self_: G)
    func next() -> T?
    func generate() -> GeneratorOf<T>
}

Die Zeile, die ich nicht verstehe, ist der zweite Init:

init<G : Generator where T == T>(_ self_: G)

Warum auf der Erde ist es notwendig zu sagen, dassT == T ??

Was ist das(_ self_: G) sollte heißen?

Danke, dass einer der wichtigsten Vorteile von Swift eine viel einfachere Syntax ist als Objective C ...: -P

Antworten auf die Frage(1)

Ihre Antwort auf die Frage