Avatar
protocol P { mutating func foo() } extension Array: P { func foo() { } } var a = [0, 1, 2] var p: P = a p.foo() こういう形のときCoWがどうなるんだろうとか思ったり。