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
32 lines
1.6 KiB
Swift
32 lines
1.6 KiB
Swift
// RUN: %target-swift-frontend -typecheck -verify -enable-experimental-distributed -disable-availability-checking -I %t 2>&1 %s
|
|
|
|
// UNSUPPORTED: back_deploy_concurrency
|
|
// REQUIRES: concurrency
|
|
// REQUIRES: distributed
|
|
|
|
import Distributed
|
|
|
|
distributed actor DA {
|
|
// expected-error@-1{{distributed actor 'DA' does not declare ActorSystem it can be used with}}
|
|
// expected-error@-2 {{type 'DA' does not conform to protocol 'DistributedActor'}}
|
|
// expected-note@-3 {{add stubs for conformance}}
|
|
// expected-note@-4{{you can provide a module-wide default actor system by declaring:}}
|
|
|
|
// Note to add the typealias is diagnosed on the protocol:
|
|
// _Distributed.DistributedActor:3:20: note: diagnostic produced elsewhere: protocol requires nested type 'ActorSystem'; do you want to add it?
|
|
}
|
|
|
|
// When an actor declares a typealias for a system, but that system does not exist,
|
|
// we need to fail gracefully, rather than crash trying to use the non-existing type.
|
|
//
|
|
// Test case for: https://github.com/apple/swift/issues/58663
|
|
distributed actor Server { // expected-error 2 {{distributed actor 'Server' does not declare ActorSystem it can be used with}}
|
|
// expected-error@-1 {{type 'Server' does not conform to protocol 'DistributedActor'}}
|
|
// expected-note@-2{{you can provide a module-wide default actor system by declaring:}}
|
|
// expected-note@-3 {{add stubs for conformance}}
|
|
typealias ActorSystem = DoesNotExistDataSystem
|
|
// expected-error@-1{{cannot find type 'DoesNotExistDataSystem' in scope}}
|
|
typealias SerializationRequirement = any Codable
|
|
distributed func send() { }
|
|
}
|