@@ -319,23 +319,38 @@ func unavailableOnMacOS() {
319319 let x = 1
320320}
321321
322- // CHECK-NEXT: {{^}} (decl_implicit version=50 deprecated decl=deprecatedOnMacOS()
323- // CHECK-NEXT: {{^}} (decl_implicit version=50 deprecated decl=x
324-
325- @available ( macOS, deprecated)
326- func deprecatedOnMacOS( ) {
327- let x = 1
328- }
329-
330322// CHECK-NEXT: {{^}} (decl_implicit version=50 decl=extension.SomeEnum
331323// CHECK-NEXT: {{^}} (decl_implicit version=50 unavailable=macOS decl=extension.SomeEnum
332- // CHECK-NEXT: {{^}} (decl_implicit version=50 unavailable=macOS decl=propertyInUnavailableExtension
333- // CHECK-NEXT: {{^}} (decl version=52 unavailable=macOS decl=propertyInUnavailableExtension
324+ // CHECK-NEXT: {{^}} (decl_implicit version=50 unavailable=macOS decl=availableMacOS_52
325+ // CHECK-NEXT: {{^}} (decl version=52 unavailable=macOS decl=availableMacOS_52
326+ // CHECK-NEXT: {{^}} (decl_implicit version=50 unavailable=* decl=neverAvailable()
334327
335328@available ( macOS, unavailable)
336329extension SomeEnum {
337330 @available ( OSX 52 , * )
338- var propertyInUnavailableExtension : Int { 1 }
331+ var availableMacOS_52 : Int { 1 }
332+
333+ @available ( macOSApplicationExtension, unavailable)
334+ func unavailableInAppExtensions( ) { }
335+
336+ @available ( * , unavailable)
337+ func neverAvailable( ) { }
338+ }
339+
340+ // CHECK-NEXT: {{^}} (decl_implicit version=50 unavailable=* decl=NeverAvailable
341+
342+ @available ( * , unavailable)
343+ struct NeverAvailable {
344+ @available ( macOS, unavailable)
345+ func unavailableOnMacOS( ) { }
346+ }
347+
348+ // CHECK-NEXT: {{^}} (decl_implicit version=50 deprecated decl=deprecatedOnMacOS()
349+ // CHECK-NEXT: {{^}} (decl_implicit version=50 deprecated decl=x
350+
351+ @available ( macOS, deprecated)
352+ func deprecatedOnMacOS( ) {
353+ let x = 1
339354}
340355
341356// CHECK-NEXT: {{^}} (decl version=51 decl=FinalDecl
0 commit comments