rbs 3.10.4 → 4.0.0

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 (267) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +14 -14
  3. data/.github/workflows/bundle-update.yml +60 -0
  4. data/.github/workflows/c-check.yml +7 -5
  5. data/.github/workflows/comments.yml +2 -2
  6. data/.github/workflows/dependabot.yml +2 -2
  7. data/.github/workflows/ruby.yml +16 -26
  8. data/.github/workflows/rust.yml +95 -0
  9. data/.github/workflows/typecheck.yml +1 -1
  10. data/.github/workflows/windows.yml +2 -2
  11. data/.rubocop.yml +2 -2
  12. data/.vscode/extensions.json +5 -0
  13. data/.vscode/settings.json +19 -0
  14. data/CHANGELOG.md +202 -2
  15. data/Rakefile +9 -23
  16. data/Steepfile +2 -0
  17. data/config.yml +457 -13
  18. data/core/array.rbs +218 -188
  19. data/core/basic_object.rbs +9 -8
  20. data/core/binding.rbs +0 -2
  21. data/core/builtin.rbs +2 -2
  22. data/core/class.rbs +6 -5
  23. data/core/comparable.rbs +45 -31
  24. data/core/complex.rbs +66 -55
  25. data/core/dir.rbs +57 -45
  26. data/core/encoding.rbs +6 -6
  27. data/core/enumerable.rbs +105 -91
  28. data/core/enumerator/arithmetic_sequence.rbs +70 -0
  29. data/core/enumerator.rbs +24 -3
  30. data/core/errno.rbs +3 -2
  31. data/core/errors.rbs +31 -29
  32. data/core/exception.rbs +12 -12
  33. data/core/fiber.rbs +47 -36
  34. data/core/file.rbs +242 -169
  35. data/core/file_test.rbs +2 -2
  36. data/core/float.rbs +42 -68
  37. data/core/gc.rbs +78 -70
  38. data/core/hash.rbs +70 -60
  39. data/core/integer.rbs +32 -75
  40. data/core/io/buffer.rbs +36 -36
  41. data/core/io/wait.rbs +7 -7
  42. data/core/io.rbs +192 -146
  43. data/core/kernel.rbs +198 -147
  44. data/core/marshal.rbs +3 -3
  45. data/core/match_data.rbs +14 -12
  46. data/core/math.rbs +69 -67
  47. data/core/method.rbs +6 -8
  48. data/core/module.rbs +148 -88
  49. data/core/nil_class.rbs +4 -3
  50. data/core/numeric.rbs +53 -50
  51. data/core/object.rbs +6 -8
  52. data/core/object_space.rbs +11 -10
  53. data/core/pathname.rbs +131 -81
  54. data/core/proc.rbs +65 -34
  55. data/core/process.rbs +221 -201
  56. data/core/ractor.rbs +15 -11
  57. data/core/random.rbs +21 -3
  58. data/core/range.rbs +152 -49
  59. data/core/rational.rbs +5 -56
  60. data/core/rbs/unnamed/argf.rbs +58 -51
  61. data/core/rbs/unnamed/env_class.rbs +18 -13
  62. data/core/rbs/unnamed/main_class.rbs +123 -0
  63. data/core/rbs/unnamed/random.rbs +7 -116
  64. data/core/regexp.rbs +236 -197
  65. data/core/ruby.rbs +1 -1
  66. data/core/ruby_vm.rbs +32 -30
  67. data/core/rubygems/config_file.rbs +5 -5
  68. data/core/rubygems/errors.rbs +1 -1
  69. data/core/rubygems/requirement.rbs +5 -5
  70. data/core/rubygems/rubygems.rbs +5 -3
  71. data/core/set.rbs +17 -16
  72. data/core/signal.rbs +2 -2
  73. data/core/string.rbs +318 -298
  74. data/core/struct.rbs +26 -25
  75. data/core/symbol.rbs +25 -24
  76. data/core/thread.rbs +40 -41
  77. data/core/time.rbs +47 -42
  78. data/core/trace_point.rbs +34 -31
  79. data/core/true_class.rbs +2 -2
  80. data/core/unbound_method.rbs +10 -10
  81. data/core/warning.rbs +7 -7
  82. data/docs/collection.md +1 -1
  83. data/docs/config.md +171 -0
  84. data/docs/inline.md +576 -0
  85. data/docs/syntax.md +46 -16
  86. data/docs/type_fingerprint.md +21 -0
  87. data/exe/rbs +1 -1
  88. data/ext/rbs_extension/ast_translation.c +595 -98
  89. data/ext/rbs_extension/class_constants.c +30 -0
  90. data/ext/rbs_extension/class_constants.h +15 -0
  91. data/ext/rbs_extension/legacy_location.c +30 -53
  92. data/ext/rbs_extension/legacy_location.h +37 -0
  93. data/ext/rbs_extension/main.c +125 -24
  94. data/include/rbs/ast.h +485 -150
  95. data/include/rbs/lexer.h +11 -4
  96. data/include/rbs/location.h +25 -44
  97. data/include/rbs/parser.h +20 -2
  98. data/include/rbs/util/rbs_constant_pool.h +0 -3
  99. data/include/rbs.h +8 -0
  100. data/lib/rbs/ast/annotation.rb +1 -1
  101. data/lib/rbs/ast/comment.rb +1 -1
  102. data/lib/rbs/ast/declarations.rb +10 -10
  103. data/lib/rbs/ast/members.rb +14 -14
  104. data/lib/rbs/ast/ruby/annotations.rb +409 -0
  105. data/lib/rbs/ast/ruby/comment_block.rb +245 -0
  106. data/lib/rbs/ast/ruby/declarations.rb +281 -0
  107. data/lib/rbs/ast/ruby/helpers/constant_helper.rb +28 -0
  108. data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
  109. data/lib/rbs/ast/ruby/members.rb +723 -0
  110. data/lib/rbs/ast/type_param.rb +24 -4
  111. data/lib/rbs/buffer.rb +105 -20
  112. data/lib/rbs/cli/diff.rb +16 -15
  113. data/lib/rbs/cli/validate.rb +62 -125
  114. data/lib/rbs/cli.rb +55 -23
  115. data/lib/rbs/collection/config/lockfile_generator.rb +8 -4
  116. data/lib/rbs/collection/sources/git.rb +1 -0
  117. data/lib/rbs/collection.rb +0 -1
  118. data/lib/rbs/definition.rb +6 -1
  119. data/lib/rbs/definition_builder/ancestor_builder.rb +119 -63
  120. data/lib/rbs/definition_builder/method_builder.rb +65 -30
  121. data/lib/rbs/definition_builder.rb +177 -20
  122. data/lib/rbs/diff.rb +7 -1
  123. data/lib/rbs/environment/class_entry.rb +69 -0
  124. data/lib/rbs/environment/module_entry.rb +66 -0
  125. data/lib/rbs/environment.rb +338 -155
  126. data/lib/rbs/environment_loader.rb +2 -2
  127. data/lib/rbs/errors.rb +30 -20
  128. data/lib/rbs/inline_parser/comment_association.rb +117 -0
  129. data/lib/rbs/inline_parser.rb +542 -0
  130. data/lib/rbs/location_aux.rb +36 -4
  131. data/lib/rbs/locator.rb +5 -1
  132. data/lib/rbs/method_type.rb +5 -3
  133. data/lib/rbs/namespace.rb +0 -7
  134. data/lib/rbs/parser_aux.rb +31 -8
  135. data/lib/rbs/prototype/helpers.rb +57 -0
  136. data/lib/rbs/prototype/rb.rb +3 -28
  137. data/lib/rbs/prototype/rbi.rb +3 -20
  138. data/lib/rbs/prototype/runtime.rb +10 -2
  139. data/lib/rbs/resolver/type_name_resolver.rb +0 -8
  140. data/lib/rbs/source.rb +99 -0
  141. data/lib/rbs/subtractor.rb +4 -3
  142. data/lib/rbs/test/type_check.rb +5 -2
  143. data/lib/rbs/type_name.rb +1 -8
  144. data/lib/rbs/types.rb +88 -78
  145. data/lib/rbs/unit_test/convertibles.rb +1 -0
  146. data/lib/rbs/unit_test/type_assertions.rb +35 -8
  147. data/lib/rbs/validator.rb +2 -2
  148. data/lib/rbs/version.rb +1 -1
  149. data/lib/rbs.rb +12 -1
  150. data/rbs.gemspec +3 -2
  151. data/rust/.gitignore +1 -0
  152. data/rust/Cargo.lock +378 -0
  153. data/rust/Cargo.toml +7 -0
  154. data/rust/ruby-rbs/Cargo.toml +22 -0
  155. data/rust/ruby-rbs/build.rs +764 -0
  156. data/rust/ruby-rbs/examples/locations.rs +60 -0
  157. data/rust/ruby-rbs/src/lib.rs +1 -0
  158. data/rust/ruby-rbs/src/node/mod.rs +742 -0
  159. data/rust/ruby-rbs/tests/sanity.rs +47 -0
  160. data/rust/ruby-rbs/vendor/rbs/config.yml +1 -0
  161. data/rust/ruby-rbs-sys/Cargo.toml +23 -0
  162. data/rust/ruby-rbs-sys/build.rs +204 -0
  163. data/rust/ruby-rbs-sys/src/lib.rs +50 -0
  164. data/rust/ruby-rbs-sys/vendor/rbs/include +1 -0
  165. data/rust/ruby-rbs-sys/vendor/rbs/src +1 -0
  166. data/rust/ruby-rbs-sys/wrapper.h +1 -0
  167. data/schema/typeParam.json +17 -1
  168. data/sig/ancestor_builder.rbs +1 -1
  169. data/sig/ast/ruby/annotations.rbs +421 -0
  170. data/sig/ast/ruby/comment_block.rbs +127 -0
  171. data/sig/ast/ruby/declarations.rbs +158 -0
  172. data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
  173. data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
  174. data/sig/ast/ruby/members.rbs +178 -0
  175. data/sig/buffer.rbs +63 -5
  176. data/sig/cli/diff.rbs +5 -11
  177. data/sig/cli/validate.rbs +12 -8
  178. data/sig/cli.rbs +18 -18
  179. data/sig/definition.rbs +6 -0
  180. data/sig/definition_builder.rbs +3 -1
  181. data/sig/environment/class_entry.rbs +50 -0
  182. data/sig/environment/module_entry.rbs +50 -0
  183. data/sig/environment.rbs +37 -81
  184. data/sig/errors.rbs +26 -20
  185. data/sig/inline_parser/comment_association.rbs +71 -0
  186. data/sig/inline_parser.rbs +124 -0
  187. data/sig/location.rbs +32 -7
  188. data/sig/locator.rbs +0 -2
  189. data/sig/method_builder.rbs +9 -4
  190. data/sig/namespace.rbs +0 -5
  191. data/sig/parser.rbs +47 -13
  192. data/sig/prototype/helpers.rbs +2 -0
  193. data/sig/resolver/type_name_resolver.rbs +0 -3
  194. data/sig/source.rbs +48 -0
  195. data/sig/type_param.rbs +13 -8
  196. data/sig/typename.rbs +0 -5
  197. data/sig/types.rbs +6 -7
  198. data/sig/unit_test/spy.rbs +0 -8
  199. data/sig/unit_test/type_assertions.rbs +11 -0
  200. data/src/ast.c +491 -143
  201. data/src/lexer.c +1552 -1314
  202. data/src/lexer.re +7 -0
  203. data/src/lexstate.c +8 -1
  204. data/src/location.c +8 -48
  205. data/src/parser.c +1107 -409
  206. data/src/util/rbs_constant_pool.c +0 -4
  207. data/stdlib/bigdecimal/0/big_decimal.rbs +16 -16
  208. data/stdlib/cgi-escape/0/escape.rbs +4 -4
  209. data/stdlib/coverage/0/coverage.rbs +4 -3
  210. data/stdlib/date/0/date.rbs +33 -28
  211. data/stdlib/date/0/date_time.rbs +24 -23
  212. data/stdlib/did_you_mean/0/did_you_mean.rbs +17 -16
  213. data/stdlib/digest/0/digest.rbs +110 -0
  214. data/stdlib/erb/0/erb.rbs +64 -53
  215. data/stdlib/etc/0/etc.rbs +55 -50
  216. data/stdlib/fileutils/0/fileutils.rbs +140 -126
  217. data/stdlib/forwardable/0/forwardable.rbs +10 -10
  218. data/stdlib/io-console/0/io-console.rbs +2 -2
  219. data/stdlib/json/0/json.rbs +158 -131
  220. data/stdlib/monitor/0/monitor.rbs +3 -3
  221. data/stdlib/net-http/0/net-http.rbs +159 -134
  222. data/stdlib/objspace/0/objspace.rbs +8 -30
  223. data/stdlib/open-uri/0/open-uri.rbs +8 -8
  224. data/stdlib/open3/0/open3.rbs +469 -10
  225. data/stdlib/openssl/0/openssl.rbs +144 -129
  226. data/stdlib/optparse/0/optparse.rbs +23 -14
  227. data/stdlib/pathname/0/pathname.rbs +2 -2
  228. data/stdlib/pp/0/pp.rbs +9 -8
  229. data/stdlib/prettyprint/0/prettyprint.rbs +7 -7
  230. data/stdlib/pstore/0/pstore.rbs +35 -30
  231. data/stdlib/psych/0/psych.rbs +62 -9
  232. data/stdlib/psych/0/store.rbs +2 -4
  233. data/stdlib/pty/0/pty.rbs +9 -6
  234. data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
  235. data/stdlib/rdoc/0/code_object.rbs +2 -1
  236. data/stdlib/rdoc/0/parser.rbs +1 -1
  237. data/stdlib/rdoc/0/store.rbs +1 -1
  238. data/stdlib/ripper/0/ripper.rbs +20 -17
  239. data/stdlib/securerandom/0/manifest.yaml +2 -0
  240. data/stdlib/securerandom/0/securerandom.rbs +7 -20
  241. data/stdlib/shellwords/0/shellwords.rbs +2 -2
  242. data/stdlib/socket/0/addrinfo.rbs +9 -9
  243. data/stdlib/socket/0/basic_socket.rbs +3 -3
  244. data/stdlib/socket/0/ip_socket.rbs +10 -8
  245. data/stdlib/socket/0/socket.rbs +10 -9
  246. data/stdlib/socket/0/tcp_server.rbs +1 -1
  247. data/stdlib/socket/0/tcp_socket.rbs +1 -1
  248. data/stdlib/socket/0/udp_socket.rbs +1 -1
  249. data/stdlib/socket/0/unix_server.rbs +1 -1
  250. data/stdlib/stringio/0/stringio.rbs +55 -54
  251. data/stdlib/strscan/0/string_scanner.rbs +46 -44
  252. data/stdlib/tempfile/0/tempfile.rbs +24 -20
  253. data/stdlib/time/0/time.rbs +7 -5
  254. data/stdlib/tsort/0/tsort.rbs +7 -6
  255. data/stdlib/uri/0/common.rbs +31 -18
  256. data/stdlib/uri/0/file.rbs +2 -2
  257. data/stdlib/uri/0/generic.rbs +9 -2
  258. data/stdlib/uri/0/http.rbs +2 -2
  259. data/stdlib/uri/0/ldap.rbs +2 -2
  260. data/stdlib/uri/0/mailto.rbs +3 -3
  261. data/stdlib/uri/0/rfc2396_parser.rbs +6 -5
  262. data/stdlib/zlib/0/deflate.rbs +4 -3
  263. data/stdlib/zlib/0/gzip_reader.rbs +6 -6
  264. data/stdlib/zlib/0/gzip_writer.rbs +14 -12
  265. data/stdlib/zlib/0/inflate.rbs +1 -1
  266. data/stdlib/zlib/0/need_dict.rbs +1 -1
  267. metadata +66 -3
data/rust/Cargo.lock ADDED
@@ -0,0 +1,378 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "aho-corasick"
7
+ version = "1.1.3"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
10
+ dependencies = [
11
+ "memchr",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "bindgen"
16
+ version = "0.72.0"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "4f72209734318d0b619a5e0f5129918b848c416e122a3c4ce054e03cb87b726f"
19
+ dependencies = [
20
+ "bitflags",
21
+ "cexpr",
22
+ "clang-sys",
23
+ "itertools",
24
+ "log",
25
+ "prettyplease",
26
+ "proc-macro2",
27
+ "quote",
28
+ "regex",
29
+ "rustc-hash",
30
+ "shlex",
31
+ "syn",
32
+ ]
33
+
34
+ [[package]]
35
+ name = "bitflags"
36
+ version = "2.9.1"
37
+ source = "registry+https://github.com/rust-lang/crates.io-index"
38
+ checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
39
+
40
+ [[package]]
41
+ name = "cc"
42
+ version = "1.2.29"
43
+ source = "registry+https://github.com/rust-lang/crates.io-index"
44
+ checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362"
45
+ dependencies = [
46
+ "shlex",
47
+ ]
48
+
49
+ [[package]]
50
+ name = "cexpr"
51
+ version = "0.6.0"
52
+ source = "registry+https://github.com/rust-lang/crates.io-index"
53
+ checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
54
+ dependencies = [
55
+ "nom",
56
+ ]
57
+
58
+ [[package]]
59
+ name = "cfg-if"
60
+ version = "1.0.1"
61
+ source = "registry+https://github.com/rust-lang/crates.io-index"
62
+ checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
63
+
64
+ [[package]]
65
+ name = "clang-sys"
66
+ version = "1.8.1"
67
+ source = "registry+https://github.com/rust-lang/crates.io-index"
68
+ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
69
+ dependencies = [
70
+ "glob",
71
+ "libc",
72
+ "libloading",
73
+ ]
74
+
75
+ [[package]]
76
+ name = "either"
77
+ version = "1.15.0"
78
+ source = "registry+https://github.com/rust-lang/crates.io-index"
79
+ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
80
+
81
+ [[package]]
82
+ name = "equivalent"
83
+ version = "1.0.2"
84
+ source = "registry+https://github.com/rust-lang/crates.io-index"
85
+ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
86
+
87
+ [[package]]
88
+ name = "glob"
89
+ version = "0.3.2"
90
+ source = "registry+https://github.com/rust-lang/crates.io-index"
91
+ checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
92
+
93
+ [[package]]
94
+ name = "hashbrown"
95
+ version = "0.15.5"
96
+ source = "registry+https://github.com/rust-lang/crates.io-index"
97
+ checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
98
+
99
+ [[package]]
100
+ name = "indexmap"
101
+ version = "2.10.0"
102
+ source = "registry+https://github.com/rust-lang/crates.io-index"
103
+ checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661"
104
+ dependencies = [
105
+ "equivalent",
106
+ "hashbrown",
107
+ ]
108
+
109
+ [[package]]
110
+ name = "itertools"
111
+ version = "0.13.0"
112
+ source = "registry+https://github.com/rust-lang/crates.io-index"
113
+ checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
114
+ dependencies = [
115
+ "either",
116
+ ]
117
+
118
+ [[package]]
119
+ name = "itoa"
120
+ version = "1.0.15"
121
+ source = "registry+https://github.com/rust-lang/crates.io-index"
122
+ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
123
+
124
+ [[package]]
125
+ name = "libc"
126
+ version = "0.2.174"
127
+ source = "registry+https://github.com/rust-lang/crates.io-index"
128
+ checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
129
+
130
+ [[package]]
131
+ name = "libloading"
132
+ version = "0.8.8"
133
+ source = "registry+https://github.com/rust-lang/crates.io-index"
134
+ checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
135
+ dependencies = [
136
+ "cfg-if",
137
+ "windows-targets",
138
+ ]
139
+
140
+ [[package]]
141
+ name = "log"
142
+ version = "0.4.27"
143
+ source = "registry+https://github.com/rust-lang/crates.io-index"
144
+ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
145
+
146
+ [[package]]
147
+ name = "memchr"
148
+ version = "2.7.5"
149
+ source = "registry+https://github.com/rust-lang/crates.io-index"
150
+ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
151
+
152
+ [[package]]
153
+ name = "minimal-lexical"
154
+ version = "0.2.1"
155
+ source = "registry+https://github.com/rust-lang/crates.io-index"
156
+ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
157
+
158
+ [[package]]
159
+ name = "nom"
160
+ version = "7.1.3"
161
+ source = "registry+https://github.com/rust-lang/crates.io-index"
162
+ checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
163
+ dependencies = [
164
+ "memchr",
165
+ "minimal-lexical",
166
+ ]
167
+
168
+ [[package]]
169
+ name = "prettyplease"
170
+ version = "0.2.35"
171
+ source = "registry+https://github.com/rust-lang/crates.io-index"
172
+ checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a"
173
+ dependencies = [
174
+ "proc-macro2",
175
+ "syn",
176
+ ]
177
+
178
+ [[package]]
179
+ name = "proc-macro2"
180
+ version = "1.0.95"
181
+ source = "registry+https://github.com/rust-lang/crates.io-index"
182
+ checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
183
+ dependencies = [
184
+ "unicode-ident",
185
+ ]
186
+
187
+ [[package]]
188
+ name = "quote"
189
+ version = "1.0.40"
190
+ source = "registry+https://github.com/rust-lang/crates.io-index"
191
+ checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
192
+ dependencies = [
193
+ "proc-macro2",
194
+ ]
195
+
196
+ [[package]]
197
+ name = "regex"
198
+ version = "1.11.1"
199
+ source = "registry+https://github.com/rust-lang/crates.io-index"
200
+ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
201
+ dependencies = [
202
+ "aho-corasick",
203
+ "memchr",
204
+ "regex-automata",
205
+ "regex-syntax",
206
+ ]
207
+
208
+ [[package]]
209
+ name = "regex-automata"
210
+ version = "0.4.9"
211
+ source = "registry+https://github.com/rust-lang/crates.io-index"
212
+ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
213
+ dependencies = [
214
+ "aho-corasick",
215
+ "memchr",
216
+ "regex-syntax",
217
+ ]
218
+
219
+ [[package]]
220
+ name = "regex-syntax"
221
+ version = "0.8.5"
222
+ source = "registry+https://github.com/rust-lang/crates.io-index"
223
+ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
224
+
225
+ [[package]]
226
+ name = "ruby-rbs"
227
+ version = "0.2.0"
228
+ dependencies = [
229
+ "ruby-rbs-sys",
230
+ "serde",
231
+ "serde_yaml",
232
+ ]
233
+
234
+ [[package]]
235
+ name = "ruby-rbs-sys"
236
+ version = "0.2.0"
237
+ dependencies = [
238
+ "bindgen",
239
+ "cc",
240
+ ]
241
+
242
+ [[package]]
243
+ name = "rustc-hash"
244
+ version = "2.1.1"
245
+ source = "registry+https://github.com/rust-lang/crates.io-index"
246
+ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
247
+
248
+ [[package]]
249
+ name = "ryu"
250
+ version = "1.0.20"
251
+ source = "registry+https://github.com/rust-lang/crates.io-index"
252
+ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
253
+
254
+ [[package]]
255
+ name = "serde"
256
+ version = "1.0.219"
257
+ source = "registry+https://github.com/rust-lang/crates.io-index"
258
+ checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
259
+ dependencies = [
260
+ "serde_derive",
261
+ ]
262
+
263
+ [[package]]
264
+ name = "serde_derive"
265
+ version = "1.0.219"
266
+ source = "registry+https://github.com/rust-lang/crates.io-index"
267
+ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
268
+ dependencies = [
269
+ "proc-macro2",
270
+ "quote",
271
+ "syn",
272
+ ]
273
+
274
+ [[package]]
275
+ name = "serde_yaml"
276
+ version = "0.9.34+deprecated"
277
+ source = "registry+https://github.com/rust-lang/crates.io-index"
278
+ checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
279
+ dependencies = [
280
+ "indexmap",
281
+ "itoa",
282
+ "ryu",
283
+ "serde",
284
+ "unsafe-libyaml",
285
+ ]
286
+
287
+ [[package]]
288
+ name = "shlex"
289
+ version = "1.3.0"
290
+ source = "registry+https://github.com/rust-lang/crates.io-index"
291
+ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
292
+
293
+ [[package]]
294
+ name = "syn"
295
+ version = "2.0.104"
296
+ source = "registry+https://github.com/rust-lang/crates.io-index"
297
+ checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40"
298
+ dependencies = [
299
+ "proc-macro2",
300
+ "quote",
301
+ "unicode-ident",
302
+ ]
303
+
304
+ [[package]]
305
+ name = "unicode-ident"
306
+ version = "1.0.18"
307
+ source = "registry+https://github.com/rust-lang/crates.io-index"
308
+ checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
309
+
310
+ [[package]]
311
+ name = "unsafe-libyaml"
312
+ version = "0.2.11"
313
+ source = "registry+https://github.com/rust-lang/crates.io-index"
314
+ checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
315
+
316
+ [[package]]
317
+ name = "windows-targets"
318
+ version = "0.53.2"
319
+ source = "registry+https://github.com/rust-lang/crates.io-index"
320
+ checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef"
321
+ dependencies = [
322
+ "windows_aarch64_gnullvm",
323
+ "windows_aarch64_msvc",
324
+ "windows_i686_gnu",
325
+ "windows_i686_gnullvm",
326
+ "windows_i686_msvc",
327
+ "windows_x86_64_gnu",
328
+ "windows_x86_64_gnullvm",
329
+ "windows_x86_64_msvc",
330
+ ]
331
+
332
+ [[package]]
333
+ name = "windows_aarch64_gnullvm"
334
+ version = "0.53.0"
335
+ source = "registry+https://github.com/rust-lang/crates.io-index"
336
+ checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
337
+
338
+ [[package]]
339
+ name = "windows_aarch64_msvc"
340
+ version = "0.53.0"
341
+ source = "registry+https://github.com/rust-lang/crates.io-index"
342
+ checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
343
+
344
+ [[package]]
345
+ name = "windows_i686_gnu"
346
+ version = "0.53.0"
347
+ source = "registry+https://github.com/rust-lang/crates.io-index"
348
+ checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
349
+
350
+ [[package]]
351
+ name = "windows_i686_gnullvm"
352
+ version = "0.53.0"
353
+ source = "registry+https://github.com/rust-lang/crates.io-index"
354
+ checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
355
+
356
+ [[package]]
357
+ name = "windows_i686_msvc"
358
+ version = "0.53.0"
359
+ source = "registry+https://github.com/rust-lang/crates.io-index"
360
+ checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
361
+
362
+ [[package]]
363
+ name = "windows_x86_64_gnu"
364
+ version = "0.53.0"
365
+ source = "registry+https://github.com/rust-lang/crates.io-index"
366
+ checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
367
+
368
+ [[package]]
369
+ name = "windows_x86_64_gnullvm"
370
+ version = "0.53.0"
371
+ source = "registry+https://github.com/rust-lang/crates.io-index"
372
+ checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
373
+
374
+ [[package]]
375
+ name = "windows_x86_64_msvc"
376
+ version = "0.53.0"
377
+ source = "registry+https://github.com/rust-lang/crates.io-index"
378
+ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
data/rust/Cargo.toml ADDED
@@ -0,0 +1,7 @@
1
+ [workspace]
2
+ members = [
3
+ "ruby-rbs",
4
+ "ruby-rbs-sys",
5
+ ]
6
+
7
+ resolver = "3"
@@ -0,0 +1,22 @@
1
+ [package]
2
+ name = "ruby-rbs"
3
+ version = "0.2.0"
4
+ edition = "2024"
5
+ license = "BSD-2-Clause"
6
+ description = "Rust bindings for RBS -- the type signature language for Ruby programs"
7
+ homepage = "https://github.com/ruby/rbs"
8
+ repository = "https://github.com/ruby/rbs.git"
9
+ readme = "../../README.md"
10
+ include = [
11
+ "src/**/*",
12
+ "vendor/**/*",
13
+ "build.rs",
14
+ "Cargo.toml",
15
+ ]
16
+
17
+ [dependencies]
18
+ ruby-rbs-sys = { version = "0.2", path = "../ruby-rbs-sys" }
19
+
20
+ [build-dependencies]
21
+ serde = { version = "1.0", features = ["derive"] }
22
+ serde_yaml = "0.9"