@@ -48,34 +48,51 @@ deprecatedOnIOSButNotMacCatalyst() // no-warning
48
48
func introducedLaterOnMacCatalyst( ) {
49
49
}
50
50
51
+ @available ( iOS 57 . 0 , macCatalyst 56 . 0 , * )
52
+ func introducedLaterOnIOS( ) {
53
+ }
54
+
51
55
// expected-note@+1 *{{add @available attribute to enclosing global function}}
52
56
func testPoundAvailable( ) {
53
57
54
58
if #available( macCatalyst 55 . 0 , * ) {
55
59
introducedLaterOnMacCatalyst ( ) // expected-error {{'introducedLaterOnMacCatalyst()' is only available in Mac Catalyst 56.0 or newer}}
56
60
// expected-note@-1 {{add 'if #available' version check}}
61
+ introducedLaterOnIOS ( ) // expected-error {{'introducedLaterOnIOS()' is only available in Mac Catalyst 56.0 or newer}}
62
+ // expected-note@-1 {{add 'if #available' version check}}
57
63
}
58
64
59
65
// macCatalyst should win over iOS when present
60
66
61
67
if #available( iOS 56 . 0 , macCatalyst 55 . 0 , * ) {
62
68
introducedLaterOnMacCatalyst ( ) // expected-error {{'introducedLaterOnMacCatalyst()' is only available in Mac Catalyst 56.0 or newer}}
63
69
// expected-note@-1 {{add 'if #available' version check}}
70
+ introducedLaterOnIOS ( ) // expected-error {{'introducedLaterOnIOS()' is only available in Mac Catalyst 56.0 or newer}}
71
+ // expected-note@-1 {{add 'if #available' version check}}
64
72
}
65
73
66
74
if #available( iOS 55 . 0 , macCatalyst 56 . 0 , * ) {
67
75
introducedLaterOnMacCatalyst ( ) // no-warning
76
+ introducedLaterOnIOS ( ) // no-error
77
+ }
78
+
79
+ if #available( iOS 57 . 0 , macCatalyst 56 . 0 , * ) {
80
+ introducedLaterOnMacCatalyst ( ) // no-warning
81
+ introducedLaterOnIOS ( ) // no-error
68
82
}
69
83
70
84
// iOS availability should be inherited when macCatalyst is not present
71
85
72
86
if #available( iOS 55 . 0 , * ) {
73
87
introducedLaterOnMacCatalyst ( ) // expected-error {{'introducedLaterOnMacCatalyst()' is only available in Mac Catalyst 56.0 or newer}}
74
88
// expected-note@-1 {{add 'if #available' version check}}
89
+ introducedLaterOnIOS ( ) // expected-error {{'introducedLaterOnIOS()' is only available in Mac Catalyst 56.0 or newer}}
90
+ // expected-note@-1 {{add 'if #available' version check}}
75
91
}
76
92
77
93
if #available( iOS 56 . 0 , * ) {
78
94
introducedLaterOnMacCatalyst ( ) // no-warning
95
+ introducedLaterOnIOS ( ) // no-error
79
96
}
80
97
81
98
// macOS availability doesn't count on macCatalyst for Swift.
0 commit comments