Avatar
protocol A, B に同シグネチャの関数があって,それぞれ protocol extension でデフォルト実装を入れているとして,struct X: A, B とすると ambiguity からオーバーライドさせられますが,「A の方の実装を採用する」というようなことはできないんでしょうか? struct X: A, B { func common() { (self as A).common() } } こんな感じで…
1:40 PM
あ,A, B は Self つきの protocol で as が使えない奴です.
1:41 PM
上のコードをそのまま書くと Protocol 'A' can only be used as a generic constraint because it has Self or associated type requirements となるタイプのものです.