Files
swift-mirror/test/attr/using_diagnose.swift
Aviva Ruben ce56e9ce6c Implement file-level using @available (and stop rejecting diagnose)
Diagnose was already supported by swift syntax, so we don't need to
track it at all in C++. Adds support for propagating a file default
availability via a side effect of a request. Ideally this would go
away in a future compiler that doesn't mutate decls to apply inferred
attributes. Future default attributes probably end up in this request,
unfortunately.
2026-06-22 13:31:20 -07:00

40 lines
933 B
Swift

// RUN: %target-swift-frontend -enable-experimental-feature DefaultIsolationPerFile -typecheck -verify %s
// REQUIRES: swift_feature_DefaultIsolationPerFile
using @diagnose(DeprecatedDeclaration, as: error)
@available(*, deprecated)
func deprecatedThing() {}
func callerA() {
deprecatedThing() // expected-error {{'deprecatedThing()' is deprecated}}
}
func callerB() {
deprecatedThing() // expected-error {{'deprecatedThing()' is deprecated}}
}
class UseDefault {
func methodA() {
deprecatedThing() // expected-error {{'deprecatedThing()' is deprecated}}
}
@diagnose(DeprecatedDeclaration, as: warning)
func methodB() {
deprecatedThing() // expected-warning {{'deprecatedThing()' is deprecated}}
}
@diagnose(DeprecatedDeclaration, as: ignored)
func methodC() {
deprecatedThing()
}
}
@diagnose(DeprecatedDeclaration, as: ignored)
class Override {
func method() {
deprecatedThing()
}
}