protocol P0 {} extension Array where Element : P0 { func aaa() {} } var xs = Array<P0>() xs.aaa() // error: using 'P0' as a concrete type conforming to protocol 'P0' is not supported
protocol P0 {} extension Array where Element : P0 { func aaa() {} } extension Array where Element == P0 { func aaa() {} } var xs = Array<P0>() xs.aaa() // compile ok