rigortype 0.3.0 → 0.3.1

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/data/builtins/ruby_core/array.yml +416 -392
  4. data/data/builtins/ruby_core/file.yml +42 -42
  5. data/data/builtins/ruby_core/hash.yml +302 -302
  6. data/data/builtins/ruby_core/io.yml +191 -191
  7. data/data/builtins/ruby_core/numeric.yml +321 -366
  8. data/data/builtins/ruby_core/proc.yml +124 -124
  9. data/data/builtins/ruby_core/range.yml +21 -21
  10. data/data/builtins/ruby_core/rational.yml +39 -39
  11. data/data/builtins/ruby_core/re.yml +65 -65
  12. data/data/builtins/ruby_core/set.yml +106 -106
  13. data/data/builtins/ruby_core/struct.yml +14 -14
  14. data/data/core_overlay/string_scanner.rbs +6 -5
  15. data/docs/handbook/01-getting-started.md +22 -34
  16. data/docs/handbook/06-classes.md +1 -1
  17. data/docs/handbook/07-rbs-and-extended.md +76 -101
  18. data/docs/handbook/08-understanding-errors.md +114 -247
  19. data/docs/handbook/09-plugins.md +54 -144
  20. data/docs/handbook/README.md +5 -3
  21. data/docs/handbook/appendix-liskov.md +4 -2
  22. data/docs/handbook/appendix-phpstan.md +14 -7
  23. data/docs/handbook/appendix-steep.md +4 -2
  24. data/docs/handbook/appendix-type-theory.md +3 -1
  25. data/docs/manual/02-cli-reference.md +32 -0
  26. data/docs/manual/04-diagnostics.md +36 -4
  27. data/docs/manual/06-baseline.md +35 -1
  28. data/docs/manual/08-skills.md +6 -1
  29. data/docs/manual/09-editor-integration.md +3 -2
  30. data/docs/manual/plugins/rigor-actioncable.md +32 -0
  31. data/docs/manual/plugins/rigor-devise.md +4 -2
  32. data/lib/rigor/analysis/check_rules/void_value_use_collector.rb +21 -2
  33. data/lib/rigor/analysis/check_rules.rb +34 -13
  34. data/lib/rigor/analysis/run_cache_key.rb +10 -0
  35. data/lib/rigor/analysis/runner.rb +2 -1
  36. data/lib/rigor/cache/rbs_cache_producer.rb +11 -1
  37. data/lib/rigor/cache/rbs_environment_marshal_patch.rb +38 -0
  38. data/lib/rigor/cache/store.rb +99 -24
  39. data/lib/rigor/cli/check_command.rb +12 -6
  40. data/lib/rigor/cli/check_invocation.rb +84 -0
  41. data/lib/rigor/cli/doctor_command.rb +6 -8
  42. data/lib/rigor/cli/skill_command.rb +21 -1
  43. data/lib/rigor/cli/skill_deep_probe.rb +172 -0
  44. data/lib/rigor/cli/skill_describe.rb +75 -9
  45. data/lib/rigor/environment/default_libraries.rb +5 -4
  46. data/lib/rigor/environment.rb +10 -1
  47. data/lib/rigor/inference/method_dispatcher/overload_selector.rb +6 -1
  48. data/lib/rigor/language_server/buffer_resolution.rb +6 -3
  49. data/lib/rigor/language_server/buffer_table.rb +46 -6
  50. data/lib/rigor/language_server/diagnostic_publisher.rb +4 -0
  51. data/lib/rigor/language_server/incremental_sync.rb +159 -0
  52. data/lib/rigor/language_server/server.rb +19 -9
  53. data/lib/rigor/language_server.rb +1 -0
  54. data/lib/rigor/plugin/base.rb +29 -2
  55. data/lib/rigor/sig_gen/writer.rb +183 -47
  56. data/lib/rigor/version.rb +1 -1
  57. data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable.rb +51 -1
  58. data/sig/rigor/cache.rbs +6 -0
  59. data/sig/rigor/inference/void_origin.rbs +18 -0
  60. data/sig/rigor/plugin/base.rbs +4 -3
  61. metadata +7 -3
@@ -20,83 +20,83 @@ purity_levels:
20
20
  classes:
21
21
  Set:
22
22
  parent: Object
23
- defined_at: references/ruby/set.c:2222
23
+ defined_at: references/ruby/set.c:2237
24
24
  includes:
25
25
  - module: Enumerable
26
- defined_at: references/ruby/set.c:2223
26
+ defined_at: references/ruby/set.c:2238
27
27
  constants: {}
28
28
  aliases:
29
29
  intersection:
30
30
  old: "&"
31
31
  source: c
32
- defined_at: references/ruby/set.c:2240
32
+ defined_at: references/ruby/set.c:2255
33
33
  difference:
34
34
  old: "-"
35
35
  source: c
36
- defined_at: references/ruby/set.c:2242
36
+ defined_at: references/ruby/set.c:2257
37
37
  "+":
38
38
  old: "|"
39
39
  source: c
40
- defined_at: references/ruby/set.c:2245
40
+ defined_at: references/ruby/set.c:2260
41
41
  union:
42
42
  old: "|"
43
43
  source: c
44
- defined_at: references/ruby/set.c:2246
44
+ defined_at: references/ruby/set.c:2261
45
45
  eql?:
46
46
  old: "=="
47
47
  source: c
48
- defined_at: references/ruby/set.c:2249
48
+ defined_at: references/ruby/set.c:2264
49
49
  !!str '<<':
50
50
  old: add
51
51
  source: c
52
- defined_at: references/ruby/set.c:2251
52
+ defined_at: references/ruby/set.c:2266
53
53
  map!:
54
54
  old: collect!
55
55
  source: c
56
- defined_at: references/ruby/set.c:2256
56
+ defined_at: references/ruby/set.c:2271
57
57
  member?:
58
58
  old: include?
59
59
  source: c
60
- defined_at: references/ruby/set.c:2270
60
+ defined_at: references/ruby/set.c:2285
61
61
  "===":
62
62
  old: include?
63
63
  source: c
64
- defined_at: references/ruby/set.c:2271
64
+ defined_at: references/ruby/set.c:2286
65
65
  to_s:
66
66
  old: inspect
67
67
  source: c
68
- defined_at: references/ruby/set.c:2273
68
+ defined_at: references/ruby/set.c:2288
69
69
  "<":
70
70
  old: proper_subset?
71
71
  source: c
72
- defined_at: references/ruby/set.c:2279
72
+ defined_at: references/ruby/set.c:2294
73
73
  ">":
74
74
  old: proper_superset?
75
75
  source: c
76
- defined_at: references/ruby/set.c:2281
76
+ defined_at: references/ruby/set.c:2296
77
77
  length:
78
78
  old: size
79
79
  source: c
80
- defined_at: references/ruby/set.c:2286
80
+ defined_at: references/ruby/set.c:2301
81
81
  filter!:
82
82
  old: select!
83
83
  source: c
84
- defined_at: references/ruby/set.c:2288
84
+ defined_at: references/ruby/set.c:2303
85
85
  "<=":
86
86
  old: subset?
87
87
  source: c
88
- defined_at: references/ruby/set.c:2290
88
+ defined_at: references/ruby/set.c:2305
89
89
  ">=":
90
90
  old: superset?
91
91
  source: c
92
- defined_at: references/ruby/set.c:2293
92
+ defined_at: references/ruby/set.c:2308
93
93
  instance_methods:
94
94
  initialize:
95
95
  source: c
96
96
  cfunc: set_i_initialize
97
97
  arity: -1
98
- defined_at: references/ruby/set.c:2236
99
- c_body_at: references/ruby/set.c:505
98
+ defined_at: references/ruby/set.c:2251
99
+ c_body_at: references/ruby/set.c:520
100
100
  c_effects:
101
101
  - block
102
102
  - raises
@@ -110,8 +110,8 @@ classes:
110
110
  source: c
111
111
  cfunc: set_i_initialize_copy
112
112
  arity: 1
113
- defined_at: references/ruby/set.c:2237
114
- c_body_at: references/ruby/set.c:538
113
+ defined_at: references/ruby/set.c:2252
114
+ c_body_at: references/ruby/set.c:553
115
115
  c_effects:
116
116
  - raises
117
117
  purity: leaf
@@ -119,8 +119,8 @@ classes:
119
119
  source: c
120
120
  cfunc: set_i_intersection
121
121
  arity: 1
122
- defined_at: references/ruby/set.c:2239
123
- c_body_at: references/ruby/set.c:1050
122
+ defined_at: references/ruby/set.c:2254
123
+ c_body_at: references/ruby/set.c:1065
124
124
  c_effects:
125
125
  - block
126
126
  purity: block_dependent
@@ -131,8 +131,8 @@ classes:
131
131
  source: c
132
132
  cfunc: set_i_difference
133
133
  arity: 1
134
- defined_at: references/ruby/set.c:2241
135
- c_body_at: references/ruby/set.c:1378
134
+ defined_at: references/ruby/set.c:2256
135
+ c_body_at: references/ruby/set.c:1393
136
136
  c_effects: []
137
137
  purity: leaf
138
138
  rbs:
@@ -142,8 +142,8 @@ classes:
142
142
  source: c
143
143
  cfunc: set_i_xor
144
144
  arity: 1
145
- defined_at: references/ruby/set.c:2243
146
- c_body_at: references/ruby/set.c:1292
145
+ defined_at: references/ruby/set.c:2258
146
+ c_body_at: references/ruby/set.c:1307
147
147
  c_effects: []
148
148
  purity: leaf
149
149
  rbs:
@@ -153,8 +153,8 @@ classes:
153
153
  source: c
154
154
  cfunc: set_i_union
155
155
  arity: 1
156
- defined_at: references/ruby/set.c:2244
157
- c_body_at: references/ruby/set.c:1319
156
+ defined_at: references/ruby/set.c:2259
157
+ c_body_at: references/ruby/set.c:1334
158
158
  c_effects: []
159
159
  purity: leaf
160
160
  rbs:
@@ -164,16 +164,16 @@ classes:
164
164
  source: c
165
165
  cfunc: set_i_compare
166
166
  arity: 1
167
- defined_at: references/ruby/set.c:2247
168
- c_body_at: references/ruby/set.c:1773
167
+ defined_at: references/ruby/set.c:2262
168
+ c_body_at: references/ruby/set.c:1788
169
169
  c_effects: []
170
170
  purity: leaf
171
171
  "==":
172
172
  source: c
173
173
  cfunc: set_i_eq
174
174
  arity: 1
175
- defined_at: references/ruby/set.c:2248
176
- c_body_at: references/ruby/set.c:1831
175
+ defined_at: references/ruby/set.c:2263
176
+ c_body_at: references/ruby/set.c:1846
177
177
  c_effects:
178
178
  - dispatch
179
179
  purity: dispatch
@@ -181,8 +181,8 @@ classes:
181
181
  source: c
182
182
  cfunc: set_i_add
183
183
  arity: 1
184
- defined_at: references/ruby/set.c:2250
185
- c_body_at: references/ruby/set.c:708
184
+ defined_at: references/ruby/set.c:2265
185
+ c_body_at: references/ruby/set.c:723
186
186
  c_effects:
187
187
  - mutate
188
188
  purity: mutates_self
@@ -193,8 +193,8 @@ classes:
193
193
  source: c
194
194
  cfunc: set_i_add_p
195
195
  arity: 1
196
- defined_at: references/ruby/set.c:2252
197
- c_body_at: references/ruby/set.c:734
196
+ defined_at: references/ruby/set.c:2267
197
+ c_body_at: references/ruby/set.c:749
198
198
  c_effects:
199
199
  - mutate
200
200
  purity: mutates_self
@@ -205,8 +205,8 @@ classes:
205
205
  source: c
206
206
  cfunc: set_i_classify
207
207
  arity: 0
208
- defined_at: references/ruby/set.c:2253
209
- c_body_at: references/ruby/set.c:866
208
+ defined_at: references/ruby/set.c:2268
209
+ c_body_at: references/ruby/set.c:881
210
210
  c_effects: []
211
211
  purity: leaf
212
212
  rbs:
@@ -216,8 +216,8 @@ classes:
216
216
  source: c
217
217
  cfunc: set_i_clear
218
218
  arity: 0
219
- defined_at: references/ruby/set.c:2254
220
- c_body_at: references/ruby/set.c:1001
219
+ defined_at: references/ruby/set.c:2269
220
+ c_body_at: references/ruby/set.c:1016
221
221
  c_effects:
222
222
  - mutate
223
223
  purity: mutates_self
@@ -228,8 +228,8 @@ classes:
228
228
  source: c
229
229
  cfunc: set_i_collect
230
230
  arity: 0
231
- defined_at: references/ruby/set.c:2255
232
- c_body_at: references/ruby/set.c:1423
231
+ defined_at: references/ruby/set.c:2270
232
+ c_body_at: references/ruby/set.c:1438
233
233
  c_effects:
234
234
  - mutate
235
235
  purity: mutates_self
@@ -240,8 +240,8 @@ classes:
240
240
  source: c
241
241
  cfunc: set_i_compare_by_identity
242
242
  arity: 0
243
- defined_at: references/ruby/set.c:2257
244
- c_body_at: references/ruby/set.c:1220
243
+ defined_at: references/ruby/set.c:2272
244
+ c_body_at: references/ruby/set.c:1235
245
245
  c_effects:
246
246
  - raises
247
247
  purity: leaf
@@ -252,8 +252,8 @@ classes:
252
252
  source: c
253
253
  cfunc: set_i_compare_by_identity_p
254
254
  arity: 0
255
- defined_at: references/ruby/set.c:2258
256
- c_body_at: references/ruby/set.c:1239
255
+ defined_at: references/ruby/set.c:2273
256
+ c_body_at: references/ruby/set.c:1254
257
257
  c_effects: []
258
258
  purity: leaf
259
259
  rbs:
@@ -263,8 +263,8 @@ classes:
263
263
  source: c
264
264
  cfunc: set_i_delete
265
265
  arity: 1
266
- defined_at: references/ruby/set.c:2259
267
- c_body_at: references/ruby/set.c:756
266
+ defined_at: references/ruby/set.c:2274
267
+ c_body_at: references/ruby/set.c:771
268
268
  c_effects:
269
269
  - mutate
270
270
  purity: mutates_self
@@ -275,8 +275,8 @@ classes:
275
275
  source: c
276
276
  cfunc: set_i_delete_p
277
277
  arity: 1
278
- defined_at: references/ruby/set.c:2260
279
- c_body_at: references/ruby/set.c:773
278
+ defined_at: references/ruby/set.c:2275
279
+ c_body_at: references/ruby/set.c:788
280
280
  c_effects:
281
281
  - mutate
282
282
  purity: mutates_self
@@ -287,8 +287,8 @@ classes:
287
287
  source: c
288
288
  cfunc: set_i_delete_if
289
289
  arity: 0
290
- defined_at: references/ruby/set.c:2261
291
- c_body_at: references/ruby/set.c:798
290
+ defined_at: references/ruby/set.c:2276
291
+ c_body_at: references/ruby/set.c:813
292
292
  c_effects:
293
293
  - mutate
294
294
  purity: mutates_self
@@ -299,8 +299,8 @@ classes:
299
299
  source: c
300
300
  cfunc: set_i_disjoint
301
301
  arity: 1
302
- defined_at: references/ruby/set.c:2262
303
- c_body_at: references/ruby/set.c:1759
302
+ defined_at: references/ruby/set.c:2277
303
+ c_body_at: references/ruby/set.c:1774
304
304
  c_effects: []
305
305
  purity: leaf
306
306
  rbs:
@@ -310,8 +310,8 @@ classes:
310
310
  source: c
311
311
  cfunc: set_i_divide
312
312
  arity: 0
313
- defined_at: references/ruby/set.c:2263
314
- c_body_at: references/ruby/set.c:970
313
+ defined_at: references/ruby/set.c:2278
314
+ c_body_at: references/ruby/set.c:985
315
315
  c_effects: []
316
316
  purity: leaf
317
317
  rbs:
@@ -322,8 +322,8 @@ classes:
322
322
  source: c
323
323
  cfunc: set_i_each
324
324
  arity: 0
325
- defined_at: references/ruby/set.c:2264
326
- c_body_at: references/ruby/set.c:1400
325
+ defined_at: references/ruby/set.c:2279
326
+ c_body_at: references/ruby/set.c:1415
327
327
  c_effects: []
328
328
  purity: leaf
329
329
  rbs:
@@ -334,8 +334,8 @@ classes:
334
334
  source: c
335
335
  cfunc: set_i_empty
336
336
  arity: 0
337
- defined_at: references/ruby/set.c:2265
338
- c_body_at: references/ruby/set.c:1263
337
+ defined_at: references/ruby/set.c:2280
338
+ c_body_at: references/ruby/set.c:1278
339
339
  c_effects: []
340
340
  purity: leaf
341
341
  rbs:
@@ -345,8 +345,8 @@ classes:
345
345
  source: c
346
346
  cfunc: set_i_flatten
347
347
  arity: 0
348
- defined_at: references/ruby/set.c:2266
349
- c_body_at: references/ruby/set.c:1579
348
+ defined_at: references/ruby/set.c:2281
349
+ c_body_at: references/ruby/set.c:1594
350
350
  c_effects: []
351
351
  purity: leaf
352
352
  rbs:
@@ -356,8 +356,8 @@ classes:
356
356
  source: c
357
357
  cfunc: set_i_flatten_bang
358
358
  arity: 0
359
- defined_at: references/ruby/set.c:2267
360
- c_body_at: references/ruby/set.c:1604
359
+ defined_at: references/ruby/set.c:2282
360
+ c_body_at: references/ruby/set.c:1619
361
361
  c_effects:
362
362
  - mutate
363
363
  purity: mutates_self
@@ -368,16 +368,16 @@ classes:
368
368
  source: c
369
369
  cfunc: set_i_hash
370
370
  arity: 0
371
- defined_at: references/ruby/set.c:2268
372
- c_body_at: references/ruby/set.c:1866
371
+ defined_at: references/ruby/set.c:2283
372
+ c_body_at: references/ruby/set.c:1881
373
373
  c_effects: []
374
374
  purity: leaf
375
375
  include?:
376
376
  source: c
377
377
  cfunc: set_i_include
378
378
  arity: 1
379
- defined_at: references/ruby/set.c:2269
380
- c_body_at: references/ruby/set.c:1108
379
+ defined_at: references/ruby/set.c:2284
380
+ c_body_at: references/ruby/set.c:1123
381
381
  c_effects: []
382
382
  purity: leaf
383
383
  rbs:
@@ -387,8 +387,8 @@ classes:
387
387
  source: c
388
388
  cfunc: set_i_inspect
389
389
  arity: 0
390
- defined_at: references/ruby/set.c:2272
391
- c_body_at: references/ruby/set.c:607
390
+ defined_at: references/ruby/set.c:2287
391
+ c_body_at: references/ruby/set.c:622
392
392
  c_effects:
393
393
  - dispatch
394
394
  purity: dispatch
@@ -396,8 +396,8 @@ classes:
396
396
  source: c
397
397
  cfunc: set_i_intersect
398
398
  arity: 1
399
- defined_at: references/ruby/set.c:2274
400
- c_body_at: references/ruby/set.c:1718
399
+ defined_at: references/ruby/set.c:2289
400
+ c_body_at: references/ruby/set.c:1733
401
401
  c_effects:
402
402
  - dispatch
403
403
  - raises
@@ -409,8 +409,8 @@ classes:
409
409
  source: c
410
410
  cfunc: set_i_join
411
411
  arity: -1
412
- defined_at: references/ruby/set.c:2275
413
- c_body_at: references/ruby/set.c:690
412
+ defined_at: references/ruby/set.c:2290
413
+ c_body_at: references/ruby/set.c:705
414
414
  c_effects: []
415
415
  purity: leaf
416
416
  rbs:
@@ -420,8 +420,8 @@ classes:
420
420
  source: c
421
421
  cfunc: set_i_keep_if
422
422
  arity: 0
423
- defined_at: references/ruby/set.c:2276
424
- c_body_at: references/ruby/set.c:1453
423
+ defined_at: references/ruby/set.c:2291
424
+ c_body_at: references/ruby/set.c:1468
425
425
  c_effects:
426
426
  - mutate
427
427
  purity: mutates_self
@@ -432,8 +432,8 @@ classes:
432
432
  source: c
433
433
  cfunc: set_i_merge
434
434
  arity: -1
435
- defined_at: references/ruby/set.c:2277
436
- c_body_at: references/ruby/set.c:1164
435
+ defined_at: references/ruby/set.c:2292
436
+ c_body_at: references/ruby/set.c:1179
437
437
  c_effects:
438
438
  - mutate
439
439
  - raises
@@ -445,8 +445,8 @@ classes:
445
445
  source: c
446
446
  cfunc: set_i_proper_subset
447
447
  arity: 1
448
- defined_at: references/ruby/set.c:2278
449
- c_body_at: references/ruby/set.c:1645
448
+ defined_at: references/ruby/set.c:2293
449
+ c_body_at: references/ruby/set.c:1660
450
450
  c_effects: []
451
451
  purity: leaf
452
452
  rbs:
@@ -456,8 +456,8 @@ classes:
456
456
  source: c
457
457
  cfunc: set_i_proper_superset
458
458
  arity: 1
459
- defined_at: references/ruby/set.c:2280
460
- c_body_at: references/ruby/set.c:1673
459
+ defined_at: references/ruby/set.c:2295
460
+ c_body_at: references/ruby/set.c:1688
461
461
  c_effects: []
462
462
  purity: leaf
463
463
  rbs:
@@ -467,8 +467,8 @@ classes:
467
467
  source: c
468
468
  cfunc: set_i_reject
469
469
  arity: 0
470
- defined_at: references/ruby/set.c:2282
471
- c_body_at: references/ruby/set.c:816
470
+ defined_at: references/ruby/set.c:2297
471
+ c_body_at: references/ruby/set.c:831
472
472
  c_effects:
473
473
  - mutate
474
474
  purity: mutates_self
@@ -479,8 +479,8 @@ classes:
479
479
  source: c
480
480
  cfunc: set_i_replace
481
481
  arity: 1
482
- defined_at: references/ruby/set.c:2283
483
- c_body_at: references/ruby/set.c:1496
482
+ defined_at: references/ruby/set.c:2298
483
+ c_body_at: references/ruby/set.c:1511
484
484
  c_effects:
485
485
  - mutate
486
486
  - raises
@@ -492,8 +492,8 @@ classes:
492
492
  source: c
493
493
  cfunc: set_i_reset
494
494
  arity: 0
495
- defined_at: references/ruby/set.c:2284
496
- c_body_at: references/ruby/set.c:1526
495
+ defined_at: references/ruby/set.c:2299
496
+ c_body_at: references/ruby/set.c:1541
497
497
  c_effects:
498
498
  - raises
499
499
  purity: leaf
@@ -504,8 +504,8 @@ classes:
504
504
  source: c
505
505
  cfunc: set_i_size
506
506
  arity: 0
507
- defined_at: references/ruby/set.c:2285
508
- c_body_at: references/ruby/set.c:1251
507
+ defined_at: references/ruby/set.c:2300
508
+ c_body_at: references/ruby/set.c:1266
509
509
  c_effects: []
510
510
  purity: leaf
511
511
  rbs:
@@ -515,8 +515,8 @@ classes:
515
515
  source: c
516
516
  cfunc: set_i_select
517
517
  arity: 0
518
- defined_at: references/ruby/set.c:2287
519
- c_body_at: references/ruby/set.c:1472
518
+ defined_at: references/ruby/set.c:2302
519
+ c_body_at: references/ruby/set.c:1487
520
520
  c_effects:
521
521
  - mutate
522
522
  purity: mutates_self
@@ -527,8 +527,8 @@ classes:
527
527
  source: c
528
528
  cfunc: set_i_subset
529
529
  arity: 1
530
- defined_at: references/ruby/set.c:2289
531
- c_body_at: references/ruby/set.c:1659
530
+ defined_at: references/ruby/set.c:2304
531
+ c_body_at: references/ruby/set.c:1674
532
532
  c_effects: []
533
533
  purity: leaf
534
534
  rbs:
@@ -538,8 +538,8 @@ classes:
538
538
  source: c
539
539
  cfunc: set_i_subtract
540
540
  arity: 1
541
- defined_at: references/ruby/set.c:2291
542
- c_body_at: references/ruby/set.c:1360
541
+ defined_at: references/ruby/set.c:2306
542
+ c_body_at: references/ruby/set.c:1375
543
543
  c_effects:
544
544
  - mutate
545
545
  purity: mutates_self
@@ -550,8 +550,8 @@ classes:
550
550
  source: c
551
551
  cfunc: set_i_superset
552
552
  arity: 1
553
- defined_at: references/ruby/set.c:2292
554
- c_body_at: references/ruby/set.c:1687
553
+ defined_at: references/ruby/set.c:2307
554
+ c_body_at: references/ruby/set.c:1702
555
555
  c_effects: []
556
556
  purity: leaf
557
557
  rbs:
@@ -561,8 +561,8 @@ classes:
561
561
  source: c
562
562
  cfunc: set_i_to_a
563
563
  arity: 0
564
- defined_at: references/ruby/set.c:2294
565
- c_body_at: references/ruby/set.c:629
564
+ defined_at: references/ruby/set.c:2309
565
+ c_body_at: references/ruby/set.c:644
566
566
  c_effects:
567
567
  - mutate
568
568
  purity: mutates_self
@@ -573,8 +573,8 @@ classes:
573
573
  source: c
574
574
  cfunc: set_i_to_set
575
575
  arity: -1
576
- defined_at: references/ruby/set.c:2295
577
- c_body_at: references/ruby/set.c:660
576
+ defined_at: references/ruby/set.c:2310
577
+ c_body_at: references/ruby/set.c:675
578
578
  c_effects:
579
579
  - block
580
580
  - dispatch
@@ -584,8 +584,8 @@ classes:
584
584
  source: c
585
585
  cfunc: set_s_create
586
586
  arity: -1
587
- defined_at: references/ruby/set.c:2234
588
- c_body_at: references/ruby/set.c:416
587
+ defined_at: references/ruby/set.c:2249
588
+ c_body_at: references/ruby/set.c:431
589
589
  c_effects: []
590
590
  purity: leaf
591
591
  rbs:
@@ -108,7 +108,7 @@ classes:
108
108
  c_effects: []
109
109
  purity: leaf
110
110
  rbs:
111
- - "() -> Array[Elem]"
111
+ - "() -> Array[E]"
112
112
  rbs_at: references/rbs/core/struct.rbs:365
113
113
  to_h:
114
114
  source: c
@@ -121,8 +121,8 @@ classes:
121
121
  - mutate
122
122
  purity: block_dependent
123
123
  rbs:
124
- - "() -> Hash[Symbol, Elem]"
125
- - "[K, V] () { (Symbol key, Elem value) -> [ K, V ] } -> Hash[K, V]"
124
+ - "() -> Hash[Symbol, E]"
125
+ - "[K, V] () { (Symbol key, E value) -> [ K, V ] } -> Hash[K, V]"
126
126
  rbs_at: references/rbs/core/struct.rbs:388
127
127
  values:
128
128
  source: c
@@ -161,8 +161,8 @@ classes:
161
161
  - block
162
162
  purity: block_dependent
163
163
  rbs:
164
- - "() -> Enumerator[Elem, self]"
165
- - "() { (Elem value) -> void } -> self"
164
+ - "() -> Enumerator[E, self]"
165
+ - "() { (E value) -> void } -> self"
166
166
  rbs_at: references/rbs/core/struct.rbs:444
167
167
  each_pair:
168
168
  source: c
@@ -174,8 +174,8 @@ classes:
174
174
  - block
175
175
  purity: block_dependent
176
176
  rbs:
177
- - "() -> Enumerator[[ Symbol, Elem ], self]"
178
- - "() { ([ Symbol, Elem ] key_value) -> void } -> self"
177
+ - "() -> Enumerator[[ Symbol, E ], self]"
178
+ - "() { ([ Symbol, E ] key_value) -> void } -> self"
179
179
  rbs_at: references/rbs/core/struct.rbs:468
180
180
  "[]":
181
181
  source: c
@@ -186,7 +186,7 @@ classes:
186
186
  c_effects: []
187
187
  purity: leaf
188
188
  rbs:
189
- - "(index name_or_position) -> Elem"
189
+ - "(index name_or_position) -> E"
190
190
  rbs_at: references/rbs/core/struct.rbs:495
191
191
  "[]=":
192
192
  source: c
@@ -198,7 +198,7 @@ classes:
198
198
  - mutate
199
199
  purity: mutates_self
200
200
  rbs:
201
- - "(index name_or_position, Elem value) -> Elem"
201
+ - "(index name_or_position, E value) -> E"
202
202
  rbs_at: references/rbs/core/struct.rbs:524
203
203
  select:
204
204
  source: c
@@ -211,8 +211,8 @@ classes:
211
211
  - mutate
212
212
  purity: block_dependent
213
213
  rbs:
214
- - "() -> Enumerator[Elem, Array[Elem]]"
215
- - "() { (Elem value) -> boolish } -> Array[Elem]"
214
+ - "() -> Enumerator[E, Array[E]]"
215
+ - "() { (E value) -> boolish } -> Array[E]"
216
216
  rbs_at: references/rbs/core/struct.rbs:543
217
217
  filter:
218
218
  source: c
@@ -233,7 +233,7 @@ classes:
233
233
  c_effects: []
234
234
  purity: leaf
235
235
  rbs:
236
- - "(*int | range[int?] positions) -> Array[Elem]"
236
+ - "(*int | range[int?] positions) -> Array[E]"
237
237
  rbs_at: references/rbs/core/struct.rbs:594
238
238
  members:
239
239
  source: c
@@ -255,7 +255,7 @@ classes:
255
255
  c_effects: []
256
256
  purity: leaf
257
257
  rbs:
258
- - "(index name_or_position) -> Elem"
258
+ - "(index name_or_position) -> E"
259
259
  - "(index name_or_position, untyped, *untyped) -> untyped"
260
260
  rbs_at: references/rbs/core/struct.rbs:637
261
261
  deconstruct:
@@ -275,7 +275,7 @@ classes:
275
275
  c_effects: []
276
276
  purity: leaf
277
277
  rbs:
278
- - "(Array[index & Hash::_Key]? indices) -> Hash[index & Hash::_Key, Elem]"
278
+ - "(Array[index & Hash::_Key]? indices) -> Hash[index & Hash::_Key, E]"
279
279
  rbs_at: references/rbs/core/struct.rbs:667
280
280
  singleton_methods:
281
281
  new:
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # --- StringScanner#[] ---
4
4
  #
5
- # The pinned `rbs` gem (4.0.2) declares `StringScanner#[]` as only:
5
+ # `rbs` 4.0.x declares `StringScanner#[]` as only:
6
6
  #
7
7
  # def []: (Integer) -> String?
8
8
  #
@@ -14,14 +14,15 @@
14
14
  # scanner.skip(/(?<key>\w+)=/)
15
15
  # scanner[:key] # => the captured String, or nil
16
16
  #
17
- # Newer `ruby/rbs` already widens the signature to
18
- # `(Integer | String | Symbol) -> String?`; the pinned 4.0.2 gem lags.
19
17
  # Without the wider overload, a named-capture access such as Mastodon's
20
18
  # `scanner[:key]` false-fires `call.argument-type-mismatch` (the lone
21
19
  # overload rejects a `Symbol`).
22
20
  #
23
- # The overlay supplies the runtime-accurate overload; drop it once the
24
- # pinned `rbs` gem carries the wider signature.
21
+ # `rbs` 4.1.0 widened the upstream signature to exactly this
22
+ # (ruby/rbs#2959), so the overlay is redundant on the pinned gem and only
23
+ # earns its keep for a consumer resolving an older `rbs` inside the
24
+ # gemspec's `>= 3.0, < 5.0` range. It stays until that floor moves;
25
+ # reopening with an identical overload costs nothing on 4.1.
25
26
  class StringScanner
26
27
  def []: (Integer | String | Symbol) -> String?
27
28
  | ...