| // RUN: %target-typecheck-verify-swift -package-description-version 4.0 |
| |
| @available(_PackageDescription 3) |
| func shortThree() {} |
| |
| @available(_PackageDescription, introduced: 3.0) |
| func threePointOh() {} |
| |
| @available(_PackageDescription, introduced: 3.0, obsoleted: 4.0) |
| func threePointOhOnly() {} // expected-note {{was obsoleted in PackageDescription 4.0}} |
| |
| @available(_PackageDescription, deprecated: 3.0) |
| func deprecatedThreePointOh() {} |
| |
| @available(_PackageDescription, obsoleted: 3.0) |
| func obsoletedThreePointOh() {} // expected-note {{was obsoleted in PackageDescription 3.0}} |
| |
| @available(_PackageDescription, introduced: 3.0, obsoleted: 4.0) |
| class ThreePointOhOnly {} // expected-note {{was obsoleted in PackageDescription 4.0}} |
| |
| @available(_PackageDescription, introduced: 3, obsoleted: 4, message: "use abc") |
| class ThreeOnlyWithMessage {} // expected-note {{was obsoleted in PackageDescription 4}} |
| |
| |
| @available(_PackageDescription 4) |
| func shortFour() {} |
| |
| @available(_PackageDescription 4.0) |
| func shortFourPointOh() {} |
| |
| @available(_PackageDescription, introduced: 4) |
| func four() {} |
| |
| @available(_PackageDescription, introduced: 4.0) |
| func fourPointOh() {} |
| |
| @available(_PackageDescription 4) |
| class ShortFour {} |
| |
| shortThree() |
| threePointOh() |
| threePointOhOnly() // expected-error {{is unavailable}} |
| deprecatedThreePointOh() // expected-warning {{is deprecated}} |
| obsoletedThreePointOh() // expected-error {{is unavailable}} |
| let a : ThreePointOhOnly // expected-error {{is unavailable}} |
| let b : ThreeOnlyWithMessage // expected-error {{is unavailable: use abc}} |
| |
| |
| shortFour() |
| shortFourPointOh() |
| four() |
| fourPointOh() |
| let aa : ShortFour |
| |
| @available(_PackageDescription, introduced: 4.0) |
| @available(*, deprecated, message: "test deprecated") |
| func unconditionallyDeprecated() {} |
| |
| unconditionallyDeprecated() // expected-warning {{test deprecated}} |
| |
| @available(_PackageDescription 4.0, iOS 2.0, *) // expected-error {{'_PackageDescription' version-availability must be specified alone}} |
| func shouldBeAlone() {} |
| |
| @available(_PackageDescription 4.0, swift 2.0, *) // expected-error {{'_PackageDescription' version-availability must be specified alone}} // expected-error {{'swift' version-availability must be specified alone}} |
| func shouldBeAlone2() {} |