//TEST:SIMPLE(filecheck=CHECK): interface IGen { associatedtype TB; int getVal(); } interface Wrapper {} struct Foo1 : IGen { typealias TB = Wrapper; // `Wrapper` also fails. int val = 0; int getVal() { return val; } } struct Logic> { int val = 0; } extension Logic where C1 : IGen //CHECK: ([[# @LINE+1]]): error 30404: where C1.TB == Wrapper { [mutating] void setVal(int dataIn) { val = dataIn; } }