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
@@ -22,20 +22,20 @@ purity_levels:
22
22
  classes:
23
23
  Proc:
24
24
  parent: Object
25
- defined_at: references/ruby/proc.c:4553
25
+ defined_at: references/ruby/proc.c:4558
26
26
  includes: []
27
27
  constants: {}
28
28
  aliases:
29
29
  inspect:
30
30
  old: to_s
31
31
  source: c
32
- defined_at: references/ruby/proc.c:4575
32
+ defined_at: references/ruby/proc.c:4580
33
33
  instance_methods:
34
34
  call:
35
35
  source: c
36
36
  cfunc: proc_call
37
37
  arity: -1
38
- defined_at: references/ruby/proc.c:4563
38
+ defined_at: references/ruby/proc.c:4568
39
39
  c_body_at: references/ruby/proc.c:1104
40
40
  c_effects: []
41
41
  purity: leaf
@@ -46,7 +46,7 @@ classes:
46
46
  source: c
47
47
  cfunc: proc_call
48
48
  arity: -1
49
- defined_at: references/ruby/proc.c:4564
49
+ defined_at: references/ruby/proc.c:4569
50
50
  c_body_at: references/ruby/proc.c:1104
51
51
  c_effects: []
52
52
  purity: leaf
@@ -54,7 +54,7 @@ classes:
54
54
  source: c
55
55
  cfunc: proc_call
56
56
  arity: -1
57
- defined_at: references/ruby/proc.c:4565
57
+ defined_at: references/ruby/proc.c:4570
58
58
  c_body_at: references/ruby/proc.c:1104
59
59
  c_effects: []
60
60
  purity: leaf
@@ -62,7 +62,7 @@ classes:
62
62
  source: c
63
63
  cfunc: proc_call
64
64
  arity: -1
65
- defined_at: references/ruby/proc.c:4566
65
+ defined_at: references/ruby/proc.c:4571
66
66
  c_body_at: references/ruby/proc.c:1104
67
67
  c_effects: []
68
68
  purity: leaf
@@ -70,8 +70,8 @@ classes:
70
70
  source: c
71
71
  cfunc: proc_to_proc
72
72
  arity: 0
73
- defined_at: references/ruby/proc.c:4569
74
- c_body_at: references/ruby/proc.c:1776
73
+ defined_at: references/ruby/proc.c:4574
74
+ c_body_at: references/ruby/proc.c:1781
75
75
  c_effects: []
76
76
  purity: leaf
77
77
  rbs:
@@ -81,8 +81,8 @@ classes:
81
81
  source: c
82
82
  cfunc: proc_arity
83
83
  arity: 0
84
- defined_at: references/ruby/proc.c:4570
85
- c_body_at: references/ruby/proc.c:1212
84
+ defined_at: references/ruby/proc.c:4575
85
+ c_body_at: references/ruby/proc.c:1217
86
86
  c_effects: []
87
87
  purity: leaf
88
88
  rbs:
@@ -92,7 +92,7 @@ classes:
92
92
  source: c
93
93
  cfunc: proc_clone
94
94
  arity: 0
95
- defined_at: references/ruby/proc.c:4571
95
+ defined_at: references/ruby/proc.c:4576
96
96
  c_body_at: references/ruby/proc.c:127
97
97
  c_effects: []
98
98
  purity: leaf
@@ -103,7 +103,7 @@ classes:
103
103
  source: c
104
104
  cfunc: proc_dup
105
105
  arity: 0
106
- defined_at: references/ruby/proc.c:4572
106
+ defined_at: references/ruby/proc.c:4577
107
107
  c_body_at: references/ruby/proc.c:135
108
108
  c_effects: []
109
109
  purity: leaf
@@ -111,8 +111,8 @@ classes:
111
111
  source: c
112
112
  cfunc: proc_hash
113
113
  arity: 0
114
- defined_at: references/ruby/proc.c:4573
115
- c_body_at: references/ruby/proc.c:1710
114
+ defined_at: references/ruby/proc.c:4578
115
+ c_body_at: references/ruby/proc.c:1715
116
116
  c_effects: []
117
117
  purity: leaf
118
118
  rbs:
@@ -122,8 +122,8 @@ classes:
122
122
  source: c
123
123
  cfunc: proc_to_s
124
124
  arity: 0
125
- defined_at: references/ruby/proc.c:4574
126
- c_body_at: references/ruby/proc.c:1760
125
+ defined_at: references/ruby/proc.c:4579
126
+ c_body_at: references/ruby/proc.c:1765
127
127
  c_effects: []
128
128
  purity: leaf
129
129
  rbs:
@@ -133,7 +133,7 @@ classes:
133
133
  source: c
134
134
  cfunc: rb_proc_lambda_p
135
135
  arity: 0
136
- defined_at: references/ruby/proc.c:4576
136
+ defined_at: references/ruby/proc.c:4581
137
137
  c_body_at: references/ruby/proc.c:245
138
138
  c_effects: []
139
139
  purity: leaf
@@ -144,8 +144,8 @@ classes:
144
144
  source: c
145
145
  cfunc: proc_binding
146
146
  arity: 0
147
- defined_at: references/ruby/proc.c:4577
148
- c_body_at: references/ruby/proc.c:3683
147
+ defined_at: references/ruby/proc.c:4582
148
+ c_body_at: references/ruby/proc.c:3688
149
149
  c_effects:
150
150
  - raises
151
151
  purity: leaf
@@ -156,8 +156,8 @@ classes:
156
156
  source: c
157
157
  cfunc: proc_curry
158
158
  arity: -1
159
- defined_at: references/ruby/proc.c:4578
160
- c_body_at: references/ruby/proc.c:3841
159
+ defined_at: references/ruby/proc.c:4583
160
+ c_body_at: references/ruby/proc.c:3846
161
161
  c_effects: []
162
162
  purity: leaf
163
163
  rbs:
@@ -167,8 +167,8 @@ classes:
167
167
  source: c
168
168
  cfunc: proc_compose_to_left
169
169
  arity: 1
170
- defined_at: references/ruby/proc.c:4579
171
- c_body_at: references/ruby/proc.c:3946
170
+ defined_at: references/ruby/proc.c:4584
171
+ c_body_at: references/ruby/proc.c:3951
172
172
  c_effects: []
173
173
  purity: leaf
174
174
  rbs:
@@ -178,8 +178,8 @@ classes:
178
178
  source: c
179
179
  cfunc: proc_compose_to_right
180
180
  arity: 1
181
- defined_at: references/ruby/proc.c:4580
182
- c_body_at: references/ruby/proc.c:4005
181
+ defined_at: references/ruby/proc.c:4585
182
+ c_body_at: references/ruby/proc.c:4010
183
183
  c_effects: []
184
184
  purity: leaf
185
185
  rbs:
@@ -189,8 +189,8 @@ classes:
189
189
  source: c
190
190
  cfunc: proc_eq
191
191
  arity: 1
192
- defined_at: references/ruby/proc.c:4581
193
- c_body_at: references/ruby/proc.c:1449
192
+ defined_at: references/ruby/proc.c:4586
193
+ c_body_at: references/ruby/proc.c:1454
194
194
  c_effects: []
195
195
  purity: leaf
196
196
  rbs:
@@ -200,16 +200,16 @@ classes:
200
200
  source: c
201
201
  cfunc: proc_eq
202
202
  arity: 1
203
- defined_at: references/ruby/proc.c:4582
204
- c_body_at: references/ruby/proc.c:1449
203
+ defined_at: references/ruby/proc.c:4587
204
+ c_body_at: references/ruby/proc.c:1454
205
205
  c_effects: []
206
206
  purity: leaf
207
207
  source_location:
208
208
  source: c
209
209
  cfunc: rb_proc_location
210
210
  arity: 0
211
- defined_at: references/ruby/proc.c:4583
212
- c_body_at: references/ruby/proc.c:1545
211
+ defined_at: references/ruby/proc.c:4588
212
+ c_body_at: references/ruby/proc.c:1550
213
213
  c_effects: []
214
214
  purity: leaf
215
215
  rbs:
@@ -219,8 +219,8 @@ classes:
219
219
  source: c
220
220
  cfunc: rb_proc_parameters
221
221
  arity: -1
222
- defined_at: references/ruby/proc.c:4584
223
- c_body_at: references/ruby/proc.c:1588
222
+ defined_at: references/ruby/proc.c:4589
223
+ c_body_at: references/ruby/proc.c:1593
224
224
  c_effects: []
225
225
  purity: leaf
226
226
  rbs:
@@ -230,8 +230,8 @@ classes:
230
230
  source: c
231
231
  cfunc: proc_ruby2_keywords
232
232
  arity: 0
233
- defined_at: references/ruby/proc.c:4585
234
- c_body_at: references/ruby/proc.c:4110
233
+ defined_at: references/ruby/proc.c:4590
234
+ c_body_at: references/ruby/proc.c:4115
235
235
  c_effects:
236
236
  - mutate
237
237
  purity: mutates_self
@@ -243,7 +243,7 @@ classes:
243
243
  source: c
244
244
  cfunc: rb_proc_s_new
245
245
  arity: -1
246
- defined_at: references/ruby/proc.c:4555
246
+ defined_at: references/ruby/proc.c:4560
247
247
  c_body_at: references/ruby/proc.c:974
248
248
  c_effects: []
249
249
  purity: leaf
@@ -253,7 +253,7 @@ classes:
253
253
  undefined: []
254
254
  LocalJumpError:
255
255
  parent: StandardError
256
- defined_at: references/ruby/proc.c:4589
256
+ defined_at: references/ruby/proc.c:4594
257
257
  includes: []
258
258
  constants: {}
259
259
  aliases: {}
@@ -262,23 +262,23 @@ classes:
262
262
  source: c
263
263
  cfunc: localjump_xvalue
264
264
  arity: 0
265
- defined_at: references/ruby/proc.c:4590
266
- c_body_at: references/ruby/proc.c:3619
265
+ defined_at: references/ruby/proc.c:4595
266
+ c_body_at: references/ruby/proc.c:3624
267
267
  c_effects: []
268
268
  purity: leaf
269
269
  reason:
270
270
  source: c
271
271
  cfunc: localjump_reason
272
272
  arity: 0
273
- defined_at: references/ruby/proc.c:4591
274
- c_body_at: references/ruby/proc.c:3633
273
+ defined_at: references/ruby/proc.c:4596
274
+ c_body_at: references/ruby/proc.c:3638
275
275
  c_effects: []
276
276
  purity: leaf
277
277
  singleton_methods: {}
278
278
  undefined: []
279
279
  SystemStackError:
280
280
  parent: Exception
281
- defined_at: references/ruby/proc.c:4593
281
+ defined_at: references/ruby/proc.c:4598
282
282
  includes: []
283
283
  constants: {}
284
284
  aliases: {}
@@ -287,7 +287,7 @@ classes:
287
287
  undefined: []
288
288
  Method:
289
289
  parent: Object
290
- defined_at: references/ruby/proc.c:4601
290
+ defined_at: references/ruby/proc.c:4606
291
291
  includes: []
292
292
  constants: {}
293
293
  aliases: {}
@@ -296,8 +296,8 @@ classes:
296
296
  source: c
297
297
  cfunc: method_eq
298
298
  arity: 1
299
- defined_at: references/ruby/proc.c:4604
300
- c_body_at: references/ruby/proc.c:1983
299
+ defined_at: references/ruby/proc.c:4609
300
+ c_body_at: references/ruby/proc.c:1988
301
301
  c_effects: []
302
302
  purity: leaf
303
303
  rbs:
@@ -307,16 +307,16 @@ classes:
307
307
  source: c
308
308
  cfunc: method_eq
309
309
  arity: 1
310
- defined_at: references/ruby/proc.c:4605
311
- c_body_at: references/ruby/proc.c:1983
310
+ defined_at: references/ruby/proc.c:4610
311
+ c_body_at: references/ruby/proc.c:1988
312
312
  c_effects: []
313
313
  purity: leaf
314
314
  hash:
315
315
  source: c
316
316
  cfunc: method_hash
317
317
  arity: 0
318
- defined_at: references/ruby/proc.c:4606
319
- c_body_at: references/ruby/proc.c:2038
318
+ defined_at: references/ruby/proc.c:4611
319
+ c_body_at: references/ruby/proc.c:2043
320
320
  c_effects: []
321
321
  purity: leaf
322
322
  rbs:
@@ -326,8 +326,8 @@ classes:
326
326
  source: c
327
327
  cfunc: method_clone
328
328
  arity: 0
329
- defined_at: references/ruby/proc.c:4607
330
- c_body_at: references/ruby/proc.c:2613
329
+ defined_at: references/ruby/proc.c:4612
330
+ c_body_at: references/ruby/proc.c:2618
331
331
  c_effects: []
332
332
  purity: leaf
333
333
  rbs:
@@ -337,16 +337,16 @@ classes:
337
337
  source: c
338
338
  cfunc: method_dup
339
339
  arity: 0
340
- defined_at: references/ruby/proc.c:4608
341
- c_body_at: references/ruby/proc.c:2631
340
+ defined_at: references/ruby/proc.c:4613
341
+ c_body_at: references/ruby/proc.c:2636
342
342
  c_effects: []
343
343
  purity: leaf
344
344
  call:
345
345
  source: c
346
346
  cfunc: rb_method_call_pass_called_kw
347
347
  arity: -1
348
- defined_at: references/ruby/proc.c:4609
349
- c_body_at: references/ruby/proc.c:2672
348
+ defined_at: references/ruby/proc.c:4614
349
+ c_body_at: references/ruby/proc.c:2677
350
350
  c_effects: []
351
351
  purity: leaf
352
352
  rbs:
@@ -356,16 +356,16 @@ classes:
356
356
  source: c
357
357
  cfunc: rb_method_call_pass_called_kw
358
358
  arity: -1
359
- defined_at: references/ruby/proc.c:4610
360
- c_body_at: references/ruby/proc.c:2672
359
+ defined_at: references/ruby/proc.c:4615
360
+ c_body_at: references/ruby/proc.c:2677
361
361
  c_effects: []
362
362
  purity: leaf
363
363
  curry:
364
364
  source: c
365
365
  cfunc: rb_method_curry
366
366
  arity: -1
367
- defined_at: references/ruby/proc.c:4611
368
- c_body_at: references/ruby/proc.c:3892
367
+ defined_at: references/ruby/proc.c:4616
368
+ c_body_at: references/ruby/proc.c:3897
369
369
  c_effects: []
370
370
  purity: leaf
371
371
  rbs:
@@ -375,8 +375,8 @@ classes:
375
375
  source: c
376
376
  cfunc: rb_method_compose_to_left
377
377
  arity: 1
378
- defined_at: references/ruby/proc.c:4612
379
- c_body_at: references/ruby/proc.c:4047
378
+ defined_at: references/ruby/proc.c:4617
379
+ c_body_at: references/ruby/proc.c:4052
380
380
  c_effects: []
381
381
  purity: leaf
382
382
  rbs:
@@ -386,8 +386,8 @@ classes:
386
386
  source: c
387
387
  cfunc: rb_method_compose_to_right
388
388
  arity: 1
389
- defined_at: references/ruby/proc.c:4613
390
- c_body_at: references/ruby/proc.c:4070
389
+ defined_at: references/ruby/proc.c:4618
390
+ c_body_at: references/ruby/proc.c:4075
391
391
  c_effects: []
392
392
  purity: leaf
393
393
  rbs:
@@ -397,16 +397,16 @@ classes:
397
397
  source: c
398
398
  cfunc: rb_method_call_pass_called_kw
399
399
  arity: -1
400
- defined_at: references/ruby/proc.c:4614
401
- c_body_at: references/ruby/proc.c:2672
400
+ defined_at: references/ruby/proc.c:4619
401
+ c_body_at: references/ruby/proc.c:2677
402
402
  c_effects: []
403
403
  purity: leaf
404
404
  arity:
405
405
  source: c
406
406
  cfunc: method_arity_m
407
407
  arity: 0
408
- defined_at: references/ruby/proc.c:4615
409
- c_body_at: references/ruby/proc.c:3050
408
+ defined_at: references/ruby/proc.c:4620
409
+ c_body_at: references/ruby/proc.c:3055
410
410
  c_effects: []
411
411
  purity: leaf
412
412
  rbs:
@@ -416,8 +416,8 @@ classes:
416
416
  source: c
417
417
  cfunc: method_inspect
418
418
  arity: 0
419
- defined_at: references/ruby/proc.c:4616
420
- c_body_at: references/ruby/proc.c:3334
419
+ defined_at: references/ruby/proc.c:4621
420
+ c_body_at: references/ruby/proc.c:3339
421
421
  c_effects:
422
422
  - mutate
423
423
  - dispatch
@@ -429,8 +429,8 @@ classes:
429
429
  source: c
430
430
  cfunc: method_inspect
431
431
  arity: 0
432
- defined_at: references/ruby/proc.c:4617
433
- c_body_at: references/ruby/proc.c:3334
432
+ defined_at: references/ruby/proc.c:4622
433
+ c_body_at: references/ruby/proc.c:3339
434
434
  c_effects:
435
435
  - mutate
436
436
  - dispatch
@@ -439,8 +439,8 @@ classes:
439
439
  source: c
440
440
  cfunc: method_to_proc
441
441
  arity: 0
442
- defined_at: references/ruby/proc.c:4618
443
- c_body_at: references/ruby/proc.c:3556
442
+ defined_at: references/ruby/proc.c:4623
443
+ c_body_at: references/ruby/proc.c:3561
444
444
  c_effects:
445
445
  - block
446
446
  purity: block_dependent
@@ -451,8 +451,8 @@ classes:
451
451
  source: c
452
452
  cfunc: method_receiver
453
453
  arity: 0
454
- defined_at: references/ruby/proc.c:4619
455
- c_body_at: references/ruby/proc.c:2088
454
+ defined_at: references/ruby/proc.c:4624
455
+ c_body_at: references/ruby/proc.c:2093
456
456
  c_effects: []
457
457
  purity: leaf
458
458
  rbs:
@@ -462,8 +462,8 @@ classes:
462
462
  source: c
463
463
  cfunc: method_name
464
464
  arity: 0
465
- defined_at: references/ruby/proc.c:4620
466
- c_body_at: references/ruby/proc.c:2104
465
+ defined_at: references/ruby/proc.c:4625
466
+ c_body_at: references/ruby/proc.c:2109
467
467
  c_effects: []
468
468
  purity: leaf
469
469
  rbs:
@@ -473,8 +473,8 @@ classes:
473
473
  source: c
474
474
  cfunc: method_original_name
475
475
  arity: 0
476
- defined_at: references/ruby/proc.c:4621
477
- c_body_at: references/ruby/proc.c:2126
476
+ defined_at: references/ruby/proc.c:4626
477
+ c_body_at: references/ruby/proc.c:2131
478
478
  c_effects: []
479
479
  purity: leaf
480
480
  rbs:
@@ -484,8 +484,8 @@ classes:
484
484
  source: c
485
485
  cfunc: method_owner
486
486
  arity: 0
487
- defined_at: references/ruby/proc.c:4622
488
- c_body_at: references/ruby/proc.c:2153
487
+ defined_at: references/ruby/proc.c:4627
488
+ c_body_at: references/ruby/proc.c:2158
489
489
  c_effects: []
490
490
  purity: leaf
491
491
  rbs:
@@ -495,8 +495,8 @@ classes:
495
495
  source: c
496
496
  cfunc: method_unbind
497
497
  arity: 0
498
- defined_at: references/ruby/proc.c:4623
499
- c_body_at: references/ruby/proc.c:2061
498
+ defined_at: references/ruby/proc.c:4628
499
+ c_body_at: references/ruby/proc.c:2066
500
500
  c_effects: []
501
501
  purity: leaf
502
502
  rbs:
@@ -506,8 +506,8 @@ classes:
506
506
  source: c
507
507
  cfunc: rb_method_location
508
508
  arity: 0
509
- defined_at: references/ruby/proc.c:4624
510
- c_body_at: references/ruby/proc.c:3207
509
+ defined_at: references/ruby/proc.c:4629
510
+ c_body_at: references/ruby/proc.c:3212
511
511
  c_effects: []
512
512
  purity: leaf
513
513
  rbs:
@@ -517,8 +517,8 @@ classes:
517
517
  source: c
518
518
  cfunc: rb_method_parameters
519
519
  arity: 0
520
- defined_at: references/ruby/proc.c:4625
521
- c_body_at: references/ruby/proc.c:3295
520
+ defined_at: references/ruby/proc.c:4630
521
+ c_body_at: references/ruby/proc.c:3300
522
522
  c_effects: []
523
523
  purity: leaf
524
524
  rbs:
@@ -528,8 +528,8 @@ classes:
528
528
  source: c
529
529
  cfunc: method_super_method
530
530
  arity: 0
531
- defined_at: references/ruby/proc.c:4626
532
- c_body_at: references/ruby/proc.c:3587
531
+ defined_at: references/ruby/proc.c:4631
532
+ c_body_at: references/ruby/proc.c:3592
533
533
  c_effects: []
534
534
  purity: leaf
535
535
  rbs:
@@ -539,8 +539,8 @@ classes:
539
539
  source: c
540
540
  cfunc: method_box
541
541
  arity: 0
542
- defined_at: references/ruby/proc.c:4631
543
- c_body_at: references/ruby/proc.c:2167
542
+ defined_at: references/ruby/proc.c:4636
543
+ c_body_at: references/ruby/proc.c:2172
544
544
  c_effects:
545
545
  - raises
546
546
  purity: leaf
@@ -549,7 +549,7 @@ classes:
549
549
  - new
550
550
  UnboundMethod:
551
551
  parent: Object
552
- defined_at: references/ruby/proc.c:4634
552
+ defined_at: references/ruby/proc.c:4639
553
553
  includes: []
554
554
  constants: {}
555
555
  aliases: {}
@@ -558,8 +558,8 @@ classes:
558
558
  source: c
559
559
  cfunc: unbound_method_eq
560
560
  arity: 1
561
- defined_at: references/ruby/proc.c:4637
562
- c_body_at: references/ruby/proc.c:1983
561
+ defined_at: references/ruby/proc.c:4642
562
+ c_body_at: references/ruby/proc.c:1988
563
563
  c_effects: []
564
564
  purity: leaf
565
565
  rbs:
@@ -569,16 +569,16 @@ classes:
569
569
  source: c
570
570
  cfunc: unbound_method_eq
571
571
  arity: 1
572
- defined_at: references/ruby/proc.c:4638
573
- c_body_at: references/ruby/proc.c:1983
572
+ defined_at: references/ruby/proc.c:4643
573
+ c_body_at: references/ruby/proc.c:1988
574
574
  c_effects: []
575
575
  purity: leaf
576
576
  hash:
577
577
  source: c
578
578
  cfunc: method_hash
579
579
  arity: 0
580
- defined_at: references/ruby/proc.c:4639
581
- c_body_at: references/ruby/proc.c:2038
580
+ defined_at: references/ruby/proc.c:4644
581
+ c_body_at: references/ruby/proc.c:2043
582
582
  c_effects: []
583
583
  purity: leaf
584
584
  rbs:
@@ -588,8 +588,8 @@ classes:
588
588
  source: c
589
589
  cfunc: method_clone
590
590
  arity: 0
591
- defined_at: references/ruby/proc.c:4640
592
- c_body_at: references/ruby/proc.c:2613
591
+ defined_at: references/ruby/proc.c:4645
592
+ c_body_at: references/ruby/proc.c:2618
593
593
  c_effects: []
594
594
  purity: leaf
595
595
  rbs:
@@ -599,16 +599,16 @@ classes:
599
599
  source: c
600
600
  cfunc: method_dup
601
601
  arity: 0
602
- defined_at: references/ruby/proc.c:4641
603
- c_body_at: references/ruby/proc.c:2631
602
+ defined_at: references/ruby/proc.c:4646
603
+ c_body_at: references/ruby/proc.c:2636
604
604
  c_effects: []
605
605
  purity: leaf
606
606
  arity:
607
607
  source: c
608
608
  cfunc: method_arity_m
609
609
  arity: 0
610
- defined_at: references/ruby/proc.c:4642
611
- c_body_at: references/ruby/proc.c:3050
610
+ defined_at: references/ruby/proc.c:4647
611
+ c_body_at: references/ruby/proc.c:3055
612
612
  c_effects: []
613
613
  purity: leaf
614
614
  rbs:
@@ -618,8 +618,8 @@ classes:
618
618
  source: c
619
619
  cfunc: method_inspect
620
620
  arity: 0
621
- defined_at: references/ruby/proc.c:4643
622
- c_body_at: references/ruby/proc.c:3334
621
+ defined_at: references/ruby/proc.c:4648
622
+ c_body_at: references/ruby/proc.c:3339
623
623
  c_effects:
624
624
  - mutate
625
625
  - dispatch
@@ -631,8 +631,8 @@ classes:
631
631
  source: c
632
632
  cfunc: method_inspect
633
633
  arity: 0
634
- defined_at: references/ruby/proc.c:4644
635
- c_body_at: references/ruby/proc.c:3334
634
+ defined_at: references/ruby/proc.c:4649
635
+ c_body_at: references/ruby/proc.c:3339
636
636
  c_effects:
637
637
  - mutate
638
638
  - dispatch
@@ -641,8 +641,8 @@ classes:
641
641
  source: c
642
642
  cfunc: method_name
643
643
  arity: 0
644
- defined_at: references/ruby/proc.c:4645
645
- c_body_at: references/ruby/proc.c:2104
644
+ defined_at: references/ruby/proc.c:4650
645
+ c_body_at: references/ruby/proc.c:2109
646
646
  c_effects: []
647
647
  purity: leaf
648
648
  rbs:
@@ -652,8 +652,8 @@ classes:
652
652
  source: c
653
653
  cfunc: method_original_name
654
654
  arity: 0
655
- defined_at: references/ruby/proc.c:4646
656
- c_body_at: references/ruby/proc.c:2126
655
+ defined_at: references/ruby/proc.c:4651
656
+ c_body_at: references/ruby/proc.c:2131
657
657
  c_effects: []
658
658
  purity: leaf
659
659
  rbs:
@@ -663,8 +663,8 @@ classes:
663
663
  source: c
664
664
  cfunc: method_owner
665
665
  arity: 0
666
- defined_at: references/ruby/proc.c:4647
667
- c_body_at: references/ruby/proc.c:2153
666
+ defined_at: references/ruby/proc.c:4652
667
+ c_body_at: references/ruby/proc.c:2158
668
668
  c_effects: []
669
669
  purity: leaf
670
670
  rbs:
@@ -674,8 +674,8 @@ classes:
674
674
  source: c
675
675
  cfunc: umethod_bind
676
676
  arity: 1
677
- defined_at: references/ruby/proc.c:4648
678
- c_body_at: references/ruby/proc.c:2870
677
+ defined_at: references/ruby/proc.c:4653
678
+ c_body_at: references/ruby/proc.c:2875
679
679
  c_effects: []
680
680
  purity: leaf
681
681
  rbs:
@@ -685,8 +685,8 @@ classes:
685
685
  source: c
686
686
  cfunc: umethod_bind_call
687
687
  arity: -1
688
- defined_at: references/ruby/proc.c:4649
689
- c_body_at: references/ruby/proc.c:2898
688
+ defined_at: references/ruby/proc.c:4654
689
+ c_body_at: references/ruby/proc.c:2903
690
690
  c_effects:
691
691
  - block
692
692
  purity: block_dependent
@@ -697,8 +697,8 @@ classes:
697
697
  source: c
698
698
  cfunc: rb_method_location
699
699
  arity: 0
700
- defined_at: references/ruby/proc.c:4650
701
- c_body_at: references/ruby/proc.c:3207
700
+ defined_at: references/ruby/proc.c:4655
701
+ c_body_at: references/ruby/proc.c:3212
702
702
  c_effects: []
703
703
  purity: leaf
704
704
  rbs:
@@ -708,8 +708,8 @@ classes:
708
708
  source: c
709
709
  cfunc: rb_method_parameters
710
710
  arity: 0
711
- defined_at: references/ruby/proc.c:4651
712
- c_body_at: references/ruby/proc.c:3295
711
+ defined_at: references/ruby/proc.c:4656
712
+ c_body_at: references/ruby/proc.c:3300
713
713
  c_effects: []
714
714
  purity: leaf
715
715
  rbs:
@@ -719,8 +719,8 @@ classes:
719
719
  source: c
720
720
  cfunc: method_super_method
721
721
  arity: 0
722
- defined_at: references/ruby/proc.c:4652
723
- c_body_at: references/ruby/proc.c:3587
722
+ defined_at: references/ruby/proc.c:4657
723
+ c_body_at: references/ruby/proc.c:3592
724
724
  c_effects: []
725
725
  purity: leaf
726
726
  rbs: