Avatar
struct Foo { var bar: BarProtocol }struct Foo<Bar: BarProtocol> { var bar: Bar } にしてしまうと、 extension Int: BarProtocol {} extension String: BarProtocol {} var a = Foo(bar: 123) let b = Foo(bar: "xyz") a = b の最後の行ができなくなってしまう。