@@ -178,22 +178,22 @@ In this mode, all values assigned to constants are made shareable.
178
178
X = var # => calls `Ractor.make_shareable(var)`
179
179
var.frozen? # => true
180
180
181
- This mode is "experimental", because it might be error prone, for
182
- example by deep-freezing the constants of an external resource which
181
+ This mode is "experimental", because it might be error prone, for
182
+ example by deep-freezing the constants of an external resource which
183
183
could cause errors:
184
184
185
185
# shareable_constant_value: experimental_everything
186
186
FOO = SomeGem::Something::FOO
187
187
# => deep freezes the gem's constant!
188
188
189
- We will revisit to consider removing "experimental_" or removing this
190
- mode by checking usages before Ruby 3.1 .
189
+ This will be revisited before Ruby 3.1 to either allow `everything`
190
+ or to instead remove this mode .
191
191
192
192
The method Module#const_set is not affected.
193
193
194
194
==== Mode +experimental_copy+
195
195
196
- In this mode, all values assigned to constants are copyied deeply and
196
+ In this mode, all values assigned to constants are deeply copied and
197
197
made shareable. It is safer mode than +experimental_everything+.
198
198
199
199
# shareable_constant_value: experimental_everything
@@ -204,9 +204,9 @@ made shareable. It is safer mode than +experimental_everything+.
204
204
Ractor.shareable?(X) #=> true
205
205
var.object_id == X.object_id #=> false
206
206
207
- This mode is "experimental", because it is not discussed enough .
208
- We will revisit to consider removing "experimental_" or removing this
209
- mode by checking usages before Ruby 3.1 .
207
+ This mode is "experimental" and has not been discussed thoroughly .
208
+ This will be revisited before Ruby 3.1 to either allow `copy`
209
+ or to instead remove this mode .
210
210
211
211
The method Module#const_set is not affected.
212
212
@@ -224,7 +224,7 @@ This directive can be used multiple times in the same file:
224
224
B.frozen? # => true
225
225
B[:foo].frozen? # => true
226
226
227
- C = [Object.new] # => cannot assign unshareable object to C (Ractor::Error )
227
+ C = [Object.new] # => cannot assign unshareable object to C (Ractor::IsolationError )
228
228
229
229
D = [Object.new.freeze]
230
230
D.frozen? # => true
0 commit comments