-
Notifications
You must be signed in to change notification settings - Fork 10.4k
/
Copy pathattr_availability_swiftpm_v4.swift
65 lines (45 loc) · 2.19 KB
/
attr_availability_swiftpm_v4.swift
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
62
63
64
65
// 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() {}