// Note that for the test to be effective, each of these structs must only have // its Equatable or Hashable conformance referenced /once/ in the primary file. struct FromOtherFile: Hashable { let v: String } struct AlsoFromOtherFile: Hashable { let v: Int } struct YetAnotherFromOtherFile: Hashable { let v: Float } struct OtherFileNonconforming { let v: String } struct YetOtherFileNonconforming { // expected-note@-1{{type declared here}} let v: String } struct GenericOtherFileNonconforming { // expected-note@-1{{type declared here}} let v: T } protocol ImplierOther: Equatable {} extension ImpliedMain: ImplierOther {} struct ImpliedOther: ImplierOther {}