You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: test/embedded/availability.swift
+38Lines changed: 38 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -87,3 +87,41 @@ public func also_universally_unavailable(
87
87
has_unavailable_in_embedded_overload(.init()) // expected-error {{ambiguous use of 'init()'}}
88
88
has_universally_unavailable_overload(.init()) // not ambiguous, selects available overload
89
89
}
90
+
91
+
classBase{
92
+
func alwaysAvailable(){}
93
+
94
+
@_unavailableInEmbedded
95
+
func overrideAsUnavailable(){}
96
+
97
+
@_unavailableInEmbedded
98
+
func overrideLessUnavailable(){} // expected-note {{'overrideLessUnavailable()' has been explicitly marked unavailable here}}
99
+
100
+
func overrideMoreUnavailable(){} // expected-note {{overridden declaration is here}}
101
+
}
102
+
103
+
classDerivedAvailable:Base{
104
+
overridefunc alwaysAvailable(){}
105
+
106
+
@_unavailableInEmbedded
107
+
overridefunc overrideAsUnavailable(){}
108
+
109
+
overridefunc overrideLessUnavailable(){} // expected-error {{cannot override 'overrideLessUnavailable' which has been marked unavailable}}
110
+
// expected-note@-1 {{remove 'override' modifier to declare a new 'overrideLessUnavailable'}}
111
+
112
+
@_unavailableInEmbedded
113
+
overridefunc overrideMoreUnavailable(){} // expected-error {{cannot override 'overrideMoreUnavailable' with a declaration that is marked unavailable}}{{112:3-26=}}
0 commit comments