rbs 4.0.0.dev.5 → 4.0.1.dev.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 (194) hide show
  1. checksums.yaml +4 -4
  2. data/.clang-format +1 -0
  3. data/.github/workflows/c-check.yml +8 -4
  4. data/.github/workflows/comments.yml +3 -1
  5. data/.github/workflows/dependabot.yml +1 -1
  6. data/.github/workflows/ruby.yml +10 -0
  7. data/.github/workflows/rust.yml +95 -0
  8. data/CHANGELOG.md +323 -0
  9. data/Rakefile +12 -29
  10. data/Steepfile +1 -0
  11. data/config.yml +393 -37
  12. data/core/array.rbs +218 -188
  13. data/core/basic_object.rbs +9 -8
  14. data/core/class.rbs +6 -5
  15. data/core/comparable.rbs +45 -31
  16. data/core/complex.rbs +52 -40
  17. data/core/dir.rbs +57 -45
  18. data/core/encoding.rbs +5 -5
  19. data/core/enumerable.rbs +96 -91
  20. data/core/enumerator.rbs +4 -3
  21. data/core/errno.rbs +3 -2
  22. data/core/errors.rbs +31 -29
  23. data/core/exception.rbs +12 -12
  24. data/core/fiber.rbs +36 -36
  25. data/core/file.rbs +186 -113
  26. data/core/file_test.rbs +2 -2
  27. data/core/float.rbs +41 -32
  28. data/core/gc.rbs +78 -70
  29. data/core/hash.rbs +70 -60
  30. data/core/integer.rbs +32 -28
  31. data/core/io/buffer.rbs +36 -36
  32. data/core/io/wait.rbs +7 -7
  33. data/core/io.rbs +120 -135
  34. data/core/kernel.rbs +189 -139
  35. data/core/marshal.rbs +3 -3
  36. data/core/match_data.rbs +14 -12
  37. data/core/math.rbs +69 -67
  38. data/core/method.rbs +6 -6
  39. data/core/module.rbs +146 -85
  40. data/core/nil_class.rbs +4 -3
  41. data/core/numeric.rbs +35 -32
  42. data/core/object.rbs +6 -8
  43. data/core/object_space.rbs +11 -10
  44. data/core/pathname.rbs +131 -81
  45. data/core/proc.rbs +65 -33
  46. data/core/process.rbs +219 -201
  47. data/core/ractor.rbs +15 -11
  48. data/core/random.rbs +4 -3
  49. data/core/range.rbs +52 -47
  50. data/core/rational.rbs +5 -5
  51. data/core/rbs/unnamed/argf.rbs +58 -51
  52. data/core/rbs/unnamed/env_class.rbs +18 -13
  53. data/core/rbs/unnamed/main_class.rbs +123 -0
  54. data/core/rbs/unnamed/random.rbs +7 -5
  55. data/core/regexp.rbs +236 -197
  56. data/core/ruby.rbs +1 -1
  57. data/core/ruby_vm.rbs +32 -30
  58. data/core/rubygems/config_file.rbs +5 -5
  59. data/core/rubygems/errors.rbs +1 -1
  60. data/core/rubygems/requirement.rbs +5 -5
  61. data/core/rubygems/rubygems.rbs +5 -3
  62. data/core/set.rbs +17 -16
  63. data/core/signal.rbs +2 -2
  64. data/core/string.rbs +311 -292
  65. data/core/struct.rbs +26 -25
  66. data/core/symbol.rbs +25 -24
  67. data/core/thread.rbs +40 -34
  68. data/core/time.rbs +47 -42
  69. data/core/trace_point.rbs +34 -31
  70. data/core/true_class.rbs +2 -2
  71. data/core/unbound_method.rbs +10 -10
  72. data/core/warning.rbs +7 -7
  73. data/docs/collection.md +1 -1
  74. data/docs/config.md +171 -0
  75. data/docs/inline.md +110 -4
  76. data/docs/syntax.md +13 -12
  77. data/ext/rbs_extension/ast_translation.c +489 -135
  78. data/ext/rbs_extension/class_constants.c +8 -0
  79. data/ext/rbs_extension/class_constants.h +4 -0
  80. data/ext/rbs_extension/legacy_location.c +28 -51
  81. data/ext/rbs_extension/legacy_location.h +37 -0
  82. data/ext/rbs_extension/main.c +12 -20
  83. data/include/rbs/ast.h +423 -195
  84. data/include/rbs/lexer.h +2 -2
  85. data/include/rbs/location.h +25 -44
  86. data/include/rbs/parser.h +2 -2
  87. data/include/rbs/util/rbs_constant_pool.h +0 -3
  88. data/include/rbs.h +8 -0
  89. data/lib/rbs/ast/ruby/annotations.rb +157 -4
  90. data/lib/rbs/ast/ruby/members.rb +374 -22
  91. data/lib/rbs/cli/validate.rb +5 -60
  92. data/lib/rbs/collection/config/lockfile_generator.rb +6 -2
  93. data/lib/rbs/definition_builder.rb +60 -27
  94. data/lib/rbs/errors.rb +0 -11
  95. data/lib/rbs/inline_parser.rb +1 -1
  96. data/lib/rbs/parser_aux.rb +20 -7
  97. data/lib/rbs/prototype/helpers.rb +57 -0
  98. data/lib/rbs/prototype/rb.rb +1 -26
  99. data/lib/rbs/prototype/rbi.rb +1 -20
  100. data/lib/rbs/test/type_check.rb +3 -0
  101. data/lib/rbs/types.rb +62 -52
  102. data/lib/rbs/unit_test/type_assertions.rb +35 -8
  103. data/lib/rbs/version.rb +1 -1
  104. data/lib/rbs.rb +0 -1
  105. data/rbs.gemspec +1 -1
  106. data/rust/.gitignore +1 -0
  107. data/rust/Cargo.lock +378 -0
  108. data/rust/Cargo.toml +7 -0
  109. data/rust/ruby-rbs/Cargo.toml +22 -0
  110. data/rust/ruby-rbs/build.rs +764 -0
  111. data/rust/ruby-rbs/examples/locations.rs +60 -0
  112. data/rust/ruby-rbs/src/lib.rs +1 -0
  113. data/rust/ruby-rbs/src/node/mod.rs +742 -0
  114. data/rust/ruby-rbs/tests/sanity.rs +47 -0
  115. data/rust/ruby-rbs/vendor/rbs/config.yml +1 -0
  116. data/rust/ruby-rbs-sys/Cargo.toml +23 -0
  117. data/rust/ruby-rbs-sys/build.rs +204 -0
  118. data/rust/ruby-rbs-sys/src/lib.rs +50 -0
  119. data/rust/ruby-rbs-sys/vendor/rbs/include +1 -0
  120. data/rust/ruby-rbs-sys/vendor/rbs/src +1 -0
  121. data/rust/ruby-rbs-sys/wrapper.h +1 -0
  122. data/sig/ast/ruby/annotations.rbs +191 -4
  123. data/sig/ast/ruby/members.rbs +21 -1
  124. data/sig/cli/validate.rbs +1 -6
  125. data/sig/definition_builder.rbs +2 -0
  126. data/sig/errors.rbs +0 -8
  127. data/sig/method_types.rbs +1 -1
  128. data/sig/parser.rbs +17 -13
  129. data/sig/prototype/helpers.rbs +2 -0
  130. data/sig/types.rbs +10 -11
  131. data/sig/unit_test/spy.rbs +0 -8
  132. data/sig/unit_test/type_assertions.rbs +11 -0
  133. data/src/ast.c +339 -161
  134. data/src/lexstate.c +1 -1
  135. data/src/location.c +7 -47
  136. data/src/parser.c +674 -480
  137. data/src/util/rbs_constant_pool.c +0 -4
  138. data/stdlib/bigdecimal/0/big_decimal.rbs +16 -16
  139. data/stdlib/cgi-escape/0/escape.rbs +4 -4
  140. data/stdlib/coverage/0/coverage.rbs +4 -3
  141. data/stdlib/date/0/date.rbs +33 -28
  142. data/stdlib/date/0/date_time.rbs +24 -23
  143. data/stdlib/did_you_mean/0/did_you_mean.rbs +17 -16
  144. data/stdlib/erb/0/erb.rbs +64 -53
  145. data/stdlib/etc/0/etc.rbs +55 -50
  146. data/stdlib/fileutils/0/fileutils.rbs +138 -125
  147. data/stdlib/forwardable/0/forwardable.rbs +10 -10
  148. data/stdlib/io-console/0/io-console.rbs +2 -2
  149. data/stdlib/json/0/json.rbs +135 -108
  150. data/stdlib/monitor/0/monitor.rbs +3 -3
  151. data/stdlib/net-http/0/net-http.rbs +159 -134
  152. data/stdlib/objspace/0/objspace.rbs +8 -7
  153. data/stdlib/open-uri/0/open-uri.rbs +8 -8
  154. data/stdlib/open3/0/open3.rbs +36 -35
  155. data/stdlib/openssl/0/openssl.rbs +144 -129
  156. data/stdlib/optparse/0/optparse.rbs +18 -14
  157. data/stdlib/pathname/0/pathname.rbs +2 -2
  158. data/stdlib/pp/0/pp.rbs +9 -8
  159. data/stdlib/prettyprint/0/prettyprint.rbs +7 -7
  160. data/stdlib/pstore/0/pstore.rbs +35 -30
  161. data/stdlib/psych/0/psych.rbs +61 -8
  162. data/stdlib/psych/0/store.rbs +2 -4
  163. data/stdlib/pty/0/pty.rbs +9 -6
  164. data/stdlib/random-formatter/0/random-formatter.rbs +2 -2
  165. data/stdlib/ripper/0/ripper.rbs +20 -17
  166. data/stdlib/securerandom/0/securerandom.rbs +1 -1
  167. data/stdlib/shellwords/0/shellwords.rbs +2 -2
  168. data/stdlib/socket/0/addrinfo.rbs +7 -7
  169. data/stdlib/socket/0/basic_socket.rbs +3 -3
  170. data/stdlib/socket/0/ip_socket.rbs +10 -8
  171. data/stdlib/socket/0/socket.rbs +10 -9
  172. data/stdlib/socket/0/tcp_server.rbs +1 -1
  173. data/stdlib/socket/0/tcp_socket.rbs +1 -1
  174. data/stdlib/socket/0/udp_socket.rbs +1 -1
  175. data/stdlib/socket/0/unix_server.rbs +1 -1
  176. data/stdlib/stringio/0/stringio.rbs +55 -54
  177. data/stdlib/strscan/0/string_scanner.rbs +46 -44
  178. data/stdlib/tempfile/0/tempfile.rbs +24 -20
  179. data/stdlib/time/0/time.rbs +7 -5
  180. data/stdlib/tsort/0/tsort.rbs +7 -6
  181. data/stdlib/uri/0/common.rbs +26 -18
  182. data/stdlib/uri/0/file.rbs +2 -2
  183. data/stdlib/uri/0/generic.rbs +2 -2
  184. data/stdlib/uri/0/http.rbs +2 -2
  185. data/stdlib/uri/0/ldap.rbs +2 -2
  186. data/stdlib/uri/0/mailto.rbs +3 -3
  187. data/stdlib/uri/0/rfc2396_parser.rbs +6 -5
  188. data/stdlib/zlib/0/deflate.rbs +4 -3
  189. data/stdlib/zlib/0/gzip_reader.rbs +4 -4
  190. data/stdlib/zlib/0/gzip_writer.rbs +14 -12
  191. data/stdlib/zlib/0/inflate.rbs +1 -1
  192. data/stdlib/zlib/0/need_dict.rbs +1 -1
  193. metadata +23 -5
  194. data/.github/workflows/valgrind.yml +0 -42
data/core/numeric.rbs CHANGED
@@ -23,10 +23,10 @@
23
23
  # two-member Array containing an object that has been coerced into an instance
24
24
  # of the new class and `self` (see #coerce).
25
25
  #
26
- # Inheriting classes should also implement arithmetic operator methods (`+`,
27
- # `-`, `*` and `/`) and the `<=>` operator (see Comparable). These methods may
28
- # rely on `coerce` to ensure interoperability with instances of other numeric
29
- # classes.
26
+ # Inheriting classes should also implement arithmetic operator methods
27
+ # (<code>+</code>, <code>-</code>, <code>*</code> and <code>/</code>) and the
28
+ # <code><=></code> operator (see Comparable). These methods may rely on `coerce`
29
+ # to ensure interoperability with instances of other numeric classes.
30
30
  #
31
31
  # class Tally < Numeric
32
32
  # def initialize(string)
@@ -88,7 +88,7 @@
88
88
  #
89
89
  # * #finite?: Returns true unless `self` is infinite or not a number.
90
90
  # * #infinite?: Returns -1, `nil` or +1, depending on whether `self` is
91
- # `-Infinity<tt>, finite, or <tt>+Infinity`.
91
+ # <code>-Infinity<tt>, finite, or <tt>+Infinity</code>.
92
92
  # * #integer?: Returns whether `self` is an integer.
93
93
  # * #negative?: Returns whether `self` is negative.
94
94
  # * #nonzero?: Returns whether `self` is not zero.
@@ -119,27 +119,29 @@
119
119
  # Math::PI otherwise.
120
120
  # * #ceil: Returns the smallest number greater than or equal to `self`, to a
121
121
  # given precision.
122
- # * #coerce: Returns array `[coerced_self, coerced_other]` for the given other
123
- # value.
122
+ # * #coerce: Returns array <code>[coerced_self, coerced_other]</code> for the
123
+ # given other value.
124
124
  # * #conj (aliased as #conjugate): Returns the complex conjugate of `self`.
125
125
  # * #denominator: Returns the denominator (always positive) of the Rational
126
126
  # representation of `self`.
127
127
  # * #div: Returns the value of `self` divided by the given value and converted
128
128
  # to an integer.
129
- # * #divmod: Returns array `[quotient, modulus]` resulting from dividing
130
- # `self` the given divisor.
129
+ # * #divmod: Returns array <code>[quotient, modulus]</code> resulting from
130
+ # dividing `self` the given divisor.
131
131
  # * #fdiv: Returns the Float result of dividing `self` by the given divisor.
132
132
  # * #floor: Returns the largest number less than or equal to `self`, to a
133
133
  # given precision.
134
- # * #i: Returns the Complex object `Complex(0, self)`. the given value.
134
+ # * #i: Returns the Complex object <code>Complex(0, self)</code>. the given
135
+ # value.
135
136
  # * #imaginary (aliased as #imag): Returns the imaginary part of the `self`.
136
137
  # * #numerator: Returns the numerator of the Rational representation of
137
138
  # `self`; has the same sign as `self`.
138
- # * #polar: Returns the array `[self.abs, self.arg]`.
139
+ # * #polar: Returns the array <code>[self.abs, self.arg]</code>.
139
140
  # * #quo: Returns the value of `self` divided by the given value.
140
141
  # * #real: Returns the real part of `self`.
141
- # * #rect (aliased as #rectangular): Returns the array `[self, 0]`.
142
- # * #remainder: Returns `self-arg*(self/arg).truncate` for the given `arg`.
142
+ # * #rect (aliased as #rectangular): Returns the array <code>[self, 0]</code>.
143
+ # * #remainder: Returns <code>self-arg*(self/arg).truncate</code> for the
144
+ # given `arg`.
143
145
  # * #round: Returns the value of `self` rounded to the nearest value for the
144
146
  # given a precision.
145
147
  # * #to_c: Returns the Complex representation of `self`.
@@ -275,7 +277,7 @@ class Numeric
275
277
  # as specified by the given `ndigits`, which must be an [integer-convertible
276
278
  # object](rdoc-ref:implicit_conversion.rdoc@Integer-Convertible+Objects).
277
279
  #
278
- # Equivalent to `self.to_f.ceil(ndigits)`.
280
+ # Equivalent to <code>self.to_f.ceil(ndigits)</code>.
279
281
  #
280
282
  # Related: #floor, Float#ceil.
281
283
  #
@@ -343,9 +345,9 @@ class Numeric
343
345
  # rdoc-file=numeric.c
344
346
  # - div(other) -> integer
345
347
  # -->
346
- # Returns the quotient `self/other` as an integer (via `floor`), using method
347
- # `/` as defined in the subclass of Numeric. (Numeric itself does not define
348
- # `/`.)
348
+ # Returns the quotient <code>self/other</code> as an integer (via `floor`),
349
+ # using method <code>/</code> as defined in the subclass of Numeric. (Numeric
350
+ # itself does not define <code>/</code>.)
349
351
  #
350
352
  # Of the Core and Standard Library classes, Only Float and Rational use this
351
353
  # implementation.
@@ -356,7 +358,7 @@ class Numeric
356
358
  # rdoc-file=numeric.c
357
359
  # - divmod(other) -> array
358
360
  # -->
359
- # Returns a 2-element array `[q, r]`, where
361
+ # Returns a 2-element array <code>[q, r]</code>, where
360
362
  #
361
363
  # q = (self/other).floor # Quotient
362
364
  # r = self % other # Remainder
@@ -397,8 +399,8 @@ class Numeric
397
399
  # 1.eql?(Rational(1, 1)) # => false
398
400
  # 1.eql?(Complex(1, 0)) # => false
399
401
  #
400
- # Method `eql?` is different from `==` in that `eql?` requires matching types,
401
- # while `==` does not.
402
+ # Method <code>eql?</code> is different from <code>==</code> in that
403
+ # <code>eql?</code> requires matching types, while <code>==</code> does not.
402
404
  #
403
405
  def eql?: (untyped) -> bool
404
406
 
@@ -406,8 +408,9 @@ class Numeric
406
408
  # rdoc-file=numeric.c
407
409
  # - fdiv(other) -> float
408
410
  # -->
409
- # Returns the quotient `self/other` as a float, using method `/` as defined in
410
- # the subclass of Numeric. (Numeric itself does not define `/`.)
411
+ # Returns the quotient <code>self/other</code> as a float, using method
412
+ # <code>/</code> as defined in the subclass of Numeric. (Numeric itself does not
413
+ # define <code>/</code>.)
411
414
  #
412
415
  # Of the Core and Standard Library classes, only BigDecimal uses this
413
416
  # implementation.
@@ -430,7 +433,7 @@ class Numeric
430
433
  # specified by the given `ndigits`, which must be an [integer-convertible
431
434
  # object](rdoc-ref:implicit_conversion.rdoc@Integer-Convertible+Objects).
432
435
  #
433
- # Equivalent to `self.to_f.floor(ndigits)`.
436
+ # Equivalent to <code>self.to_f.floor(ndigits)</code>.
434
437
  #
435
438
  # Related: #ceil, Float#floor.
436
439
  #
@@ -441,7 +444,7 @@ class Numeric
441
444
  # rdoc-file=numeric.c
442
445
  # - i -> complex
443
446
  # -->
444
- # Returns `Complex(0, self)`:
447
+ # Returns <code>Complex(0, self)</code>:
445
448
  #
446
449
  # 2.i # => (0+2i)
447
450
  # -2.i # => (0-2i)
@@ -470,8 +473,8 @@ class Numeric
470
473
  # rdoc-file=numeric.rb
471
474
  # - infinite? -> -1, 1, or nil
472
475
  # -->
473
- # Returns `nil`, -1, or 1 depending on whether `self` is finite, `-Infinity`, or
474
- # `+Infinity`.
476
+ # Returns `nil`, -1, or 1 depending on whether `self` is finite,
477
+ # <code>-Infinity</code>, or <code>+Infinity</code>.
475
478
  #
476
479
  def infinite?: () -> Integer?
477
480
 
@@ -539,7 +542,7 @@ class Numeric
539
542
  # - nonzero? -> self or nil
540
543
  # -->
541
544
  # Returns `self` if `self` is not a zero value, `nil` otherwise; uses method
542
- # `zero?` for the evaluation.
545
+ # <code>zero?</code> for the evaluation.
543
546
  #
544
547
  # The returned `self` allows the method to be chained:
545
548
  #
@@ -571,7 +574,7 @@ class Numeric
571
574
  # rdoc-file=complex.c
572
575
  # - polar -> array
573
576
  # -->
574
- # Returns array `[self.abs, self.arg]`.
577
+ # Returns array <code>[self.abs, self.arg]</code>.
575
578
  #
576
579
  def polar: () -> [ Numeric, Numeric ]
577
580
 
@@ -609,7 +612,7 @@ class Numeric
609
612
  def real?: () -> true
610
613
 
611
614
  # <!-- rdoc-file=complex.c -->
612
- # Returns array `[self, 0]`.
615
+ # Returns array <code>[self, 0]</code>.
613
616
  #
614
617
  def rect: () -> [ Numeric, Numeric ]
615
618
 
@@ -617,7 +620,7 @@ class Numeric
617
620
  # rdoc-file=complex.c
618
621
  # - rect -> array
619
622
  # -->
620
- # Returns array `[self, 0]`.
623
+ # Returns array <code>[self, 0]</code>.
621
624
  #
622
625
  alias rectangular rect
623
626
 
@@ -753,8 +756,8 @@ class Numeric
753
756
  # If all the arguments are integers, the loop operates using an integer counter.
754
757
  #
755
758
  # If any of the arguments are floating point numbers, all are converted to
756
- # floats, and the loop is executed *floor(n + n*Float::EPSILON) + 1* times,
757
- # where *n = (limit - self)/step*.
759
+ # floats, and the loop is executed <em>floor(n + n*Float::EPSILON) + 1</em>
760
+ # times, where <em>n = (limit - self)/step</em>.
758
761
  #
759
762
  def step: (?Numeric limit, ?Numeric step) { (Numeric) -> void } -> self
760
763
  | (?Numeric limit, ?Numeric step) -> Enumerator::ArithmeticSequence
data/core/object.rbs CHANGED
@@ -12,7 +12,8 @@
12
12
  # will find the top-level File class.
13
13
  #
14
14
  # In the descriptions of Object's methods, the parameter *symbol* refers to a
15
- # symbol, which is either a quoted string or a Symbol (such as `:name`).
15
+ # symbol, which is either a quoted string or a Symbol (such as
16
+ # <code>:name</code>).
16
17
  #
17
18
  # ## What's Here
18
19
  #
@@ -32,7 +33,7 @@
32
33
  # * #!~: Returns `true` if `self` does not match the given object, otherwise
33
34
  # `false`.
34
35
  # * #<=>: Returns 0 if `self` and the given object `object` are the same
35
- # object, or if `self == object`; otherwise returns `nil`.
36
+ # object, or if <code>self == object</code>; otherwise returns `nil`.
36
37
  # * #===: Implements case equality, effectively the same as calling #==.
37
38
  # * #eql?: Implements hash equality, effectively the same as calling #==.
38
39
  # * #kind_of? (aliased as #is_a?): Returns whether given argument is an
@@ -43,7 +44,8 @@
43
44
  # * #method: Returns the `Method` object for the given method in `self`.
44
45
  # * #methods: Returns an array of symbol names of public and protected methods
45
46
  # in `self`.
46
- # * #nil?: Returns `false`. (Only `nil` responds `true` to method `nil?`.)
47
+ # * #nil?: Returns `false`. (Only `nil` responds `true` to method
48
+ # <code>nil?</code>.)
47
49
  # * #object_id: Returns an integer corresponding to `self` that is unique for
48
50
  # the current process
49
51
  # * #private_methods: Returns an array of the symbol names of the private
@@ -85,7 +87,7 @@
85
87
  # frozen state.
86
88
  # * #define_singleton_method: Defines a singleton method in `self` for the
87
89
  # given symbol method-name and block or proc.
88
- # * #display: Prints `self` to the given IO stream or `$stdout`.
90
+ # * #display: Prints `self` to the given IO stream or <code>$stdout</code>.
89
91
  # * #dup: Returns a shallow unfrozen copy of `self`.
90
92
  # * #enum_for (aliased as #to_enum): Returns an Enumerator for `self` using
91
93
  # the using the given method, arguments, and block.
@@ -104,7 +106,3 @@
104
106
  class Object < BasicObject
105
107
  include Kernel
106
108
  end
107
-
108
- # A previous incarnation of `interned` for backward-compatibility (see #1499)
109
- %a{deprecated: Use `interned` instead}
110
- type Object::name = interned
@@ -5,8 +5,8 @@
5
5
  #
6
6
  # ObjectSpace also provides support for object finalizers, procs that will be
7
7
  # called after a specific object was destroyed by garbage collection. See the
8
- # documentation for `ObjectSpace.define_finalizer` for important information on
9
- # how to use this method correctly.
8
+ # documentation for <code>ObjectSpace.define_finalizer</code> for important
9
+ # information on how to use this method correctly.
10
10
  #
11
11
  # a = "A"
12
12
  # b = "B"
@@ -17,7 +17,7 @@
17
17
  # a = nil
18
18
  # b = nil
19
19
  #
20
- # *produces:*
20
+ # <em>produces:</em>
21
21
  #
22
22
  # Finalizer two on 537763470
23
23
  # Finalizer one on 537763480
@@ -50,9 +50,9 @@ module ObjectSpace
50
50
  # The contents of the returned hash are implementation specific. It may be
51
51
  # changed in future.
52
52
  #
53
- # The keys starting with `:T_` means live objects. For example, `:T_ARRAY` is
54
- # the number of arrays. `:FREE` means object slots which is not used now.
55
- # `:TOTAL` means sum of above.
53
+ # The keys starting with <code>:T_</code> means live objects. For example,
54
+ # <code>:T_ARRAY</code> is the number of arrays. <code>:FREE</code> means object
55
+ # slots which is not used now. <code>:TOTAL</code> means sum of above.
56
56
  #
57
57
  # If the optional argument `result_hash` is given, it is overwritten and
58
58
  # returned. This is intended to avoid probe effect.
@@ -74,7 +74,7 @@ module ObjectSpace
74
74
  # object ID of the *obj* will be passed as an argument to *aProc*. If *aProc* is
75
75
  # a lambda or method, make sure it can be called with a single argument.
76
76
  #
77
- # The return value is an array `[0, aProc]`.
77
+ # The return value is an array <code>[0, aProc]</code>.
78
78
  #
79
79
  # The two recommended patterns are to either create the finaliser proc in a
80
80
  # non-instance method where it can safely capture the needed state, or to use a
@@ -147,7 +147,7 @@ module ObjectSpace
147
147
  # count = ObjectSpace.each_object(Job) {|x| p x }
148
148
  # puts "Total count: #{count}"
149
149
  #
150
- # *produces:*
150
+ # <em>produces:</em>
151
151
  #
152
152
  # #<Job:0x000000011d6cbbf0>
153
153
  # #<Job:0x000000011d6cbc68>
@@ -155,8 +155,9 @@ module ObjectSpace
155
155
  #
156
156
  # Due to a current Ractor implementation issue, this method does not yield
157
157
  # Ractor-unshareable objects when the process is in multi-Ractor mode.
158
- # Multi-ractor mode is enabled when `Ractor.new` has been called for the first
159
- # time. See https://bugs.ruby-lang.org/issues/19387 for more information.
158
+ # Multi-ractor mode is enabled when <code>Ractor.new</code> has been called for
159
+ # the first time. See https://bugs.ruby-lang.org/issues/19387 for more
160
+ # information.
160
161
  #
161
162
  # a = 12345678987654321 # shareable
162
163
  # b = [].freeze # shareable