プロトコルの準拠について
func methodA<T:ExpressibleByIntegerLiteral>(n:T)->(){
var i = 1
var j = T(integerLiteral:i)
}
上記の関数は、「var j = T(integerLiteral:i) 」でコンパイルエラーとなります。
しかし、私の解釈では、T型は、ExpressibleByIntegerLiteralプロトコルに準拠しているとしており、またプロトコルは、init(integerLiteral:)[REQUIRED]とあるので、なぜエラーとなるのかが理解ができません。
私は何が理解できていないのでしょうか。教えてください。