rbs 3.2.2 → 3.3.0.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/comments.yml +1 -1
- data/.github/workflows/ruby.yml +7 -2
- data/CHANGELOG.md +85 -0
- data/Gemfile.lock +14 -14
- data/README.md +11 -2
- data/Rakefile +10 -7
- data/Steepfile +7 -7
- data/core/basic_object.rbs +7 -7
- data/core/binding.rbs +3 -3
- data/core/builtin.rbs +171 -5
- data/core/constants.rbs +17 -17
- data/core/dir.rbs +3 -3
- data/core/encoding.rbs +434 -628
- data/core/enumerator.rbs +37 -0
- data/core/exception.rbs +11 -11
- data/core/false_class.rbs +5 -11
- data/core/fiber.rbs +3 -3
- data/core/file_test.rbs +28 -26
- data/core/kernel.rbs +900 -21
- data/core/marshal.rbs +24 -14
- data/core/match_data.rbs +8 -8
- data/core/math.rbs +57 -53
- data/core/method.rbs +3 -1
- data/core/module.rbs +38 -36
- data/core/nil_class.rbs +7 -13
- data/core/object.rbs +3 -966
- data/core/process.rbs +3 -3
- data/core/ractor.rbs +2 -2
- data/core/rb_config.rbs +64 -43
- data/core/regexp.rbs +3 -3
- data/core/signal.rbs +10 -4
- data/core/struct.rbs +1 -1
- data/core/thread.rbs +7 -7
- data/core/thread_group.rbs +9 -9
- data/core/true_class.rbs +5 -11
- data/core/unbound_method.rbs +56 -7
- data/core/warning.rbs +33 -0
- data/docs/collection.md +56 -6
- data/docs/data_and_struct.md +57 -0
- data/docs/stdlib.md +61 -2
- data/docs/syntax.md +123 -2
- data/ext/rbs_extension/lexer.c +624 -569
- data/ext/rbs_extension/lexer.h +1 -0
- data/ext/rbs_extension/lexer.re +1 -0
- data/ext/rbs_extension/lexstate.c +1 -0
- data/ext/rbs_extension/parser.c +6 -0
- data/goodcheck.yml +2 -2
- data/lib/rbs/annotate/formatter.rb +13 -3
- data/lib/rbs/annotate/rdoc_source.rb +10 -1
- data/lib/rbs/cli/colored_io.rb +48 -0
- data/lib/rbs/cli/diff.rb +80 -0
- data/lib/rbs/cli.rb +151 -16
- data/lib/rbs/collection/config/lockfile.rb +0 -25
- data/lib/rbs/collection/config/lockfile_generator.rb +0 -6
- data/lib/rbs/collection/installer.rb +1 -1
- data/lib/rbs/collection/sources/git.rb +6 -4
- data/lib/rbs/collection/sources/local.rb +7 -5
- data/lib/rbs/diff.rb +104 -0
- data/lib/rbs/environment.rb +1 -1
- data/lib/rbs/method_type.rb +23 -0
- data/lib/rbs/prototype/rb.rb +2 -9
- data/lib/rbs/prototype/runtime/helpers.rb +59 -0
- data/lib/rbs/prototype/runtime/value_object_generator.rb +236 -0
- data/lib/rbs/prototype/runtime.rb +234 -150
- data/lib/rbs/sorter.rb +144 -117
- data/lib/rbs/test/guaranteed.rb +31 -0
- data/lib/rbs/test/type_check.rb +4 -4
- data/lib/rbs/test.rb +3 -0
- data/lib/rbs/types.rb +184 -3
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +4 -4
- data/lib/rbs.rb +1 -0
- data/rbs.gemspec +1 -0
- data/sig/annotate/formatter.rbs +2 -2
- data/sig/annotate/rdoc_annotater.rbs +1 -1
- data/sig/cli/colored_io.rbs +15 -0
- data/sig/cli/diff.rbs +21 -0
- data/sig/cli.rbs +2 -0
- data/sig/collection/config/lockfile.rbs +0 -6
- data/sig/diff.rbs +23 -0
- data/sig/errors.rbs +1 -5
- data/sig/method_types.rbs +6 -0
- data/sig/prototype/runtime.rbs +108 -0
- data/sig/rdoc/rbs.rbs +4 -0
- data/sig/shims/bundler.rbs +5 -0
- data/sig/sorter.rbs +23 -5
- data/sig/types.rbs +29 -0
- data/stdlib/benchmark/0/benchmark.rbs +1 -1
- data/stdlib/cgi/0/core.rbs +2 -2
- data/stdlib/did_you_mean/0/did_you_mean.rbs +2 -2
- data/stdlib/digest/0/digest.rbs +1 -1
- data/stdlib/fileutils/0/fileutils.rbs +1 -1
- data/stdlib/forwardable/0/forwardable.rbs +4 -4
- data/stdlib/io-console/0/io-console.rbs +1 -1
- data/stdlib/json/0/json.rbs +37 -0
- data/stdlib/logger/0/logger.rbs +2 -2
- data/stdlib/net-http/0/manifest.yaml +1 -1
- data/stdlib/net-http/0/net-http.rbs +16 -63
- data/stdlib/net-protocol/0/manifest.yaml +2 -0
- data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
- data/stdlib/openssl/0/openssl.rbs +1 -1
- data/stdlib/pp/0/manifest.yaml +2 -0
- data/stdlib/pp/0/pp.rbs +301 -0
- data/stdlib/{yaml → psych}/0/dbm.rbs +3 -3
- data/stdlib/psych/0/manifest.yaml +3 -0
- data/stdlib/psych/0/psych.rbs +391 -0
- data/stdlib/{yaml → psych}/0/store.rbs +2 -2
- data/stdlib/rdoc/0/code_object.rbs +55 -0
- data/stdlib/rdoc/0/comment.rbs +60 -0
- data/stdlib/rdoc/0/context.rbs +153 -0
- data/stdlib/rdoc/0/markup.rbs +119 -0
- data/stdlib/rdoc/0/parser.rbs +56 -0
- data/stdlib/rdoc/0/rdoc.rbs +0 -372
- data/stdlib/rdoc/0/ri.rbs +17 -0
- data/stdlib/rdoc/0/store.rbs +48 -0
- data/stdlib/rdoc/0/top_level.rbs +97 -0
- data/stdlib/socket/0/basic_socket.rbs +1 -1
- data/stdlib/socket/0/socket.rbs +1 -1
- data/stdlib/uri/0/common.rbs +1 -1
- data/stdlib/yaml/0/manifest.yaml +1 -2
- data/stdlib/yaml/0/yaml.rbs +1 -199
- metadata +46 -9
- data/sig/shims/pp.rbs +0 -3
- data/sig/shims.rbs +0 -47
data/core/module.rbs
CHANGED
@@ -235,7 +235,7 @@ class Module < Object
|
|
235
235
|
#
|
236
236
|
# Exiting with code 99
|
237
237
|
#
|
238
|
-
def alias_method: (
|
238
|
+
def alias_method: (interned new_name, interned old_name) -> ::Symbol
|
239
239
|
|
240
240
|
# <!--
|
241
241
|
# rdoc-file=object.c
|
@@ -284,7 +284,7 @@ class Module < Object
|
|
284
284
|
# end
|
285
285
|
# Mod.instance_methods.sort #=> [:one, :one=, :two, :two=]
|
286
286
|
#
|
287
|
-
def attr_accessor: (*
|
287
|
+
def attr_accessor: (*interned arg0) -> Array[Symbol]
|
288
288
|
|
289
289
|
# <!--
|
290
290
|
# rdoc-file=object.c
|
@@ -298,7 +298,7 @@ class Module < Object
|
|
298
298
|
# in turn. String arguments are converted to symbols. Returns an array of
|
299
299
|
# defined method names as symbols.
|
300
300
|
#
|
301
|
-
def attr_reader: (*
|
301
|
+
def attr_reader: (*interned arg0) -> Array[Symbol]
|
302
302
|
|
303
303
|
# <!--
|
304
304
|
# rdoc-file=object.c
|
@@ -309,7 +309,7 @@ class Module < Object
|
|
309
309
|
# *symbol*`.id2name`. String arguments are converted to symbols. Returns an
|
310
310
|
# array of defined method names as symbols.
|
311
311
|
#
|
312
|
-
def attr_writer: (*
|
312
|
+
def attr_writer: (*interned arg0) -> Array[Symbol]
|
313
313
|
|
314
314
|
# <!--
|
315
315
|
# rdoc-file=load.c
|
@@ -328,7 +328,7 @@ class Module < Object
|
|
328
328
|
# replaced with *filename*. If *const* is defined but not as autoload, does
|
329
329
|
# nothing.
|
330
330
|
#
|
331
|
-
def autoload: (
|
331
|
+
def autoload: (interned _module, String filename) -> NilClass
|
332
332
|
|
333
333
|
# <!--
|
334
334
|
# rdoc-file=load.c
|
@@ -354,7 +354,7 @@ class Module < Object
|
|
354
354
|
# B.autoload?(:CONST) #=> "const.rb", found in A (ancestor)
|
355
355
|
# B.autoload?(:CONST, false) #=> nil, not found in B itself
|
356
356
|
#
|
357
|
-
def autoload?: (
|
357
|
+
def autoload?: (interned name, ?boolish inherit) -> String?
|
358
358
|
|
359
359
|
# <!-- rdoc-file=vm_eval.c -->
|
360
360
|
# Evaluates the string or block in the context of *mod*, except that when a
|
@@ -412,7 +412,7 @@ class Module < Object
|
|
412
412
|
# Fred.class_variable_defined?(:@@foo) #=> true
|
413
413
|
# Fred.class_variable_defined?(:@@bar) #=> false
|
414
414
|
#
|
415
|
-
def class_variable_defined?: (
|
415
|
+
def class_variable_defined?: (interned arg0) -> bool
|
416
416
|
|
417
417
|
# <!--
|
418
418
|
# rdoc-file=object.c
|
@@ -428,7 +428,7 @@ class Module < Object
|
|
428
428
|
# end
|
429
429
|
# Fred.class_variable_get(:@@foo) #=> 99
|
430
430
|
#
|
431
|
-
def class_variable_get: (
|
431
|
+
def class_variable_get: (interned arg0) -> untyped
|
432
432
|
|
433
433
|
# <!--
|
434
434
|
# rdoc-file=object.c
|
@@ -447,7 +447,7 @@ class Module < Object
|
|
447
447
|
# Fred.class_variable_set(:@@foo, 101) #=> 101
|
448
448
|
# Fred.new.foo #=> 101
|
449
449
|
#
|
450
|
-
def class_variable_set: (
|
450
|
+
def class_variable_set: (interned arg0, untyped arg1) -> untyped
|
451
451
|
|
452
452
|
# <!--
|
453
453
|
# rdoc-file=object.c
|
@@ -527,7 +527,7 @@ class Module < Object
|
|
527
527
|
#
|
528
528
|
# Hash.const_defined? 'foobar' #=> NameError: wrong constant name foobar
|
529
529
|
#
|
530
|
-
def const_defined?: (
|
530
|
+
def const_defined?: (interned name, ?boolish inherit) -> bool
|
531
531
|
|
532
532
|
# <!--
|
533
533
|
# rdoc-file=object.c
|
@@ -566,7 +566,7 @@ class Module < Object
|
|
566
566
|
#
|
567
567
|
# Object.const_get 'foobar' #=> NameError: wrong constant name foobar
|
568
568
|
#
|
569
|
-
def const_get: (
|
569
|
+
def const_get: (interned name, ?boolish inherit) -> untyped
|
570
570
|
|
571
571
|
# <!--
|
572
572
|
# rdoc-file=object.c
|
@@ -618,7 +618,7 @@ class Module < Object
|
|
618
618
|
#
|
619
619
|
# Object.const_set('foobar', 42) #=> NameError: wrong constant name foobar
|
620
620
|
#
|
621
|
-
def const_set: (
|
621
|
+
def const_set: (interned arg0, untyped arg1) -> untyped
|
622
622
|
|
623
623
|
# <!--
|
624
624
|
# rdoc-file=object.c
|
@@ -668,7 +668,7 @@ class Module < Object
|
|
668
668
|
# p Object.const_source_location('A::C1') # => ["test.rb", 2] -- nesting is supported
|
669
669
|
# p Object.const_source_location('String') # => [] -- constant is defined in C code
|
670
670
|
#
|
671
|
-
def const_source_location: (
|
671
|
+
def const_source_location: (interned name, ?boolish inherit) -> ([ String, Integer ] | [ ] | nil)
|
672
672
|
|
673
673
|
# <!--
|
674
674
|
# rdoc-file=object.c
|
@@ -726,8 +726,8 @@ class Module < Object
|
|
726
726
|
# I'm Dino!
|
727
727
|
# #<B:0x401b39e8>
|
728
728
|
#
|
729
|
-
def define_method: (
|
730
|
-
| (
|
729
|
+
def define_method: (interned symbol, ^() [self: instance] -> untyped | Method | UnboundMethod method) -> Symbol
|
730
|
+
| (interned symbol) { () [self: instance] -> untyped } -> Symbol
|
731
731
|
|
732
732
|
# <!--
|
733
733
|
# rdoc-file=object.c
|
@@ -746,7 +746,7 @@ class Module < Object
|
|
746
746
|
# HTTP::NOT_FOUND
|
747
747
|
# # warning: constant HTTP::NOT_FOUND is deprecated
|
748
748
|
#
|
749
|
-
def deprecate_constant: (*
|
749
|
+
def deprecate_constant: (*interned) -> self
|
750
750
|
|
751
751
|
def eql?: (untyped other) -> bool
|
752
752
|
|
@@ -936,7 +936,7 @@ class Module < Object
|
|
936
936
|
#
|
937
937
|
# Hello there, Dave!
|
938
938
|
#
|
939
|
-
def instance_method: (
|
939
|
+
def instance_method: (interned arg0) -> UnboundMethod
|
940
940
|
|
941
941
|
# <!--
|
942
942
|
# rdoc-file=object.c
|
@@ -1029,7 +1029,7 @@ class Module < Object
|
|
1029
1029
|
# C.method_defined? "method4" #=> false
|
1030
1030
|
# C.method_defined? "private_method2" #=> false
|
1031
1031
|
#
|
1032
|
-
def method_defined?: (
|
1032
|
+
def method_defined?: (interned name, ?boolish inherit) -> bool
|
1033
1033
|
|
1034
1034
|
# <!--
|
1035
1035
|
# rdoc-file=object.c
|
@@ -1147,7 +1147,7 @@ class Module < Object
|
|
1147
1147
|
# Mod.one #=> "This is one"
|
1148
1148
|
# c.call_one #=> "This is the new one"
|
1149
1149
|
#
|
1150
|
-
def module_function: (*
|
1150
|
+
def module_function: (*interned arg0) -> self
|
1151
1151
|
|
1152
1152
|
# <!--
|
1153
1153
|
# rdoc-file=object.c
|
@@ -1224,7 +1224,7 @@ class Module < Object
|
|
1224
1224
|
| (Symbol method_name) -> Symbol
|
1225
1225
|
| (Symbol, Symbol, *Symbol method_name) -> Array[Symbol]
|
1226
1226
|
| (string method_name) -> string
|
1227
|
-
| (
|
1227
|
+
| (interned, interned, *interned method_name) -> Array[interned]
|
1228
1228
|
|
1229
1229
|
# <!--
|
1230
1230
|
# rdoc-file=vm_method.c
|
@@ -1246,7 +1246,7 @@ class Module < Object
|
|
1246
1246
|
# end
|
1247
1247
|
# end
|
1248
1248
|
#
|
1249
|
-
def private_class_method: (*
|
1249
|
+
def private_class_method: (*interned arg0) -> self
|
1250
1250
|
|
1251
1251
|
# <!--
|
1252
1252
|
# rdoc-file=object.c
|
@@ -1254,7 +1254,7 @@ class Module < Object
|
|
1254
1254
|
# -->
|
1255
1255
|
# Makes a list of existing constants private.
|
1256
1256
|
#
|
1257
|
-
def private_constant: (*
|
1257
|
+
def private_constant: (*interned arg0) -> self
|
1258
1258
|
|
1259
1259
|
# <!--
|
1260
1260
|
# rdoc-file=object.c
|
@@ -1301,7 +1301,7 @@ class Module < Object
|
|
1301
1301
|
# C.private_method_defined? "method2", false #=> false
|
1302
1302
|
# C.method_defined? "method2" #=> false
|
1303
1303
|
#
|
1304
|
-
def private_method_defined?: (
|
1304
|
+
def private_method_defined?: (interned name, ?boolish inherit) -> bool
|
1305
1305
|
|
1306
1306
|
# <!--
|
1307
1307
|
# rdoc-file=vm_method.c
|
@@ -1326,7 +1326,7 @@ class Module < Object
|
|
1326
1326
|
#
|
1327
1327
|
# To show a private method on RDoc, use `:doc:` instead of this.
|
1328
1328
|
#
|
1329
|
-
def protected: (*
|
1329
|
+
def protected: (*interned arg0) -> self
|
1330
1330
|
|
1331
1331
|
# <!--
|
1332
1332
|
# rdoc-file=object.c
|
@@ -1365,7 +1365,7 @@ class Module < Object
|
|
1365
1365
|
# C.protected_method_defined? "method2", false #=> false
|
1366
1366
|
# C.method_defined? "method2" #=> true
|
1367
1367
|
#
|
1368
|
-
def protected_method_defined?: (
|
1368
|
+
def protected_method_defined?: (interned name, ?boolish inherit) -> bool
|
1369
1369
|
|
1370
1370
|
# <!--
|
1371
1371
|
# rdoc-file=vm_method.c
|
@@ -1385,7 +1385,7 @@ class Module < Object
|
|
1385
1385
|
| (Symbol method_name) -> Symbol
|
1386
1386
|
| (Symbol, Symbol, *Symbol method_name) -> Array[Symbol]
|
1387
1387
|
| (string method_name) -> string
|
1388
|
-
| (
|
1388
|
+
| (interned, interned, *interned method_name) -> Array[interned]
|
1389
1389
|
|
1390
1390
|
# <!--
|
1391
1391
|
# rdoc-file=vm_method.c
|
@@ -1398,7 +1398,7 @@ class Module < Object
|
|
1398
1398
|
# String arguments are converted to symbols. An Array of Symbols and/or Strings
|
1399
1399
|
# is also accepted.
|
1400
1400
|
#
|
1401
|
-
def public_class_method: (*
|
1401
|
+
def public_class_method: (*interned arg0) -> self
|
1402
1402
|
|
1403
1403
|
# <!--
|
1404
1404
|
# rdoc-file=object.c
|
@@ -1406,7 +1406,7 @@ class Module < Object
|
|
1406
1406
|
# -->
|
1407
1407
|
# Makes a list of existing constants public.
|
1408
1408
|
#
|
1409
|
-
def public_constant: (*
|
1409
|
+
def public_constant: (*interned arg0) -> self
|
1410
1410
|
|
1411
1411
|
# <!--
|
1412
1412
|
# rdoc-file=proc.c
|
@@ -1414,7 +1414,7 @@ class Module < Object
|
|
1414
1414
|
# -->
|
1415
1415
|
# Similar to *instance_method*, searches public method only.
|
1416
1416
|
#
|
1417
|
-
def public_instance_method: (
|
1417
|
+
def public_instance_method: (interned arg0) -> UnboundMethod
|
1418
1418
|
|
1419
1419
|
# <!--
|
1420
1420
|
# rdoc-file=object.c
|
@@ -1453,7 +1453,7 @@ class Module < Object
|
|
1453
1453
|
# C.public_method_defined? "method2" #=> false
|
1454
1454
|
# C.method_defined? "method2" #=> true
|
1455
1455
|
#
|
1456
|
-
def public_method_defined?: (
|
1456
|
+
def public_method_defined?: (interned name, ?boolish inherit) -> bool
|
1457
1457
|
|
1458
1458
|
# <!--
|
1459
1459
|
# rdoc-file=eval.c
|
@@ -1505,7 +1505,7 @@ class Module < Object
|
|
1505
1505
|
# 99
|
1506
1506
|
# nil
|
1507
1507
|
#
|
1508
|
-
def remove_class_variable: (
|
1508
|
+
def remove_class_variable: (interned arg0) -> untyped
|
1509
1509
|
|
1510
1510
|
# <!--
|
1511
1511
|
# rdoc-file=object.c
|
@@ -1515,7 +1515,7 @@ class Module < Object
|
|
1515
1515
|
# previous value. If that constant referred to a module, this will not change
|
1516
1516
|
# that module's name and can lead to confusion.
|
1517
1517
|
#
|
1518
|
-
def remove_const: (
|
1518
|
+
def remove_const: (interned arg0) -> untyped
|
1519
1519
|
|
1520
1520
|
# <!--
|
1521
1521
|
# rdoc-file=vm_method.c
|
@@ -1525,7 +1525,7 @@ class Module < Object
|
|
1525
1525
|
# Removes the method identified by *symbol* from the current class. For an
|
1526
1526
|
# example, see Module#undef_method. String arguments are converted to symbols.
|
1527
1527
|
#
|
1528
|
-
def remove_method: (*
|
1528
|
+
def remove_method: (*interned arg0) -> self
|
1529
1529
|
|
1530
1530
|
# <!--
|
1531
1531
|
# rdoc-file=object.c
|
@@ -1591,7 +1591,7 @@ class Module < Object
|
|
1591
1591
|
# In parent
|
1592
1592
|
# prog.rb:23: undefined method `hello' for #<Child:0x401b3bb4> (NoMethodError)
|
1593
1593
|
#
|
1594
|
-
def undef_method: (*
|
1594
|
+
def undef_method: (*interned arg0) -> self
|
1595
1595
|
|
1596
1596
|
# <!--
|
1597
1597
|
# rdoc-file=object.c
|
@@ -1629,7 +1629,9 @@ class Module < Object
|
|
1629
1629
|
# `attr_reader(name)` but deprecated. Returns an array of defined method names
|
1630
1630
|
# as symbols.
|
1631
1631
|
#
|
1632
|
-
def attr: (*
|
1632
|
+
def attr: (*interned arg0) -> Array[Symbol]
|
1633
1633
|
|
1634
|
-
|
1634
|
+
# A previous incarnation of `interned` for backward-compatibility (see #1499)
|
1635
|
+
%a{steep:deprecated}
|
1636
|
+
type id = interned
|
1635
1637
|
end
|
data/core/nil_class.rbs
CHANGED
@@ -2,8 +2,6 @@
|
|
2
2
|
# The class of the singleton object `nil`.
|
3
3
|
#
|
4
4
|
class NilClass
|
5
|
-
public
|
6
|
-
|
7
5
|
def !: () -> true
|
8
6
|
|
9
7
|
# <!--
|
@@ -25,7 +23,7 @@ class NilClass
|
|
25
23
|
# statements.
|
26
24
|
#
|
27
25
|
def ===: (nil) -> true
|
28
|
-
| (untyped obj) ->
|
26
|
+
| (untyped obj) -> bool
|
29
27
|
|
30
28
|
# <!--
|
31
29
|
# rdoc-file=object.c
|
@@ -45,9 +43,8 @@ class NilClass
|
|
45
43
|
# Exclusive Or---If *obj* is `nil` or `false`, returns `false`; otherwise,
|
46
44
|
# returns `true`.
|
47
45
|
#
|
48
|
-
def ^: (nil) -> false
|
49
|
-
| (
|
50
|
-
| (untyped obj) -> true
|
46
|
+
def ^: (false | nil) -> false
|
47
|
+
| (untyped obj) -> bool
|
51
48
|
|
52
49
|
# <!--
|
53
50
|
# rdoc-file=object.c
|
@@ -81,7 +78,7 @@ class NilClass
|
|
81
78
|
#
|
82
79
|
# nil.to_a #=> []
|
83
80
|
#
|
84
|
-
def to_a: () -> [
|
81
|
+
def to_a: () -> []
|
85
82
|
|
86
83
|
# <!--
|
87
84
|
# rdoc-file=complex.c
|
@@ -109,7 +106,7 @@ class NilClass
|
|
109
106
|
#
|
110
107
|
# nil.to_h #=> {}
|
111
108
|
#
|
112
|
-
def to_h: () ->
|
109
|
+
def to_h: () -> {}
|
113
110
|
|
114
111
|
# <!--
|
115
112
|
# rdoc-file=nilclass.rb
|
@@ -144,9 +141,6 @@ class NilClass
|
|
144
141
|
# -->
|
145
142
|
# Or---Returns `false` if *obj* is `nil` or `false`; `true` otherwise.
|
146
143
|
#
|
147
|
-
def |: (nil) -> false
|
148
|
-
| (
|
149
|
-
| (untyped obj) -> true
|
150
|
-
|
151
|
-
def clone: (?freeze: true?) -> self
|
144
|
+
def |: (nil | false) -> false
|
145
|
+
| (untyped obj) -> bool
|
152
146
|
end
|