Avatar
omochimetaru 5/30/2018 4:55 PM
これおかしくない? // プロトコルその1, EuclideanRing public protocol EuclideanRing { var eucDegree: Int { get } } // プロトコルその2, Field // そしてFieldならばEuclideanRingである public protocol Field: EuclideanRing {} // それを実現するための実装 extension Field { public var eucDegree: Int { return 0 } } // ジェネリックな型 public struct Complex<R> {} // これはOK //extension Complex: Field {} // これがコンパイルエラー //extension Complex : Field where R == Float {} // error: iOSGround.playground:12:1: error: type 'Complex<R>' does not conform to protocol 'EuclideanRing' // これはOK //extension Complex : EuclideanRing, Field where R == Float {}
4:55 PM
一度話した気もするな。 condconf経由だと間接conformができない