vxx2 / vlib / v / checker / tests / deprecations.vv
70 lines · 60 sloc · 1.01 KB · 3ffc951cf555dc4818309a507ccb9d0da4de748f
Raw
1// methods using [deprecated_after]:
2struct Abc {
3 x int
4}
5
6fn (a Abc) str() string {
7 return 'Abc { x: ${a.x} }'
8}
9
10@[deprecated: 'custom message 1']
11@[deprecated_after: '3000-11-01']
12fn (a Abc) future() {
13 dump(@METHOD)
14 dump(a)
15}
16
17@[deprecated: 'custom message 2']
18@[deprecated_after: '2021-03-01']
19fn (a Abc) past() {
20 dump(@METHOD)
21 dump(a)
22}
23
24@[deprecated: 'custom message 3']
25fn (a Abc) simply_deprecated() {
26 dump(@METHOD)
27 dump(a)
28}
29
30// functions using [deprecated_after]:
31@[deprecated: 'custom message 4']
32@[deprecated_after: '3000-12-30']
33fn future() {
34 dump(@FN)
35}
36
37@[deprecated: 'custom message 5']
38@[deprecated_after: '2021-03-01']
39fn past() {
40 dump(@FN)
41}
42
43@[deprecated: 'custom message 6']
44@[deprecated_after: '1990-03-01']
45fn ancient() {
46 dump(@FN)
47}
48
49@[deprecated: 'custom message 7']
50fn simply_deprecated() {
51 dump(@FN)
52}
53
54@[deprecated]
55fn just_deprecated() {
56 dump(@FN)
57}
58
59fn main() {
60 future()
61 past()
62 simply_deprecated()
63 just_deprecated()
64 ancient()
65 //
66 a := Abc{}
67 a.future()
68 a.past()
69 a.simply_deprecated()
70}
71