Clarify the storage argument. (#6849)

* Slightly more consistent indentation with other parts of the document.
This commit is contained in:
Samuel Williams 2022-12-02 17:49:42 +13:00 committed by GitHub
parent 7e3b42d008
commit 4fa47eabf2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
Notes: git 2022-12-02 04:50:01 +00:00
Merged-By: ioquatix <samuel@codeotaku.com>
2 changed files with 12 additions and 7 deletions

10
NEWS.md
View File

@ -104,11 +104,11 @@ Note: We're only listing outstanding class updates.
* Fiber * Fiber
* Introduce Fiber.[] and Fiber.[]= for inheritable fiber storage. * Introduce Fiber.[] and Fiber.[]= for inheritable fiber storage.
Introduce Fiber#storage and Fiber#storage= (experimental) for Introduce Fiber#storage and Fiber#storage= (experimental) for
getting and resetting the current storage. Introduce getting and resetting the current storage. Introduce
`Fiber.new(storage:)` for setting the storage when creating a `Fiber.new(storage:)` for setting the storage when creating a
fiber. [[Feature #19078]] fiber. [[Feature #19078]]
Existing Thread and Fiber local variables can be tricky to use. Existing Thread and Fiber local variables can be tricky to use.
Thread local variables are shared between all fibers, making it Thread local variables are shared between all fibers, making it

View File

@ -39,14 +39,18 @@ RBIMPL_SYMBOL_EXPORT_BEGIN()
VALUE rb_fiber_new(rb_block_call_func_t func, VALUE callback_obj); VALUE rb_fiber_new(rb_block_call_func_t func, VALUE callback_obj);
/** /**
* Creates a Fiber instance from a C-backended block with the specified storage. * Creates a Fiber instance from a C-backended block with the specified
* storage.
* *
* If the given storage is Qundef, this function is equivalent to * If the given storage is Qundef or Qtrue, this function is equivalent to
* rb_fiber_new() which inherits storage from the current fiber. * rb_fiber_new() which inherits storage from the current fiber.
* *
* If the given storage is Qfalse, this function uses the current fiber's * If the given storage is Qfalse, this function uses the current fiber's
* storage by reference. * storage by reference.
* *
* Specifying either Qtrue or Qfalse is experimental and may be changed in the
* future.
*
* If the given storage is Qnil, this function will lazy initialize the * If the given storage is Qnil, this function will lazy initialize the
* internal storage which starts of empty (without any inheritance). * internal storage which starts of empty (without any inheritance).
* *
@ -54,6 +58,7 @@ VALUE rb_fiber_new(rb_block_call_func_t func, VALUE callback_obj);
* *
* @param[in] func A function, to become the fiber's body. * @param[in] func A function, to become the fiber's body.
* @param[in] callback_obj Passed as-is to `func`. * @param[in] callback_obj Passed as-is to `func`.
* @param[in] storage The way to set up the storage for the fiber.
* @return An allocated new instance of rb_cFiber, which is ready to be * @return An allocated new instance of rb_cFiber, which is ready to be
* "resume"d. * "resume"d.
*/ */