@salang/sa 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/bin/sa.js +13 -1
  2. package/package.json +8 -7
  3. package/sa_std/alloc/layout.sal +12 -0
  4. package/sa_std/alloc/prelude.sa +1 -0
  5. package/sa_std/alloc/prelude.sal +1 -0
  6. package/sa_std/alloc/string.sa +3 -0
  7. package/sa_std/alloc/vec.sa +684 -0
  8. package/sa_std/alloc/vec.sal +4 -0
  9. package/sa_std/any.sa +130 -0
  10. package/sa_std/any.sal +23 -0
  11. package/sa_std/array.sa +1876 -0
  12. package/sa_std/ascii.sa +2 -0
  13. package/sa_std/ascii.sal +1 -0
  14. package/sa_std/async.sla +116 -0
  15. package/sa_std/binary_heap.sa +3003 -0
  16. package/sa_std/binary_heap.sal +7 -0
  17. package/sa_std/borrow.sa +171 -0
  18. package/sa_std/borrow.sal +13 -0
  19. package/sa_std/btree_map.sa +2210 -0
  20. package/sa_std/btree_map.sal +11 -0
  21. package/sa_std/btree_set.sa +1072 -0
  22. package/sa_std/btree_set.sal +6 -0
  23. package/sa_std/char.sa +1309 -0
  24. package/sa_std/char.sal +50 -0
  25. package/sa_std/cmp.sa +554 -0
  26. package/sa_std/cmp.sal +14 -0
  27. package/sa_std/collections/binary_heap.sa +1 -0
  28. package/sa_std/collections/btree_map.sa +1 -0
  29. package/sa_std/collections/btree_set.sa +1 -0
  30. package/sa_std/collections/hashmap.sa +1 -0
  31. package/sa_std/collections/hashset.sa +1 -0
  32. package/sa_std/collections/linked_list.sa +1120 -0
  33. package/sa_std/collections/linked_list.sal +10 -0
  34. package/sa_std/collections/prelude.sa +7 -0
  35. package/sa_std/collections/prelude.sal +1 -0
  36. package/sa_std/collections/vec_deque.sa +1 -0
  37. package/sa_std/collections.sal +13 -0
  38. package/sa_std/convert.sa +1115 -0
  39. package/sa_std/convert.sal +24 -0
  40. package/sa_std/core/arc.sa +233 -0
  41. package/sa_std/core/arc.sal +4 -0
  42. package/sa_std/core/ascii.sa +784 -0
  43. package/sa_std/core/ascii.sal +34 -0
  44. package/sa_std/core/bit.sa +41 -0
  45. package/sa_std/core/box.sa +1 -0
  46. package/sa_std/core/box.sal +2 -0
  47. package/sa_std/core/cell.sa +108 -0
  48. package/sa_std/core/cell.sal +5 -0
  49. package/sa_std/core/cleanup.sa +26 -0
  50. package/sa_std/core/control.sa +20 -0
  51. package/sa_std/core/derive.sa +60 -0
  52. package/sa_std/core/derive.sal +1 -0
  53. package/sa_std/core/dispatch.sa +7 -0
  54. package/sa_std/core/dispatch.sal +5 -0
  55. package/sa_std/core/future.sa +777 -0
  56. package/sa_std/core/future.sal +73 -0
  57. package/sa_std/core/hash.sa +48 -0
  58. package/sa_std/core/iter.sa +2805 -0
  59. package/sa_std/core/iter.sal +4 -0
  60. package/sa_std/core/loop.sa +60 -0
  61. package/sa_std/core/mem.sa +220 -0
  62. package/sa_std/core/option.sa +825 -0
  63. package/sa_std/core/option.sal +11 -0
  64. package/sa_std/core/panic.sa +23 -0
  65. package/sa_std/core/panic.sal +12 -0
  66. package/sa_std/core/prelude.sa +18 -0
  67. package/sa_std/core/prelude.sal +18 -0
  68. package/sa_std/core/rc.sa +225 -0
  69. package/sa_std/core/rc.sal +4 -0
  70. package/sa_std/core/refcell.sa +283 -0
  71. package/sa_std/core/refcell.sal +13 -0
  72. package/sa_std/core/result.sa +708 -0
  73. package/sa_std/core/result.sal +6 -0
  74. package/sa_std/core/rust_patterns.sal +295 -0
  75. package/sa_std/core/sa_core.sa +84 -0
  76. package/sa_std/core/slice.sa +4021 -0
  77. package/sa_std/core/slice.sal +7 -0
  78. package/sa_std/core/task.sa +112 -0
  79. package/sa_std/core/task.sal +15 -0
  80. package/sa_std/core/trait_object.sa +26 -0
  81. package/sa_std/core/trait_object.sal +4 -0
  82. package/sa_std/core/waker.sa +289 -0
  83. package/sa_std/core/waker.sal +31 -0
  84. package/sa_std/core/weak.sa +2 -0
  85. package/sa_std/core/weak.sal +4 -0
  86. package/sa_std/cow.sa +3 -0
  87. package/sa_std/cow.sal +2 -0
  88. package/sa_std/cstring.sa +3 -0
  89. package/sa_std/cstring.sal +2 -0
  90. package/sa_std/default.sa +99 -0
  91. package/sa_std/duration.sa +3 -0
  92. package/sa_std/duration.sal +2 -0
  93. package/sa_std/encoding/json.sa +259 -0
  94. package/sa_std/encoding/json.sai +54 -0
  95. package/sa_std/encoding/json.sal +35 -0
  96. package/sa_std/encoding/prelude.sa +1 -0
  97. package/sa_std/encoding/prelude.sal +0 -0
  98. package/sa_std/env.sa +390 -0
  99. package/sa_std/env.sai +25 -0
  100. package/sa_std/error.sa +253 -0
  101. package/sa_std/error.sal +44 -0
  102. package/sa_std/ffi/cstring.sa +3 -0
  103. package/sa_std/ffi/cstring.sal +1 -0
  104. package/sa_std/ffi/prelude.sa +2 -0
  105. package/sa_std/ffi/prelude.sal +2 -0
  106. package/sa_std/ffi.sa +635 -0
  107. package/sa_std/ffi.sal +51 -0
  108. package/sa_std/fmt.sa +2 -0
  109. package/sa_std/fmt.sai +18 -0
  110. package/sa_std/fmt.sal +35 -0
  111. package/sa_std/fs.sa +1023 -0
  112. package/sa_std/fs.sai +127 -0
  113. package/sa_std/fs.sal +51 -0
  114. package/sa_std/future.sa +2 -0
  115. package/sa_std/future.sal +1 -0
  116. package/sa_std/hash.sa +1486 -0
  117. package/sa_std/hash.sal +13 -0
  118. package/sa_std/hashmap.sa +1962 -0
  119. package/sa_std/hashmap.sal +20 -0
  120. package/sa_std/hashset.sa +1004 -0
  121. package/sa_std/hashset.sal +18 -0
  122. package/sa_std/http2.sa +78 -0
  123. package/sa_std/http2.sai +26 -0
  124. package/sa_std/http2.sal +36 -0
  125. package/sa_std/instant.sa +3 -0
  126. package/sa_std/instant.sal +2 -0
  127. package/sa_std/io/buf_reader.sa +43 -0
  128. package/sa_std/io/buf_writer.sa +35 -0
  129. package/sa_std/io/bufio.sa +4 -0
  130. package/sa_std/io/bufio.sal +4 -0
  131. package/sa_std/io/prelude.sa +1 -0
  132. package/sa_std/io/prelude.sal +1 -0
  133. package/sa_std/io/print.sa +2 -0
  134. package/sa_std/io/print.sai +3 -0
  135. package/sa_std/io.sa +925 -0
  136. package/sa_std/io.sai +25 -0
  137. package/sa_std/io.sal +84 -0
  138. package/sa_std/iter.sa +2 -0
  139. package/sa_std/iter.sal +1 -0
  140. package/sa_std/join_handle.sa +3 -0
  141. package/sa_std/join_handle.sal +2 -0
  142. package/sa_std/libsa_async.sa +80 -0
  143. package/sa_std/m_async.sa +137 -0
  144. package/sa_std/m_async.sal +30 -0
  145. package/sa_std/m_async.sla +2 -0
  146. package/sa_std/manually_drop.sa +3 -0
  147. package/sa_std/manually_drop.sal +2 -0
  148. package/sa_std/marker/phantom_data.sa +3 -0
  149. package/sa_std/marker/phantom_data.sal +1 -0
  150. package/sa_std/marker/prelude.sa +4 -0
  151. package/sa_std/marker/prelude.sal +4 -0
  152. package/sa_std/marker.sa +220 -0
  153. package/sa_std/marker.sal +15 -0
  154. package/sa_std/math.sa +84 -0
  155. package/sa_std/math.sai +10 -0
  156. package/sa_std/mem/manually_drop.sa +3 -0
  157. package/sa_std/mem/manually_drop.sal +1 -0
  158. package/sa_std/mem/prelude.sa +2 -0
  159. package/sa_std/mem/prelude.sal +2 -0
  160. package/sa_std/mem.sa +564 -0
  161. package/sa_std/mem.sal +40 -0
  162. package/sa_std/modstate.sai +19 -0
  163. package/sa_std/net.sa +4227 -0
  164. package/sa_std/net.sai +239 -0
  165. package/sa_std/net.sal +159 -0
  166. package/sa_std/netx.sa +85 -0
  167. package/sa_std/netx.sai +11 -0
  168. package/sa_std/netx.sal +39 -0
  169. package/sa_std/nonzero.sa +3 -0
  170. package/sa_std/nonzero.sal +2 -0
  171. package/sa_std/num/nonzero.sa +3 -0
  172. package/sa_std/num/nonzero.sal +1 -0
  173. package/sa_std/num/prelude.sa +3 -0
  174. package/sa_std/num/prelude.sal +3 -0
  175. package/sa_std/num.sa +17302 -0
  176. package/sa_std/num.sai +11 -0
  177. package/sa_std/num.sal +341 -0
  178. package/sa_std/ops.sa +1884 -0
  179. package/sa_std/ops.sal +68 -0
  180. package/sa_std/option.sa +2 -0
  181. package/sa_std/option.sal +1 -0
  182. package/sa_std/os/fd.sa +96 -0
  183. package/sa_std/os/fd.sai +7 -0
  184. package/sa_std/os/fd.sal +11 -0
  185. package/sa_std/os/prelude.sa +2 -0
  186. package/sa_std/os/prelude.sal +1 -0
  187. package/sa_std/os/unix_ffi.sa +271 -0
  188. package/sa_std/panic.sa +1 -0
  189. package/sa_std/panic.sal +1 -0
  190. package/sa_std/path.sa +3170 -0
  191. package/sa_std/path.sal +12 -0
  192. package/sa_std/phantom_data.sa +3 -0
  193. package/sa_std/phantom_data.sal +2 -0
  194. package/sa_std/pin.sa +79 -0
  195. package/sa_std/pin.sal +5 -0
  196. package/sa_std/plugin_async.sa +90 -0
  197. package/sa_std/plugin_async.sal +29 -0
  198. package/sa_std/plugin_async.sla +4 -0
  199. package/sa_std/plugin_http_async.sa +46 -0
  200. package/sa_std/plugin_http_server.sa +61 -0
  201. package/sa_std/plugin_http_server.sla +2 -0
  202. package/sa_std/plugin_sqlite.sa +106 -0
  203. package/sa_std/plugin_sqlite.sla +2 -0
  204. package/sa_std/prelude.sa +60 -0
  205. package/sa_std/prelude.sal +55 -0
  206. package/sa_std/process.sa +916 -0
  207. package/sa_std/process.sai +57 -0
  208. package/sa_std/process.sal +27 -0
  209. package/sa_std/ptr.sa +503 -0
  210. package/sa_std/ptr.sal +2 -0
  211. package/sa_std/result.sa +2 -0
  212. package/sa_std/result.sal +1 -0
  213. package/sa_std/rust_core.sa +51 -0
  214. package/sa_std/rust_core.sal +26 -0
  215. package/sa_std/sa.mod +7 -0
  216. package/sa_std/sort.sa +156 -0
  217. package/sa_std/str.sla +13 -0
  218. package/sa_std/string.sa +12240 -0
  219. package/sa_std/string.sai +25 -0
  220. package/sa_std/string.sal +17 -0
  221. package/sa_std/string_format.sa +269 -0
  222. package/sa_std/sync/atomic.sa +1500 -0
  223. package/sa_std/sync/atomic.sal +45 -0
  224. package/sa_std/sync/barrier.sa +105 -0
  225. package/sa_std/sync/barrier.sal +7 -0
  226. package/sa_std/sync/condvar.sa +240 -0
  227. package/sa_std/sync/condvar.sal +4 -0
  228. package/sa_std/sync/mpsc.sa +758 -0
  229. package/sa_std/sync/mpsc.sal +42 -0
  230. package/sa_std/sync/mpsc_list.sa +255 -0
  231. package/sa_std/sync/mpsc_list.sal +3 -0
  232. package/sa_std/sync/mutex.sa +182 -0
  233. package/sa_std/sync/mutex.sal +7 -0
  234. package/sa_std/sync/once.sa +371 -0
  235. package/sa_std/sync/once.sal +31 -0
  236. package/sa_std/sync/poison.sa +36 -0
  237. package/sa_std/sync/poison.sal +11 -0
  238. package/sa_std/sync/prelude.sa +8 -0
  239. package/sa_std/sync/prelude.sal +7 -0
  240. package/sa_std/sync/rwlock.sa +369 -0
  241. package/sa_std/sync/rwlock.sal +13 -0
  242. package/sa_std/task.sa +2 -0
  243. package/sa_std/task.sal +1 -0
  244. package/sa_std/term.sa +2 -0
  245. package/sa_std/term.sai +10 -0
  246. package/sa_std/term.sal +33 -0
  247. package/sa_std/testing/assert.sai +4 -0
  248. package/sa_std/testing/mock_io.sa +174 -0
  249. package/sa_std/testing/mock_io.sal +5 -0
  250. package/sa_std/testing/prelude.sa +2 -0
  251. package/sa_std/testing/prelude.sal +1 -0
  252. package/sa_std/text/prelude.sa +1 -0
  253. package/sa_std/text/prelude.sal +1 -0
  254. package/sa_std/text/regex.sa +2 -0
  255. package/sa_std/text/regex.sai +9 -0
  256. package/sa_std/text/regex.sal +33 -0
  257. package/sa_std/thread/join_handle.sa +3 -0
  258. package/sa_std/thread/join_handle.sal +1 -0
  259. package/sa_std/thread/prelude.sa +4 -0
  260. package/sa_std/thread/prelude.sal +3 -0
  261. package/sa_std/thread.sa +160 -0
  262. package/sa_std/thread.sai +11 -0
  263. package/sa_std/thread.sal +4 -0
  264. package/sa_std/thread_local.sa +45 -0
  265. package/sa_std/thread_local.sai +9 -0
  266. package/sa_std/time/duration.sa +3 -0
  267. package/sa_std/time/duration.sal +1 -0
  268. package/sa_std/time/instant.sa +3 -0
  269. package/sa_std/time/instant.sal +1 -0
  270. package/sa_std/time/prelude.sa +4 -0
  271. package/sa_std/time/prelude.sal +4 -0
  272. package/sa_std/time.sa +850 -0
  273. package/sa_std/time.sai +37 -0
  274. package/sa_std/time.sal +35 -0
  275. package/sa_std/time.sla +67 -0
  276. package/sa_std/tls_client.sai +39 -0
  277. package/sa_std/vec.sa +5754 -0
  278. package/sa_std/vec.sal +1 -0
  279. package/sa_std/vec_deque.sa +4925 -0
  280. package/sa_std/vec_deque.sal +8 -0
  281. package/sa_std/vec_runtime_macros.sa +11 -0
  282. package/sa_std/ws_client.sai +57 -0
package/sa_std/any.sa ADDED
@@ -0,0 +1,130 @@
1
+ @import "any.sal"
2
+
3
+ [MACRO] TYPE_ID_NEW %type_id, %lo, %hi
4
+ store %type_id+TypeId_lo, %lo as u64
5
+ store %type_id+TypeId_hi, %hi as u64
6
+ [END_MACRO]
7
+
8
+ [MACRO] TYPE_ID_LO %out_lo, %type_id
9
+ %out_lo = load %type_id+TypeId_lo as u64
10
+ [END_MACRO]
11
+
12
+ [MACRO] TYPE_ID_HI %out_hi, %type_id
13
+ %out_hi = load %type_id+TypeId_hi as u64
14
+ [END_MACRO]
15
+
16
+ [MACRO] TYPE_ID_EQ %out_bool, %left, %right
17
+ __type_id_left_lo_%out_bool = load %left+TypeId_lo as u64
18
+ __type_id_left_hi_%out_bool = load %left+TypeId_hi as u64
19
+ __type_id_right_lo_%out_bool = load %right+TypeId_lo as u64
20
+ __type_id_right_hi_%out_bool = load %right+TypeId_hi as u64
21
+ __type_id_lo_eq_%out_bool = eq __type_id_left_lo_%out_bool, __type_id_right_lo_%out_bool
22
+ __type_id_hi_eq_%out_bool = eq __type_id_left_hi_%out_bool, __type_id_right_hi_%out_bool
23
+ %out_bool = and __type_id_lo_eq_%out_bool, __type_id_hi_eq_%out_bool
24
+ !__type_id_hi_eq_%out_bool
25
+ !__type_id_lo_eq_%out_bool
26
+ !__type_id_right_hi_%out_bool
27
+ !__type_id_right_lo_%out_bool
28
+ !__type_id_left_hi_%out_bool
29
+ !__type_id_left_lo_%out_bool
30
+ [END_MACRO]
31
+
32
+ [MACRO] TYPE_ID_BOOL %type_id
33
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_BOOL_LO, ANY_TYPE_ID_HI
34
+ [END_MACRO]
35
+
36
+ [MACRO] TYPE_ID_U8 %type_id
37
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_U8_LO, ANY_TYPE_ID_HI
38
+ [END_MACRO]
39
+
40
+ [MACRO] TYPE_ID_U16 %type_id
41
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_U16_LO, ANY_TYPE_ID_HI
42
+ [END_MACRO]
43
+
44
+ [MACRO] TYPE_ID_U32 %type_id
45
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_U32_LO, ANY_TYPE_ID_HI
46
+ [END_MACRO]
47
+
48
+ [MACRO] TYPE_ID_U64 %type_id
49
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_U64_LO, ANY_TYPE_ID_HI
50
+ [END_MACRO]
51
+
52
+ // Rust method-name alias over TYPE_ID_U64.
53
+ [MACRO] TYPE_ID %type_id
54
+ EXPAND TYPE_ID_U64 %type_id
55
+ [END_MACRO]
56
+
57
+ [MACRO] TYPE_ID_I8 %type_id
58
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_I8_LO, ANY_TYPE_ID_HI
59
+ [END_MACRO]
60
+
61
+ [MACRO] TYPE_ID_I16 %type_id
62
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_I16_LO, ANY_TYPE_ID_HI
63
+ [END_MACRO]
64
+
65
+ [MACRO] TYPE_ID_I32 %type_id
66
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_I32_LO, ANY_TYPE_ID_HI
67
+ [END_MACRO]
68
+
69
+ [MACRO] TYPE_ID_I64 %type_id
70
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_I64_LO, ANY_TYPE_ID_HI
71
+ [END_MACRO]
72
+
73
+ [MACRO] TYPE_ID_PTR %type_id
74
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_PTR_LO, ANY_TYPE_ID_HI
75
+ [END_MACRO]
76
+
77
+ [MACRO] TYPE_ID_SLICE %type_id
78
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_SLICE_LO, ANY_TYPE_ID_HI
79
+ [END_MACRO]
80
+
81
+ [MACRO] TYPE_ID_STRING %type_id
82
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_STRING_LO, ANY_TYPE_ID_HI
83
+ [END_MACRO]
84
+
85
+ [MACRO] TYPE_ID_VEC %type_id
86
+ EXPAND TYPE_ID_NEW %type_id, ANY_TYPE_VEC_LO, ANY_TYPE_ID_HI
87
+ [END_MACRO]
88
+
89
+ [MACRO] ANY_REF_NEW %any_ref, %type_id, %value_ptr
90
+ __any_new_lo_%any_ref = load %type_id+TypeId_lo as u64
91
+ __any_new_hi_%any_ref = load %type_id+TypeId_hi as u64
92
+ store %any_ref+AnyRef_type_lo, __any_new_lo_%any_ref as u64
93
+ store %any_ref+AnyRef_type_hi, __any_new_hi_%any_ref as u64
94
+ store %any_ref+AnyRef_ptr, %value_ptr as ptr
95
+ !__any_new_hi_%any_ref
96
+ !__any_new_lo_%any_ref
97
+ [END_MACRO]
98
+
99
+ [MACRO] ANY_REF_TYPE_ID %type_id, %any_ref
100
+ __any_type_lo_%type_id = load %any_ref+AnyRef_type_lo as u64
101
+ __any_type_hi_%type_id = load %any_ref+AnyRef_type_hi as u64
102
+ store %type_id+TypeId_lo, __any_type_lo_%type_id as u64
103
+ store %type_id+TypeId_hi, __any_type_hi_%type_id as u64
104
+ !__any_type_hi_%type_id
105
+ !__any_type_lo_%type_id
106
+ [END_MACRO]
107
+
108
+ [MACRO] ANY_REF_IS %out_bool, %any_ref, %type_id
109
+ __any_is_current_%out_bool = stack_alloc TypeId_SIZE
110
+ EXPAND ANY_REF_TYPE_ID __any_is_current_%out_bool, %any_ref
111
+ EXPAND TYPE_ID_EQ %out_bool, __any_is_current_%out_bool, %type_id
112
+ [END_MACRO]
113
+
114
+ [MACRO] ANY_REF_DOWNCAST_PTR %out_ok, %out_ptr, %any_ref, %type_id
115
+ EXPAND ANY_REF_IS __any_downcast_ok_%out_ok, %any_ref, %type_id
116
+ br __any_downcast_ok_%out_ok -> L_ANY_DOWNCAST_HIT_%out_ok, L_ANY_DOWNCAST_MISS_%out_ok
117
+
118
+ L_ANY_DOWNCAST_HIT_%out_ok:
119
+ %out_ptr = load %any_ref+AnyRef_ptr as ptr
120
+ %out_ok = add 0, 1
121
+ !__any_downcast_ok_%out_ok
122
+ jmp L_ANY_DOWNCAST_END_%out_ok
123
+
124
+ L_ANY_DOWNCAST_MISS_%out_ok:
125
+ %out_ptr = 0 as ptr
126
+ %out_ok = add 0, 0
127
+ !__any_downcast_ok_%out_ok
128
+
129
+ L_ANY_DOWNCAST_END_%out_ok:
130
+ [END_MACRO]
package/sa_std/any.sal ADDED
@@ -0,0 +1,23 @@
1
+ #def TypeId_SIZE = 16
2
+ #def TypeId_lo = +0
3
+ #def TypeId_hi = +8
4
+
5
+ #def AnyRef_SIZE = 24
6
+ #def AnyRef_type_lo = +0
7
+ #def AnyRef_type_hi = +8
8
+ #def AnyRef_ptr = +16
9
+
10
+ #def ANY_TYPE_BOOL_LO = 1
11
+ #def ANY_TYPE_U8_LO = 2
12
+ #def ANY_TYPE_U16_LO = 3
13
+ #def ANY_TYPE_U32_LO = 4
14
+ #def ANY_TYPE_U64_LO = 5
15
+ #def ANY_TYPE_I8_LO = 6
16
+ #def ANY_TYPE_I16_LO = 7
17
+ #def ANY_TYPE_I32_LO = 8
18
+ #def ANY_TYPE_I64_LO = 9
19
+ #def ANY_TYPE_PTR_LO = 10
20
+ #def ANY_TYPE_SLICE_LO = 11
21
+ #def ANY_TYPE_STRING_LO = 12
22
+ #def ANY_TYPE_VEC_LO = 13
23
+ #def ANY_TYPE_ID_HI = 0