rigortype 0.0.3 → 0.0.4

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.
@@ -0,0 +1,936 @@
1
+ # DO NOT EDIT — generated by tool/extract_builtin_catalog.rb
2
+ ---
3
+ schema_version: 1
4
+ generated_from:
5
+ ruby_init_c: references/ruby/hash.c
6
+ ruby_prelude: references/ruby/hash.rb
7
+ rbs:
8
+ - references/rbs/core/hash.rbs
9
+ purity_levels:
10
+ leaf: Prelude :leaf marker (VM-enforced) or C body uses no dispatch/yield/mutation.
11
+ trivial: Prelude method body is a literal return (self/true/false/nil/Integer).
12
+ leaf_when_numeric: C body falls through to rb_num_coerce_* only when an operand
13
+ is non-numeric; safe to fold when every argument is a concrete numeric.
14
+ inline_block: Prelude method carries :inline_block or :use_block; block-dependent.
15
+ block_dependent: C body yields or checks rb_block_given_p.
16
+ mutates_self: C body checks rb_check_frozen — typically a prelude to mutation.
17
+ dispatch: C body calls user-redefinable methods (rb_funcall*, rb_equal, rb_Float,
18
+ num_funcall*, etc).
19
+ unknown: C body not located in indexed C files.
20
+ classes:
21
+ Hash:
22
+ parent: Object
23
+ defined_at: references/ruby/hash.c:7347
24
+ includes:
25
+ - module: Enumerable
26
+ defined_at: references/ruby/hash.c:7349
27
+ constants: {}
28
+ aliases:
29
+ to_s:
30
+ old: inspect
31
+ source: c
32
+ defined_at: references/ruby/hash.c:7362
33
+ instance_methods:
34
+ initialize_copy:
35
+ source: c
36
+ cfunc: rb_hash_replace
37
+ arity: 1
38
+ defined_at: references/ruby/hash.c:7354
39
+ c_body_at: references/ruby/hash.c:2966
40
+ c_effects:
41
+ - mutate
42
+ - raises
43
+ purity: mutates_self
44
+ rbs:
45
+ - "(self object) -> self"
46
+ rbs_at: references/rbs/core/hash.rbs:2166
47
+ rehash:
48
+ source: c
49
+ cfunc: rb_hash_rehash
50
+ arity: 0
51
+ defined_at: references/ruby/hash.c:7355
52
+ c_body_at: references/ruby/hash.c:1959
53
+ c_effects:
54
+ - mutate
55
+ - raises
56
+ purity: mutates_self
57
+ rbs:
58
+ - "() -> self"
59
+ rbs_at: references/rbs/core/hash.rbs:1545
60
+ freeze:
61
+ source: c
62
+ cfunc: rb_hash_freeze
63
+ arity: 0
64
+ defined_at: references/ruby/hash.c:7356
65
+ c_body_at: references/ruby/hash.c:104
66
+ c_effects:
67
+ - mutate
68
+ purity: mutates_self
69
+ to_hash:
70
+ source: c
71
+ cfunc: rb_hash_to_hash
72
+ arity: 0
73
+ defined_at: references/ruby/hash.c:7358
74
+ c_body_at: references/ruby/hash.c:3676
75
+ c_effects: []
76
+ purity: leaf
77
+ rbs:
78
+ - "() -> self"
79
+ rbs_at: references/rbs/core/hash.rbs:1759
80
+ to_h:
81
+ source: c
82
+ cfunc: rb_hash_to_h
83
+ arity: 0
84
+ defined_at: references/ruby/hash.c:7359
85
+ c_body_at: references/ruby/hash.c:3735
86
+ c_effects:
87
+ - block
88
+ purity: block_dependent
89
+ rbs:
90
+ - "() -> Hash[K, V]"
91
+ - "[A, B] () { (K, V) -> [ A, B ] } -> Hash[A, B]"
92
+ rbs_at: references/rbs/core/hash.rbs:1748
93
+ to_a:
94
+ source: c
95
+ cfunc: rb_hash_to_a
96
+ arity: 0
97
+ defined_at: references/ruby/hash.c:7360
98
+ c_body_at: references/ruby/hash.c:3559
99
+ c_effects: []
100
+ purity: leaf
101
+ rbs:
102
+ - "() -> ::Array[[ K, V ]]"
103
+ rbs_at: references/rbs/core/hash.rbs:1726
104
+ inspect:
105
+ source: c
106
+ cfunc: rb_hash_inspect
107
+ arity: 0
108
+ defined_at: references/ruby/hash.c:7361
109
+ c_body_at: references/ruby/hash.c:3660
110
+ c_effects:
111
+ - dispatch
112
+ purity: dispatch
113
+ rbs:
114
+ - "() -> String"
115
+ rbs_at: references/rbs/core/hash.rbs:1325
116
+ to_proc:
117
+ source: c
118
+ cfunc: rb_hash_to_proc
119
+ arity: 0
120
+ defined_at: references/ruby/hash.c:7363
121
+ c_body_at: references/ruby/hash.c:5022
122
+ c_effects: []
123
+ purity: leaf
124
+ rbs:
125
+ - "() -> ^(K) -> V?"
126
+ rbs_at: references/rbs/core/hash.rbs:1776
127
+ "==":
128
+ source: c
129
+ cfunc: rb_hash_equal
130
+ arity: 1
131
+ defined_at: references/ruby/hash.c:7365
132
+ c_body_at: references/ruby/hash.c:4005
133
+ c_effects: []
134
+ purity: leaf
135
+ rbs:
136
+ - "(untyped other) -> bool"
137
+ rbs_at: references/rbs/core/hash.rbs:608
138
+ "[]":
139
+ source: c
140
+ cfunc: rb_hash_aref
141
+ arity: 1
142
+ defined_at: references/ruby/hash.c:7366
143
+ c_body_at: references/ruby/hash.c:2068
144
+ c_effects: []
145
+ purity: leaf
146
+ rbs:
147
+ - "(K arg0) -> V"
148
+ rbs_at: references/rbs/core/hash.rbs:674
149
+ hash:
150
+ source: c
151
+ cfunc: rb_hash_hash
152
+ arity: 0
153
+ defined_at: references/ruby/hash.c:7367
154
+ c_body_at: references/ruby/hash.c:4067
155
+ c_effects: []
156
+ purity: leaf
157
+ rbs:
158
+ - "() -> Integer"
159
+ rbs_at: references/rbs/core/hash.rbs:1298
160
+ eql?:
161
+ source: c
162
+ cfunc: rb_hash_eql
163
+ arity: 1
164
+ defined_at: references/ruby/hash.c:7368
165
+ c_body_at: references/ruby/hash.c:4032
166
+ c_effects: []
167
+ purity: leaf
168
+ rbs:
169
+ - "(untyped) -> bool"
170
+ rbs_at: references/rbs/core/hash.rbs:1120
171
+ fetch:
172
+ source: c
173
+ cfunc: rb_hash_fetch_m
174
+ arity: -1
175
+ defined_at: references/ruby/hash.c:7369
176
+ c_body_at: references/ruby/hash.c:2126
177
+ c_effects:
178
+ - block
179
+ - dispatch
180
+ purity: block_dependent
181
+ rbs:
182
+ - "(K arg0) -> V"
183
+ - "[X] (K arg0, X arg1) -> (V | X)"
184
+ - "[X] (K arg0) { (K arg0) -> X } -> (V | X)"
185
+ rbs_at: references/rbs/core/hash.rbs:1164
186
+ "[]=":
187
+ source: c
188
+ cfunc: rb_hash_aset
189
+ arity: 2
190
+ defined_at: references/ruby/hash.c:7370
191
+ c_body_at: references/ruby/hash.c:2929
192
+ c_effects:
193
+ - mutate
194
+ purity: mutates_self
195
+ rbs:
196
+ - "(K arg0, V arg1) -> V"
197
+ rbs_at: references/rbs/core/hash.rbs:704
198
+ store:
199
+ source: c
200
+ cfunc: rb_hash_aset
201
+ arity: 2
202
+ defined_at: references/ruby/hash.c:7371
203
+ c_body_at: references/ruby/hash.c:2929
204
+ c_effects:
205
+ - mutate
206
+ purity: mutates_self
207
+ default:
208
+ source: c
209
+ cfunc: rb_hash_default
210
+ arity: -1
211
+ defined_at: references/ruby/hash.c:7372
212
+ c_body_at: references/ruby/hash.c:2188
213
+ c_effects: []
214
+ purity: leaf
215
+ rbs:
216
+ - "(?K arg0) -> V?"
217
+ rbs_at: references/rbs/core/hash.rbs:869
218
+ default=:
219
+ source: c
220
+ cfunc: rb_hash_set_default
221
+ arity: 1
222
+ defined_at: references/ruby/hash.c:7373
223
+ c_body_at: references/ruby/hash.c:2215
224
+ c_effects:
225
+ - mutate
226
+ purity: mutates_self
227
+ rbs:
228
+ - "(V arg0) -> V"
229
+ rbs_at: references/rbs/core/hash.rbs:883
230
+ default_proc:
231
+ source: c
232
+ cfunc: rb_hash_default_proc
233
+ arity: 0
234
+ defined_at: references/ruby/hash.c:7374
235
+ c_body_at: references/ruby/hash.c:2235
236
+ c_effects: []
237
+ purity: leaf
238
+ rbs:
239
+ - "() -> (Proc | nil)"
240
+ rbs_at: references/rbs/core/hash.rbs:896
241
+ default_proc=:
242
+ source: c
243
+ cfunc: rb_hash_set_default_proc
244
+ arity: 1
245
+ defined_at: references/ruby/hash.c:7375
246
+ c_body_at: references/ruby/hash.c:2258
247
+ c_effects:
248
+ - mutate
249
+ - raises
250
+ purity: mutates_self
251
+ rbs:
252
+ - "(Proc | _ToProc | nil) -> (Proc | _ToProc | nil)"
253
+ rbs_at: references/rbs/core/hash.rbs:911
254
+ key:
255
+ source: c
256
+ cfunc: rb_hash_key
257
+ arity: 1
258
+ defined_at: references/ruby/hash.c:7376
259
+ c_body_at: references/ruby/hash.c:2307
260
+ c_effects: []
261
+ purity: leaf
262
+ rbs:
263
+ - "(V) -> K?"
264
+ rbs_at: references/rbs/core/hash.rbs:1382
265
+ size:
266
+ source: c
267
+ cfunc: rb_hash_size
268
+ arity: 0
269
+ defined_at: references/ruby/hash.c:7377
270
+ c_body_at: references/ruby/hash.c:3001
271
+ c_effects: []
272
+ purity: leaf
273
+ length:
274
+ source: c
275
+ cfunc: rb_hash_size
276
+ arity: 0
277
+ defined_at: references/ruby/hash.c:7378
278
+ c_body_at: references/ruby/hash.c:3001
279
+ c_effects: []
280
+ purity: leaf
281
+ rbs:
282
+ - "() -> Integer"
283
+ rbs_at: references/rbs/core/hash.rbs:1415
284
+ empty?:
285
+ source: c
286
+ cfunc: rb_hash_empty_p
287
+ arity: 0
288
+ defined_at: references/ruby/hash.c:7379
289
+ c_body_at: references/ruby/hash.c:3025
290
+ c_effects: []
291
+ purity: leaf
292
+ rbs:
293
+ - "() -> bool"
294
+ rbs_at: references/rbs/core/hash.rbs:1098
295
+ each_value:
296
+ source: c
297
+ cfunc: rb_hash_each_value
298
+ arity: 0
299
+ defined_at: references/ruby/hash.c:7381
300
+ c_body_at: references/ruby/hash.c:3058
301
+ c_effects: []
302
+ purity: leaf
303
+ rbs:
304
+ - "() { (V arg0) -> untyped } -> self"
305
+ - "() -> ::Enumerator[V, self]"
306
+ rbs_at: references/rbs/core/hash.rbs:1084
307
+ each_key:
308
+ source: c
309
+ cfunc: rb_hash_each_key
310
+ arity: 0
311
+ defined_at: references/ruby/hash.c:7382
312
+ c_body_at: references/ruby/hash.c:3092
313
+ c_effects: []
314
+ purity: leaf
315
+ rbs:
316
+ - "() { (K arg0) -> untyped } -> ::Hash[K, V]"
317
+ - "() -> ::Enumerator[K, self]"
318
+ rbs_at: references/rbs/core/hash.rbs:1040
319
+ each_pair:
320
+ source: c
321
+ cfunc: rb_hash_each_pair
322
+ arity: 0
323
+ defined_at: references/ruby/hash.c:7383
324
+ c_body_at: references/ruby/hash.c:3138
325
+ c_effects: []
326
+ purity: leaf
327
+ each:
328
+ source: c
329
+ cfunc: rb_hash_each_pair
330
+ arity: 0
331
+ defined_at: references/ruby/hash.c:7384
332
+ c_body_at: references/ruby/hash.c:3138
333
+ c_effects: []
334
+ purity: leaf
335
+ rbs:
336
+ - "() { ([ K, V ] arg0) -> untyped } -> self"
337
+ - "() -> ::Enumerator[[ K, V ], self]"
338
+ rbs_at: references/rbs/core/hash.rbs:1018
339
+ transform_keys:
340
+ source: c
341
+ cfunc: rb_hash_transform_keys
342
+ arity: -1
343
+ defined_at: references/ruby/hash.c:7386
344
+ c_body_at: references/ruby/hash.c:3267
345
+ c_effects:
346
+ - block
347
+ purity: block_dependent
348
+ rbs:
349
+ - "() -> Enumerator[K, Hash[untyped, V]]"
350
+ - "[A] (Hash[K, A]) -> Hash[A, V]"
351
+ - "[A] () { (K) -> A } -> Hash[A, V]"
352
+ - "[A] (Hash[K, A]) { (K) -> A } -> Hash[A, V]"
353
+ rbs_at: references/rbs/core/hash.rbs:1872
354
+ transform_keys!:
355
+ source: c
356
+ cfunc: rb_hash_transform_keys_bang
357
+ arity: -1
358
+ defined_at: references/ruby/hash.c:7387
359
+ c_body_at: references/ruby/hash.c:3391
360
+ c_effects:
361
+ - block
362
+ - mutate
363
+ purity: block_dependent
364
+ rbs:
365
+ - "() -> Enumerator[K, self]"
366
+ - "(Hash[K, K]) -> self"
367
+ - "() { (K) -> K } -> self"
368
+ - "(Hash[K, K]) { (K) -> K } -> self"
369
+ rbs_at: references/rbs/core/hash.rbs:1967
370
+ transform_values:
371
+ source: c
372
+ cfunc: rb_hash_transform_values
373
+ arity: 0
374
+ defined_at: references/ruby/hash.c:7388
375
+ c_body_at: references/ruby/hash.c:3488
376
+ c_effects: []
377
+ purity: leaf
378
+ rbs:
379
+ - "() -> Enumerator[V, Hash[K, untyped]]"
380
+ - "[A] () { (V) -> A } -> Hash[K, A]"
381
+ rbs_at: references/rbs/core/hash.rbs:1990
382
+ transform_values!:
383
+ source: c
384
+ cfunc: rb_hash_transform_values_bang
385
+ arity: 0
386
+ defined_at: references/ruby/hash.c:7389
387
+ c_body_at: references/ruby/hash.c:3526
388
+ c_effects:
389
+ - mutate
390
+ purity: mutates_self
391
+ rbs:
392
+ - "() -> Enumerator[V, self]"
393
+ - "() { (V) -> V } -> self"
394
+ rbs_at: references/rbs/core/hash.rbs:2013
395
+ keys:
396
+ source: c
397
+ cfunc: rb_hash_keys
398
+ arity: 0
399
+ defined_at: references/ruby/hash.c:7391
400
+ c_body_at: references/ruby/hash.c:3767
401
+ c_effects:
402
+ - mutate
403
+ purity: mutates_self
404
+ rbs:
405
+ - "() -> ::Array[K]"
406
+ rbs_at: references/rbs/core/hash.rbs:1406
407
+ values:
408
+ source: c
409
+ cfunc: rb_hash_values
410
+ arity: 0
411
+ defined_at: references/ruby/hash.c:7392
412
+ c_body_at: references/ruby/hash.c:3814
413
+ c_effects:
414
+ - mutate
415
+ purity: mutates_self
416
+ rbs:
417
+ - "() -> ::Array[V]"
418
+ rbs_at: references/rbs/core/hash.rbs:2081
419
+ values_at:
420
+ source: c
421
+ cfunc: rb_hash_values_at
422
+ arity: -1
423
+ defined_at: references/ruby/hash.c:7393
424
+ c_body_at: references/ruby/hash.c:2686
425
+ c_effects:
426
+ - mutate
427
+ purity: mutates_self
428
+ rbs:
429
+ - "(*K arg0) -> ::Array[V?]"
430
+ rbs_at: references/rbs/core/hash.rbs:2099
431
+ fetch_values:
432
+ source: c
433
+ cfunc: rb_hash_fetch_values
434
+ arity: -1
435
+ defined_at: references/ruby/hash.c:7394
436
+ c_body_at: references/ruby/hash.c:2722
437
+ c_effects:
438
+ - mutate
439
+ purity: mutates_self
440
+ rbs:
441
+ - "(*K) -> ::Array[V]"
442
+ - "[X] (*K) { (K) -> X } -> ::Array[V | X]"
443
+ rbs_at: references/rbs/core/hash.rbs:1189
444
+ shift:
445
+ source: c
446
+ cfunc: rb_hash_shift
447
+ arity: 0
448
+ defined_at: references/ruby/hash.c:7396
449
+ c_body_at: references/ruby/hash.c:2454
450
+ c_effects:
451
+ - mutate
452
+ purity: mutates_self
453
+ rbs:
454
+ - "() -> [ K, V ]?"
455
+ rbs_at: references/rbs/core/hash.rbs:1659
456
+ delete:
457
+ source: c
458
+ cfunc: rb_hash_delete_m
459
+ arity: 1
460
+ defined_at: references/ruby/hash.c:7397
461
+ c_body_at: references/ruby/hash.c:2401
462
+ c_effects:
463
+ - block
464
+ - mutate
465
+ purity: block_dependent
466
+ rbs:
467
+ - "(K arg0) -> V?"
468
+ - "[U] (K arg0) { (K arg0) -> U } -> (U | V)"
469
+ rbs_at: references/rbs/core/hash.rbs:945
470
+ delete_if:
471
+ source: c
472
+ cfunc: rb_hash_delete_if
473
+ arity: 0
474
+ defined_at: references/ruby/hash.c:7398
475
+ c_body_at: references/ruby/hash.c:2526
476
+ c_effects:
477
+ - mutate
478
+ purity: mutates_self
479
+ rbs:
480
+ - "() { (K, V) -> boolish } -> self"
481
+ - "() -> ::Enumerator[[ K, V ], self]"
482
+ rbs_at: references/rbs/core/hash.rbs:963
483
+ keep_if:
484
+ source: c
485
+ cfunc: rb_hash_keep_if
486
+ arity: 0
487
+ defined_at: references/ruby/hash.c:7399
488
+ c_body_at: references/ruby/hash.c:2825
489
+ c_effects:
490
+ - mutate
491
+ purity: mutates_self
492
+ rbs:
493
+ - "() { (K, V) -> boolish } -> self"
494
+ - "() -> ::Enumerator[[ K, V ], self]"
495
+ rbs_at: references/rbs/core/hash.rbs:1364
496
+ select:
497
+ source: c
498
+ cfunc: rb_hash_select
499
+ arity: 0
500
+ defined_at: references/ruby/hash.c:7400
501
+ c_body_at: references/ruby/hash.c:2760
502
+ c_effects: []
503
+ purity: leaf
504
+ select!:
505
+ source: c
506
+ cfunc: rb_hash_select_bang
507
+ arity: 0
508
+ defined_at: references/ruby/hash.c:7401
509
+ c_body_at: references/ruby/hash.c:2794
510
+ c_effects:
511
+ - mutate
512
+ purity: mutates_self
513
+ filter:
514
+ source: c
515
+ cfunc: rb_hash_select
516
+ arity: 0
517
+ defined_at: references/ruby/hash.c:7402
518
+ c_body_at: references/ruby/hash.c:2760
519
+ c_effects: []
520
+ purity: leaf
521
+ rbs:
522
+ - "() { (K, V) -> boolish } -> ::Hash[K, V]"
523
+ - "() -> ::Enumerator[[ K, V ], ::Hash[K, V]]"
524
+ rbs_at: references/rbs/core/hash.rbs:1203
525
+ filter!:
526
+ source: c
527
+ cfunc: rb_hash_select_bang
528
+ arity: 0
529
+ defined_at: references/ruby/hash.c:7403
530
+ c_body_at: references/ruby/hash.c:2794
531
+ c_effects:
532
+ - mutate
533
+ purity: mutates_self
534
+ rbs:
535
+ - "() { (K, V) -> boolish } -> self?"
536
+ - "() -> ::Enumerator[[ K, V ], self?]"
537
+ rbs_at: references/rbs/core/hash.rbs:1220
538
+ reject:
539
+ source: c
540
+ cfunc: rb_hash_reject
541
+ arity: 0
542
+ defined_at: references/ruby/hash.c:7404
543
+ c_body_at: references/ruby/hash.c:2590
544
+ c_effects: []
545
+ purity: leaf
546
+ rbs:
547
+ - "() -> ::Enumerator[[ K, V ], ::Hash[K, V]]"
548
+ - "() { (K, V) -> boolish } -> ::Hash[K, V]"
549
+ rbs_at: references/rbs/core/hash.rbs:1564
550
+ reject!:
551
+ source: c
552
+ cfunc: rb_hash_reject_bang
553
+ arity: 0
554
+ defined_at: references/ruby/hash.c:7405
555
+ c_body_at: references/ruby/hash.c:2557
556
+ c_effects:
557
+ - mutate
558
+ purity: mutates_self
559
+ rbs:
560
+ - "() -> ::Enumerator[[ K, V ], self?]"
561
+ - "() { (K, V) -> boolish } -> self?"
562
+ rbs_at: references/rbs/core/hash.rbs:1585
563
+ slice:
564
+ source: c
565
+ cfunc: rb_hash_slice
566
+ arity: -1
567
+ defined_at: references/ruby/hash.c:7406
568
+ c_body_at: references/ruby/hash.c:2617
569
+ c_effects:
570
+ - mutate
571
+ purity: mutates_self
572
+ rbs:
573
+ - "(*K) -> ::Hash[K, V]"
574
+ rbs_at: references/rbs/core/hash.rbs:1685
575
+ except:
576
+ source: c
577
+ cfunc: rb_hash_except
578
+ arity: -1
579
+ defined_at: references/ruby/hash.c:7407
580
+ c_body_at: references/ruby/hash.c:2652
581
+ c_effects:
582
+ - mutate
583
+ purity: mutates_self
584
+ rbs:
585
+ - "(*K) -> ::Hash[K, V]"
586
+ rbs_at: references/rbs/core/hash.rbs:1135
587
+ clear:
588
+ source: c
589
+ cfunc: rb_hash_clear
590
+ arity: 0
591
+ defined_at: references/ruby/hash.c:7408
592
+ c_body_at: references/ruby/hash.c:2851
593
+ c_effects:
594
+ - mutate
595
+ purity: mutates_self
596
+ rbs:
597
+ - "() -> self"
598
+ rbs_at: references/rbs/core/hash.rbs:769
599
+ invert:
600
+ source: c
601
+ cfunc: rb_hash_invert
602
+ arity: 0
603
+ defined_at: references/ruby/hash.c:7409
604
+ c_body_at: references/ruby/hash.c:4106
605
+ c_effects: []
606
+ purity: leaf
607
+ rbs:
608
+ - "() -> ::Hash[V, K]"
609
+ rbs_at: references/rbs/core/hash.rbs:1346
610
+ update:
611
+ source: c
612
+ cfunc: rb_hash_update
613
+ arity: -1
614
+ defined_at: references/ruby/hash.c:7410
615
+ c_body_at: references/ruby/hash.c:4229
616
+ c_effects:
617
+ - block
618
+ - mutate
619
+ purity: block_dependent
620
+ replace:
621
+ source: c
622
+ cfunc: rb_hash_replace
623
+ arity: 1
624
+ defined_at: references/ruby/hash.c:7411
625
+ c_body_at: references/ruby/hash.c:2966
626
+ c_effects:
627
+ - mutate
628
+ - raises
629
+ purity: mutates_self
630
+ rbs:
631
+ - "(Hash[K, V]) -> self"
632
+ rbs_at: references/rbs/core/hash.rbs:1605
633
+ merge!:
634
+ source: c
635
+ cfunc: rb_hash_update
636
+ arity: -1
637
+ defined_at: references/ruby/hash.c:7412
638
+ c_body_at: references/ruby/hash.c:4229
639
+ c_effects:
640
+ - block
641
+ - mutate
642
+ purity: block_dependent
643
+ rbs:
644
+ - "(*::Hash[K, V] other_hashes) -> self"
645
+ - "(*::Hash[K, V] other_hashes) { (K key, V oldval, V newval) -> V } -> self"
646
+ rbs_at: references/rbs/core/hash.rbs:1514
647
+ merge:
648
+ source: c
649
+ cfunc: rb_hash_merge
650
+ arity: -1
651
+ defined_at: references/ruby/hash.c:7413
652
+ c_body_at: references/ruby/hash.c:4340
653
+ c_effects: []
654
+ purity: leaf
655
+ rbs:
656
+ - "[A, B] (*::Hash[A, B] other_hashes) -> ::Hash[A | K, B | V]"
657
+ - "[A, B, C] (*::Hash[A, B] other_hashes) { (K key, V oldval, B newval) ->
658
+ C } -> ::Hash[A | K, B | V | C]"
659
+ rbs_at: references/rbs/core/hash.rbs:1470
660
+ assoc:
661
+ source: c
662
+ cfunc: rb_hash_assoc
663
+ arity: 1
664
+ defined_at: references/ruby/hash.c:7414
665
+ c_body_at: references/ruby/hash.c:4393
666
+ c_effects: []
667
+ purity: leaf
668
+ rbs:
669
+ - "(K arg0) -> [ K, V ]?"
670
+ rbs_at: references/rbs/core/hash.rbs:759
671
+ rassoc:
672
+ source: c
673
+ cfunc: rb_hash_rassoc
674
+ arity: 1
675
+ defined_at: references/ruby/hash.c:7415
676
+ c_body_at: references/ruby/hash.c:4457
677
+ c_effects: []
678
+ purity: leaf
679
+ rbs:
680
+ - "(V) -> [ K, V ]?"
681
+ rbs_at: references/rbs/core/hash.rbs:1532
682
+ flatten:
683
+ source: c
684
+ cfunc: rb_hash_flatten
685
+ arity: -1
686
+ defined_at: references/ruby/hash.c:7416
687
+ c_body_at: references/ruby/hash.c:4516
688
+ c_effects:
689
+ - dispatch
690
+ purity: dispatch
691
+ rbs:
692
+ - "() -> ::Array[K | V]"
693
+ - "(1 level) -> ::Array[K | V]"
694
+ - "(Integer level) -> Array[untyped]"
695
+ rbs_at: references/rbs/core/hash.rbs:1257
696
+ compact:
697
+ source: c
698
+ cfunc: rb_hash_compact
699
+ arity: 0
700
+ defined_at: references/ruby/hash.c:7417
701
+ c_body_at: references/ruby/hash.c:4570
702
+ c_effects: []
703
+ purity: leaf
704
+ rbs:
705
+ - "() -> ::Hash[K, V]"
706
+ rbs_at: references/rbs/core/hash.rbs:782
707
+ compact!:
708
+ source: c
709
+ cfunc: rb_hash_compact_bang
710
+ arity: 0
711
+ defined_at: references/ruby/hash.c:7418
712
+ c_body_at: references/ruby/hash.c:4600
713
+ c_effects:
714
+ - mutate
715
+ purity: mutates_self
716
+ rbs:
717
+ - "() -> self?"
718
+ rbs_at: references/rbs/core/hash.rbs:798
719
+ include?:
720
+ source: c
721
+ cfunc: rb_hash_has_key
722
+ arity: 1
723
+ defined_at: references/ruby/hash.c:7420
724
+ c_body_at: references/ruby/hash.c:3859
725
+ c_effects: []
726
+ purity: leaf
727
+ member?:
728
+ source: c
729
+ cfunc: rb_hash_has_key
730
+ arity: 1
731
+ defined_at: references/ruby/hash.c:7421
732
+ c_body_at: references/ruby/hash.c:3859
733
+ c_effects: []
734
+ purity: leaf
735
+ has_key?:
736
+ source: c
737
+ cfunc: rb_hash_has_key
738
+ arity: 1
739
+ defined_at: references/ruby/hash.c:7422
740
+ c_body_at: references/ruby/hash.c:3859
741
+ c_effects: []
742
+ purity: leaf
743
+ rbs:
744
+ - "(_Key) -> bool"
745
+ rbs_at: references/rbs/core/hash.rbs:1270
746
+ has_value?:
747
+ source: c
748
+ cfunc: rb_hash_has_value
749
+ arity: 1
750
+ defined_at: references/ruby/hash.c:7423
751
+ c_body_at: references/ruby/hash.c:3886
752
+ c_effects: []
753
+ purity: leaf
754
+ rbs:
755
+ - "(top arg0) -> bool"
756
+ rbs_at: references/rbs/core/hash.rbs:1280
757
+ key?:
758
+ source: c
759
+ cfunc: rb_hash_has_key
760
+ arity: 1
761
+ defined_at: references/ruby/hash.c:7424
762
+ c_body_at: references/ruby/hash.c:3859
763
+ c_effects: []
764
+ purity: leaf
765
+ value?:
766
+ source: c
767
+ cfunc: rb_hash_has_value
768
+ arity: 1
769
+ defined_at: references/ruby/hash.c:7425
770
+ c_body_at: references/ruby/hash.c:3886
771
+ c_effects: []
772
+ purity: leaf
773
+ compare_by_identity:
774
+ source: c
775
+ cfunc: rb_hash_compare_by_id
776
+ arity: 0
777
+ defined_at: references/ruby/hash.c:7427
778
+ c_body_at: references/ruby/hash.c:4640
779
+ c_effects:
780
+ - mutate
781
+ - raises
782
+ purity: mutates_self
783
+ rbs:
784
+ - "() -> self"
785
+ rbs_at: references/rbs/core/hash.rbs:825
786
+ compare_by_identity?:
787
+ source: c
788
+ cfunc: rb_hash_compare_by_id_p
789
+ arity: 0
790
+ defined_at: references/ruby/hash.c:7428
791
+ c_body_at: references/ruby/hash.c:4695
792
+ c_effects: []
793
+ purity: leaf
794
+ rbs:
795
+ - "() -> bool"
796
+ rbs_at: references/rbs/core/hash.rbs:841
797
+ any?:
798
+ source: c
799
+ cfunc: rb_hash_any_p
800
+ arity: -1
801
+ defined_at: references/ruby/hash.c:7430
802
+ c_body_at: references/ruby/hash.c:4796
803
+ c_effects:
804
+ - block
805
+ purity: block_dependent
806
+ rbs:
807
+ - "() -> bool"
808
+ - "(untyped pattern) -> bool"
809
+ - "() { (K, V) -> boolish } -> bool"
810
+ rbs_at: references/rbs/core/hash.rbs:741
811
+ dig:
812
+ source: c
813
+ cfunc: rb_hash_dig
814
+ arity: -1
815
+ defined_at: references/ruby/hash.c:7431
816
+ c_body_at: references/ruby/hash.c:4860
817
+ c_effects: []
818
+ purity: leaf
819
+ rbs:
820
+ - "(K, *untyped) -> untyped"
821
+ rbs_at: references/rbs/core/hash.rbs:1000
822
+ "<=":
823
+ source: c
824
+ cfunc: rb_hash_le
825
+ arity: 1
826
+ defined_at: references/ruby/hash.c:7433
827
+ c_body_at: references/ruby/hash.c:4908
828
+ c_effects: []
829
+ purity: leaf
830
+ rbs:
831
+ - "[A, B] (::Hash[A, B]) -> bool"
832
+ rbs_at: references/rbs/core/hash.rbs:580
833
+ "<":
834
+ source: c
835
+ cfunc: rb_hash_lt
836
+ arity: 1
837
+ defined_at: references/ruby/hash.c:7434
838
+ c_body_at: references/ruby/hash.c:4936
839
+ c_effects: []
840
+ purity: leaf
841
+ rbs:
842
+ - "[A, B] (::Hash[A, B]) -> bool"
843
+ rbs_at: references/rbs/core/hash.rbs:559
844
+ ">=":
845
+ source: c
846
+ cfunc: rb_hash_ge
847
+ arity: 1
848
+ defined_at: references/ruby/hash.c:7435
849
+ c_body_at: references/ruby/hash.c:4963
850
+ c_effects: []
851
+ purity: leaf
852
+ rbs:
853
+ - "[A, B] (::Hash[A, B]) -> bool"
854
+ rbs_at: references/rbs/core/hash.rbs:654
855
+ ">":
856
+ source: c
857
+ cfunc: rb_hash_gt
858
+ arity: 1
859
+ defined_at: references/ruby/hash.c:7436
860
+ c_body_at: references/ruby/hash.c:4992
861
+ c_effects: []
862
+ purity: leaf
863
+ rbs:
864
+ - "[A, B] (::Hash[A, B]) -> bool"
865
+ rbs_at: references/rbs/core/hash.rbs:632
866
+ deconstruct_keys:
867
+ source: c
868
+ cfunc: rb_hash_deconstruct_keys
869
+ arity: 1
870
+ defined_at: references/ruby/hash.c:7438
871
+ c_body_at: references/ruby/hash.c:5029
872
+ c_effects: []
873
+ purity: leaf
874
+ rbs:
875
+ - "(Array[K] | nil) -> self"
876
+ rbs_at: references/rbs/core/hash.rbs:848
877
+ initialize:
878
+ source: prelude
879
+ prelude_attrs: []
880
+ body_kind: composed
881
+ cexpr_target:
882
+ prelude_at: references/ruby/hash.rb:37
883
+ purity: unknown
884
+ arity: -1
885
+ cfunc:
886
+ defined_at: references/ruby/hash.rb:37
887
+ rbs:
888
+ - "(?capacity: int) -> void"
889
+ - "(V default, ?capacity: int) -> void"
890
+ - "(?capacity: int) { (Hash[K, V] hash, K key) -> V } -> void"
891
+ rbs_at: references/rbs/core/hash.rbs:2142
892
+ singleton_methods:
893
+ "[]":
894
+ source: c
895
+ cfunc: rb_hash_s_create
896
+ arity: -1
897
+ defined_at: references/ruby/hash.c:7352
898
+ c_body_at: references/ruby/hash.c:1787
899
+ c_effects:
900
+ - mutate
901
+ - raises
902
+ purity: mutates_self
903
+ rbs:
904
+ - "[U, V] (_ToHash[U, V]) -> ::Hash[U, V]"
905
+ - "[U, V] (Array[[ U, V ]]) -> ::Hash[U, V]"
906
+ - "(*untyped) -> ::Hash[untyped, untyped]"
907
+ rbs_at: references/rbs/core/hash.rbs:517
908
+ try_convert:
909
+ source: c
910
+ cfunc: rb_hash_s_try_convert
911
+ arity: 1
912
+ defined_at: references/ruby/hash.c:7353
913
+ c_body_at: references/ruby/hash.c:1874
914
+ c_effects: []
915
+ purity: leaf
916
+ rbs:
917
+ - "[U, V] (_ToHash[U, V]) -> ::Hash[U, V]"
918
+ - "(untyped) -> (::Hash[untyped, untyped] | nil)"
919
+ rbs_at: references/rbs/core/hash.rbs:534
920
+ ruby2_keywords_hash?:
921
+ source: c
922
+ cfunc: rb_hash_s_ruby2_keywords_hash_p
923
+ arity: 1
924
+ defined_at: references/ruby/hash.c:7440
925
+ c_body_at: references/ruby/hash.c:1895
926
+ c_effects: []
927
+ purity: leaf
928
+ ruby2_keywords_hash:
929
+ source: c
930
+ cfunc: rb_hash_s_ruby2_keywords_hash
931
+ arity: 1
932
+ defined_at: references/ruby/hash.c:7441
933
+ c_body_at: references/ruby/hash.c:1917
934
+ c_effects: []
935
+ purity: leaf
936
+ undefined: []