mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +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
34 lines
1.6 KiB
Plaintext
34 lines
1.6 KiB
Plaintext
// swift-interface-format-version: 1.0
|
|
// swift-compiler-version: Swift version 5.0
|
|
// swift-module-flags:
|
|
|
|
// RUN: %empty-directory(%t)
|
|
// RUN: not %target-swift-frontend -typecheck-module-from-interface -module-name Broken %s 2>%t/interface-verification-errors.txt
|
|
// RUN: %FileCheck %s < %t/interface-verification-errors.txt
|
|
|
|
import Swift
|
|
|
|
// This type is meant to shadow the name of the module, creating an ambiguity.
|
|
public struct Broken {}
|
|
|
|
public struct BrokenOptions : Swift.OptionSet {
|
|
public let rawValue: Swift.Int
|
|
public static let none: Broken.BrokenOptions
|
|
public static let anOption: Broken.BrokenOptions
|
|
public init(rawValue: Swift.Int)
|
|
public typealias ArrayLiteralElement = Broken.BrokenOptions
|
|
public typealias Element = Broken.BrokenOptions
|
|
public typealias RawValue = Swift.Int
|
|
}
|
|
|
|
// CHECK: error: 'BrokenOptions' is not a member type of struct 'Broken.Broken'
|
|
// CHECK: error: 'BrokenOptions' is not a member type of struct 'Broken.Broken'
|
|
// CHECK: error: 'BrokenOptions' is not a member type of struct 'Broken.Broken'
|
|
// CHECK: error: 'BrokenOptions' is not a member type of struct 'Broken.Broken'
|
|
|
|
// CHECK: error: type 'BrokenOptions' does not conform to protocol 'OptionSet'
|
|
// CHECK: error: type 'BrokenOptions' does not conform to protocol 'ExpressibleByArrayLiteral'
|
|
// CHECK: note: protocol requires nested type 'Element'
|
|
// CHECK: note: protocol requires nested type 'ArrayLiteralElement'
|
|
// CHECK: error: failed to verify module interface of 'Broken' due to the errors above; the textual interface may be broken by project issues, differences between compilers
|