rbs 3.2.2 → 3.3.0.pre.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.
- 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
|