stdlib/builtin/fiber.rbs in rbs-0.13.1 vs stdlib/builtin/fiber.rbs in rbs-0.14.0
- old
+ new
@@ -1,62 +1,62 @@
# Fibers are primitives for implementing light weight cooperative
# concurrency in Ruby. Basically they are a means of creating code blocks
# that can be paused and resumed, much like threads. The main difference
# is that they are never preempted and that the scheduling must be done by
# the programmer and not the VM.
-#
+#
# As opposed to other stackless light weight concurrency models, each
# fiber comes with a stack. This enables the fiber to be paused from
# deeply nested function calls within the fiber block. See the ruby(1)
# manpage to configure the size of the fiber stack(s).
-#
+#
# When a fiber is created it will not run automatically. Rather it must be
# explicitly asked to run using the `Fiber#resume` method. The code
# running inside the fiber can give up control by calling `Fiber.yield` in
# which case it yields control back to caller (the caller of the
# `Fiber#resume` ).
-#
+#
# Upon yielding or termination the [Fiber](Fiber)
# returns the value of the last executed expression
-#
+#
# For instance:
-#
+#
# ```ruby
# fiber = Fiber.new do
# Fiber.yield 1
# 2
# end
-#
+#
# puts fiber.resume
# puts fiber.resume
# puts fiber.resume
# ```
-#
+#
# *produces*
-#
+#
# 1
# 2
# FiberError: dead fiber called
-#
+#
# The `Fiber#resume` method accepts an arbitrary number of parameters, if
# it is the first call to `resume` then they will be passed as block
# arguments. Otherwise they will be the return value of the call to
# `Fiber.yield`
-#
+#
# Example:
-#
+#
# ```ruby
# fiber = Fiber.new do |first|
# second = Fiber.yield first + 2
# end
-#
+#
# puts fiber.resume 10
# puts fiber.resume 14
# puts fiber.resume 18
# ```
-#
+#
# *produces*
-#
+#
# 12
# 14
# FiberError: dead fiber called
class Fiber < Object
def self.yield: (*untyped args) -> untyped