rigortype 0.2.9 → 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 (222) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  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/03-narrowing.md +2 -1
  17. data/docs/handbook/04-tuples-and-shapes.md +7 -3
  18. data/docs/handbook/06-classes.md +19 -10
  19. data/docs/handbook/07-rbs-and-extended.md +76 -101
  20. data/docs/handbook/08-understanding-errors.md +114 -246
  21. data/docs/handbook/09-plugins.md +54 -144
  22. data/docs/handbook/11-sig-gen.md +11 -1
  23. data/docs/handbook/README.md +5 -3
  24. data/docs/handbook/appendix-liskov.md +4 -2
  25. data/docs/handbook/appendix-mypy.md +4 -3
  26. data/docs/handbook/appendix-phpstan.md +14 -7
  27. data/docs/handbook/appendix-steep.md +4 -2
  28. data/docs/handbook/appendix-type-theory.md +3 -1
  29. data/docs/install.md +14 -6
  30. data/docs/manual/01-installation.md +98 -4
  31. data/docs/manual/02-cli-reference.md +81 -12
  32. data/docs/manual/03-configuration.md +34 -2
  33. data/docs/manual/04-diagnostics.md +59 -4
  34. data/docs/manual/06-baseline.md +35 -1
  35. data/docs/manual/07-plugins.md +4 -4
  36. data/docs/manual/08-skills.md +6 -1
  37. data/docs/manual/09-editor-integration.md +7 -6
  38. data/docs/manual/11-ci.md +51 -0
  39. data/docs/manual/12-caching.md +65 -0
  40. data/docs/manual/plugins/rigor-actioncable.md +32 -0
  41. data/docs/manual/plugins/rigor-devise.md +4 -2
  42. data/lib/rigor/analysis/check_rules/always_truthy_condition_collector.rb +9 -1
  43. data/lib/rigor/analysis/check_rules/dead_assignment_collector.rb +5 -3
  44. data/lib/rigor/analysis/check_rules/duplicate_hash_key_collector.rb +128 -0
  45. data/lib/rigor/analysis/check_rules/inferred_param_guard.rb +60 -0
  46. data/lib/rigor/analysis/check_rules/ivar_write_collector.rb +3 -2
  47. data/lib/rigor/analysis/check_rules/return_in_ensure_collector.rb +117 -0
  48. data/lib/rigor/analysis/check_rules/rule_ids.rb +125 -0
  49. data/lib/rigor/analysis/check_rules/rule_walk.rb +2 -1
  50. data/lib/rigor/analysis/check_rules/self_closedness_scanner.rb +2 -1
  51. data/lib/rigor/analysis/check_rules/shadowed_rescue_collector.rb +283 -0
  52. data/lib/rigor/analysis/check_rules/unreachable_clause_collector.rb +10 -1
  53. data/lib/rigor/analysis/check_rules/void_value_use_collector.rb +112 -0
  54. data/lib/rigor/analysis/check_rules.rb +581 -98
  55. data/lib/rigor/analysis/dependency_recorder.rb +93 -9
  56. data/lib/rigor/analysis/dependency_source_inference/walker.rb +2 -1
  57. data/lib/rigor/analysis/incremental_session.rb +456 -51
  58. data/lib/rigor/analysis/path_expansion.rb +42 -0
  59. data/lib/rigor/analysis/plugin_fact_fingerprint.rb +188 -0
  60. data/lib/rigor/analysis/rule_catalog.rb +226 -1
  61. data/lib/rigor/analysis/run_cache_key.rb +78 -0
  62. data/lib/rigor/analysis/run_cache_probe.rb +72 -0
  63. data/lib/rigor/analysis/runner/diagnostic_aggregator.rb +181 -28
  64. data/lib/rigor/analysis/runner/pool_coordinator.rb +77 -15
  65. data/lib/rigor/analysis/runner/project_pre_passes.rb +95 -49
  66. data/lib/rigor/analysis/runner/run_snapshots.rb +9 -2
  67. data/lib/rigor/analysis/runner.rb +344 -68
  68. data/lib/rigor/analysis/severity_stamp.rb +43 -0
  69. data/lib/rigor/analysis/worker_session.rb +30 -2
  70. data/lib/rigor/bleeding_edge.rb +37 -8
  71. data/lib/rigor/builtins/regex_refinement.rb +36 -1
  72. data/lib/rigor/cache/descriptor.rb +88 -28
  73. data/lib/rigor/cache/file_digest.rb +158 -0
  74. data/lib/rigor/cache/incremental_snapshot.rb +41 -5
  75. data/lib/rigor/cache/rbs_cache_producer.rb +11 -1
  76. data/lib/rigor/cache/rbs_descriptor.rb +56 -10
  77. data/lib/rigor/cache/rbs_environment_marshal_patch.rb +38 -0
  78. data/lib/rigor/cache/store.rb +132 -27
  79. data/lib/rigor/ci_detector.rb +90 -0
  80. data/lib/rigor/cli/annotate_command.rb +15 -9
  81. data/lib/rigor/cli/baseline_command.rb +4 -1
  82. data/lib/rigor/cli/check_command.rb +223 -32
  83. data/lib/rigor/cli/check_invocation.rb +84 -0
  84. data/lib/rigor/cli/coverage_command.rb +6 -1
  85. data/lib/rigor/cli/docs_command.rb +0 -30
  86. data/lib/rigor/cli/doctor_command.rb +169 -31
  87. data/lib/rigor/cli/lsp_command.rb +5 -0
  88. data/lib/rigor/cli/mcp_command.rb +5 -0
  89. data/lib/rigor/cli/plugins_command.rb +36 -6
  90. data/lib/rigor/cli/plugins_renderer.rb +44 -12
  91. data/lib/rigor/cli/probe_environment.rb +85 -0
  92. data/lib/rigor/cli/sig_gen_command.rb +36 -9
  93. data/lib/rigor/cli/skill_command.rb +22 -33
  94. data/lib/rigor/cli/skill_deep_probe.rb +172 -0
  95. data/lib/rigor/cli/skill_describe.rb +75 -9
  96. data/lib/rigor/cli/trace_command.rb +5 -6
  97. data/lib/rigor/cli/type_of_command.rb +9 -8
  98. data/lib/rigor/cli/type_scan_command.rb +8 -8
  99. data/lib/rigor/cli.rb +15 -4
  100. data/lib/rigor/config_audit.rb +48 -2
  101. data/lib/rigor/configuration/severity_profile.rb +31 -0
  102. data/lib/rigor/configuration.rb +156 -8
  103. data/lib/rigor/environment/default_libraries.rb +36 -0
  104. data/lib/rigor/environment/rbs_loader.rb +164 -5
  105. data/lib/rigor/environment.rb +29 -28
  106. data/lib/rigor/inference/budget_trace.rb +77 -2
  107. data/lib/rigor/inference/closure_escape_analyzer.rb +14 -1
  108. data/lib/rigor/inference/def_handle.rb +23 -0
  109. data/lib/rigor/inference/def_node_resolver.rb +90 -0
  110. data/lib/rigor/inference/def_return_typer.rb +2 -1
  111. data/lib/rigor/inference/expression_typer.rb +361 -113
  112. data/lib/rigor/inference/method_dispatcher/data_folding.rb +30 -5
  113. data/lib/rigor/inference/method_dispatcher/kernel_dispatch.rb +200 -0
  114. data/lib/rigor/inference/method_dispatcher/literal_string_folding.rb +22 -16
  115. data/lib/rigor/inference/method_dispatcher/member_shape_projection.rb +33 -0
  116. data/lib/rigor/inference/method_dispatcher/overload_selector.rb +17 -1
  117. data/lib/rigor/inference/method_dispatcher/rbs_dispatch.rb +42 -9
  118. data/lib/rigor/inference/method_dispatcher/receiver_affinity.rb +5 -0
  119. data/lib/rigor/inference/method_dispatcher/shape_dispatch.rb +28 -35
  120. data/lib/rigor/inference/method_dispatcher/struct_folding.rb +40 -8
  121. data/lib/rigor/inference/method_dispatcher.rb +57 -1
  122. data/lib/rigor/inference/mutation_widening.rb +42 -8
  123. data/lib/rigor/inference/narrowing.rb +127 -17
  124. data/lib/rigor/inference/parameter_inference_collector.rb +15 -0
  125. data/lib/rigor/inference/project_patched_scanner.rb +2 -1
  126. data/lib/rigor/inference/rbs_type_translator.rb +8 -1
  127. data/lib/rigor/inference/scope_indexer.rb +451 -36
  128. data/lib/rigor/inference/statement_evaluator.rb +64 -15
  129. data/lib/rigor/inference/struct_fold_safety.rb +48 -11
  130. data/lib/rigor/inference/synthetic_method_scanner.rb +15 -14
  131. data/lib/rigor/inference/void_origin.rb +25 -0
  132. data/lib/rigor/inference/void_tail_summary.rb +220 -0
  133. data/lib/rigor/language_server/buffer_resolution.rb +6 -3
  134. data/lib/rigor/language_server/buffer_table.rb +46 -6
  135. data/lib/rigor/language_server/completion_provider.rb +2 -1
  136. data/lib/rigor/language_server/diagnostic_publisher.rb +4 -0
  137. data/lib/rigor/language_server/document_symbol_provider.rb +2 -1
  138. data/lib/rigor/language_server/folding_range_provider.rb +2 -1
  139. data/lib/rigor/language_server/incremental_sync.rb +159 -0
  140. data/lib/rigor/language_server/selection_range_provider.rb +2 -1
  141. data/lib/rigor/language_server/server.rb +19 -9
  142. data/lib/rigor/language_server/signature_help_provider.rb +2 -1
  143. data/lib/rigor/language_server.rb +1 -0
  144. data/lib/rigor/plugin/base.rb +38 -24
  145. data/lib/rigor/plugin/inflector.rb +12 -3
  146. data/lib/rigor/plugin/io_boundary.rb +5 -1
  147. data/lib/rigor/plugin/isolation.rb +81 -11
  148. data/lib/rigor/plugin/load_error.rb +10 -1
  149. data/lib/rigor/plugin/loader.rb +96 -14
  150. data/lib/rigor/plugin/node_rule_walk.rb +5 -3
  151. data/lib/rigor/plugin/registry.rb +32 -23
  152. data/lib/rigor/plugin.rb +26 -0
  153. data/lib/rigor/protection/mutator.rb +3 -2
  154. data/lib/rigor/reflection.rb +64 -0
  155. data/lib/rigor/runtime/jit.rb +128 -0
  156. data/lib/rigor/scope/discovery_index.rb +12 -2
  157. data/lib/rigor/scope.rb +122 -28
  158. data/lib/rigor/sig_gen/classification.rb +5 -1
  159. data/lib/rigor/sig_gen/generator.rb +38 -6
  160. data/lib/rigor/sig_gen/observation_collector.rb +4 -3
  161. data/lib/rigor/sig_gen/rbs_validity.rb +44 -0
  162. data/lib/rigor/sig_gen/renderer.rb +10 -0
  163. data/lib/rigor/sig_gen/write_result.rb +9 -4
  164. data/lib/rigor/sig_gen/writer.rb +207 -49
  165. data/lib/rigor/source/node_children.rb +116 -0
  166. data/lib/rigor/source/node_locator.rb +3 -1
  167. data/lib/rigor/source/node_walker.rb +4 -2
  168. data/lib/rigor/source.rb +1 -0
  169. data/lib/rigor/type/difference.rb +28 -24
  170. data/lib/rigor/type/hash_shape.rb +34 -10
  171. data/lib/rigor/version.rb +1 -1
  172. data/lib/rigortype.rb +24 -0
  173. data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable/channel_discoverer.rb +4 -2
  174. data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable.rb +51 -1
  175. data/plugins/rigor-actionmailer/lib/rigor/plugin/actionmailer/mailer_discoverer.rb +6 -4
  176. data/plugins/rigor-actionpack/lib/rigor/plugin/actionpack/controller_discoverer.rb +5 -3
  177. data/plugins/rigor-activejob/lib/rigor/plugin/activejob/job_discoverer.rb +4 -2
  178. data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/analyzer.rb +3 -1
  179. data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/model_discoverer.rb +4 -2
  180. data/plugins/rigor-activerecord/lib/rigor/plugin/activerecord/schema_parser.rb +4 -2
  181. data/plugins/rigor-activestorage/lib/rigor/plugin/activestorage/analyzer.rb +3 -1
  182. data/plugins/rigor-activestorage/lib/rigor/plugin/activestorage/attachment_discoverer.rb +4 -2
  183. data/plugins/rigor-dry-types/lib/rigor/plugin/dry_types.rb +38 -6
  184. data/plugins/rigor-factorybot/lib/rigor/plugin/factorybot/factory_discoverer.rb +3 -1
  185. data/plugins/rigor-hanami/lib/rigor/plugin/hanami/action_checker.rb +3 -1
  186. data/plugins/rigor-mangrove/lib/rigor/plugin/mangrove.rb +10 -0
  187. data/plugins/rigor-minitest/lib/rigor/plugin/minitest.rb +11 -0
  188. data/plugins/rigor-pundit/lib/rigor/plugin/pundit/policy_discoverer.rb +3 -1
  189. data/plugins/rigor-rails/lib/rigor-rails.rb +11 -12
  190. data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/grape_api_discoverer.rb +3 -1
  191. data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/helper_discoverer.rb +3 -1
  192. data/plugins/rigor-rails-routes/lib/rigor/plugin/rails_routes/routes_parser.rb +7 -5
  193. data/plugins/rigor-rbs-inline/lib/rigor/plugin/rbs_inline.rb +83 -9
  194. data/plugins/rigor-rbs-inline/lib/rigor-rbs-inline.rb +9 -5
  195. data/plugins/rigor-rspec/lib/rigor/plugin/rspec/let_scope_index.rb +3 -1
  196. data/plugins/rigor-rspec/lib/rigor/plugin/rspec/scope_walker.rb +3 -1
  197. data/plugins/rigor-rspec/lib/rigor/plugin/rspec.rb +11 -0
  198. data/plugins/rigor-rspec-rails/lib/rigor/plugin/rspec_rails/http_status_codes.rb +4 -1
  199. data/plugins/rigor-sidekiq/lib/rigor/plugin/sidekiq/worker_discoverer.rb +4 -2
  200. data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet/catalog_walker.rb +3 -1
  201. data/plugins/rigor-sorbet/lib/rigor/plugin/sorbet.rb +74 -14
  202. data/sig/prism_node_children.rbs +9 -0
  203. data/sig/rigor/cache.rbs +6 -0
  204. data/sig/rigor/inference/void_origin.rbs +18 -0
  205. data/sig/rigor/inference.rbs +7 -0
  206. data/sig/rigor/plugin/base.rbs +6 -6
  207. data/sig/rigor/reflection.rbs +1 -0
  208. data/sig/rigor/scope.rbs +12 -1
  209. data/skills/rigor-ci-setup/SKILL.md +10 -0
  210. data/skills/rigor-editor-setup/SKILL.md +11 -0
  211. data/skills/rigor-next-steps/SKILL.md +23 -2
  212. data/skills/rigor-plugin-author/SKILL.md +3 -3
  213. data/skills/rigor-plugin-author/references/02-walker-and-types.md +2 -2
  214. data/skills/rigor-plugin-review/SKILL.md +2 -2
  215. data/skills/rigor-plugin-review/references/01-best-practices-checklist.md +5 -4
  216. data/skills/rigor-project-init/SKILL.md +29 -3
  217. data/skills/rigor-project-init/references/01-detect.md +1 -1
  218. data/skills/rigor-project-init/references/02-configure.md +39 -5
  219. data/skills/rigor-project-init/references/03-baseline-and-bugs.md +20 -0
  220. data/skills/rigor-project-init/references/05-jit-performance.md +125 -0
  221. metadata +48 -26
  222. data/lib/rigor/cli/ci_detector.rb +0 -89
@@ -30,31 +30,31 @@ classes:
30
30
  undefined: []
31
31
  Regexp:
32
32
  parent: Object
33
- defined_at: references/ruby/re.c:4825
33
+ defined_at: references/ruby/re.c:4830
34
34
  includes: []
35
35
  constants:
36
36
  IGNORECASE:
37
37
  c_expression: INT2FIX(ONIG_OPTION_IGNORECASE)
38
- defined_at: references/ruby/re.c:4862
38
+ defined_at: references/ruby/re.c:4867
39
39
  EXTENDED:
40
40
  c_expression: INT2FIX(ONIG_OPTION_EXTEND)
41
- defined_at: references/ruby/re.c:4864
41
+ defined_at: references/ruby/re.c:4869
42
42
  MULTILINE:
43
43
  c_expression: INT2FIX(ONIG_OPTION_MULTILINE)
44
- defined_at: references/ruby/re.c:4866
44
+ defined_at: references/ruby/re.c:4871
45
45
  FIXEDENCODING:
46
46
  c_expression: INT2FIX(ARG_ENCODING_FIXED)
47
- defined_at: references/ruby/re.c:4868
47
+ defined_at: references/ruby/re.c:4873
48
48
  NOENCODING:
49
49
  c_expression: INT2FIX(ARG_ENCODING_NONE)
50
- defined_at: references/ruby/re.c:4870
50
+ defined_at: references/ruby/re.c:4875
51
51
  aliases: {}
52
52
  instance_methods:
53
53
  initialize:
54
54
  source: c
55
55
  cfunc: rb_reg_initialize_m
56
56
  arity: -1
57
- defined_at: references/ruby/re.c:4835
57
+ defined_at: references/ruby/re.c:4840
58
58
  c_body_at: references/ruby/re.c:4030
59
59
  c_effects: []
60
60
  purity: leaf
@@ -67,7 +67,7 @@ classes:
67
67
  source: c
68
68
  cfunc: rb_reg_init_copy
69
69
  arity: 1
70
- defined_at: references/ruby/re.c:4836
70
+ defined_at: references/ruby/re.c:4841
71
71
  c_body_at: references/ruby/re.c:4459
72
72
  c_effects: []
73
73
  purity: leaf
@@ -78,7 +78,7 @@ classes:
78
78
  source: c
79
79
  cfunc: rb_reg_hash
80
80
  arity: 0
81
- defined_at: references/ruby/re.c:4837
81
+ defined_at: references/ruby/re.c:4842
82
82
  c_body_at: references/ruby/re.c:3526
83
83
  c_effects: []
84
84
  purity: leaf
@@ -89,7 +89,7 @@ classes:
89
89
  source: c
90
90
  cfunc: rb_reg_equal
91
91
  arity: 1
92
- defined_at: references/ruby/re.c:4838
92
+ defined_at: references/ruby/re.c:4843
93
93
  c_body_at: references/ruby/re.c:3559
94
94
  c_effects: []
95
95
  purity: leaf
@@ -97,7 +97,7 @@ classes:
97
97
  source: c
98
98
  cfunc: rb_reg_equal
99
99
  arity: 1
100
- defined_at: references/ruby/re.c:4839
100
+ defined_at: references/ruby/re.c:4844
101
101
  c_body_at: references/ruby/re.c:3559
102
102
  c_effects: []
103
103
  purity: leaf
@@ -108,7 +108,7 @@ classes:
108
108
  source: c
109
109
  cfunc: rb_reg_match
110
110
  arity: 1
111
- defined_at: references/ruby/re.c:4840
111
+ defined_at: references/ruby/re.c:4845
112
112
  c_body_at: references/ruby/re.c:3720
113
113
  c_effects: []
114
114
  purity: leaf
@@ -120,7 +120,7 @@ classes:
120
120
  source: c
121
121
  cfunc: rb_reg_eqq
122
122
  arity: 1
123
- defined_at: references/ruby/re.c:4841
123
+ defined_at: references/ruby/re.c:4846
124
124
  c_body_at: references/ruby/re.c:3749
125
125
  c_effects: []
126
126
  purity: leaf
@@ -131,7 +131,7 @@ classes:
131
131
  source: c
132
132
  cfunc: rb_reg_match2
133
133
  arity: 0
134
- defined_at: references/ruby/re.c:4842
134
+ defined_at: references/ruby/re.c:4847
135
135
  c_body_at: references/ruby/re.c:3775
136
136
  c_effects: []
137
137
  purity: leaf
@@ -142,7 +142,7 @@ classes:
142
142
  source: c
143
143
  cfunc: rb_reg_match_m
144
144
  arity: -1
145
- defined_at: references/ruby/re.c:4843
145
+ defined_at: references/ruby/re.c:4848
146
146
  c_body_at: references/ruby/re.c:3836
147
147
  c_effects:
148
148
  - block
@@ -156,7 +156,7 @@ classes:
156
156
  source: c
157
157
  cfunc: rb_reg_match_m_p
158
158
  arity: -1
159
- defined_at: references/ruby/re.c:4844
159
+ defined_at: references/ruby/re.c:4849
160
160
  c_body_at: references/ruby/re.c:3877
161
161
  c_effects: []
162
162
  purity: leaf
@@ -168,7 +168,7 @@ classes:
168
168
  source: c
169
169
  cfunc: rb_reg_to_s
170
170
  arity: 0
171
- defined_at: references/ruby/re.c:4845
171
+ defined_at: references/ruby/re.c:4850
172
172
  c_body_at: references/ruby/re.c:561
173
173
  c_effects: []
174
174
  purity: leaf
@@ -179,7 +179,7 @@ classes:
179
179
  source: c
180
180
  cfunc: rb_reg_inspect
181
181
  arity: 0
182
- defined_at: references/ruby/re.c:4846
182
+ defined_at: references/ruby/re.c:4851
183
183
  c_body_at: references/ruby/re.c:523
184
184
  c_effects: []
185
185
  purity: leaf
@@ -190,7 +190,7 @@ classes:
190
190
  source: c
191
191
  cfunc: rb_reg_source
192
192
  arity: 0
193
- defined_at: references/ruby/re.c:4847
193
+ defined_at: references/ruby/re.c:4852
194
194
  c_body_at: references/ruby/re.c:502
195
195
  c_effects: []
196
196
  purity: leaf
@@ -201,7 +201,7 @@ classes:
201
201
  source: c
202
202
  cfunc: rb_reg_casefold_p
203
203
  arity: 0
204
- defined_at: references/ruby/re.c:4848
204
+ defined_at: references/ruby/re.c:4853
205
205
  c_body_at: references/ruby/re.c:741
206
206
  c_effects: []
207
207
  purity: leaf
@@ -212,7 +212,7 @@ classes:
212
212
  source: c
213
213
  cfunc: rb_reg_options_m
214
214
  arity: 0
215
- defined_at: references/ruby/re.c:4849
215
+ defined_at: references/ruby/re.c:4854
216
216
  c_body_at: references/ruby/re.c:786
217
217
  c_effects: []
218
218
  purity: leaf
@@ -223,7 +223,7 @@ classes:
223
223
  source: c
224
224
  cfunc: rb_obj_encoding
225
225
  arity: 0
226
- defined_at: references/ruby/re.c:4850
226
+ defined_at: references/ruby/re.c:4855
227
227
  purity: unknown
228
228
  c_body_at: not_found
229
229
  rbs:
@@ -233,7 +233,7 @@ classes:
233
233
  source: c
234
234
  cfunc: rb_reg_fixed_encoding_p
235
235
  arity: 0
236
- defined_at: references/ruby/re.c:4851
236
+ defined_at: references/ruby/re.c:4856
237
237
  c_body_at: references/ruby/re.c:1562
238
238
  c_effects: []
239
239
  purity: leaf
@@ -244,7 +244,7 @@ classes:
244
244
  source: c
245
245
  cfunc: rb_reg_names
246
246
  arity: 0
247
- defined_at: references/ruby/re.c:4852
247
+ defined_at: references/ruby/re.c:4857
248
248
  c_body_at: references/ruby/re.c:815
249
249
  c_effects: []
250
250
  purity: leaf
@@ -255,7 +255,7 @@ classes:
255
255
  source: c
256
256
  cfunc: rb_reg_named_captures
257
257
  arity: 0
258
- defined_at: references/ruby/re.c:4853
258
+ defined_at: references/ruby/re.c:4858
259
259
  c_body_at: references/ruby/re.c:859
260
260
  c_effects: []
261
261
  purity: leaf
@@ -266,7 +266,7 @@ classes:
266
266
  source: c
267
267
  cfunc: rb_reg_timeout_get
268
268
  arity: 0
269
- defined_at: references/ruby/re.c:4854
269
+ defined_at: references/ruby/re.c:4859
270
270
  c_body_at: references/ruby/re.c:4776
271
271
  c_effects: []
272
272
  purity: leaf
@@ -278,14 +278,14 @@ classes:
278
278
  source: c
279
279
  cfunc: rb_class_new_instance_pass_kw
280
280
  arity: -1
281
- defined_at: references/ruby/re.c:4827
281
+ defined_at: references/ruby/re.c:4832
282
282
  purity: unknown
283
283
  c_body_at: not_found
284
284
  quote:
285
285
  source: c
286
286
  cfunc: rb_reg_s_quote
287
287
  arity: 1
288
- defined_at: references/ruby/re.c:4828
288
+ defined_at: references/ruby/re.c:4833
289
289
  c_body_at: references/ruby/re.c:4217
290
290
  c_effects: []
291
291
  purity: leaf
@@ -293,7 +293,7 @@ classes:
293
293
  source: c
294
294
  cfunc: rb_reg_s_quote
295
295
  arity: 1
296
- defined_at: references/ruby/re.c:4829
296
+ defined_at: references/ruby/re.c:4834
297
297
  c_body_at: references/ruby/re.c:4217
298
298
  c_effects: []
299
299
  purity: leaf
@@ -304,7 +304,7 @@ classes:
304
304
  source: c
305
305
  cfunc: rb_reg_s_union_m
306
306
  arity: -2
307
- defined_at: references/ruby/re.c:4830
307
+ defined_at: references/ruby/re.c:4835
308
308
  c_body_at: references/ruby/re.c:4413
309
309
  c_effects: []
310
310
  purity: leaf
@@ -317,7 +317,7 @@ classes:
317
317
  source: c
318
318
  cfunc: rb_reg_s_last_match
319
319
  arity: -1
320
- defined_at: references/ruby/re.c:4831
320
+ defined_at: references/ruby/re.c:4836
321
321
  c_body_at: references/ruby/re.c:4668
322
322
  c_effects: []
323
323
  purity: leaf
@@ -329,7 +329,7 @@ classes:
329
329
  source: c
330
330
  cfunc: rb_reg_s_try_convert
331
331
  arity: 1
332
- defined_at: references/ruby/re.c:4832
332
+ defined_at: references/ruby/re.c:4837
333
333
  c_body_at: references/ruby/re.c:4259
334
334
  c_effects: []
335
335
  purity: leaf
@@ -341,7 +341,7 @@ classes:
341
341
  source: c
342
342
  cfunc: rb_reg_s_linear_time_p
343
343
  arity: -1
344
- defined_at: references/ruby/re.c:4833
344
+ defined_at: references/ruby/re.c:4838
345
345
  c_body_at: references/ruby/re.c:4445
346
346
  c_effects: []
347
347
  purity: leaf
@@ -354,7 +354,7 @@ classes:
354
354
  source: c
355
355
  cfunc: rb_reg_s_timeout_get
356
356
  arity: 0
357
- defined_at: references/ruby/re.c:4858
357
+ defined_at: references/ruby/re.c:4863
358
358
  c_body_at: references/ruby/re.c:4730
359
359
  c_effects: []
360
360
  purity: leaf
@@ -365,7 +365,7 @@ classes:
365
365
  source: c
366
366
  cfunc: rb_reg_s_timeout_set
367
367
  arity: 1
368
- defined_at: references/ruby/re.c:4859
368
+ defined_at: references/ruby/re.c:4864
369
369
  c_body_at: references/ruby/re.c:4751
370
370
  c_effects: []
371
371
  purity: leaf
@@ -375,20 +375,20 @@ classes:
375
375
  undefined: []
376
376
  MatchData:
377
377
  parent: Object
378
- defined_at: references/ruby/re.c:4874
378
+ defined_at: references/ruby/re.c:4879
379
379
  includes: []
380
380
  constants: {}
381
381
  aliases:
382
382
  deconstruct:
383
383
  old: captures
384
384
  source: c
385
- defined_at: references/ruby/re.c:4895
385
+ defined_at: references/ruby/re.c:4900
386
386
  instance_methods:
387
387
  initialize_copy:
388
388
  source: c
389
389
  cfunc: match_init_copy
390
390
  arity: 1
391
- defined_at: references/ruby/re.c:4879
391
+ defined_at: references/ruby/re.c:4884
392
392
  c_body_at: references/ruby/re.c:1085
393
393
  c_effects: []
394
394
  purity: leaf
@@ -399,7 +399,7 @@ classes:
399
399
  source: c
400
400
  cfunc: match_regexp
401
401
  arity: 0
402
- defined_at: references/ruby/re.c:4880
402
+ defined_at: references/ruby/re.c:4885
403
403
  c_body_at: references/ruby/re.c:1124
404
404
  c_effects: []
405
405
  purity: leaf
@@ -410,7 +410,7 @@ classes:
410
410
  source: c
411
411
  cfunc: match_names
412
412
  arity: 0
413
- defined_at: references/ruby/re.c:4881
413
+ defined_at: references/ruby/re.c:4886
414
414
  c_body_at: references/ruby/re.c:1159
415
415
  c_effects: []
416
416
  purity: leaf
@@ -421,7 +421,7 @@ classes:
421
421
  source: c
422
422
  cfunc: match_size
423
423
  arity: 0
424
- defined_at: references/ruby/re.c:4882
424
+ defined_at: references/ruby/re.c:4887
425
425
  c_body_at: references/ruby/re.c:1180
426
426
  c_effects: []
427
427
  purity: leaf
@@ -432,7 +432,7 @@ classes:
432
432
  source: c
433
433
  cfunc: match_size
434
434
  arity: 0
435
- defined_at: references/ruby/re.c:4883
435
+ defined_at: references/ruby/re.c:4888
436
436
  c_body_at: references/ruby/re.c:1180
437
437
  c_effects: []
438
438
  purity: leaf
@@ -440,7 +440,7 @@ classes:
440
440
  source: c
441
441
  cfunc: match_offset
442
442
  arity: 1
443
- defined_at: references/ruby/re.c:4884
443
+ defined_at: references/ruby/re.c:4889
444
444
  c_body_at: references/ruby/re.c:1246
445
445
  c_effects: []
446
446
  purity: leaf
@@ -451,7 +451,7 @@ classes:
451
451
  source: c
452
452
  cfunc: match_byteoffset
453
453
  arity: 1
454
- defined_at: references/ruby/re.c:4885
454
+ defined_at: references/ruby/re.c:4890
455
455
  c_body_at: references/ruby/re.c:1281
456
456
  c_effects: []
457
457
  purity: leaf
@@ -462,7 +462,7 @@ classes:
462
462
  source: c
463
463
  cfunc: match_bytebegin
464
464
  arity: 1
465
- defined_at: references/ruby/re.c:4886
465
+ defined_at: references/ruby/re.c:4891
466
466
  c_body_at: references/ruby/re.c:1305
467
467
  c_effects: []
468
468
  purity: leaf
@@ -473,7 +473,7 @@ classes:
473
473
  source: c
474
474
  cfunc: match_byteend
475
475
  arity: 1
476
- defined_at: references/ruby/re.c:4887
476
+ defined_at: references/ruby/re.c:4892
477
477
  c_body_at: references/ruby/re.c:1329
478
478
  c_effects: []
479
479
  purity: leaf
@@ -484,7 +484,7 @@ classes:
484
484
  source: c
485
485
  cfunc: match_begin
486
486
  arity: 1
487
- defined_at: references/ruby/re.c:4888
487
+ defined_at: references/ruby/re.c:4893
488
488
  c_body_at: references/ruby/re.c:1353
489
489
  c_effects: []
490
490
  purity: leaf
@@ -495,7 +495,7 @@ classes:
495
495
  source: c
496
496
  cfunc: match_end
497
497
  arity: 1
498
- defined_at: references/ruby/re.c:4889
498
+ defined_at: references/ruby/re.c:4894
499
499
  c_body_at: references/ruby/re.c:1379
500
500
  c_effects: []
501
501
  purity: leaf
@@ -506,7 +506,7 @@ classes:
506
506
  source: c
507
507
  cfunc: match_nth
508
508
  arity: 1
509
- defined_at: references/ruby/re.c:4890
509
+ defined_at: references/ruby/re.c:4895
510
510
  c_body_at: references/ruby/re.c:1421
511
511
  c_effects: []
512
512
  purity: leaf
@@ -517,7 +517,7 @@ classes:
517
517
  source: c
518
518
  cfunc: match_nth_length
519
519
  arity: 1
520
- defined_at: references/ruby/re.c:4891
520
+ defined_at: references/ruby/re.c:4896
521
521
  c_body_at: references/ruby/re.c:1465
522
522
  c_effects: []
523
523
  purity: leaf
@@ -528,7 +528,7 @@ classes:
528
528
  source: c
529
529
  cfunc: match_to_a
530
530
  arity: 0
531
- defined_at: references/ruby/re.c:4892
531
+ defined_at: references/ruby/re.c:4897
532
532
  c_body_at: references/ruby/re.c:2118
533
533
  c_effects: []
534
534
  purity: leaf
@@ -539,12 +539,12 @@ classes:
539
539
  source: c
540
540
  cfunc: match_aref
541
541
  arity: -1
542
- defined_at: references/ruby/re.c:4893
542
+ defined_at: references/ruby/re.c:4898
543
543
  c_body_at: references/ruby/re.c:2252
544
544
  c_effects: []
545
545
  purity: leaf
546
546
  rbs:
547
- - "(capture backref, ?nil) -> String?"
547
+ - "(capture backref, ?nil) -> String"
548
548
  - "(int start, int length) -> Array[String?]"
549
549
  - "(range[int?] range) -> Array[String?]"
550
550
  rbs_at: references/rbs/core/match_data.rbs:95
@@ -552,7 +552,7 @@ classes:
552
552
  source: c
553
553
  cfunc: match_captures
554
554
  arity: 0
555
- defined_at: references/ruby/re.c:4894
555
+ defined_at: references/ruby/re.c:4899
556
556
  c_body_at: references/ruby/re.c:2140
557
557
  c_effects: []
558
558
  purity: leaf
@@ -563,7 +563,7 @@ classes:
563
563
  source: c
564
564
  cfunc: match_named_captures
565
565
  arity: -1
566
- defined_at: references/ruby/re.c:4896
566
+ defined_at: references/ruby/re.c:4901
567
567
  c_body_at: references/ruby/re.c:2442
568
568
  c_effects: []
569
569
  purity: leaf
@@ -576,7 +576,7 @@ classes:
576
576
  source: c
577
577
  cfunc: match_deconstruct_keys
578
578
  arity: 1
579
- defined_at: references/ruby/re.c:4897
579
+ defined_at: references/ruby/re.c:4902
580
580
  c_body_at: references/ruby/re.c:2495
581
581
  c_effects:
582
582
  - mutate
@@ -588,7 +588,7 @@ classes:
588
588
  source: c
589
589
  cfunc: match_values_at
590
590
  arity: -1
591
- defined_at: references/ruby/re.c:4898
591
+ defined_at: references/ruby/re.c:4903
592
592
  c_body_at: references/ruby/re.c:2321
593
593
  c_effects:
594
594
  - mutate
@@ -600,7 +600,7 @@ classes:
600
600
  source: c
601
601
  cfunc: rb_reg_match_pre
602
602
  arity: 0
603
- defined_at: references/ruby/re.c:4899
603
+ defined_at: references/ruby/re.c:4904
604
604
  c_body_at: references/ruby/re.c:1971
605
605
  c_effects: []
606
606
  purity: leaf
@@ -611,7 +611,7 @@ classes:
611
611
  source: c
612
612
  cfunc: rb_reg_match_post
613
613
  arity: 0
614
- defined_at: references/ruby/re.c:4900
614
+ defined_at: references/ruby/re.c:4905
615
615
  c_body_at: references/ruby/re.c:2004
616
616
  c_effects: []
617
617
  purity: leaf
@@ -622,7 +622,7 @@ classes:
622
622
  source: c
623
623
  cfunc: match_to_s
624
624
  arity: 0
625
- defined_at: references/ruby/re.c:4901
625
+ defined_at: references/ruby/re.c:4906
626
626
  c_body_at: references/ruby/re.c:2366
627
627
  c_effects: []
628
628
  purity: leaf
@@ -633,7 +633,7 @@ classes:
633
633
  source: c
634
634
  cfunc: match_inspect
635
635
  arity: 0
636
- defined_at: references/ruby/re.c:4902
636
+ defined_at: references/ruby/re.c:4907
637
637
  c_body_at: references/ruby/re.c:2608
638
638
  c_effects:
639
639
  - mutate
@@ -645,7 +645,7 @@ classes:
645
645
  source: c
646
646
  cfunc: match_string
647
647
  arity: 0
648
- defined_at: references/ruby/re.c:4903
648
+ defined_at: references/ruby/re.c:4908
649
649
  c_body_at: references/ruby/re.c:2561
650
650
  c_effects: []
651
651
  purity: leaf
@@ -656,7 +656,7 @@ classes:
656
656
  source: c
657
657
  cfunc: match_hash
658
658
  arity: 0
659
- defined_at: references/ruby/re.c:4904
659
+ defined_at: references/ruby/re.c:4909
660
660
  c_body_at: references/ruby/re.c:3583
661
661
  c_effects: []
662
662
  purity: leaf
@@ -667,7 +667,7 @@ classes:
667
667
  source: c
668
668
  cfunc: match_equal
669
669
  arity: 1
670
- defined_at: references/ruby/re.c:4905
670
+ defined_at: references/ruby/re.c:4910
671
671
  c_body_at: references/ruby/re.c:3609
672
672
  c_effects: []
673
673
  purity: leaf
@@ -675,7 +675,7 @@ classes:
675
675
  source: c
676
676
  cfunc: match_equal
677
677
  arity: 1
678
- defined_at: references/ruby/re.c:4906
678
+ defined_at: references/ruby/re.c:4911
679
679
  c_body_at: references/ruby/re.c:3609
680
680
  c_effects: []
681
681
  purity: leaf