1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
// RUN: %swift -typecheck -verify -parse-stdlib -module-name Swift -target x86_64-apple-macosx10.15 %s
@available(OSX, introduced: 10.16)
func longFormIntroducedIn10_16() { }
@available(OSX, introduced: 10.18)
func longFormIntroducedIn10_18() { }
@available(OSX, introduced: 11.0)
func longFormIntroducedIn11_0() { }
@available(OSX, introduced: 13.0)
func longFormIntroducedIn13_0() { }
// expected-note@+1 *{{add @available attribute to enclosing global function}}
func useLongFromIntroduced() {
longFormIntroducedIn10_16()
// expected-error@-1{{'longFormIntroducedIn10_16()' is only available in macOS 11.0 or newer}}
// expected-note@-2{{add 'if #available' version check}}
longFormIntroducedIn10_18()
// expected-error@-1{{'longFormIntroducedIn10_18()' is only available in macOS 10.18 or newer}}
// expected-note@-2{{add 'if #available' version check}}
longFormIntroducedIn11_0()
// expected-error@-1{{'longFormIntroducedIn11_0()' is only available in macOS 11.0 or newer}}
// expected-note@-2{{add 'if #available' version check}}
longFormIntroducedIn13_0()
// expected-error@-1{{'longFormIntroducedIn13_0()' is only available in macOS 13.0 or newer}}
// expected-note@-2{{add 'if #available' version check}}
}
@available(OSX 10.16, *)
func shortFormIntroducedIn10_16() { }
@available(OSX 10.18, *)
func shortFormIntroducedIn10_18() { }
@available(OSX 11.0, *)
func shortFormIntroducedIn11_0() { }
@available(OSX 13.0, *)
func shortFormIntroducedIn13_0() { }
// expected-note@+1 *{{add @available attribute to enclosing global function}}
func useShortIntroduced() {
shortFormIntroducedIn10_16()
// expected-error@-1{{'shortFormIntroducedIn10_16()' is only available in macOS 11.0 or newer}}
// expected-note@-2{{add 'if #available' version check}}
shortFormIntroducedIn10_18()
// expected-error@-1{{'shortFormIntroducedIn10_18()' is only available in macOS 10.18 or newer}}
// expected-note@-2{{add 'if #available' version check}}
shortFormIntroducedIn11_0()
// expected-error@-1{{'shortFormIntroducedIn11_0()' is only available in macOS 11.0 or newer}}
// expected-note@-2{{add 'if #available' version check}}
shortFormIntroducedIn13_0()
// expected-error@-1{{'shortFormIntroducedIn13_0()' is only available in macOS 13.0 or newer}}
// expected-note@-2{{add 'if #available' version check}}
}
|