rbs 3.6.1 → 3.9.5

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 (268) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +2 -2
  3. data/.github/workflows/dependabot.yml +1 -1
  4. data/.github/workflows/ruby.yml +34 -10
  5. data/.github/workflows/windows.yml +20 -3
  6. data/.gitignore +1 -0
  7. data/.rubocop.yml +26 -1
  8. data/CHANGELOG.md +241 -0
  9. data/Rakefile +54 -4
  10. data/config.yml +317 -0
  11. data/core/array.rbs +1756 -1591
  12. data/core/basic_object.rbs +38 -35
  13. data/core/comparable.rbs +1 -1
  14. data/core/complex.rbs +166 -94
  15. data/core/data.rbs +2 -2
  16. data/core/dir.rbs +2 -18
  17. data/core/encoding.rbs +12 -32
  18. data/core/enumerable.rbs +270 -266
  19. data/core/enumerator.rbs +14 -4
  20. data/core/env.rbs +1 -1
  21. data/core/errno.rbs +33 -16
  22. data/core/errors.rbs +6 -2
  23. data/core/exception.rbs +342 -167
  24. data/core/fiber.rbs +3 -2
  25. data/core/file.rbs +26 -75
  26. data/core/float.rbs +125 -72
  27. data/core/gc.rbs +158 -42
  28. data/core/hash.rbs +122 -143
  29. data/core/integer.rbs +79 -50
  30. data/core/io/buffer.rbs +49 -43
  31. data/core/io.rbs +108 -151
  32. data/core/kernel.rbs +341 -209
  33. data/core/match_data.rbs +76 -2
  34. data/core/math.rbs +0 -36
  35. data/core/method.rbs +2 -2
  36. data/core/module.rbs +32 -27
  37. data/core/nil_class.rbs +2 -2
  38. data/core/numeric.rbs +101 -104
  39. data/core/object.rbs +1 -5
  40. data/core/object_space/weak_key_map.rbs +3 -4
  41. data/core/object_space.rbs +3 -3
  42. data/core/proc.rbs +82 -14
  43. data/core/process.rbs +110 -58
  44. data/core/ractor.rbs +57 -4
  45. data/core/range.rbs +114 -87
  46. data/core/rational.rbs +0 -2
  47. data/core/rbs/unnamed/argf.rbs +237 -36
  48. data/core/rbs/unnamed/env_class.rbs +35 -53
  49. data/core/rbs/unnamed/random.rbs +1 -2
  50. data/core/regexp.rbs +10 -56
  51. data/core/ruby_vm.rbs +88 -9
  52. data/core/rubygems/config_file.rbs +3 -0
  53. data/core/rubygems/errors.rbs +3 -6
  54. data/core/rubygems/platform.rbs +0 -9
  55. data/core/rubygems/rubygems.rbs +3 -6
  56. data/core/rubygems/version.rbs +8 -8
  57. data/core/set.rbs +4 -16
  58. data/core/string.rbs +271 -264
  59. data/core/struct.rbs +6 -18
  60. data/core/symbol.rbs +14 -21
  61. data/core/thread.rbs +32 -35
  62. data/core/time.rbs +131 -50
  63. data/core/trace_point.rbs +124 -113
  64. data/core/true_class.rbs +0 -1
  65. data/core/unbound_method.rbs +1 -1
  66. data/core/warning.rbs +9 -2
  67. data/docs/architecture.md +1 -1
  68. data/docs/syntax.md +17 -10
  69. data/ext/rbs_extension/extconf.rb +11 -0
  70. data/ext/rbs_extension/location.c +61 -29
  71. data/ext/rbs_extension/location.h +4 -3
  72. data/ext/rbs_extension/main.c +23 -1
  73. data/ext/rbs_extension/parser.c +506 -517
  74. data/ext/rbs_extension/parserstate.c +109 -30
  75. data/ext/rbs_extension/parserstate.h +6 -4
  76. data/ext/rbs_extension/rbs_extension.h +1 -10
  77. data/{ext/rbs_extension → include/rbs}/constants.h +21 -19
  78. data/include/rbs/ruby_objs.h +72 -0
  79. data/include/rbs/util/rbs_constant_pool.h +219 -0
  80. data/include/rbs.h +7 -0
  81. data/lib/rbs/annotate/annotations.rb +3 -3
  82. data/lib/rbs/annotate/rdoc_source.rb +2 -2
  83. data/lib/rbs/ast/declarations.rb +9 -4
  84. data/lib/rbs/ast/directives.rb +10 -0
  85. data/lib/rbs/ast/members.rb +2 -0
  86. data/lib/rbs/ast/type_param.rb +2 -12
  87. data/lib/rbs/cli/diff.rb +3 -3
  88. data/lib/rbs/cli/validate.rb +2 -1
  89. data/lib/rbs/cli.rb +16 -16
  90. data/lib/rbs/collection/config/lockfile_generator.rb +58 -8
  91. data/lib/rbs/collection/config.rb +5 -3
  92. data/lib/rbs/collection/sources/rubygems.rb +1 -1
  93. data/lib/rbs/collection.rb +1 -0
  94. data/lib/rbs/definition.rb +51 -34
  95. data/lib/rbs/definition_builder/ancestor_builder.rb +5 -3
  96. data/lib/rbs/definition_builder.rb +83 -24
  97. data/lib/rbs/environment.rb +33 -18
  98. data/lib/rbs/environment_loader.rb +6 -1
  99. data/lib/rbs/errors.rb +24 -0
  100. data/lib/rbs/locator.rb +2 -0
  101. data/lib/rbs/method_type.rb +2 -0
  102. data/lib/rbs/namespace.rb +1 -0
  103. data/lib/rbs/parser_aux.rb +40 -3
  104. data/lib/rbs/prototype/rb.rb +20 -12
  105. data/lib/rbs/prototype/rbi.rb +11 -6
  106. data/lib/rbs/prototype/runtime/value_object_generator.rb +7 -5
  107. data/lib/rbs/prototype/runtime.rb +7 -5
  108. data/lib/rbs/subtractor.rb +3 -3
  109. data/lib/rbs/test/hook.rb +47 -42
  110. data/lib/rbs/test/type_check.rb +7 -5
  111. data/lib/rbs/type_name.rb +14 -9
  112. data/lib/rbs/types.rb +63 -14
  113. data/lib/rbs/unit_test/spy.rb +4 -2
  114. data/lib/rbs/unit_test/type_assertions.rb +19 -13
  115. data/lib/rbs/unit_test/with_aliases.rb +3 -1
  116. data/lib/rbs/validator.rb +7 -1
  117. data/lib/rbs/version.rb +1 -1
  118. data/lib/rbs/writer.rb +10 -5
  119. data/lib/rbs.rb +1 -0
  120. data/lib/rdoc_plugin/parser.rb +2 -2
  121. data/rbs.gemspec +6 -2
  122. data/sig/ancestor_graph.rbs +5 -5
  123. data/sig/annotate/rdoc_source.rbs +2 -0
  124. data/sig/cli.rbs +2 -0
  125. data/sig/collection/config/lockfile_generator.rbs +9 -1
  126. data/sig/declarations.rbs +10 -3
  127. data/sig/definition.rbs +80 -12
  128. data/sig/definition_builder.rbs +18 -4
  129. data/sig/directives.rbs +17 -1
  130. data/sig/environment.rbs +3 -1
  131. data/sig/errors.rbs +19 -0
  132. data/sig/namespace.rbs +2 -3
  133. data/sig/parser.rbs +5 -1
  134. data/sig/prototype/rb.rbs +1 -1
  135. data/sig/resolver/constant_resolver.rbs +2 -2
  136. data/sig/resolver/context.rbs +1 -1
  137. data/sig/subtractor.rbs +1 -1
  138. data/sig/test/type_check.rbs +2 -2
  139. data/sig/type_alias_dependency.rbs +2 -2
  140. data/sig/type_alias_regularity.rbs +6 -6
  141. data/sig/type_param.rbs +4 -4
  142. data/sig/typename.rbs +8 -5
  143. data/sig/types.rbs +1 -1
  144. data/sig/unit_test/spy.rbs +2 -0
  145. data/sig/unit_test/type_assertions.rbs +2 -0
  146. data/sig/use_map.rbs +1 -1
  147. data/sig/validator.rbs +6 -2
  148. data/sig/vendorer.rbs +1 -1
  149. data/sig/writer.rbs +1 -1
  150. data/{ext/rbs_extension → src}/constants.c +35 -36
  151. data/src/ruby_objs.c +799 -0
  152. data/src/util/rbs_constant_pool.c +342 -0
  153. data/stdlib/base64/0/base64.rbs +0 -9
  154. data/stdlib/benchmark/0/benchmark.rbs +11 -2
  155. data/stdlib/bigdecimal/0/big_decimal.rbs +26 -182
  156. data/stdlib/cgi/0/core.rbs +60 -3
  157. data/stdlib/cgi/0/manifest.yaml +1 -0
  158. data/stdlib/coverage/0/coverage.rbs +0 -3
  159. data/stdlib/csv/0/csv.rbs +18 -58
  160. data/stdlib/csv/0/manifest.yaml +1 -0
  161. data/stdlib/date/0/date.rbs +27 -42
  162. data/stdlib/did_you_mean/0/did_you_mean.rbs +1 -6
  163. data/stdlib/digest/0/digest.rbs +25 -2
  164. data/stdlib/erb/0/erb.rbs +0 -1
  165. data/stdlib/etc/0/etc.rbs +51 -34
  166. data/stdlib/fileutils/0/fileutils.rbs +3 -44
  167. data/stdlib/io-console/0/io-console.rbs +69 -15
  168. data/stdlib/ipaddr/0/ipaddr.rbs +16 -4
  169. data/stdlib/json/0/json.rbs +107 -120
  170. data/stdlib/logger/0/log_device.rbs +1 -1
  171. data/stdlib/logger/0/logger.rbs +3 -18
  172. data/stdlib/minitest/0/kernel.rbs +2 -2
  173. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +4 -1
  174. data/stdlib/minitest/0/minitest/assertion.rbs +1 -0
  175. data/stdlib/minitest/0/minitest/assertions.rbs +58 -13
  176. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +7 -0
  177. data/stdlib/minitest/0/minitest/bench_spec.rbs +8 -8
  178. data/stdlib/minitest/0/minitest/benchmark.rbs +17 -16
  179. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  180. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  181. data/stdlib/minitest/0/minitest/mock.rbs +9 -5
  182. data/stdlib/minitest/0/minitest/parallel/executor.rbs +4 -0
  183. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +0 -1
  184. data/stdlib/minitest/0/minitest/pride_io.rbs +8 -0
  185. data/stdlib/minitest/0/minitest/pride_lol.rbs +2 -0
  186. data/stdlib/minitest/0/minitest/progress_reporter.rbs +1 -1
  187. data/stdlib/minitest/0/minitest/reportable.rbs +2 -0
  188. data/stdlib/minitest/0/minitest/runnable.rbs +33 -1
  189. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +1 -1
  190. data/stdlib/minitest/0/minitest/spec/dsl.rbs +10 -6
  191. data/stdlib/minitest/0/minitest/spec.rbs +1 -1
  192. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +5 -0
  193. data/stdlib/minitest/0/minitest/summary_reporter.rbs +0 -7
  194. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +1 -1
  195. data/stdlib/minitest/0/minitest/test.rbs +7 -14
  196. data/stdlib/minitest/0/minitest/unexpected_error.rbs +2 -0
  197. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  198. data/stdlib/minitest/0/minitest/unit.rbs +1 -2
  199. data/stdlib/minitest/0/minitest.rbs +41 -892
  200. data/stdlib/monitor/0/monitor.rbs +13 -4
  201. data/stdlib/net-http/0/net-http.rbs +42 -109
  202. data/stdlib/nkf/0/nkf.rbs +30 -0
  203. data/stdlib/objspace/0/objspace.rbs +1 -2
  204. data/stdlib/observable/0/observable.rbs +1 -1
  205. data/stdlib/open-uri/0/manifest.yaml +1 -0
  206. data/stdlib/open-uri/0/open-uri.rbs +52 -0
  207. data/stdlib/open3/0/open3.rbs +0 -8
  208. data/stdlib/openssl/0/manifest.yaml +1 -0
  209. data/stdlib/openssl/0/openssl.rbs +235 -143
  210. data/stdlib/optparse/0/optparse.rbs +58 -18
  211. data/stdlib/pathname/0/pathname.rbs +2 -8
  212. data/stdlib/pp/0/pp.rbs +3 -1
  213. data/stdlib/prettyprint/0/prettyprint.rbs +0 -4
  214. data/stdlib/pstore/0/pstore.rbs +0 -6
  215. data/stdlib/psych/0/core_ext.rbs +12 -0
  216. data/stdlib/psych/0/psych.rbs +15 -4
  217. data/stdlib/pty/0/pty.rbs +46 -4
  218. data/stdlib/rdoc/0/code_object.rbs +0 -4
  219. data/stdlib/rdoc/0/markup.rbs +10 -12
  220. data/stdlib/rdoc/0/rdoc.rbs +13 -8
  221. data/stdlib/resolv/0/resolv.rbs +21 -12
  222. data/stdlib/ripper/0/ripper.rbs +0 -2
  223. data/stdlib/securerandom/0/securerandom.rbs +7 -2
  224. data/stdlib/shellwords/0/shellwords.rbs +11 -12
  225. data/stdlib/singleton/0/singleton.rbs +0 -1
  226. data/stdlib/socket/0/addrinfo.rbs +1 -2
  227. data/stdlib/socket/0/basic_socket.rbs +0 -5
  228. data/stdlib/socket/0/socket.rbs +32 -27
  229. data/stdlib/socket/0/tcp_server.rbs +0 -3
  230. data/stdlib/socket/0/tcp_socket.rbs +36 -3
  231. data/stdlib/socket/0/udp_socket.rbs +0 -1
  232. data/stdlib/socket/0/unix_server.rbs +0 -3
  233. data/stdlib/socket/0/unix_socket.rbs +4 -2
  234. data/{core/string_io.rbs → stdlib/stringio/0/stringio.rbs} +1 -1
  235. data/stdlib/strscan/0/string_scanner.rbs +1265 -422
  236. data/stdlib/tempfile/0/tempfile.rbs +135 -28
  237. data/stdlib/time/0/time.rbs +48 -35
  238. data/stdlib/timeout/0/timeout.rbs +11 -8
  239. data/stdlib/tmpdir/0/tmpdir.rbs +10 -3
  240. data/stdlib/tsort/0/tsort.rbs +0 -4
  241. data/stdlib/uri/0/common.rbs +28 -30
  242. data/stdlib/uri/0/ftp.rbs +1 -1
  243. data/stdlib/uri/0/generic.rbs +22 -18
  244. data/stdlib/uri/0/http.rbs +2 -2
  245. data/stdlib/uri/0/rfc2396_parser.rbs +3 -0
  246. data/stdlib/zlib/0/buf_error.rbs +1 -70
  247. data/stdlib/zlib/0/data_error.rbs +1 -70
  248. data/stdlib/zlib/0/deflate.rbs +8 -72
  249. data/stdlib/zlib/0/error.rbs +1 -70
  250. data/stdlib/zlib/0/gzip_file/crc_error.rbs +2 -105
  251. data/stdlib/zlib/0/gzip_file/error.rbs +2 -105
  252. data/stdlib/zlib/0/gzip_file/length_error.rbs +2 -105
  253. data/stdlib/zlib/0/gzip_file/no_footer.rbs +2 -105
  254. data/stdlib/zlib/0/gzip_file.rbs +1 -71
  255. data/stdlib/zlib/0/gzip_reader.rbs +3 -74
  256. data/stdlib/zlib/0/gzip_writer.rbs +1 -70
  257. data/stdlib/zlib/0/inflate.rbs +4 -71
  258. data/stdlib/zlib/0/mem_error.rbs +1 -70
  259. data/stdlib/zlib/0/need_dict.rbs +1 -70
  260. data/stdlib/zlib/0/stream_end.rbs +1 -70
  261. data/stdlib/zlib/0/stream_error.rbs +1 -70
  262. data/stdlib/zlib/0/version_error.rbs +1 -70
  263. data/stdlib/zlib/0/zlib.rbs +0 -2
  264. data/stdlib/zlib/0/zstream.rbs +4 -72
  265. metadata +17 -13
  266. data/ext/rbs_extension/ruby_objs.c +0 -602
  267. data/ext/rbs_extension/ruby_objs.h +0 -51
  268. data/stdlib/minitest/0/manifest.yaml +0 -2
data/config.yml ADDED
@@ -0,0 +1,317 @@
1
+ nodes:
2
+ - name: RBS::AST::Annotation
3
+ fields:
4
+ - name: string
5
+ - name: location
6
+ - name: RBS::AST::Comment
7
+ fields:
8
+ - name: string
9
+ - name: location
10
+ - name: RBS::AST::Declarations::Class
11
+ fields:
12
+ - name: name
13
+ - name: type_params
14
+ - name: super_class
15
+ - name: members
16
+ - name: annotations
17
+ - name: location
18
+ - name: comment
19
+ - name: RBS::AST::Declarations::Class::Super
20
+ fields:
21
+ - name: name
22
+ - name: args
23
+ - name: location
24
+ - name: RBS::AST::Declarations::ClassAlias
25
+ fields:
26
+ - name: new_name
27
+ - name: old_name
28
+ - name: location
29
+ - name: comment
30
+ - name: annotations
31
+ - name: RBS::AST::Declarations::Constant
32
+ fields:
33
+ - name: name
34
+ - name: type
35
+ - name: location
36
+ - name: comment
37
+ - name: annotations
38
+ - name: RBS::AST::Declarations::Global
39
+ fields:
40
+ - name: name
41
+ - name: type
42
+ - name: location
43
+ - name: comment
44
+ - name: annotations
45
+ - name: RBS::AST::Declarations::Interface
46
+ fields:
47
+ - name: name
48
+ - name: type_params
49
+ - name: members
50
+ - name: annotations
51
+ - name: location
52
+ - name: comment
53
+ - name: RBS::AST::Declarations::Module
54
+ fields:
55
+ - name: name
56
+ - name: type_params
57
+ - name: self_types
58
+ - name: members
59
+ - name: annotations
60
+ - name: location
61
+ - name: comment
62
+ - name: RBS::AST::Declarations::Module::Self
63
+ fields:
64
+ - name: name
65
+ - name: args
66
+ - name: location
67
+ - name: RBS::AST::Declarations::ModuleAlias
68
+ fields:
69
+ - name: new_name
70
+ - name: old_name
71
+ - name: location
72
+ - name: comment
73
+ - name: annotations
74
+ - name: RBS::AST::Declarations::TypeAlias
75
+ fields:
76
+ - name: name
77
+ - name: type_params
78
+ - name: type
79
+ - name: annotations
80
+ - name: location
81
+ - name: comment
82
+ - name: RBS::AST::Directives::Use
83
+ fields:
84
+ - name: clauses
85
+ - name: location
86
+ - name: RBS::AST::Directives::Use::SingleClause
87
+ fields:
88
+ - name: type_name
89
+ - name: new_name
90
+ - name: location
91
+ - name: RBS::AST::Directives::Use::WildcardClause
92
+ fields:
93
+ - name: namespace
94
+ - name: location
95
+ - name: RBS::AST::Members::Alias
96
+ fields:
97
+ - name: new_name
98
+ - name: old_name
99
+ - name: kind
100
+ - name: annotations
101
+ - name: location
102
+ - name: comment
103
+ - name: RBS::AST::Members::AttrAccessor
104
+ fields:
105
+ - name: name
106
+ - name: type
107
+ - name: ivar_name
108
+ - name: kind
109
+ - name: annotations
110
+ - name: location
111
+ - name: comment
112
+ - name: visibility
113
+ - name: RBS::AST::Members::AttrReader
114
+ fields:
115
+ - name: name
116
+ - name: type
117
+ - name: ivar_name
118
+ - name: kind
119
+ - name: annotations
120
+ - name: location
121
+ - name: comment
122
+ - name: visibility
123
+ - name: RBS::AST::Members::AttrWriter
124
+ fields:
125
+ - name: name
126
+ - name: type
127
+ - name: ivar_name
128
+ - name: kind
129
+ - name: annotations
130
+ - name: location
131
+ - name: comment
132
+ - name: visibility
133
+ - name: RBS::AST::Members::ClassInstanceVariable
134
+ fields:
135
+ - name: name
136
+ - name: type
137
+ - name: location
138
+ - name: comment
139
+ - name: RBS::AST::Members::ClassVariable
140
+ fields:
141
+ - name: name
142
+ - name: type
143
+ - name: location
144
+ - name: comment
145
+ - name: RBS::AST::Members::Extend
146
+ fields:
147
+ - name: name
148
+ - name: args
149
+ - name: annotations
150
+ - name: location
151
+ - name: comment
152
+ - name: RBS::AST::Members::Include
153
+ fields:
154
+ - name: name
155
+ - name: args
156
+ - name: annotations
157
+ - name: location
158
+ - name: comment
159
+ - name: RBS::AST::Members::InstanceVariable
160
+ fields:
161
+ - name: name
162
+ - name: type
163
+ - name: location
164
+ - name: comment
165
+ - name: RBS::AST::Members::MethodDefinition
166
+ fields:
167
+ - name: name
168
+ - name: kind
169
+ - name: overloads
170
+ - name: annotations
171
+ - name: location
172
+ - name: comment
173
+ - name: overloading
174
+ - name: visibility
175
+ - name: RBS::AST::Members::MethodDefinition::Overload
176
+ fields:
177
+ - name: annotations
178
+ - name: method_type
179
+ - name: RBS::AST::Members::Prepend
180
+ fields:
181
+ - name: name
182
+ - name: args
183
+ - name: annotations
184
+ - name: location
185
+ - name: comment
186
+ - name: RBS::AST::Members::Private
187
+ fields:
188
+ - name: location
189
+ - name: RBS::AST::Members::Public
190
+ fields:
191
+ - name: location
192
+ - name: RBS::AST::TypeParam
193
+ fields:
194
+ - name: name
195
+ - name: variance
196
+ - name: upper_bound
197
+ - name: default_type
198
+ - name: unchecked
199
+ - name: location
200
+ - name: RBS::MethodType
201
+ fields:
202
+ - name: type_params
203
+ - name: type
204
+ - name: block
205
+ - name: location
206
+ - name: RBS::Namespace
207
+ fields:
208
+ - name: path
209
+ - name: absolute
210
+ - name: RBS::TypeName
211
+ fields:
212
+ - name: namespace
213
+ - name: name
214
+ - name: RBS::Types::Alias
215
+ fields:
216
+ - name: name
217
+ - name: args
218
+ - name: location
219
+ - name: RBS::Types::Bases::Any
220
+ fields:
221
+ - name: todo
222
+ - name: location
223
+ - name: RBS::Types::Bases::Bool
224
+ fields:
225
+ - name: location
226
+ - name: RBS::Types::Bases::Bottom
227
+ fields:
228
+ - name: location
229
+ - name: RBS::Types::Bases::Class
230
+ fields:
231
+ - name: location
232
+ - name: RBS::Types::Bases::Instance
233
+ fields:
234
+ - name: location
235
+ - name: RBS::Types::Bases::Nil
236
+ fields:
237
+ - name: location
238
+ - name: RBS::Types::Bases::Self
239
+ fields:
240
+ - name: location
241
+ - name: RBS::Types::Bases::Top
242
+ fields:
243
+ - name: location
244
+ - name: RBS::Types::Bases::Void
245
+ fields:
246
+ - name: location
247
+ - name: RBS::Types::Block
248
+ fields:
249
+ - name: type
250
+ - name: required
251
+ - name: self_type
252
+ - name: RBS::Types::ClassInstance
253
+ fields:
254
+ - name: name
255
+ - name: args
256
+ - name: location
257
+ - name: RBS::Types::ClassSingleton
258
+ fields:
259
+ - name: name
260
+ - name: location
261
+ - name: RBS::Types::Function
262
+ fields:
263
+ - name: required_positionals
264
+ - name: optional_positionals
265
+ - name: rest_positionals
266
+ - name: trailing_positionals
267
+ - name: required_keywords
268
+ - name: optional_keywords
269
+ - name: rest_keywords
270
+ - name: return_type
271
+ - name: RBS::Types::Function::Param
272
+ fields:
273
+ - name: type
274
+ - name: name
275
+ - name: location
276
+ - name: RBS::Types::Interface
277
+ fields:
278
+ - name: name
279
+ - name: args
280
+ - name: location
281
+ - name: RBS::Types::Intersection
282
+ fields:
283
+ - name: types
284
+ - name: location
285
+ - name: RBS::Types::Literal
286
+ fields:
287
+ - name: literal
288
+ - name: location
289
+ - name: RBS::Types::Optional
290
+ fields:
291
+ - name: type
292
+ - name: location
293
+ - name: RBS::Types::Proc
294
+ fields:
295
+ - name: type
296
+ - name: block
297
+ - name: location
298
+ - name: self_type
299
+ - name: RBS::Types::Record
300
+ fields:
301
+ - name: all_fields
302
+ - name: location
303
+ - name: RBS::Types::Tuple
304
+ fields:
305
+ - name: types
306
+ - name: location
307
+ - name: RBS::Types::Union
308
+ fields:
309
+ - name: types
310
+ - name: location
311
+ - name: RBS::Types::UntypedFunction
312
+ fields:
313
+ - name: return_type
314
+ - name: RBS::Types::Variable
315
+ fields:
316
+ - name: name
317
+ - name: location