ruby-changes:64547
From: Marc-Andre <ko1@a...>
Date: Thu, 24 Dec 2020 15:37:13 +0900 (JST)
Subject: [ruby-changes:64547] 8aa299de24 (master): Tweak magic comments [doc]
https://git.ruby-lang.org/ruby.git/commit/?id=8aa299de24 From 8aa299de24145891848ce50e29856d2275c75fd3 Mon Sep 17 00:00:00 2001 From: Marc-Andre Lafortune <github@m...> Date: Thu, 24 Dec 2020 01:36:08 -0500 Subject: Tweak magic comments [doc] diff --git a/doc/syntax/comments.rdoc b/doc/syntax/comments.rdoc index b982732..650d13c 100644 --- a/doc/syntax/comments.rdoc +++ b/doc/syntax/comments.rdoc @@ -178,22 +178,22 @@ In this mode, all values assigned to constants are made shareable. https://github.com/ruby/ruby/blob/trunk/doc/syntax/comments.rdoc#L178 X = var # => calls `Ractor.make_shareable(var)` var.frozen? # => true -This mode is "experimental", because it might be error prone, for -example by deep-freezing the constants of an external resource which +This mode is "experimental", because it might be error prone, for +example by deep-freezing the constants of an external resource which could cause errors: # shareable_constant_value: experimental_everything FOO = SomeGem::Something::FOO # => deep freezes the gem's constant! -We will revisit to consider removing "experimental_" or removing this -mode by checking usages before Ruby 3.1. +This will be revisited before Ruby 3.1 to either allow `everything` +or to instead remove this mode. The method Module#const_set is not affected. ==== Mode +experimental_copy+ -In this mode, all values assigned to constants are copyied deeply and +In this mode, all values assigned to constants are deeply copied and made shareable. It is safer mode than +experimental_everything+. # shareable_constant_value: experimental_everything @@ -204,9 +204,9 @@ made shareable. It is safer mode than +experimental_everything+. https://github.com/ruby/ruby/blob/trunk/doc/syntax/comments.rdoc#L204 Ractor.shareable?(X) #=> true var.object_id == X.object_id #=> false -This mode is "experimental", because it is not discussed enough. -We will revisit to consider removing "experimental_" or removing this -mode by checking usages before Ruby 3.1. +This mode is "experimental" and has not been discussed thoroughly. +This will be revisited before Ruby 3.1 to either allow `copy` +or to instead remove this mode. The method Module#const_set is not affected. @@ -224,7 +224,7 @@ This directive can be used multiple times in the same file: https://github.com/ruby/ruby/blob/trunk/doc/syntax/comments.rdoc#L224 B.frozen? # => true B[:foo].frozen? # => true - C = [Object.new] # => cannot assign unshareable object to C (Ractor::Error) + C = [Object.new] # => cannot assign unshareable object to C (Ractor::IsolationError) D = [Object.new.freeze] D.frozen? # => true -- cgit v0.10.2 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/