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
@@ -37,7 +37,7 @@ classes:
37
37
  - mutate
38
38
  purity: mutates_self
39
39
  rbs:
40
- - "(Elem from, Elem to, ?boolish exclude_end) -> void"
40
+ - "(E from, E to, ?boolish exclude_end) -> void"
41
41
  rbs_at: references/rbs/core/range.rbs:608
42
42
  initialize_copy:
43
43
  source: c
@@ -106,8 +106,8 @@ classes:
106
106
  - raises
107
107
  purity: block_dependent
108
108
  rbs:
109
- - "() { (Elem arg0) -> untyped } -> self"
110
- - "() -> ::Enumerator[Elem, self]"
109
+ - "() { (E arg0) -> untyped } -> self"
110
+ - "() -> ::Enumerator[E, self]"
111
111
  rbs_at: references/rbs/core/range.rbs:503
112
112
  step:
113
113
  source: c
@@ -121,10 +121,10 @@ classes:
121
121
  - raises
122
122
  purity: block_dependent
123
123
  rbs:
124
- - "(?Numeric | int) -> Enumerator[Elem, self]"
125
- - "(?Numeric | int) { (Elem element) -> void } -> self"
126
- - "(untyped) -> Enumerator[Elem, self]"
127
- - "(untyped) { (Elem element) -> void } -> self"
124
+ - "(?Numeric | int) -> Enumerator[E, self]"
125
+ - "(?Numeric | int) { (E element) -> void } -> self"
126
+ - "(untyped) -> Enumerator[E, self]"
127
+ - "(untyped) { (E element) -> void } -> self"
128
128
  rbs_at: references/rbs/core/range.rbs:1099
129
129
  "%":
130
130
  source: c
@@ -135,8 +135,8 @@ classes:
135
135
  c_effects: []
136
136
  purity: leaf
137
137
  rbs:
138
- - "(Numeric | int n) -> Enumerator[Elem, self]"
139
- - "(Numeric | int n) { (Elem element) -> void } -> self"
138
+ - "(Numeric | int n) -> Enumerator[E, self]"
139
+ - "(Numeric | int n) { (E element) -> void } -> self"
140
140
  rbs_at: references/rbs/core/range.rbs:263
141
141
  reverse_each:
142
142
  source: c
@@ -148,8 +148,8 @@ classes:
148
148
  - raises
149
149
  purity: leaf
150
150
  rbs:
151
- - "() { (Elem) -> void } -> self"
152
- - "() -> ::Enumerator[Elem, self]"
151
+ - "() { (E) -> void } -> self"
152
+ - "() -> ::Enumerator[E, self]"
153
153
  rbs_at: references/rbs/core/range.rbs:961
154
154
  bsearch:
155
155
  source: c
@@ -162,9 +162,9 @@ classes:
162
162
  - raises
163
163
  purity: dispatch
164
164
  rbs:
165
- - "() -> ::Enumerator[Elem, Elem?]"
166
- - "() { (Elem) -> (true | false) } -> Elem?"
167
- - "() { (Elem) -> ::Integer } -> Elem?"
165
+ - "() -> ::Enumerator[E, E?]"
166
+ - "() { (E) -> (true | false) } -> E?"
167
+ - "() { (E) -> ::Integer } -> E?"
168
168
  rbs_at: references/rbs/core/range.rbs:358
169
169
  begin:
170
170
  source: c
@@ -175,7 +175,7 @@ classes:
175
175
  c_effects: []
176
176
  purity: leaf
177
177
  rbs:
178
- - "() -> Elem"
178
+ - "() -> E"
179
179
  rbs_at: references/rbs/core/range.rbs:348
180
180
  end:
181
181
  source: c
@@ -186,7 +186,7 @@ classes:
186
186
  c_effects: []
187
187
  purity: leaf
188
188
  rbs:
189
- - "() -> Elem"
189
+ - "() -> E"
190
190
  rbs_at: references/rbs/core/range.rbs:518
191
191
  first:
192
192
  source: c
@@ -199,8 +199,8 @@ classes:
199
199
  - raises
200
200
  purity: block_dependent
201
201
  rbs:
202
- - "() -> Elem"
203
- - "(Integer n) -> ::Array[Elem]"
202
+ - "() -> E"
203
+ - "(Integer n) -> ::Array[E]"
204
204
  rbs_at: references/rbs/core/range.rbs:554
205
205
  last:
206
206
  source: c
@@ -213,8 +213,8 @@ classes:
213
213
  - raises
214
214
  purity: dispatch
215
215
  rbs:
216
- - "() -> Elem"
217
- - "(Integer n) -> ::Array[Elem]"
216
+ - "() -> E"
217
+ - "(Integer n) -> ::Array[E]"
218
218
  rbs_at: references/rbs/core/range.rbs:664
219
219
  min:
220
220
  source: c
@@ -372,7 +372,7 @@ classes:
372
372
  rbs:
373
373
  - "() -> (Integer | Float)"
374
374
  - "(untyped) -> Integer"
375
- - "() { (Elem) -> boolish } -> Integer"
375
+ - "() { (E) -> boolish } -> Integer"
376
376
  rbs_at: references/rbs/core/range.rbs:1017
377
377
  overlap?:
378
378
  source: c
@@ -20,7 +20,7 @@ purity_levels:
20
20
  classes:
21
21
  Rational:
22
22
  parent: Numeric
23
- defined_at: references/ruby/rational.c:2758
23
+ defined_at: references/ruby/rational.c:2780
24
24
  includes: []
25
25
  constants: {}
26
26
  aliases: {}
@@ -29,7 +29,7 @@ classes:
29
29
  source: c
30
30
  cfunc: nurat_numerator
31
31
  arity: 0
32
- defined_at: references/ruby/rational.c:2767
32
+ defined_at: references/ruby/rational.c:2789
33
33
  c_body_at: references/ruby/rational.c:586
34
34
  c_effects: []
35
35
  purity: leaf
@@ -40,7 +40,7 @@ classes:
40
40
  source: c
41
41
  cfunc: nurat_denominator
42
42
  arity: 0
43
- defined_at: references/ruby/rational.c:2768
43
+ defined_at: references/ruby/rational.c:2790
44
44
  c_body_at: references/ruby/rational.c:604
45
45
  c_effects: []
46
46
  purity: leaf
@@ -51,7 +51,7 @@ classes:
51
51
  source: c
52
52
  cfunc: rb_rational_uminus
53
53
  arity: 0
54
- defined_at: references/ruby/rational.c:2770
54
+ defined_at: references/ruby/rational.c:2792
55
55
  c_body_at: references/ruby/rational.c:621
56
56
  c_effects: []
57
57
  purity: leaf
@@ -62,7 +62,7 @@ classes:
62
62
  source: c
63
63
  cfunc: rb_rational_plus
64
64
  arity: 1
65
- defined_at: references/ruby/rational.c:2771
65
+ defined_at: references/ruby/rational.c:2793
66
66
  c_body_at: references/ruby/rational.c:745
67
67
  c_effects:
68
68
  - coerce_fallback
@@ -76,7 +76,7 @@ classes:
76
76
  source: c
77
77
  cfunc: rb_rational_minus
78
78
  arity: 1
79
- defined_at: references/ruby/rational.c:2772
79
+ defined_at: references/ruby/rational.c:2794
80
80
  c_body_at: references/ruby/rational.c:786
81
81
  c_effects:
82
82
  - coerce_fallback
@@ -90,7 +90,7 @@ classes:
90
90
  source: c
91
91
  cfunc: rb_rational_mul
92
92
  arity: 1
93
- defined_at: references/ruby/rational.c:2773
93
+ defined_at: references/ruby/rational.c:2795
94
94
  c_body_at: references/ruby/rational.c:884
95
95
  c_effects:
96
96
  - coerce_fallback
@@ -104,7 +104,7 @@ classes:
104
104
  source: c
105
105
  cfunc: rb_rational_div
106
106
  arity: 1
107
- defined_at: references/ruby/rational.c:2774
107
+ defined_at: references/ruby/rational.c:2796
108
108
  c_body_at: references/ruby/rational.c:925
109
109
  c_effects:
110
110
  - coerce_fallback
@@ -119,7 +119,7 @@ classes:
119
119
  source: c
120
120
  cfunc: rb_rational_div
121
121
  arity: 1
122
- defined_at: references/ruby/rational.c:2775
122
+ defined_at: references/ruby/rational.c:2797
123
123
  c_body_at: references/ruby/rational.c:925
124
124
  c_effects:
125
125
  - coerce_fallback
@@ -134,7 +134,7 @@ classes:
134
134
  source: c
135
135
  cfunc: nurat_fdiv
136
136
  arity: 1
137
- defined_at: references/ruby/rational.c:2776
137
+ defined_at: references/ruby/rational.c:2798
138
138
  c_body_at: references/ruby/rational.c:973
139
139
  c_effects:
140
140
  - dispatch
@@ -146,7 +146,7 @@ classes:
146
146
  source: c
147
147
  cfunc: nurat_expt
148
148
  arity: 1
149
- defined_at: references/ruby/rational.c:2777
149
+ defined_at: references/ruby/rational.c:2799
150
150
  c_body_at: references/ruby/rational.c:1002
151
151
  c_effects:
152
152
  - coerce_fallback
@@ -160,7 +160,7 @@ classes:
160
160
  source: c
161
161
  cfunc: rb_rational_cmp
162
162
  arity: 1
163
- defined_at: references/ruby/rational.c:2779
163
+ defined_at: references/ruby/rational.c:2801
164
164
  c_body_at: references/ruby/rational.c:1106
165
165
  c_effects:
166
166
  - coerce_fallback
@@ -173,7 +173,7 @@ classes:
173
173
  source: c
174
174
  cfunc: nurat_eqeq_p
175
175
  arity: 1
176
- defined_at: references/ruby/rational.c:2780
176
+ defined_at: references/ruby/rational.c:2802
177
177
  c_body_at: references/ruby/rational.c:1159
178
178
  c_effects:
179
179
  - dispatch
@@ -185,7 +185,7 @@ classes:
185
185
  source: c
186
186
  cfunc: nurat_coerce
187
187
  arity: 1
188
- defined_at: references/ruby/rational.c:2781
188
+ defined_at: references/ruby/rational.c:2803
189
189
  c_body_at: references/ruby/rational.c:1201
190
190
  c_effects:
191
191
  - raises
@@ -197,7 +197,7 @@ classes:
197
197
  source: c
198
198
  cfunc: nurat_positive_p
199
199
  arity: 0
200
- defined_at: references/ruby/rational.c:2783
200
+ defined_at: references/ruby/rational.c:2805
201
201
  c_body_at: references/ruby/rational.c:1238
202
202
  c_effects: []
203
203
  purity: leaf
@@ -208,7 +208,7 @@ classes:
208
208
  source: c
209
209
  cfunc: nurat_negative_p
210
210
  arity: 0
211
- defined_at: references/ruby/rational.c:2784
211
+ defined_at: references/ruby/rational.c:2806
212
212
  c_body_at: references/ruby/rational.c:1251
213
213
  c_effects: []
214
214
  purity: leaf
@@ -219,7 +219,7 @@ classes:
219
219
  source: c
220
220
  cfunc: rb_rational_abs
221
221
  arity: 0
222
- defined_at: references/ruby/rational.c:2785
222
+ defined_at: references/ruby/rational.c:2807
223
223
  c_body_at: references/ruby/rational.c:1270
224
224
  c_effects: []
225
225
  purity: leaf
@@ -230,7 +230,7 @@ classes:
230
230
  source: c
231
231
  cfunc: rb_rational_abs
232
232
  arity: 0
233
- defined_at: references/ruby/rational.c:2786
233
+ defined_at: references/ruby/rational.c:2808
234
234
  c_body_at: references/ruby/rational.c:1270
235
235
  c_effects: []
236
236
  purity: leaf
@@ -238,8 +238,8 @@ classes:
238
238
  source: c
239
239
  cfunc: nurat_floor_n
240
240
  arity: -1
241
- defined_at: references/ruby/rational.c:2788
242
- c_body_at: references/ruby/rational.c:1466
241
+ defined_at: references/ruby/rational.c:2810
242
+ c_body_at: references/ruby/rational.c:1475
243
243
  c_effects: []
244
244
  purity: leaf
245
245
  rbs:
@@ -250,8 +250,8 @@ classes:
250
250
  source: c
251
251
  cfunc: nurat_ceil_n
252
252
  arity: -1
253
- defined_at: references/ruby/rational.c:2789
254
- c_body_at: references/ruby/rational.c:1496
253
+ defined_at: references/ruby/rational.c:2811
254
+ c_body_at: references/ruby/rational.c:1505
255
255
  c_effects: []
256
256
  purity: leaf
257
257
  rbs:
@@ -262,8 +262,8 @@ classes:
262
262
  source: c
263
263
  cfunc: nurat_truncate_n
264
264
  arity: -1
265
- defined_at: references/ruby/rational.c:2790
266
- c_body_at: references/ruby/rational.c:1526
265
+ defined_at: references/ruby/rational.c:2812
266
+ c_body_at: references/ruby/rational.c:1535
267
267
  c_effects: []
268
268
  purity: leaf
269
269
  rbs:
@@ -274,8 +274,8 @@ classes:
274
274
  source: c
275
275
  cfunc: nurat_round_n
276
276
  arity: -1
277
- defined_at: references/ruby/rational.c:2791
278
- c_body_at: references/ruby/rational.c:1569
277
+ defined_at: references/ruby/rational.c:2813
278
+ c_body_at: references/ruby/rational.c:1578
279
279
  c_effects: []
280
280
  purity: leaf
281
281
  rbs:
@@ -286,7 +286,7 @@ classes:
286
286
  source: c
287
287
  cfunc: nurat_truncate
288
288
  arity: 0
289
- defined_at: references/ruby/rational.c:2793
289
+ defined_at: references/ruby/rational.c:2815
290
290
  c_body_at: references/ruby/rational.c:1309
291
291
  c_effects: []
292
292
  purity: leaf
@@ -297,8 +297,8 @@ classes:
297
297
  source: c
298
298
  cfunc: nurat_to_f
299
299
  arity: 0
300
- defined_at: references/ruby/rational.c:2794
301
- c_body_at: references/ruby/rational.c:1607
300
+ defined_at: references/ruby/rational.c:2816
301
+ c_body_at: references/ruby/rational.c:1629
302
302
  c_effects: []
303
303
  purity: leaf
304
304
  rbs:
@@ -308,8 +308,8 @@ classes:
308
308
  source: c
309
309
  cfunc: nurat_to_r
310
310
  arity: 0
311
- defined_at: references/ruby/rational.c:2795
312
- c_body_at: references/ruby/rational.c:1622
311
+ defined_at: references/ruby/rational.c:2817
312
+ c_body_at: references/ruby/rational.c:1644
313
313
  c_effects: []
314
314
  purity: leaf
315
315
  rbs:
@@ -319,8 +319,8 @@ classes:
319
319
  source: c
320
320
  cfunc: nurat_rationalize
321
321
  arity: -1
322
- defined_at: references/ruby/rational.c:2796
323
- c_body_at: references/ruby/rational.c:1756
322
+ defined_at: references/ruby/rational.c:2818
323
+ c_body_at: references/ruby/rational.c:1778
324
324
  c_effects: []
325
325
  purity: leaf
326
326
  rbs:
@@ -330,8 +330,8 @@ classes:
330
330
  source: c
331
331
  cfunc: nurat_hash
332
332
  arity: 0
333
- defined_at: references/ruby/rational.c:2798
334
- c_body_at: references/ruby/rational.c:1803
333
+ defined_at: references/ruby/rational.c:2820
334
+ c_body_at: references/ruby/rational.c:1825
335
335
  c_effects: []
336
336
  purity: leaf
337
337
  rbs:
@@ -341,8 +341,8 @@ classes:
341
341
  source: c
342
342
  cfunc: nurat_to_s
343
343
  arity: 0
344
- defined_at: references/ruby/rational.c:2800
345
- c_body_at: references/ruby/rational.c:1833
344
+ defined_at: references/ruby/rational.c:2822
345
+ c_body_at: references/ruby/rational.c:1855
346
346
  c_effects: []
347
347
  purity: leaf
348
348
  rbs:
@@ -352,8 +352,8 @@ classes:
352
352
  source: c
353
353
  cfunc: nurat_inspect
354
354
  arity: 0
355
- defined_at: references/ruby/rational.c:2801
356
- c_body_at: references/ruby/rational.c:1849
355
+ defined_at: references/ruby/rational.c:2823
356
+ c_body_at: references/ruby/rational.c:1871
357
357
  c_effects: []
358
358
  purity: leaf
359
359
  rbs: