mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Some editors use diagnostics from SourceKit to replace build issues. This causes issues if the diagnostics from SourceKit are formatted differently than the build issues. Make sure they are rendered the same way, removing most uses of `DiagnosticsEditorMode`. To do so, always emit the `add stubs for conformance` note (which previously was only emitted in editor mode) and remove all `; add <something>` suffixes from notes that state which requirements are missing. rdar://129283608
39 lines
960 B
Swift
39 lines
960 B
Swift
// RUN: %target-typecheck-verify-swift
|
|
|
|
// rdar://problem/21496715
|
|
protocol P1 {
|
|
func f() // expected-note{{protocol requires function 'f()' with type '() -> ()'}}
|
|
}
|
|
|
|
protocol Q1 {}
|
|
|
|
extension P1 where Self : Q1 {
|
|
func f() {} // expected-note{{candidate would match if 'X1' conformed to 'Q1'}}
|
|
}
|
|
|
|
struct X1 : P1 {} // expected-error{{type 'X1' does not conform to protocol 'P1'}} expected-note {{add stubs for conformance}}
|
|
|
|
// rdar://problem/21153652
|
|
protocol P2 {
|
|
func f()
|
|
}
|
|
|
|
struct X2 : P2 {
|
|
func f() {}
|
|
}
|
|
|
|
extension P2 where Self : Comparable {
|
|
func f() {}
|
|
}
|
|
|
|
// rdar://problem/19423637
|
|
protocol P3 {
|
|
func f() // expected-note{{protocol requires function 'f()' with type '() -> ()'}}
|
|
}
|
|
|
|
extension P3 where Self : Equatable {
|
|
func f() {} // expected-note{{candidate would match if 'X3' conformed to 'Equatable'}}
|
|
}
|
|
|
|
struct X3 : P3 {} // expected-error{{type 'X3' does not conform to protocol 'P3'}} expected-note {{add stubs for conformance}}
|