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
@@ -20,30 +20,30 @@ purity_levels:
20
20
  classes:
21
21
  Array:
22
22
  parent: Object
23
- defined_at: references/ruby/array.c:8865
23
+ defined_at: references/ruby/array.c:8870
24
24
  includes:
25
25
  - module: Enumerable
26
- defined_at: references/ruby/array.c:8866
26
+ defined_at: references/ruby/array.c:8871
27
27
  constants: {}
28
28
  aliases:
29
29
  to_s:
30
30
  old: inspect
31
31
  source: c
32
- defined_at: references/ruby/array.c:8876
32
+ defined_at: references/ruby/array.c:8881
33
33
  append:
34
34
  old: push
35
35
  source: c
36
- defined_at: references/ruby/array.c:8896
36
+ defined_at: references/ruby/array.c:8901
37
37
  prepend:
38
38
  old: unshift
39
39
  source: c
40
- defined_at: references/ruby/array.c:8900
40
+ defined_at: references/ruby/array.c:8905
41
41
  instance_methods:
42
42
  initialize:
43
43
  source: c
44
44
  cfunc: rb_ary_initialize
45
45
  arity: -1
46
- defined_at: references/ruby/array.c:8872
46
+ defined_at: references/ruby/array.c:8877
47
47
  c_body_at: references/ruby/array.c:1147
48
48
  c_effects:
49
49
  - block
@@ -52,51 +52,48 @@ classes:
52
52
  purity: block_dependent
53
53
  rbs:
54
54
  - "() -> void"
55
- - "(::Array[Elem] ary) -> void"
56
- - "(int size, ?Elem val) -> void"
57
- - "(int size) { (::Integer index) -> Elem } -> void"
58
- rbs_at: references/rbs/core/array.rbs:606
55
+ - "(array[E] array) -> void"
56
+ - "(int size, ?E default_value) -> void"
57
+ - "(int size) { (Integer index) -> E } -> void"
58
+ rbs_at: references/rbs/core/array.rbs:612
59
59
  initialize_copy:
60
60
  source: c
61
61
  cfunc: rb_ary_replace
62
62
  arity: 1
63
- defined_at: references/ruby/array.c:8873
63
+ defined_at: references/ruby/array.c:8878
64
64
  c_body_at: references/ruby/array.c:4796
65
65
  c_effects:
66
66
  - mutate
67
67
  purity: mutates_self
68
- rbs:
69
- - "(self other_ary) -> void"
70
- rbs_at: references/rbs/core/array.rbs:4133
71
68
  inspect:
72
69
  source: c
73
70
  cfunc: rb_ary_inspect
74
71
  arity: 0
75
- defined_at: references/ruby/array.c:8875
72
+ defined_at: references/ruby/array.c:8880
76
73
  c_body_at: references/ruby/array.c:3118
77
74
  c_effects:
78
75
  - dispatch
79
76
  purity: dispatch
80
77
  rbs:
81
78
  - "() -> String"
82
- rbs_at: references/rbs/core/array.rbs:2296
79
+ rbs_at: references/rbs/core/array.rbs:2337
83
80
  to_a:
84
81
  source: c
85
82
  cfunc: rb_ary_to_a
86
83
  arity: 0
87
- defined_at: references/ruby/array.c:8877
84
+ defined_at: references/ruby/array.c:8882
88
85
  c_body_at: references/ruby/array.c:3148
89
86
  c_effects:
90
87
  - mutate
91
88
  purity: mutates_self
92
89
  rbs:
93
- - "() -> ::Array[Elem]"
94
- rbs_at: references/rbs/core/array.rbs:3738
90
+ - "() -> Array[E]"
91
+ rbs_at: references/rbs/core/array.rbs:3795
95
92
  to_h:
96
93
  source: c
97
94
  cfunc: rb_ary_to_h
98
95
  arity: 0
99
- defined_at: references/ruby/array.c:8878
96
+ defined_at: references/ruby/array.c:8883
100
97
  c_body_at: references/ruby/array.c:3184
101
98
  c_effects:
102
99
  - block
@@ -105,296 +102,294 @@ classes:
105
102
  purity: block_dependent
106
103
  rbs:
107
104
  - "() -> Hash[untyped, untyped]"
108
- - "[T, S] () { (Elem) -> [ T, S ] } -> Hash[T, S]"
109
- rbs_at: references/rbs/core/array.rbs:3772
105
+ - "[K, V] () { (E element) -> Hash::_Pair[K, V] } -> Hash[K, V]"
106
+ rbs_at: references/rbs/core/array.rbs:3829
110
107
  to_ary:
111
108
  source: c
112
109
  cfunc: rb_ary_to_ary_m
113
110
  arity: 0
114
- defined_at: references/ruby/array.c:8879
111
+ defined_at: references/ruby/array.c:8884
115
112
  c_body_at: references/ruby/array.c:3215
116
113
  c_effects: []
117
114
  purity: leaf
118
115
  rbs:
119
116
  - "() -> self"
120
- rbs_at: references/rbs/core/array.rbs:3746
117
+ rbs_at: references/rbs/core/array.rbs:3803
121
118
  "==":
122
119
  source: c
123
120
  cfunc: rb_ary_equal
124
121
  arity: 1
125
- defined_at: references/ruby/array.c:8881
122
+ defined_at: references/ruby/array.c:8886
126
123
  c_body_at: references/ruby/array.c:5382
127
124
  c_effects:
128
125
  - dispatch
129
126
  purity: dispatch
130
127
  rbs:
131
128
  - "(untyped other) -> bool"
132
- rbs_at: references/rbs/core/array.rbs:797
129
+ rbs_at: references/rbs/core/array.rbs:805
133
130
  eql?:
134
131
  source: c
135
132
  cfunc: rb_ary_eql
136
133
  arity: 1
137
- defined_at: references/ruby/array.c:8882
134
+ defined_at: references/ruby/array.c:8887
138
135
  c_body_at: references/ruby/array.c:5429
139
136
  c_effects:
140
137
  - dispatch
141
138
  purity: dispatch
142
139
  rbs:
143
140
  - "(untyped other) -> bool"
144
- rbs_at: references/rbs/core/array.rbs:1730
141
+ rbs_at: references/rbs/core/array.rbs:1755
145
142
  hash:
146
143
  source: c
147
144
  cfunc: rb_ary_hash
148
145
  arity: 0
149
- defined_at: references/ruby/array.c:8883
146
+ defined_at: references/ruby/array.c:8888
150
147
  c_body_at: references/ruby/array.c:5481
151
148
  c_effects: []
152
149
  purity: leaf
153
150
  rbs:
154
- - "() -> ::Integer"
155
- rbs_at: references/rbs/core/array.rbs:2203
151
+ - "() -> Integer"
152
+ rbs_at: references/rbs/core/array.rbs:2244
156
153
  "[]":
157
154
  source: c
158
155
  cfunc: rb_ary_aref
159
156
  arity: -1
160
- defined_at: references/ruby/array.c:8885
157
+ defined_at: references/ruby/array.c:8890
161
158
  c_body_at: references/ruby/array.c:1913
162
159
  c_effects: []
163
160
  purity: leaf
164
161
  rbs:
165
- - "(int index) -> Elem"
166
- - "(int start, int length) -> ::Array[Elem]?"
167
- - "(::Range[::Integer?] range) -> ::Array[Elem]?"
168
- rbs_at: references/rbs/core/array.rbs:921
162
+ - "(int index) -> E"
163
+ - "(int start, int length) -> Array[E]?"
164
+ - "(range[int] range) -> Array[E]?"
165
+ rbs_at: references/rbs/core/array.rbs:929
169
166
  "[]=":
170
167
  source: c
171
168
  cfunc: rb_ary_aset
172
169
  arity: -1
173
- defined_at: references/ruby/array.c:8886
170
+ defined_at: references/ruby/array.c:8891
174
171
  c_body_at: references/ruby/array.c:2607
175
172
  c_effects:
176
173
  - mutate
177
174
  purity: mutates_self
178
175
  rbs:
179
- - "(int index, Elem obj) -> Elem"
180
- - "(int start, int length, Elem obj) -> Elem"
181
- - "(int start, int length, ::Array[Elem]) -> ::Array[Elem]"
182
- - "(int start, int length, nil) -> nil"
183
- - "(::Range[::Integer?], Elem obj) -> Elem"
184
- - "(::Range[::Integer?], ::Array[Elem]) -> ::Array[Elem]"
185
- - "(::Range[::Integer?], nil) -> nil"
186
- rbs_at: references/rbs/core/array.rbs:1071
176
+ - "(int index, E object) -> E"
177
+ - "[T < _ToAry[E]] (range[int?] range, T array) -> T"
178
+ - "(range[int?] range, E object) -> E"
179
+ - "[T < _ToAry[E]] (int start, int length, T array) -> T"
180
+ - "(int start, int length, E object) -> E"
181
+ rbs_at: references/rbs/core/array.rbs:1079
187
182
  at:
188
183
  source: c
189
184
  cfunc: rb_ary_at
190
185
  arity: 1
191
- defined_at: references/ruby/array.c:8887
186
+ defined_at: references/ruby/array.c:8892
192
187
  c_body_at: references/ruby/array.c:1980
193
188
  c_effects: []
194
189
  purity: leaf
195
190
  rbs:
196
- - "(int index) -> Elem"
197
- rbs_at: references/rbs/core/array.rbs:1214
191
+ - "(int index) -> E"
192
+ rbs_at: references/rbs/core/array.rbs:1222
198
193
  fetch:
199
194
  source: c
200
195
  cfunc: rb_ary_fetch
201
196
  arity: -1
202
- defined_at: references/ruby/array.c:8888
197
+ defined_at: references/ruby/array.c:8893
203
198
  c_body_at: references/ruby/array.c:2064
204
199
  c_effects:
205
200
  - block
206
201
  - raises
207
202
  purity: block_dependent
208
203
  rbs:
209
- - "(int index) -> Elem"
210
- - "[T] (int index, T default) -> (Elem | T)"
211
- - "[T] (int index) { (int index) -> T } -> (Elem | T)"
212
- rbs_at: references/rbs/core/array.rbs:1772
204
+ - "(int index) -> E"
205
+ - "[T] (int index, T default) -> (E | T)"
206
+ - "[I < _ToInt, T] (I index) { (I index) -> T } -> (E | T)"
207
+ rbs_at: references/rbs/core/array.rbs:1797
213
208
  concat:
214
209
  source: c
215
210
  cfunc: rb_ary_concat_multi
216
211
  arity: -1
217
- defined_at: references/ruby/array.c:8889
212
+ defined_at: references/ruby/array.c:8894
218
213
  c_body_at: references/ruby/array.c:5171
219
214
  c_effects:
220
215
  - mutate
221
216
  purity: mutates_self
222
217
  rbs:
223
- - "(*::Array[Elem] arrays) -> self"
224
- rbs_at: references/rbs/core/array.rbs:1392
218
+ - "(*array[E] other_arrays) -> self"
219
+ rbs_at: references/rbs/core/array.rbs:1401
225
220
  union:
226
221
  source: c
227
222
  cfunc: rb_ary_union_multi
228
223
  arity: -1
229
- defined_at: references/ruby/array.c:8890
224
+ defined_at: references/ruby/array.c:8895
230
225
  c_body_at: references/ruby/array.c:5938
231
226
  c_effects: []
232
227
  purity: leaf
233
228
  rbs:
234
- - "[T] (*::Array[T] other_arys) -> ::Array[T | Elem]"
235
- rbs_at: references/rbs/core/array.rbs:3823
229
+ - "[T] (*array[T] other_arrays) -> Array[T | E]"
230
+ rbs_at: references/rbs/core/array.rbs:3880
236
231
  difference:
237
232
  source: c
238
233
  cfunc: rb_ary_difference_multi
239
234
  arity: -1
240
- defined_at: references/ruby/array.c:8891
235
+ defined_at: references/ruby/array.c:8896
241
236
  c_body_at: references/ruby/array.c:5721
242
237
  c_effects:
243
238
  - mutate
244
239
  purity: mutates_self
245
240
  rbs:
246
- - "(*::Array[untyped] arrays) -> ::Array[Elem]"
247
- rbs_at: references/rbs/core/array.rbs:1571
241
+ - "(*array[untyped] other_arrays) -> Array[E]"
242
+ rbs_at: references/rbs/core/array.rbs:1596
248
243
  intersection:
249
244
  source: c
250
245
  cfunc: rb_ary_intersection_multi
251
246
  arity: -1
252
- defined_at: references/ruby/array.c:8892
247
+ defined_at: references/ruby/array.c:8897
253
248
  c_body_at: references/ruby/array.c:5837
254
249
  c_effects: []
255
250
  purity: leaf
256
251
  rbs:
257
- - "(*::Array[untyped] | _ToAry[untyped] other_ary) -> ::Array[Elem]"
258
- rbs_at: references/rbs/core/array.rbs:2334
252
+ - "(*array[untyped] other_arrays) -> Array[E]"
253
+ rbs_at: references/rbs/core/array.rbs:2375
259
254
  intersect?:
260
255
  source: c
261
256
  cfunc: rb_ary_intersect_p
262
257
  arity: 1
263
- defined_at: references/ruby/array.c:8893
258
+ defined_at: references/ruby/array.c:8898
264
259
  c_body_at: references/ruby/array.c:5980
265
260
  c_effects: []
266
261
  purity: leaf
267
262
  rbs:
268
- - "(_ToAry[untyped]) -> bool"
269
- rbs_at: references/rbs/core/array.rbs:2312
263
+ - "(array[untyped] other_array) -> bool"
264
+ rbs_at: references/rbs/core/array.rbs:2353
270
265
  !!str '<<':
271
266
  source: c
272
267
  cfunc: rb_ary_push
273
268
  arity: 1
274
- defined_at: references/ruby/array.c:8894
269
+ defined_at: references/ruby/array.c:8899
275
270
  c_body_at: references/ruby/array.c:1400
276
271
  c_effects: []
277
272
  purity: leaf
278
273
  rbs:
279
- - "(Elem) -> self"
280
- rbs_at: references/rbs/core/array.rbs:734
274
+ - "(E object) -> self"
275
+ rbs_at: references/rbs/core/array.rbs:742
281
276
  push:
282
277
  source: c
283
278
  cfunc: rb_ary_push_m
284
279
  arity: -1
285
- defined_at: references/ruby/array.c:8895
280
+ defined_at: references/ruby/array.c:8900
286
281
  c_body_at: references/ruby/array.c:1441
287
282
  c_effects: []
288
283
  purity: leaf
289
284
  rbs:
290
- - "(*Elem obj) -> self"
291
- rbs_at: references/rbs/core/array.rbs:2828
285
+ - "(*E objects) -> self"
286
+ rbs_at: references/rbs/core/array.rbs:2885
292
287
  pop:
293
288
  source: c
294
289
  cfunc: rb_ary_pop_m
295
290
  arity: -1
296
- defined_at: references/ruby/array.c:8897
291
+ defined_at: references/ruby/array.c:8902
297
292
  c_body_at: references/ruby/array.c:1498
298
293
  c_effects:
299
294
  - mutate
300
295
  purity: mutates_self
301
296
  rbs:
302
- - "() -> Elem?"
303
- - "(int n) -> ::Array[Elem]"
304
- rbs_at: references/rbs/core/array.rbs:2739
297
+ - "() -> E?"
298
+ - "(int count) -> Array[E]"
299
+ rbs_at: references/rbs/core/array.rbs:2792
305
300
  shift:
306
301
  source: c
307
302
  cfunc: rb_ary_shift_m
308
303
  arity: -1
309
- defined_at: references/ruby/array.c:8898
304
+ defined_at: references/ruby/array.c:8903
310
305
  c_body_at: references/ruby/array.c:1570
311
306
  c_effects:
312
307
  - mutate
313
308
  purity: mutates_self
314
309
  rbs:
315
- - "() -> Elem"
316
- - "(int n) -> ::Array[Elem]"
317
- rbs_at: references/rbs/core/array.rbs:3294
310
+ - "() -> E"
311
+ - "(int count) -> Array[E]"
312
+ rbs_at: references/rbs/core/array.rbs:3351
318
313
  unshift:
319
314
  source: c
320
315
  cfunc: rb_ary_unshift_m
321
316
  arity: -1
322
- defined_at: references/ruby/array.c:8899
317
+ defined_at: references/ruby/array.c:8904
323
318
  c_body_at: references/ruby/array.c:1720
324
319
  c_effects:
325
320
  - mutate
326
321
  purity: mutates_self
327
322
  rbs:
328
- - "(*Elem obj) -> self"
329
- rbs_at: references/rbs/core/array.rbs:3894
323
+ - "(*E objects) -> self"
324
+ rbs_at: references/rbs/core/array.rbs:3951
330
325
  insert:
331
326
  source: c
332
327
  cfunc: rb_ary_insert
333
328
  arity: -1
334
- defined_at: references/ruby/array.c:8901
329
+ defined_at: references/ruby/array.c:8906
335
330
  c_body_at: references/ruby/array.c:2668
336
331
  c_effects:
337
332
  - mutate
338
333
  - raises
339
334
  purity: mutates_self
340
335
  rbs:
341
- - "(int index, *Elem obj) -> self"
342
- rbs_at: references/rbs/core/array.rbs:2281
336
+ - "(int index, *E objects) -> self"
337
+ rbs_at: references/rbs/core/array.rbs:2322
343
338
  each:
344
339
  source: c
345
340
  cfunc: rb_ary_each
346
341
  arity: 0
347
- defined_at: references/ruby/array.c:8902
342
+ defined_at: references/ruby/array.c:8907
348
343
  c_body_at: references/ruby/array.c:2748
349
344
  c_effects:
350
345
  - block
351
346
  purity: block_dependent
352
347
  rbs:
353
- - "() -> ::Enumerator[Elem, self]"
354
- - "() { (Elem item) -> void } -> self"
355
- rbs_at: references/rbs/core/array.rbs:1664
348
+ - "() { (E element) -> void } -> self"
349
+ - "() -> Enumerator[E, self]"
350
+ rbs_at: references/rbs/core/array.rbs:1689
356
351
  each_index:
357
352
  source: c
358
353
  cfunc: rb_ary_each_index
359
354
  arity: 0
360
- defined_at: references/ruby/array.c:8903
355
+ defined_at: references/ruby/array.c:8908
361
356
  c_body_at: references/ruby/array.c:2794
362
357
  c_effects:
363
358
  - block
364
359
  purity: block_dependent
365
360
  rbs:
366
- - "() { (::Integer index) -> void } -> self"
367
- - "() -> ::Enumerator[::Integer, self]"
368
- rbs_at: references/rbs/core/array.rbs:1699
361
+ - "() { (Integer index) -> void } -> self"
362
+ - "() -> Enumerator[Integer, self]"
363
+ rbs_at: references/rbs/core/array.rbs:1724
369
364
  reverse_each:
370
365
  source: c
371
366
  cfunc: rb_ary_reverse_each
372
367
  arity: 0
373
- defined_at: references/ruby/array.c:8904
368
+ defined_at: references/ruby/array.c:8909
374
369
  c_body_at: references/ruby/array.c:2830
375
370
  c_effects:
376
371
  - block
377
372
  purity: block_dependent
378
373
  rbs:
379
- - "() { (Elem item) -> void } -> self"
380
- - "() -> ::Enumerator[Elem, self]"
381
- rbs_at: references/rbs/core/array.rbs:3029
374
+ - "() { (E element) -> void } -> self"
375
+ - "() -> Enumerator[E, self]"
376
+ rbs_at: references/rbs/core/array.rbs:3086
382
377
  length:
383
378
  source: c
384
379
  cfunc: rb_ary_length
385
380
  arity: 0
386
- defined_at: references/ruby/array.c:8905
381
+ defined_at: references/ruby/array.c:8910
387
382
  c_body_at: references/ruby/array.c:2692
388
383
  c_effects: []
389
384
  purity: leaf
390
385
  rbs:
391
- - "() -> ::Integer"
392
- rbs_at: references/rbs/core/array.rbs:2426
386
+ - "() -> Integer"
387
+ rbs_at: references/rbs/core/array.rbs:2467
393
388
  size:
394
389
  source: c
395
390
  cfunc: rb_ary_length
396
391
  arity: 0
397
- defined_at: references/ruby/array.c:8906
392
+ defined_at: references/ruby/array.c:8911
398
393
  c_body_at: references/ruby/array.c:2692
399
394
  c_effects: []
400
395
  purity: leaf
@@ -402,35 +397,34 @@ classes:
402
397
  source: c
403
398
  cfunc: rb_ary_empty_p
404
399
  arity: 0
405
- defined_at: references/ruby/array.c:8907
400
+ defined_at: references/ruby/array.c:8912
406
401
  c_body_at: references/ruby/array.c:2878
407
402
  c_effects: []
408
403
  purity: leaf
409
404
  rbs:
410
405
  - "() -> bool"
411
- rbs_at: references/rbs/core/array.rbs:1710
406
+ rbs_at: references/rbs/core/array.rbs:1735
412
407
  find:
413
408
  source: c
414
409
  cfunc: rb_ary_find
415
410
  arity: -1
416
- defined_at: references/ruby/array.c:8908
411
+ defined_at: references/ruby/array.c:8913
417
412
  c_body_at: references/ruby/array.c:2112
418
413
  c_effects:
419
414
  - block
420
415
  - dispatch
421
416
  purity: block_dependent
422
417
  rbs:
423
- - "() { (Elem) -> boolish } -> Elem?"
424
- - "() -> ::Enumerator[Elem, Elem?]"
425
- - "[T] (Enumerable::_NotFound[T] ifnone) { (Elem) -> boolish } -> (Elem |
426
- T)"
427
- - "[T] (Enumerable::_NotFound[T] ifnone) -> ::Enumerator[Elem, Elem | T]"
428
- rbs_at: references/rbs/core/array.rbs:2050
418
+ - "() { (E) -> boolish } -> E?"
419
+ - "() -> Enumerator[E, E?]"
420
+ - "[T] (Enumerable::_NotFound[T]? ifnone) { (E) -> boolish } -> (E | T)"
421
+ - "[T] (Enumerable::_NotFound[T]? ifnone) -> Enumerator[E, E | T]"
422
+ rbs_at: references/rbs/core/array.rbs:2073
429
423
  detect:
430
424
  source: c
431
425
  cfunc: rb_ary_find
432
426
  arity: -1
433
- defined_at: references/ruby/array.c:8909
427
+ defined_at: references/ruby/array.c:8914
434
428
  c_body_at: references/ruby/array.c:2112
435
429
  c_effects:
436
430
  - block
@@ -440,39 +434,38 @@ classes:
440
434
  source: c
441
435
  cfunc: rb_ary_rfind
442
436
  arity: -1
443
- defined_at: references/ruby/array.c:8910
437
+ defined_at: references/ruby/array.c:8915
444
438
  c_body_at: references/ruby/array.c:2155
445
439
  c_effects:
446
440
  - block
447
441
  - dispatch
448
442
  purity: block_dependent
449
443
  rbs:
450
- - "() { (Elem) -> boolish } -> Elem?"
451
- - "() -> ::Enumerator[Elem, Elem?]"
452
- - "[T] (Enumerable::_NotFound[T] ifnone) { (Elem) -> boolish } -> (Elem |
453
- T)"
454
- - "[T] (Enumerable::_NotFound[T] ifnone) -> ::Enumerator[Elem, Elem | T]"
455
- rbs_at: references/rbs/core/array.rbs:3052
444
+ - "() { (E) -> boolish } -> E?"
445
+ - "() -> Enumerator[E, E?]"
446
+ - "[T] (Enumerable::_NotFound[T]? ifnone) { (E) -> boolish } -> (E | T)"
447
+ - "[T] (Enumerable::_NotFound[T]? ifnone) -> Enumerator[E, E | T]"
448
+ rbs_at: references/rbs/core/array.rbs:3109
456
449
  find_index:
457
450
  source: c
458
451
  cfunc: rb_ary_index
459
452
  arity: -1
460
- defined_at: references/ruby/array.c:8911
453
+ defined_at: references/ruby/array.c:8916
461
454
  c_body_at: references/ruby/array.c:2215
462
455
  c_effects:
463
456
  - block
464
457
  - dispatch
465
458
  purity: block_dependent
466
459
  rbs:
467
- - "(untyped obj) -> ::Integer?"
468
- - "() { (Elem item) -> boolish } -> ::Integer?"
469
- - "() -> ::Enumerator[Elem, ::Integer?]"
470
- rbs_at: references/rbs/core/array.rbs:2086
460
+ - "(untyped object) -> Integer?"
461
+ - "() { (E element) -> boolish } -> Integer?"
462
+ - "() -> Enumerator[E, Integer?]"
463
+ rbs_at: references/rbs/core/array.rbs:2109
471
464
  index:
472
465
  source: c
473
466
  cfunc: rb_ary_index
474
467
  arity: -1
475
- defined_at: references/ruby/array.c:8912
468
+ defined_at: references/ruby/array.c:8917
476
469
  c_body_at: references/ruby/array.c:2215
477
470
  c_effects:
478
471
  - block
@@ -482,90 +475,91 @@ classes:
482
475
  source: c
483
476
  cfunc: rb_ary_rindex
484
477
  arity: -1
485
- defined_at: references/ruby/array.c:8913
478
+ defined_at: references/ruby/array.c:8918
486
479
  c_body_at: references/ruby/array.c:2271
487
480
  c_effects:
488
481
  - block
489
482
  - dispatch
490
483
  purity: block_dependent
491
484
  rbs:
492
- - "(untyped obj) -> ::Integer?"
493
- - "() { (Elem item) -> boolish } -> ::Integer?"
494
- - "() -> ::Enumerator[Elem, ::Integer?]"
495
- rbs_at: references/rbs/core/array.rbs:3086
485
+ - "(untyped object) -> Integer?"
486
+ - "() { (E element) -> boolish } -> Integer?"
487
+ - "() -> Enumerator[E, Integer?]"
488
+ rbs_at: references/rbs/core/array.rbs:3143
496
489
  join:
497
490
  source: c
498
491
  cfunc: rb_ary_join_m
499
492
  arity: -1
500
- defined_at: references/ruby/array.c:8914
493
+ defined_at: references/ruby/array.c:8919
501
494
  c_body_at: references/ruby/array.c:3071
502
495
  c_effects: []
503
496
  purity: leaf
504
497
  rbs:
505
- - "(?string separator) -> String"
506
- rbs_at: references/rbs/core/array.rbs:2366
498
+ - "(?string? separator) -> String"
499
+ rbs_at: references/rbs/core/array.rbs:2407
507
500
  reverse:
508
501
  source: c
509
502
  cfunc: rb_ary_reverse_m
510
503
  arity: 0
511
- defined_at: references/ruby/array.c:8915
504
+ defined_at: references/ruby/array.c:8920
512
505
  c_body_at: references/ruby/array.c:3278
513
506
  c_effects: []
514
507
  purity: leaf
515
508
  rbs:
516
- - "() -> ::Array[Elem]"
517
- rbs_at: references/rbs/core/array.rbs:2991
509
+ - "() -> Array[E]"
510
+ rbs_at: references/rbs/core/array.rbs:3048
518
511
  reverse!:
519
512
  source: c
520
513
  cfunc: rb_ary_reverse_bang
521
514
  arity: 0
522
- defined_at: references/ruby/array.c:8916
515
+ defined_at: references/ruby/array.c:8921
523
516
  c_body_at: references/ruby/array.c:3261
524
517
  c_effects: []
525
518
  purity: leaf
526
519
  rbs:
527
- - "() -> ::Array[Elem]"
528
- rbs_at: references/rbs/core/array.rbs:3005
520
+ - "() -> self"
521
+ rbs_at: references/rbs/core/array.rbs:3062
529
522
  rotate:
530
523
  source: c
531
524
  cfunc: rb_ary_rotate_m
532
525
  arity: -1
533
- defined_at: references/ruby/array.c:8917
526
+ defined_at: references/ruby/array.c:8922
534
527
  c_body_at: references/ruby/array.c:3408
535
528
  c_effects: []
536
529
  purity: leaf
537
530
  rbs:
538
- - "(?int count) -> ::Array[Elem]"
539
- rbs_at: references/rbs/core/array.rbs:3123
531
+ - "(?int count) -> Array[E]"
532
+ rbs_at: references/rbs/core/array.rbs:3180
540
533
  rotate!:
541
534
  source: c
542
535
  cfunc: rb_ary_rotate_bang
543
536
  arity: -1
544
- defined_at: references/ruby/array.c:8918
537
+ defined_at: references/ruby/array.c:8923
545
538
  c_body_at: references/ruby/array.c:3367
546
539
  c_effects: []
547
540
  purity: leaf
548
541
  rbs:
549
542
  - "(?int count) -> self"
550
- rbs_at: references/rbs/core/array.rbs:3158
543
+ rbs_at: references/rbs/core/array.rbs:3215
551
544
  sort:
552
545
  source: c
553
546
  cfunc: rb_ary_sort
554
547
  arity: 0
555
- defined_at: references/ruby/array.c:8919
548
+ defined_at: references/ruby/array.c:8924
556
549
  c_body_at: references/ruby/array.c:3601
557
550
  c_effects:
558
551
  - mutate
559
552
  purity: mutates_self
560
553
  rbs:
561
- - "() -> ::Array[Elem]"
562
- - "() { (Elem a, Elem b) -> ::Integer } -> ::Array[Elem]"
563
- rbs_at: references/rbs/core/array.rbs:3598
554
+ - "() -> Array[E]"
555
+ - "() { (E a, E b) -> Comparable::_CompareToZero } -> Array[E]"
556
+ - "() { (E a, E b) -> Comparable::_CompareToZero? } -> Array[E]"
557
+ rbs_at: references/rbs/core/array.rbs:3653
564
558
  sort!:
565
559
  source: c
566
560
  cfunc: rb_ary_sort_bang
567
561
  arity: 0
568
- defined_at: references/ruby/array.c:8920
562
+ defined_at: references/ruby/array.c:8925
569
563
  c_body_at: references/ruby/array.c:3506
570
564
  c_effects:
571
565
  - block
@@ -573,55 +567,57 @@ classes:
573
567
  purity: block_dependent
574
568
  rbs:
575
569
  - "() -> self"
576
- - "() { (Elem a, Elem b) -> ::Integer } -> self"
577
- rbs_at: references/rbs/core/array.rbs:3610
570
+ - "() { (E a, E b) -> Comparable::_CompareToZero } -> self"
571
+ - "() { (E a, E b) -> Comparable::_CompareToZero? } -> self"
572
+ rbs_at: references/rbs/core/array.rbs:3666
578
573
  sort_by!:
579
574
  source: c
580
575
  cfunc: rb_ary_sort_by_bang
581
576
  arity: 0
582
- defined_at: references/ruby/array.c:8921
577
+ defined_at: references/ruby/array.c:8926
583
578
  c_body_at: references/ruby/array.c:3724
584
579
  c_effects:
585
580
  - block
586
581
  - mutate
587
582
  purity: block_dependent
588
583
  rbs:
589
- - "[U] () { (Elem obj) -> U } -> ::Array[Elem]"
590
- - "() -> ::Enumerator[Elem, ::Array[Elem]]"
591
- rbs_at: references/rbs/core/array.rbs:3634
584
+ - "() { (E element) -> Comparable::_WithSpaceshipOperator } -> self"
585
+ - "() { (E element) -> Comparable::_WithSpaceshipOperator? } -> self"
586
+ - "() -> Enumerator[E, self]"
587
+ rbs_at: references/rbs/core/array.rbs:3691
592
588
  collect:
593
589
  source: c
594
590
  cfunc: rb_ary_collect
595
591
  arity: 0
596
- defined_at: references/ruby/array.c:8922
592
+ defined_at: references/ruby/array.c:8927
597
593
  c_body_at: references/ruby/array.c:3759
598
594
  c_effects:
599
595
  - block
600
596
  - mutate
601
597
  purity: block_dependent
602
598
  rbs:
603
- - "[U] () { (Elem item) -> U } -> ::Array[U]"
604
- - "() -> ::Enumerator[Elem, ::Array[untyped]]"
605
- rbs_at: references/rbs/core/array.rbs:1279
599
+ - "[T] () { (E item) -> T } -> Array[T]"
600
+ - "() -> Enumerator[E, Array[untyped]]"
601
+ rbs_at: references/rbs/core/array.rbs:1288
606
602
  collect!:
607
603
  source: c
608
604
  cfunc: rb_ary_collect_bang
609
605
  arity: 0
610
- defined_at: references/ruby/array.c:8923
606
+ defined_at: references/ruby/array.c:8928
611
607
  c_body_at: references/ruby/array.c:3794
612
608
  c_effects:
613
609
  - block
614
610
  - mutate
615
611
  purity: block_dependent
616
612
  rbs:
617
- - "() { (Elem item) -> Elem } -> self"
618
- - "() -> ::Enumerator[Elem, self]"
619
- rbs_at: references/rbs/core/array.rbs:1300
613
+ - "() { (E element) -> E } -> self"
614
+ - "() -> Enumerator[E, self]"
615
+ rbs_at: references/rbs/core/array.rbs:1309
620
616
  map:
621
617
  source: c
622
618
  cfunc: rb_ary_collect
623
619
  arity: 0
624
- defined_at: references/ruby/array.c:8924
620
+ defined_at: references/ruby/array.c:8929
625
621
  c_body_at: references/ruby/array.c:3759
626
622
  c_effects:
627
623
  - block
@@ -631,7 +627,7 @@ classes:
631
627
  source: c
632
628
  cfunc: rb_ary_collect_bang
633
629
  arity: 0
634
- defined_at: references/ruby/array.c:8925
630
+ defined_at: references/ruby/array.c:8930
635
631
  c_body_at: references/ruby/array.c:3794
636
632
  c_effects:
637
633
  - block
@@ -641,84 +637,76 @@ classes:
641
637
  source: c
642
638
  cfunc: rb_ary_select
643
639
  arity: 0
644
- defined_at: references/ruby/array.c:8926
640
+ defined_at: references/ruby/array.c:8931
645
641
  c_body_at: references/ruby/array.c:4000
646
642
  c_effects:
647
643
  - block
648
644
  - mutate
649
645
  purity: block_dependent
650
646
  rbs:
651
- - "() { (Elem item) -> boolish } -> ::Array[Elem]"
652
- - "() -> ::Enumerator[Elem, ::Array[Elem]]"
653
- rbs_at: references/rbs/core/array.rbs:3231
647
+ - "() { (E element) -> boolish } -> Array[E]"
648
+ - "() -> Enumerator[E, Array[E]]"
649
+ rbs_at: references/rbs/core/array.rbs:3288
654
650
  select!:
655
651
  source: c
656
652
  cfunc: rb_ary_select_bang
657
653
  arity: 0
658
- defined_at: references/ruby/array.c:8927
654
+ defined_at: references/ruby/array.c:8932
659
655
  c_body_at: references/ruby/array.c:4083
660
656
  c_effects:
661
657
  - mutate
662
658
  purity: mutates_self
663
659
  rbs:
664
- - "() { (Elem item) -> boolish } -> self?"
665
- - "() -> ::Enumerator[Elem, self?]"
666
- rbs_at: references/rbs/core/array.rbs:3255
660
+ - "() { (E element) -> boolish } -> self?"
661
+ - "() -> Enumerator[E, self?]"
662
+ rbs_at: references/rbs/core/array.rbs:3312
667
663
  filter:
668
664
  source: c
669
665
  cfunc: rb_ary_select
670
666
  arity: 0
671
- defined_at: references/ruby/array.c:8928
667
+ defined_at: references/ruby/array.c:8933
672
668
  c_body_at: references/ruby/array.c:4000
673
669
  c_effects:
674
670
  - block
675
671
  - mutate
676
672
  purity: block_dependent
677
- rbs:
678
- - "() { (Elem item) -> boolish } -> ::Array[Elem]"
679
- - "() -> ::Enumerator[Elem, ::Array[Elem]]"
680
- rbs_at: references/rbs/core/array.rbs:2010
681
673
  filter!:
682
674
  source: c
683
675
  cfunc: rb_ary_select_bang
684
676
  arity: 0
685
- defined_at: references/ruby/array.c:8929
677
+ defined_at: references/ruby/array.c:8934
686
678
  c_body_at: references/ruby/array.c:4083
687
679
  c_effects:
688
680
  - mutate
689
681
  purity: mutates_self
690
- rbs:
691
- - "() { (Elem item) -> boolish } -> self?"
692
- - "() -> ::Enumerator[Elem, self?]"
693
- rbs_at: references/rbs/core/array.rbs:2028
694
682
  keep_if:
695
683
  source: c
696
684
  cfunc: rb_ary_keep_if
697
685
  arity: 0
698
- defined_at: references/ruby/array.c:8930
686
+ defined_at: references/ruby/array.c:8935
699
687
  c_body_at: references/ruby/array.c:4112
700
688
  c_effects: []
701
689
  purity: leaf
702
690
  rbs:
703
- - "() { (Elem item) -> boolish } -> self"
704
- - "() -> ::Enumerator[Elem, self]"
705
- rbs_at: references/rbs/core/array.rbs:2383
691
+ - "() { (E element) -> boolish } -> self"
692
+ - "() -> Enumerator[E, self]"
693
+ rbs_at: references/rbs/core/array.rbs:2424
706
694
  values_at:
707
695
  source: c
708
696
  cfunc: rb_ary_values_at
709
697
  arity: -1
710
- defined_at: references/ruby/array.c:8931
698
+ defined_at: references/ruby/array.c:8936
711
699
  c_body_at: references/ruby/array.c:3967
712
700
  c_effects: []
713
701
  purity: leaf
714
702
  rbs:
715
- - "(*int | ::Range[::Integer] selector) -> ::Array[Elem?]"
716
- rbs_at: references/rbs/core/array.rbs:4002
703
+ - "(*int | range[int?] selector) -> Array[E?]"
704
+ rbs_at: references/rbs/core/array.rbs:4059
717
705
  delete:
718
706
  source: c
719
707
  cfunc: rb_ary_delete
720
708
  arity: 1
721
- defined_at: references/ruby/array.c:8932
709
+ defined_at: references/ruby/array.c:8937
722
710
  c_body_at: references/ruby/array.c:4170
723
711
  c_effects:
724
712
  - block
@@ -726,38 +714,38 @@ classes:
726
714
  - dispatch
727
715
  purity: block_dependent
728
716
  rbs:
729
- - "(Elem obj) -> Elem?"
730
- - "[S, T] (S obj) { (S) -> T } -> (Elem | T)"
731
- rbs_at: references/rbs/core/array.rbs:1502
717
+ - "(untyped object) -> E?"
718
+ - "[S, T] (S object) { (S object) -> T } -> (E | T)"
719
+ rbs_at: references/rbs/core/array.rbs:1510
732
720
  delete_at:
733
721
  source: c
734
722
  cfunc: rb_ary_delete_at_m
735
723
  arity: 1
736
- defined_at: references/ruby/array.c:8933
724
+ defined_at: references/ruby/array.c:8938
737
725
  c_body_at: references/ruby/array.c:4274
738
726
  c_effects:
739
727
  - mutate
740
728
  purity: mutates_self
741
729
  rbs:
742
- - "(int index) -> Elem"
743
- rbs_at: references/rbs/core/array.rbs:1533
730
+ - "(int index) -> E"
731
+ rbs_at: references/rbs/core/array.rbs:1541
744
732
  delete_if:
745
733
  source: c
746
734
  cfunc: rb_ary_delete_if
747
735
  arity: 0
748
- defined_at: references/ruby/array.c:8934
736
+ defined_at: references/ruby/array.c:8939
749
737
  c_body_at: references/ruby/array.c:4551
750
738
  c_effects: []
751
739
  purity: leaf
752
740
  rbs:
753
- - "() { (Elem item) -> boolish } -> self"
754
- - "() -> ::Enumerator[Elem, self]"
755
- rbs_at: references/rbs/core/array.rbs:1550
741
+ - "() { (E item) -> boolish } -> self"
742
+ - "() -> Enumerator[E, self]"
743
+ rbs_at: references/rbs/core/array.rbs:1558
756
744
  reject:
757
745
  source: c
758
746
  cfunc: rb_ary_reject
759
747
  arity: 0
760
- defined_at: references/ruby/array.c:8935
748
+ defined_at: references/ruby/array.c:8940
761
749
  c_body_at: references/ruby/array.c:4523
762
750
  c_effects: []
763
751
  purity: leaf
@@ -765,74 +753,78 @@ classes:
765
753
  source: c
766
754
  cfunc: rb_ary_reject_bang
767
755
  arity: 0
768
- defined_at: references/ruby/array.c:8936
756
+ defined_at: references/ruby/array.c:8941
769
757
  c_body_at: references/ruby/array.c:4498
770
758
  c_effects:
771
759
  - mutate
772
760
  purity: mutates_self
773
761
  rbs:
774
- - "() { (Elem item) -> boolish } -> self?"
775
- - "() -> ::Enumerator[Elem, self?]"
776
- rbs_at: references/rbs/core/array.rbs:2885
762
+ - "() { (E item) -> boolish } -> self?"
763
+ - "() -> Enumerator[E, self?]"
764
+ rbs_at: references/rbs/core/array.rbs:2942
777
765
  zip:
778
766
  source: c
779
767
  cfunc: rb_ary_zip
780
768
  arity: -1
781
- defined_at: references/ruby/array.c:8937
769
+ defined_at: references/ruby/array.c:8942
782
770
  c_body_at: references/ruby/array.c:4680
783
771
  c_effects:
784
772
  - block
785
773
  - mutate
786
774
  purity: block_dependent
787
775
  rbs:
788
- - "[U] (_Each[U] arg) -> Array[[ Elem, U? ]]"
789
- - "(_Each[untyped] arg, *_Each[untyped] args) -> Array[Array[untyped]]"
790
- - "[U] (_Each[U] arg) { ([ Elem, U? ]) -> void } -> nil"
791
- - "(_Each[untyped] arg, *_Each[untyped] args) { (Array[untyped]) -> void }
792
- -> nil"
793
- rbs_at: references/rbs/core/array.rbs:4096
776
+ - "() -> Array[[ E ]]"
777
+ - "[X] (_Each[X] iterable) -> Array[[ E, X? ]]"
778
+ - "[X, Y] (_Each[X] iterable1, _Each[Y] iterable2) -> Array[[ E, X?, Y? ]]"
779
+ - "[U] (*_Each[U] iterables) -> Array[Array[E | U?]]"
780
+ - "() { ([ E ]) -> void } -> nil"
781
+ - "[X] (_Each[X] iterable) { ([ E, X? ]) -> void } -> nil"
782
+ - "[X, Y] (_Each[X] iterable1, _Each[Y] iterable2) { ([ E, X?, Y? ]) -> void
783
+ } -> nil"
784
+ - "[U] (*_Each[U] iterables) { (Array[E | U?]) -> void } -> nil"
785
+ rbs_at: references/rbs/core/array.rbs:4153
794
786
  transpose:
795
787
  source: c
796
788
  cfunc: rb_ary_transpose
797
789
  arity: 0
798
- defined_at: references/ruby/array.c:8938
790
+ defined_at: references/ruby/array.c:8943
799
791
  c_body_at: references/ruby/array.c:4753
800
792
  c_effects:
801
793
  - mutate
802
794
  - raises
803
795
  purity: mutates_self
804
796
  rbs:
805
- - "() -> ::Array[::Array[untyped]]"
806
- rbs_at: references/rbs/core/array.rbs:3800
797
+ - "() -> Array[Array[untyped]]"
798
+ rbs_at: references/rbs/core/array.rbs:3857
807
799
  replace:
808
800
  source: c
809
801
  cfunc: rb_ary_replace
810
802
  arity: 1
811
- defined_at: references/ruby/array.c:8939
803
+ defined_at: references/ruby/array.c:8944
812
804
  c_body_at: references/ruby/array.c:4796
813
805
  c_effects:
814
806
  - mutate
815
807
  purity: mutates_self
816
808
  rbs:
817
- - "(::Array[Elem]) -> self"
818
- rbs_at: references/rbs/core/array.rbs:2979
809
+ - "(array[E] other_array) -> self"
810
+ rbs_at: references/rbs/core/array.rbs:3036
819
811
  clear:
820
812
  source: c
821
813
  cfunc: rb_ary_clear
822
814
  arity: 0
823
- defined_at: references/ruby/array.c:8940
815
+ defined_at: references/ruby/array.c:8945
824
816
  c_body_at: references/ruby/array.c:4853
825
817
  c_effects:
826
818
  - mutate
827
819
  purity: mutates_self
828
820
  rbs:
829
821
  - "() -> self"
830
- rbs_at: references/rbs/core/array.rbs:1258
822
+ rbs_at: references/rbs/core/array.rbs:1267
831
823
  fill:
832
824
  source: c
833
825
  cfunc: rb_ary_fill
834
826
  arity: -1
835
- defined_at: references/ruby/array.c:8941
827
+ defined_at: references/ruby/array.c:8946
836
828
  c_body_at: references/ruby/array.c:5052
837
829
  c_effects:
838
830
  - block
@@ -840,199 +832,207 @@ classes:
840
832
  - raises
841
833
  purity: block_dependent
842
834
  rbs:
843
- - "(Elem obj) -> self"
844
- - "(Elem obj, int? start, ?int? length) -> self"
845
- - "(Elem obj, ::Range[::Integer] range) -> self"
846
- - "(?int? start, ?int? length) { (::Integer index) -> Elem } -> self"
847
- - "(::Range[::Integer] range) { (::Integer index) -> Elem } -> self"
848
- rbs_at: references/rbs/core/array.rbs:1991
835
+ - "(E object, ?int? start, ?int? length) -> self"
836
+ - "(E object, range[int?] range) -> self"
837
+ - "(?int? start, ?int? length) { (Integer index) -> E } -> self"
838
+ - "(range[int?] range) { (Integer index) -> E } -> self"
839
+ rbs_at: references/rbs/core/array.rbs:2017
849
840
  include?:
850
841
  source: c
851
842
  cfunc: rb_ary_includes
852
843
  arity: 1
853
- defined_at: references/ruby/array.c:8942
844
+ defined_at: references/ruby/array.c:8947
854
845
  c_body_at: references/ruby/array.c:5502
855
846
  c_effects:
856
847
  - dispatch
857
848
  purity: dispatch
858
849
  rbs:
859
- - "(top object) -> bool"
860
- rbs_at: references/rbs/core/array.rbs:2218
850
+ - "(untyped object) -> bool"
851
+ rbs_at: references/rbs/core/array.rbs:2259
861
852
  "<=>":
862
853
  source: c
863
854
  cfunc: rb_ary_cmp
864
855
  arity: 1
865
- defined_at: references/ruby/array.c:8943
856
+ defined_at: references/ruby/array.c:8948
866
857
  c_body_at: references/ruby/array.c:5590
867
858
  c_effects:
868
859
  - dispatch
869
860
  purity: dispatch
870
861
  rbs:
871
- - "(untyped) -> ::Integer?"
872
- rbs_at: references/rbs/core/array.rbs:773
862
+ - "(untyped) -> Integer?"
863
+ rbs_at: references/rbs/core/array.rbs:781
873
864
  slice:
874
865
  source: c
875
866
  cfunc: rb_ary_aref
876
867
  arity: -1
877
- defined_at: references/ruby/array.c:8945
868
+ defined_at: references/ruby/array.c:8950
878
869
  c_body_at: references/ruby/array.c:1913
879
870
  c_effects: []
880
871
  purity: leaf
881
- rbs:
882
- - "(int index) -> Elem"
883
- - "(int start, int length) -> ::Array[Elem]?"
884
- - "(::Range[::Integer] range) -> ::Array[Elem]?"
885
- rbs_at: references/rbs/core/array.rbs:3467
886
872
  slice!:
887
873
  source: c
888
874
  cfunc: rb_ary_slice_bang
889
875
  arity: -1
890
- defined_at: references/ruby/array.c:8946
876
+ defined_at: references/ruby/array.c:8951
891
877
  c_body_at: references/ruby/array.c:4402
892
878
  c_effects:
893
879
  - mutate
894
880
  purity: mutates_self
895
881
  rbs:
896
- - "(int index) -> Elem"
897
- - "(int start, int length) -> ::Array[Elem]?"
898
- - "(::Range[::Integer] range) -> ::Array[Elem]?"
899
- rbs_at: references/rbs/core/array.rbs:3561
882
+ - "(int index) -> E"
883
+ - "(int start, int length) -> Array[E]?"
884
+ - "(range[int?] range) -> Array[E]?"
885
+ rbs_at: references/rbs/core/array.rbs:3616
900
886
  assoc:
901
887
  source: c
902
888
  cfunc: rb_ary_assoc
903
889
  arity: 1
904
- defined_at: references/ruby/array.c:8948
890
+ defined_at: references/ruby/array.c:8953
905
891
  c_body_at: references/ruby/array.c:5276
906
892
  c_effects:
907
893
  - dispatch
908
894
  purity: dispatch
909
895
  rbs:
910
- - "(untyped) -> ::Array[untyped]?"
911
- rbs_at: references/rbs/core/array.rbs:1190
896
+ - "(untyped object) -> Array[untyped]?"
897
+ rbs_at: references/rbs/core/array.rbs:1198
912
898
  rassoc:
913
899
  source: c
914
900
  cfunc: rb_ary_rassoc
915
901
  arity: 1
916
- defined_at: references/ruby/array.c:8949
902
+ defined_at: references/ruby/array.c:8954
917
903
  c_body_at: references/ruby/array.c:5308
918
904
  c_effects:
919
905
  - dispatch
920
906
  purity: dispatch
907
+ rbs:
908
+ - "(untyped object) -> Array[untyped]?"
909
+ rbs_at: references/rbs/core/array.rbs:2903
921
910
  "+":
922
911
  source: c
923
912
  cfunc: rb_ary_plus
924
913
  arity: 1
925
- defined_at: references/ruby/array.c:8951
914
+ defined_at: references/ruby/array.c:8956
926
915
  c_body_at: references/ruby/array.c:5129
927
916
  c_effects: []
928
917
  purity: leaf
929
918
  rbs:
930
- - "[U] (_ToAry[U]) -> ::Array[Elem | U]"
931
- rbs_at: references/rbs/core/array.rbs:700
919
+ - "[U] (array[U] other_array) -> Array[E | U]"
920
+ rbs_at: references/rbs/core/array.rbs:708
932
921
  "*":
933
922
  source: c
934
923
  cfunc: rb_ary_times
935
924
  arity: 1
936
- defined_at: references/ruby/array.c:8952
925
+ defined_at: references/ruby/array.c:8957
937
926
  c_body_at: references/ruby/array.c:5216
938
927
  c_effects:
939
928
  - dispatch
940
929
  - raises
941
930
  purity: dispatch
942
931
  rbs:
943
- - "(string str) -> ::String"
944
- - "(int int) -> ::Array[Elem]"
945
- rbs_at: references/rbs/core/array.rbs:685
932
+ - "(string string_separator) -> String"
933
+ - "(int n) -> Array[E]"
934
+ rbs_at: references/rbs/core/array.rbs:693
946
935
  "-":
947
936
  source: c
948
937
  cfunc: rb_ary_diff
949
938
  arity: 1
950
- defined_at: references/ruby/array.c:8954
939
+ defined_at: references/ruby/array.c:8959
951
940
  c_body_at: references/ruby/array.c:5673
952
941
  c_effects:
953
942
  - mutate
954
943
  purity: mutates_self
955
944
  rbs:
956
- - "(_ToAry[untyped]) -> ::Array[Elem]"
957
- rbs_at: references/rbs/core/array.rbs:718
945
+ - "(array[untyped] other_array) -> Array[E]"
946
+ rbs_at: references/rbs/core/array.rbs:726
958
947
  "&":
959
948
  source: c
960
949
  cfunc: rb_ary_and
961
950
  arity: 1
962
- defined_at: references/ruby/array.c:8955
951
+ defined_at: references/ruby/array.c:8960
963
952
  c_body_at: references/ruby/array.c:5782
964
953
  c_effects:
965
954
  - mutate
966
955
  purity: mutates_self
967
956
  rbs:
968
- - "(::Array[untyped] | _ToAry[untyped]) -> ::Array[Elem]"
969
- rbs_at: references/rbs/core/array.rbs:667
957
+ - "(array[untyped] other_array) -> Array[E]"
958
+ rbs_at: references/rbs/core/array.rbs:675
970
959
  "|":
971
960
  source: c
972
961
  cfunc: rb_ary_or
973
962
  arity: 1
974
- defined_at: references/ruby/array.c:8956
963
+ defined_at: references/ruby/array.c:8961
975
964
  c_body_at: references/ruby/array.c:5896
976
965
  c_effects: []
977
966
  purity: leaf
978
967
  rbs:
979
- - "[T] (::Array[T] other_ary) -> ::Array[Elem | T]"
980
- rbs_at: references/rbs/core/array.rbs:4114
968
+ - "[T] (array[T] other_array) -> Array[E | T]"
969
+ rbs_at: references/rbs/core/array.rbs:4175
981
970
  max:
982
971
  source: c
983
972
  cfunc: rb_ary_max
984
973
  arity: -1
985
- defined_at: references/ruby/array.c:8958
974
+ defined_at: references/ruby/array.c:8963
986
975
  c_body_at: references/ruby/array.c:6157
987
976
  c_effects:
988
977
  - block
989
978
  purity: block_dependent
990
979
  rbs:
991
- - "() -> Elem"
992
- - "() { (Elem a, Elem b) -> ::Integer? } -> Elem"
993
- - "(int n) -> ::Array[Elem]"
994
- - "(int n) { (Elem a, Elem b) -> ::Integer? } -> ::Array[Elem]"
995
- rbs_at: references/rbs/core/array.rbs:2505
980
+ - "() -> E"
981
+ - "() { (E a, E b) -> Comparable::_CompareToZero } -> E"
982
+ - "() { (E a, E b) -> Comparable::_CompareToZero? } -> E"
983
+ - "(int count) -> Array[E]"
984
+ - "(int count) { (E a, E b) -> Comparable::_CompareToZero } -> Array[E]"
985
+ - "(int count) { (E a, E b) -> Comparable::_CompareToZero? } -> Array[E]"
986
+ rbs_at: references/rbs/core/array.rbs:2546
996
987
  min:
997
988
  source: c
998
989
  cfunc: rb_ary_min
999
990
  arity: -1
1000
- defined_at: references/ruby/array.c:8959
991
+ defined_at: references/ruby/array.c:8964
1001
992
  c_body_at: references/ruby/array.c:6334
1002
993
  c_effects:
1003
994
  - block
1004
995
  purity: block_dependent
996
+ rbs:
997
+ - "() -> E"
998
+ - "() { (E a, E b) -> Comparable::_CompareToZero } -> E"
999
+ - "() { (E a, E b) -> Comparable::_CompareToZero? } -> E"
1000
+ - "(int count) -> Array[E]"
1001
+ - "(int count) { (E a, E b) -> Comparable::_CompareToZero } -> Array[E]"
1002
+ - "(int count) { (E a, E b) -> Comparable::_CompareToZero? } -> Array[E]"
1003
+ rbs_at: references/rbs/core/array.rbs:2601
1005
1004
  minmax:
1006
1005
  source: c
1007
1006
  cfunc: rb_ary_minmax
1008
1007
  arity: 0
1009
- defined_at: references/ruby/array.c:8960
1008
+ defined_at: references/ruby/array.c:8965
1010
1009
  c_body_at: references/ruby/array.c:6396
1011
1010
  c_effects:
1012
1011
  - block
1013
1012
  purity: block_dependent
1014
1013
  rbs:
1015
- - "() -> [ Elem?, Elem? ]"
1016
- - "() { (Elem a, Elem b) -> ::Integer? } -> [ Elem?, Elem? ]"
1017
- rbs_at: references/rbs/core/array.rbs:2582
1014
+ - "() -> [ E?, E? ]"
1015
+ - "() { (E a, E b) -> Comparable::_CompareToZero } -> [ E?, E? ]"
1016
+ - "() { (E a, E b) -> Comparable::_CompareToZero? } -> [ E?, E? ]"
1017
+ rbs_at: references/rbs/core/array.rbs:2630
1018
1018
  uniq:
1019
1019
  source: c
1020
1020
  cfunc: rb_ary_uniq
1021
1021
  arity: 0
1022
- defined_at: references/ruby/array.c:8962
1022
+ defined_at: references/ruby/array.c:8967
1023
1023
  c_body_at: references/ruby/array.c:6495
1024
1024
  c_effects:
1025
1025
  - block
1026
1026
  purity: block_dependent
1027
1027
  rbs:
1028
- - "() -> ::Array[Elem]"
1029
- - "() { (Elem item) -> untyped } -> ::Array[Elem]"
1030
- rbs_at: references/rbs/core/array.rbs:3849
1028
+ - "() -> Array[E]"
1029
+ - "() { (E element) -> Hash::_Key } -> Array[E]"
1030
+ rbs_at: references/rbs/core/array.rbs:3906
1031
1031
  uniq!:
1032
1032
  source: c
1033
1033
  cfunc: rb_ary_uniq_bang
1034
1034
  arity: 0
1035
- defined_at: references/ruby/array.c:8963
1035
+ defined_at: references/ruby/array.c:8968
1036
1036
  c_body_at: references/ruby/array.c:6439
1037
1037
  c_effects:
1038
1038
  - block
@@ -1040,139 +1040,138 @@ classes:
1040
1040
  purity: block_dependent
1041
1041
  rbs:
1042
1042
  - "() -> self?"
1043
- - "() { (Elem) -> untyped } -> self?"
1044
- rbs_at: references/rbs/core/array.rbs:3878
1043
+ - "() { (E element) -> Hash::_Key } -> self?"
1044
+ rbs_at: references/rbs/core/array.rbs:3935
1045
1045
  compact:
1046
1046
  source: c
1047
1047
  cfunc: rb_ary_compact
1048
1048
  arity: 0
1049
- defined_at: references/ruby/array.c:8964
1049
+ defined_at: references/ruby/array.c:8969
1050
1050
  c_body_at: references/ruby/array.c:6569
1051
1051
  c_effects: []
1052
1052
  purity: leaf
1053
1053
  rbs:
1054
- - "() -> ::Array[Elem]"
1055
- rbs_at: references/rbs/core/array.rbs:1361
1054
+ - "() -> Array[E]"
1055
+ rbs_at: references/rbs/core/array.rbs:1370
1056
1056
  compact!:
1057
1057
  source: c
1058
1058
  cfunc: rb_ary_compact_bang
1059
1059
  arity: 0
1060
- defined_at: references/ruby/array.c:8965
1060
+ defined_at: references/ruby/array.c:8970
1061
1061
  c_body_at: references/ruby/array.c:6532
1062
1062
  c_effects:
1063
1063
  - mutate
1064
1064
  purity: mutates_self
1065
1065
  rbs:
1066
1066
  - "() -> self?"
1067
- rbs_at: references/rbs/core/array.rbs:1378
1067
+ rbs_at: references/rbs/core/array.rbs:1387
1068
1068
  flatten:
1069
1069
  source: c
1070
1070
  cfunc: rb_ary_flatten
1071
1071
  arity: -1
1072
- defined_at: references/ruby/array.c:8966
1072
+ defined_at: references/ruby/array.c:8971
1073
1073
  c_body_at: references/ruby/array.c:6811
1074
1074
  c_effects: []
1075
1075
  purity: leaf
1076
1076
  rbs:
1077
- - "(?int level) -> ::Array[untyped]"
1078
- rbs_at: references/rbs/core/array.rbs:2152
1077
+ - "(?int? level) -> Array[untyped]"
1078
+ rbs_at: references/rbs/core/array.rbs:2175
1079
1079
  flatten!:
1080
1080
  source: c
1081
1081
  cfunc: rb_ary_flatten_bang
1082
1082
  arity: -1
1083
- defined_at: references/ruby/array.c:8967
1083
+ defined_at: references/ruby/array.c:8972
1084
1084
  c_body_at: references/ruby/array.c:6754
1085
1085
  c_effects:
1086
1086
  - mutate
1087
1087
  purity: mutates_self
1088
1088
  rbs:
1089
- - "(?int level) -> self?"
1090
- rbs_at: references/rbs/core/array.rbs:2188
1089
+ - "(?int? level) -> self?"
1090
+ rbs_at: references/rbs/core/array.rbs:2211
1091
1091
  count:
1092
1092
  source: c
1093
1093
  cfunc: rb_ary_count
1094
1094
  arity: -1
1095
- defined_at: references/ruby/array.c:8968
1095
+ defined_at: references/ruby/array.c:8973
1096
1096
  c_body_at: references/ruby/array.c:6604
1097
1097
  c_effects:
1098
1098
  - block
1099
1099
  - dispatch
1100
1100
  purity: block_dependent
1101
1101
  rbs:
1102
- - "() -> ::Integer"
1103
- - "(Elem obj) -> ::Integer"
1104
- - "() { (Elem) -> boolish } -> ::Integer"
1105
- rbs_at: references/rbs/core/array.rbs:1421
1102
+ - "() ?{ (E element) -> boolish } -> Integer"
1103
+ - "(untyped object) -> Integer"
1104
+ rbs_at: references/rbs/core/array.rbs:1430
1106
1105
  cycle:
1107
1106
  source: c
1108
1107
  cfunc: rb_ary_cycle
1109
1108
  arity: -1
1110
- defined_at: references/ruby/array.c:8969
1109
+ defined_at: references/ruby/array.c:8974
1111
1110
  c_body_at: references/ruby/array.c:7060
1112
1111
  c_effects:
1113
1112
  - block
1114
1113
  purity: block_dependent
1115
1114
  rbs:
1116
- - "(?int? n) { (Elem) -> void } -> nil"
1117
- - "(?int? n) -> ::Enumerator[Elem, nil]"
1118
- rbs_at: references/rbs/core/array.rbs:1457
1115
+ - "(?int? n) { (E element) -> void } -> nil"
1116
+ - "(?int? n) -> Enumerator[E, nil]"
1117
+ rbs_at: references/rbs/core/array.rbs:1465
1119
1118
  permutation:
1120
1119
  source: c
1121
1120
  cfunc: rb_ary_permutation
1122
1121
  arity: -1
1123
- defined_at: references/ruby/array.c:8970
1122
+ defined_at: references/ruby/array.c:8975
1124
1123
  c_body_at: references/ruby/array.c:7242
1125
1124
  c_effects:
1126
1125
  - block
1127
1126
  purity: block_dependent
1128
1127
  rbs:
1129
- - "(?int n) -> ::Enumerator[::Array[Elem], ::Array[Elem]]"
1130
- - "(?int n) { (::Array[Elem] p) -> void } -> ::Array[Elem]"
1131
- rbs_at: references/rbs/core/array.rbs:2707
1128
+ - "(?int? count) { (Array[E] permutation) -> void } -> self"
1129
+ - "(?int? count) -> Enumerator[Array[E], self]"
1130
+ rbs_at: references/rbs/core/array.rbs:2760
1132
1131
  combination:
1133
1132
  source: c
1134
1133
  cfunc: rb_ary_combination
1135
1134
  arity: 1
1136
- defined_at: references/ruby/array.c:8971
1135
+ defined_at: references/ruby/array.c:8976
1137
1136
  c_body_at: references/ruby/array.c:7354
1138
1137
  c_effects:
1139
1138
  - block
1140
1139
  purity: block_dependent
1141
1140
  rbs:
1142
- - "(int n) { (::Array[Elem]) -> void } -> self"
1143
- - "(int n) -> ::Enumerator[::Array[Elem], self]"
1144
- rbs_at: references/rbs/core/array.rbs:1345
1141
+ - "(int count) { (Array[E] combination) -> void } -> self"
1142
+ - "(int count) -> Enumerator[Array[E], self]"
1143
+ rbs_at: references/rbs/core/array.rbs:1354
1145
1144
  repeated_permutation:
1146
1145
  source: c
1147
1146
  cfunc: rb_ary_repeated_permutation
1148
1147
  arity: 1
1149
- defined_at: references/ruby/array.c:8972
1148
+ defined_at: references/ruby/array.c:8977
1150
1149
  c_body_at: references/ruby/array.c:7474
1151
1150
  c_effects:
1152
1151
  - block
1153
1152
  purity: block_dependent
1154
1153
  rbs:
1155
- - "(int n) { (::Array[Elem] p) -> void } -> self"
1156
- - "(int n) -> ::Enumerator[::Array[Elem], self]"
1157
- rbs_at: references/rbs/core/array.rbs:2965
1154
+ - "(int size) { (Array[E] permutation) -> void } -> self"
1155
+ - "(int size) -> Enumerator[Array[E], self]"
1156
+ rbs_at: references/rbs/core/array.rbs:3022
1158
1157
  repeated_combination:
1159
1158
  source: c
1160
1159
  cfunc: rb_ary_repeated_combination
1161
1160
  arity: 1
1162
- defined_at: references/ruby/array.c:8973
1161
+ defined_at: references/ruby/array.c:8978
1163
1162
  c_body_at: references/ruby/array.c:7580
1164
1163
  c_effects:
1165
1164
  - block
1166
1165
  purity: block_dependent
1167
1166
  rbs:
1168
- - "(int n) { (::Array[Elem] c) -> void } -> self"
1169
- - "(int n) -> ::Enumerator[::Array[Elem], self]"
1170
- rbs_at: references/rbs/core/array.rbs:2925
1167
+ - "(int size) { (Array[E] combination) -> void } -> self"
1168
+ - "(int size) -> Enumerator[Array[E], self]"
1169
+ rbs_at: references/rbs/core/array.rbs:2982
1171
1170
  product:
1172
1171
  source: c
1173
1172
  cfunc: rb_ary_product
1174
1173
  arity: -1
1175
- defined_at: references/ruby/array.c:8974
1174
+ defined_at: references/ruby/array.c:8979
1176
1175
  c_body_at: references/ruby/array.c:7668
1177
1176
  c_effects:
1178
1177
  - block
@@ -1180,80 +1179,84 @@ classes:
1180
1179
  - raises
1181
1180
  purity: block_dependent
1182
1181
  rbs:
1183
- - "() -> ::Array[[ Elem ]]"
1184
- - "[X] (::Array[X] other_ary) -> ::Array[[ Elem, X ]]"
1185
- - "[X, Y] (::Array[X] other_ary1, ::Array[Y] other_ary2) -> ::Array[[ Elem,
1186
- X, Y ]]"
1187
- - "[U] (*::Array[U] other_arys) -> ::Array[::Array[Elem | U]]"
1188
- rbs_at: references/rbs/core/array.rbs:2806
1182
+ - "() -> Array[[ E ]]"
1183
+ - "() { ([ E ] combination) -> void } -> self"
1184
+ - "[X] (array[X] other_ary) -> Array[[ E, X ]]"
1185
+ - "[X] (array[X] other_ary) { ([ E, X ] combination) -> void } -> self"
1186
+ - "[X, Y] (array[X] other_ary1, array[Y] other_ary2) -> Array[[ E, X, Y ]]"
1187
+ - "[X, Y] (array[X] other_ary1, array[Y] other_ary2) { ([ E, X, Y ] combination)
1188
+ -> void } -> self"
1189
+ - "[U] (*array[U] other_arys) -> Array[Array[E | U]]"
1190
+ - "[U] (*array[U] other_arys) { (Array[E | U] combination) -> void } -> self"
1191
+ rbs_at: references/rbs/core/array.rbs:2859
1189
1192
  take:
1190
1193
  source: c
1191
1194
  cfunc: rb_ary_take
1192
1195
  arity: 1
1193
- defined_at: references/ruby/array.c:8976
1196
+ defined_at: references/ruby/array.c:8981
1194
1197
  c_body_at: references/ruby/array.c:7774
1195
1198
  c_effects:
1196
1199
  - raises
1197
1200
  purity: leaf
1198
1201
  rbs:
1199
- - "(int n) -> ::Array[Elem]"
1200
- rbs_at: references/rbs/core/array.rbs:3697
1202
+ - "(int count) -> Array[E]"
1203
+ rbs_at: references/rbs/core/array.rbs:3754
1201
1204
  take_while:
1202
1205
  source: c
1203
1206
  cfunc: rb_ary_take_while
1204
1207
  arity: 0
1205
- defined_at: references/ruby/array.c:8977
1208
+ defined_at: references/ruby/array.c:8982
1206
1209
  c_body_at: references/ruby/array.c:7805
1207
1210
  c_effects:
1208
1211
  - block
1209
1212
  purity: block_dependent
1210
1213
  rbs:
1211
- - "() { (Elem obj) -> boolish } -> ::Array[Elem]"
1212
- - "() -> ::Enumerator[Elem, ::Array[Elem]]"
1213
- rbs_at: references/rbs/core/array.rbs:3719
1214
+ - "() { (E element) -> boolish } -> Array[E]"
1215
+ - "() -> Enumerator[E, Array[E]]"
1216
+ rbs_at: references/rbs/core/array.rbs:3776
1214
1217
  drop:
1215
1218
  source: c
1216
1219
  cfunc: rb_ary_drop
1217
1220
  arity: 1
1218
- defined_at: references/ruby/array.c:8978
1221
+ defined_at: references/ruby/array.c:8983
1219
1222
  c_body_at: references/ruby/array.c:7836
1220
1223
  c_effects:
1221
1224
  - raises
1222
1225
  purity: leaf
1223
1226
  rbs:
1224
- - "(int n) -> ::Array[Elem]"
1225
- rbs_at: references/rbs/core/array.rbs:1611
1227
+ - "(int count) -> Array[E]"
1228
+ rbs_at: references/rbs/core/array.rbs:1636
1226
1229
  drop_while:
1227
1230
  source: c
1228
1231
  cfunc: rb_ary_drop_while
1229
1232
  arity: 0
1230
- defined_at: references/ruby/array.c:8979
1233
+ defined_at: references/ruby/array.c:8984
1231
1234
  c_body_at: references/ruby/array.c:7868
1232
1235
  c_effects:
1233
1236
  - block
1234
1237
  purity: block_dependent
1235
1238
  rbs:
1236
- - "() { (Elem obj) -> boolish } -> ::Array[Elem]"
1237
- - "() -> ::Enumerator[Elem, ::Array[Elem]]"
1238
- rbs_at: references/rbs/core/array.rbs:1630
1239
+ - "() { (E element) -> boolish } -> Array[E]"
1240
+ - "() -> Enumerator[E, Array[E]]"
1241
+ rbs_at: references/rbs/core/array.rbs:1655
1239
1242
  bsearch:
1240
1243
  source: c
1241
1244
  cfunc: rb_ary_bsearch
1242
1245
  arity: 0
1243
- defined_at: references/ruby/array.c:8980
1246
+ defined_at: references/ruby/array.c:8985
1244
1247
  c_body_at: references/ruby/array.c:3624
1245
1248
  c_effects: []
1246
1249
  purity: leaf
1247
1250
  rbs:
1248
- - "() -> ::Enumerator[Elem, Elem?]"
1249
- - "() { (Elem) -> (true | false) } -> Elem?"
1250
- - "() { (Elem) -> ::Integer } -> Elem?"
1251
- rbs_at: references/rbs/core/array.rbs:1228
1251
+ - "() { (E element) -> bool? } -> E?"
1252
+ - "() { (E element) -> Numeric? } -> E?"
1253
+ - "() -> Enumerator[E, E?]"
1254
+ rbs_at: references/rbs/core/array.rbs:1236
1252
1255
  bsearch_index:
1253
1256
  source: c
1254
1257
  cfunc: rb_ary_bsearch_index
1255
1258
  arity: 0
1256
- defined_at: references/ruby/array.c:8981
1259
+ defined_at: references/ruby/array.c:8986
1257
1260
  c_body_at: references/ruby/array.c:3648
1258
1261
  c_effects:
1259
1262
  - block
@@ -1261,24 +1264,30 @@ classes:
1261
1264
  - raises
1262
1265
  purity: block_dependent
1263
1266
  rbs:
1264
- - "() { (Elem) -> (true | false) } -> ::Integer?"
1265
- - "() { (Elem) -> ::Integer } -> ::Integer?"
1266
- rbs_at: references/rbs/core/array.rbs:1244
1267
+ - "() { (E element) -> bool? } -> Integer?"
1268
+ - "() { (E element) -> Numeric? } -> Integer?"
1269
+ - "() -> Enumerator[E, Integer?]"
1270
+ rbs_at: references/rbs/core/array.rbs:1252
1267
1271
  any?:
1268
1272
  source: c
1269
1273
  cfunc: rb_ary_any_p
1270
1274
  arity: -1
1271
- defined_at: references/ruby/array.c:8982
1275
+ defined_at: references/ruby/array.c:8987
1272
1276
  c_body_at: references/ruby/array.c:7919
1273
1277
  c_effects:
1274
1278
  - block
1275
1279
  - dispatch
1276
1280
  purity: block_dependent
1281
+ rbs:
1282
+ - "() -> bool"
1283
+ - "(RBS::Ops::_CaseEqual[E, boolish] pattern) -> bool"
1284
+ - "() { (E element) -> boolish } -> bool"
1285
+ rbs_at: references/rbs/core/array.rbs:1164
1277
1286
  all?:
1278
1287
  source: c
1279
1288
  cfunc: rb_ary_all_p
1280
1289
  arity: -1
1281
- defined_at: references/ruby/array.c:8983
1290
+ defined_at: references/ruby/array.c:8988
1282
1291
  c_body_at: references/ruby/array.c:7986
1283
1292
  c_effects:
1284
1293
  - block
@@ -1286,75 +1295,87 @@ classes:
1286
1295
  purity: block_dependent
1287
1296
  rbs:
1288
1297
  - "() -> bool"
1289
- - "(_Pattern[Elem] pattern) -> bool"
1290
- - "() { (Elem obj) -> boolish } -> bool"
1291
- rbs_at: references/rbs/core/array.rbs:1116
1298
+ - "(RBS::Ops::_CaseEqual[E, boolish] pattern) -> bool"
1299
+ - "() { (E element) -> boolish } -> bool"
1300
+ rbs_at: references/rbs/core/array.rbs:1122
1292
1301
  none?:
1293
1302
  source: c
1294
1303
  cfunc: rb_ary_none_p
1295
1304
  arity: -1
1296
- defined_at: references/ruby/array.c:8984
1305
+ defined_at: references/ruby/array.c:8989
1297
1306
  c_body_at: references/ruby/array.c:8047
1298
1307
  c_effects:
1299
1308
  - block
1300
1309
  - dispatch
1301
1310
  purity: block_dependent
1311
+ rbs:
1312
+ - "() -> bool"
1313
+ - "(RBS::Ops::_CaseEqual[E, boolish] pattern) -> bool"
1314
+ - "() { (E element) -> boolish } -> bool"
1315
+ rbs_at: references/rbs/core/array.rbs:2667
1302
1316
  one?:
1303
1317
  source: c
1304
1318
  cfunc: rb_ary_one_p
1305
1319
  arity: -1
1306
- defined_at: references/ruby/array.c:8985
1320
+ defined_at: references/ruby/array.c:8990
1307
1321
  c_body_at: references/ruby/array.c:8111
1308
1322
  c_effects:
1309
1323
  - block
1310
1324
  - dispatch
1311
1325
  purity: block_dependent
1326
+ rbs:
1327
+ - "() -> bool"
1328
+ - "(RBS::Ops::_CaseEqual[E, boolish] pattern) -> bool"
1329
+ - "() { (E element) -> boolish } -> bool"
1330
+ rbs_at: references/rbs/core/array.rbs:2706
1312
1331
  dig:
1313
1332
  source: c
1314
1333
  cfunc: rb_ary_dig
1315
1334
  arity: -1
1316
- defined_at: references/ruby/array.c:8986
1335
+ defined_at: references/ruby/array.c:8991
1317
1336
  c_body_at: references/ruby/array.c:8169
1318
1337
  c_effects: []
1319
1338
  purity: leaf
1320
1339
  rbs:
1321
- - "(int idx) -> Elem?"
1322
- - "(int idx, untyped, *untyped) -> untyped"
1323
- rbs_at: references/rbs/core/array.rbs:1591
1340
+ - "(int index) -> E?"
1341
+ - "(int index, untyped, *untyped) -> untyped"
1342
+ rbs_at: references/rbs/core/array.rbs:1616
1324
1343
  sum:
1325
1344
  source: c
1326
1345
  cfunc: rb_ary_sum
1327
1346
  arity: -1
1328
- defined_at: references/ruby/array.c:8987
1347
+ defined_at: references/ruby/array.c:8992
1329
1348
  c_body_at: references/ruby/array.c:8234
1330
1349
  c_effects:
1331
1350
  - block
1332
1351
  - dispatch
1333
1352
  purity: block_dependent
1334
1353
  rbs:
1335
- - "(?untyped init) -> untyped"
1336
- - "(?untyped init) { (Elem e) -> untyped } -> untyped"
1337
- rbs_at: references/rbs/core/array.rbs:3679
1354
+ - "(?untyped init) ?{ (E e) -> untyped } -> untyped"
1355
+ rbs_at: references/rbs/core/array.rbs:3737
1338
1356
  freeze:
1339
1357
  source: c
1340
1358
  cfunc: rb_ary_freeze
1341
1359
  arity: 0
1342
- defined_at: references/ruby/array.c:8988
1360
+ defined_at: references/ruby/array.c:8993
1343
1361
  c_body_at: references/ruby/array.c:652
1344
1362
  c_effects:
1345
1363
  - mutate
1346
1364
  purity: mutates_self
1365
+ rbs:
1366
+ - "() -> self"
1367
+ rbs_at: references/rbs/core/array.rbs:2229
1347
1368
  deconstruct:
1348
1369
  source: c
1349
1370
  cfunc: rb_ary_deconstruct
1350
1371
  arity: 0
1351
- defined_at: references/ruby/array.c:8990
1352
- c_body_at: references/ruby/array.c:8352
1372
+ defined_at: references/ruby/array.c:8995
1373
+ c_body_at: references/ruby/array.c:8357
1353
1374
  c_effects: []
1354
1375
  purity: leaf
1355
1376
  rbs:
1356
1377
  - "() -> self"
1357
- rbs_at: references/rbs/core/array.rbs:1465
1378
+ rbs_at: references/rbs/core/array.rbs:1473
1358
1379
  shuffle!:
1359
1380
  source: prelude
1360
1381
  prelude_attrs: []
@@ -1366,8 +1387,8 @@ classes:
1366
1387
  cfunc:
1367
1388
  defined_at: references/ruby/array.rb:22
1368
1389
  rbs:
1369
- - "(?random: _Rand rng) -> self"
1370
- rbs_at: references/rbs/core/array.rbs:3343
1390
+ - "(?random: _Rand) -> self"
1391
+ rbs_at: references/rbs/core/array.rbs:3400
1371
1392
  shuffle:
1372
1393
  source: prelude
1373
1394
  prelude_attrs: []
@@ -1379,8 +1400,8 @@ classes:
1379
1400
  cfunc:
1380
1401
  defined_at: references/ruby/array.rb:45
1381
1402
  rbs:
1382
- - "(?random: _Rand rng) -> ::Array[Elem]"
1383
- rbs_at: references/rbs/core/array.rbs:3319
1403
+ - "(?random: _Rand) -> Array[E]"
1404
+ rbs_at: references/rbs/core/array.rbs:3376
1384
1405
  sample:
1385
1406
  source: prelude
1386
1407
  prelude_attrs: []
@@ -1392,9 +1413,9 @@ classes:
1392
1413
  cfunc:
1393
1414
  defined_at: references/ruby/array.rb:95
1394
1415
  rbs:
1395
- - "(?random: _Rand rng) -> Elem"
1396
- - "(int n, ?random: _Rand rng) -> ::Array[Elem]"
1397
- rbs_at: references/rbs/core/array.rbs:3209
1416
+ - "(?random: _Rand) -> E"
1417
+ - "(int count, ?random: _Rand) -> Array[E]"
1418
+ rbs_at: references/rbs/core/array.rbs:3266
1398
1419
  first:
1399
1420
  source: prelude
1400
1421
  prelude_attrs: []
@@ -1406,9 +1427,9 @@ classes:
1406
1427
  cfunc:
1407
1428
  defined_at: references/ruby/array.rb:129
1408
1429
  rbs:
1409
- - "() -> Elem"
1410
- - "(int n) -> ::Array[Elem]"
1411
- rbs_at: references/rbs/core/array.rbs:2116
1430
+ - "() -> E"
1431
+ - "(int count) -> Array[E]"
1432
+ rbs_at: references/rbs/core/array.rbs:2139
1412
1433
  last:
1413
1434
  source: prelude
1414
1435
  prelude_attrs: []
@@ -1420,9 +1441,9 @@ classes:
1420
1441
  cfunc:
1421
1442
  defined_at: references/ruby/array.rb:166
1422
1443
  rbs:
1423
- - "() -> Elem"
1424
- - "(int n) -> ::Array[Elem]"
1425
- rbs_at: references/rbs/core/array.rbs:2411
1444
+ - "() -> E"
1445
+ - "(int count) -> Array[E]"
1446
+ rbs_at: references/rbs/core/array.rbs:2452
1426
1447
  fetch_values:
1427
1448
  source: prelude
1428
1449
  prelude_attrs: []
@@ -1434,14 +1455,15 @@ classes:
1434
1455
  cfunc:
1435
1456
  defined_at: references/ruby/array.rb:210
1436
1457
  rbs:
1437
- - "(*int indexes) -> self"
1438
- rbs_at: references/rbs/core/array.rbs:1811
1458
+ - "(*int indexes) -> Array[E]"
1459
+ - "[I < _ToInt, T] (*I indexes) { (I index) -> T } -> Array[E | T]"
1460
+ rbs_at: references/rbs/core/array.rbs:1836
1439
1461
  singleton_methods:
1440
1462
  new:
1441
1463
  source: c
1442
1464
  cfunc: rb_ary_s_new
1443
1465
  arity: -1
1444
- defined_at: references/ruby/array.c:8869
1466
+ defined_at: references/ruby/array.c:8874
1445
1467
  c_body_at: references/ruby/array.c:1073
1446
1468
  c_effects: []
1447
1469
  purity: leaf
@@ -1449,22 +1471,24 @@ classes:
1449
1471
  source: c
1450
1472
  cfunc: rb_ary_s_create
1451
1473
  arity: -1
1452
- defined_at: references/ruby/array.c:8870
1474
+ defined_at: references/ruby/array.c:8875
1453
1475
  c_body_at: references/ruby/array.c:1211
1454
1476
  c_effects: []
1455
1477
  purity: leaf
1456
1478
  rbs:
1457
- - "[U] (*U) -> ::Array[U]"
1458
- rbs_at: references/rbs/core/array.rbs:624
1479
+ - "[U] (*U) -> Array[U]"
1480
+ rbs_at: references/rbs/core/array.rbs:630
1459
1481
  try_convert:
1460
1482
  source: c
1461
1483
  cfunc: rb_ary_s_try_convert
1462
1484
  arity: 1
1463
- defined_at: references/ruby/array.c:8871
1485
+ defined_at: references/ruby/array.c:8876
1464
1486
  c_body_at: references/ruby/array.c:1066
1465
1487
  c_effects: []
1466
1488
  purity: leaf
1467
1489
  rbs:
1468
- - "[U] (untyped) -> ::Array[U]?"
1469
- rbs_at: references/rbs/core/array.rbs:643
1490
+ - "[A < Array[U], U] (A array) -> A"
1491
+ - "[U] (array[U] ary) -> Array[U]?"
1492
+ - "(untyped) -> Array[untyped]?"
1493
+ rbs_at: references/rbs/core/array.rbs:649
1470
1494
  undefined: []