rbs 1.7.1 → 2.0.0.pre2

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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +104 -3
  3. data/core/array.rbs +3 -3
  4. data/core/builtin.rbs +4 -0
  5. data/core/enumerable.rbs +3 -3
  6. data/docs/collection.md +23 -1
  7. data/docs/syntax.md +117 -61
  8. data/ext/rbs_extension/constants.c +2 -6
  9. data/ext/rbs_extension/constants.h +1 -2
  10. data/ext/rbs_extension/parser.c +220 -184
  11. data/ext/rbs_extension/parserstate.c +6 -2
  12. data/ext/rbs_extension/parserstate.h +10 -0
  13. data/ext/rbs_extension/ruby_objs.c +17 -17
  14. data/ext/rbs_extension/ruby_objs.h +3 -4
  15. data/lib/rbs/ast/declarations.rb +6 -99
  16. data/lib/rbs/ast/type_param.rb +134 -0
  17. data/lib/rbs/cli.rb +33 -5
  18. data/lib/rbs/collection/config/lockfile_generator.rb +26 -18
  19. data/lib/rbs/collection/sources/git.rb +18 -7
  20. data/lib/rbs/collection/sources/rubygems.rb +7 -0
  21. data/lib/rbs/collection/sources/stdlib.rb +6 -0
  22. data/lib/rbs/definition.rb +9 -0
  23. data/lib/rbs/definition_builder.rb +78 -16
  24. data/lib/rbs/environment.rb +32 -8
  25. data/lib/rbs/environment_loader.rb +0 -2
  26. data/lib/rbs/environment_walker.rb +4 -1
  27. data/lib/rbs/errors.rb +31 -6
  28. data/lib/rbs/location_aux.rb +2 -0
  29. data/lib/rbs/method_type.rb +29 -6
  30. data/lib/rbs/prototype/rb.rb +3 -3
  31. data/lib/rbs/prototype/rbi.rb +8 -6
  32. data/lib/rbs/prototype/runtime.rb +4 -4
  33. data/lib/rbs/type_alias_regularity.rb +115 -0
  34. data/lib/rbs/types.rb +99 -22
  35. data/lib/rbs/validator.rb +99 -15
  36. data/lib/rbs/variance_calculator.rb +60 -31
  37. data/lib/rbs/version.rb +1 -1
  38. data/lib/rbs/writer.rb +2 -14
  39. data/lib/rbs.rb +2 -0
  40. data/schema/decls.json +19 -46
  41. data/schema/methodType.json +1 -1
  42. data/schema/typeParam.json +36 -0
  43. data/schema/types.json +8 -2
  44. data/sig/collection/collections.rbs +11 -2
  45. data/sig/collection/config.rbs +2 -2
  46. data/sig/declarations.rbs +15 -62
  47. data/sig/definition.rbs +11 -1
  48. data/sig/definition_builder.rbs +37 -1
  49. data/sig/environment.rbs +7 -1
  50. data/sig/environment_walker.rbs +26 -0
  51. data/sig/errors.rbs +28 -3
  52. data/sig/location.rbs +3 -1
  53. data/sig/locator.rbs +1 -1
  54. data/sig/method_types.rbs +25 -4
  55. data/sig/type_alias_regularity.rbs +92 -0
  56. data/sig/type_param.rbs +74 -0
  57. data/sig/types.rbs +37 -8
  58. data/sig/validator.rbs +38 -2
  59. data/sig/variance_calculator.rbs +50 -0
  60. data/sig/writer.rbs +1 -1
  61. data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
  62. data/stdlib/csv/0/manifest.yaml +2 -0
  63. data/stdlib/date/0/date.rbs +2 -2
  64. data/stdlib/logger/0/manifest.yaml +2 -0
  65. data/stdlib/net-http/0/manifest.yaml +2 -0
  66. data/stdlib/openssl/0/manifest.yaml +2 -0
  67. data/stdlib/prime/0/manifest.yaml +2 -0
  68. data/stdlib/resolv/0/manifest.yaml +3 -0
  69. data/stdlib/set/0/set.rbs +3 -3
  70. data/stdlib/uri/0/common.rbs +10 -5
  71. data/stdlib/uri/0/ftp.rbs +10 -0
  72. data/stdlib/uri/0/generic.rbs +34 -34
  73. data/stdlib/uri/0/mailto.rbs +5 -0
  74. data/stdlib/uri/0/ws.rbs +10 -0
  75. data/stdlib/uri/0/wss.rbs +7 -0
  76. data/stdlib/yaml/0/manifest.yaml +3 -0
  77. data/steep/Gemfile.lock +10 -10
  78. metadata +21 -4
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
4
+ version: 2.0.0.pre2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Soutaro Matsumoto
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-18 00:00:00.000000000 Z
11
+ date: 2021-12-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: RBS is the language for type signatures for Ruby and standard library
14
14
  definitions.
@@ -124,6 +124,7 @@ files:
124
124
  - lib/rbs/ast/comment.rb
125
125
  - lib/rbs/ast/declarations.rb
126
126
  - lib/rbs/ast/members.rb
127
+ - lib/rbs/ast/type_param.rb
127
128
  - lib/rbs/buffer.rb
128
129
  - lib/rbs/builtin_names.rb
129
130
  - lib/rbs/char_scanner.rb
@@ -174,6 +175,7 @@ files:
174
175
  - lib/rbs/test/tester.rb
175
176
  - lib/rbs/test/type_check.rb
176
177
  - lib/rbs/type_alias_dependency.rb
178
+ - lib/rbs/type_alias_regularity.rb
177
179
  - lib/rbs/type_name.rb
178
180
  - lib/rbs/type_name_resolver.rb
179
181
  - lib/rbs/types.rb
@@ -190,6 +192,7 @@ files:
190
192
  - schema/location.json
191
193
  - schema/members.json
192
194
  - schema/methodType.json
195
+ - schema/typeParam.json
193
196
  - schema/types.json
194
197
  - sig/ancestor_builder.rbs
195
198
  - sig/ancestor_graph.rbs
@@ -225,7 +228,9 @@ files:
225
228
  - sig/repository.rbs
226
229
  - sig/substitution.rbs
227
230
  - sig/type_alias_dependency.rbs
231
+ - sig/type_alias_regularity.rbs
228
232
  - sig/type_name_resolver.rbs
233
+ - sig/type_param.rbs
229
234
  - sig/typename.rbs
230
235
  - sig/types.rbs
231
236
  - sig/util.rbs
@@ -238,10 +243,12 @@ files:
238
243
  - stdlib/base64/0/base64.rbs
239
244
  - stdlib/benchmark/0/benchmark.rbs
240
245
  - stdlib/bigdecimal-math/0/big_math.rbs
246
+ - stdlib/bigdecimal-math/0/manifest.yaml
241
247
  - stdlib/bigdecimal/0/big_decimal.rbs
242
248
  - stdlib/cgi/0/core.rbs
243
249
  - stdlib/coverage/0/coverage.rbs
244
250
  - stdlib/csv/0/csv.rbs
251
+ - stdlib/csv/0/manifest.yaml
245
252
  - stdlib/date/0/date.rbs
246
253
  - stdlib/date/0/date_time.rbs
247
254
  - stdlib/dbm/0/dbm.rbs
@@ -257,20 +264,25 @@ files:
257
264
  - stdlib/logger/0/formatter.rbs
258
265
  - stdlib/logger/0/log_device.rbs
259
266
  - stdlib/logger/0/logger.rbs
267
+ - stdlib/logger/0/manifest.yaml
260
268
  - stdlib/logger/0/period.rbs
261
269
  - stdlib/logger/0/severity.rbs
262
270
  - stdlib/monitor/0/monitor.rbs
263
271
  - stdlib/mutex_m/0/mutex_m.rbs
272
+ - stdlib/net-http/0/manifest.yaml
264
273
  - stdlib/net-http/0/net-http.rbs
265
274
  - stdlib/objspace/0/objspace.rbs
275
+ - stdlib/openssl/0/manifest.yaml
266
276
  - stdlib/openssl/0/openssl.rbs
267
277
  - stdlib/optparse/0/optparse.rbs
268
278
  - stdlib/pathname/0/pathname.rbs
269
279
  - stdlib/prettyprint/0/prettyprint.rbs
270
280
  - stdlib/prime/0/integer-extension.rbs
281
+ - stdlib/prime/0/manifest.yaml
271
282
  - stdlib/prime/0/prime.rbs
272
283
  - stdlib/pstore/0/pstore.rbs
273
284
  - stdlib/pty/0/pty.rbs
285
+ - stdlib/resolv/0/manifest.yaml
274
286
  - stdlib/resolv/0/resolv.rbs
275
287
  - stdlib/rubygems/0/basic_specification.rbs
276
288
  - stdlib/rubygems/0/config_file.rbs
@@ -309,14 +321,19 @@ files:
309
321
  - stdlib/tsort/0/tsort.rbs
310
322
  - stdlib/uri/0/common.rbs
311
323
  - stdlib/uri/0/file.rbs
324
+ - stdlib/uri/0/ftp.rbs
312
325
  - stdlib/uri/0/generic.rbs
313
326
  - stdlib/uri/0/http.rbs
314
327
  - stdlib/uri/0/https.rbs
315
328
  - stdlib/uri/0/ldap.rbs
316
329
  - stdlib/uri/0/ldaps.rbs
330
+ - stdlib/uri/0/mailto.rbs
317
331
  - stdlib/uri/0/rfc2396_parser.rbs
318
332
  - stdlib/uri/0/rfc3986_parser.rbs
333
+ - stdlib/uri/0/ws.rbs
334
+ - stdlib/uri/0/wss.rbs
319
335
  - stdlib/yaml/0/dbm.rbs
336
+ - stdlib/yaml/0/manifest.yaml
320
337
  - stdlib/yaml/0/store.rbs
321
338
  - stdlib/zlib/0/zlib.rbs
322
339
  - steep/Gemfile
@@ -340,9 +357,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
340
357
  version: '2.6'
341
358
  required_rubygems_version: !ruby/object:Gem::Requirement
342
359
  requirements:
343
- - - ">="
360
+ - - ">"
344
361
  - !ruby/object:Gem::Version
345
- version: '0'
362
+ version: 1.3.1
346
363
  requirements: []
347
364
  rubygems_version: 3.2.22
348
365
  signing_key: