From 59bbcf49619d7ea995d2521e4782c67ff813739c Mon Sep 17 00:00:00 2001 From: Takafumi Arakaki Date: Sat, 7 May 2022 04:18:10 -0400 Subject: [PATCH] Note that this is specific to the current implementation --- base/docs/basedocs.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/base/docs/basedocs.jl b/base/docs/basedocs.jl index b3391f95d404a..b6a3bf4859c30 100644 --- a/base/docs/basedocs.jl +++ b/base/docs/basedocs.jl @@ -2758,10 +2758,10 @@ The syntax `@atomic! max(a().b, c)` returns `modifyproperty!(a(), :b, max, c, :sequentially_consistent))`, where the first argument must be a `getfield` expression and is modified atomically. -Unlike [`setproperty!`](@ref Base.setproperty!), the default implementation of -`modifyproperty!` does not call `convert` automatically. Thus, `op` must return a value -that can be stored in the field `f` directly when invoking the default `modifyproperty!` -implementation. +In the current implementation, the default implementation of `modifyproperty!` does not call +`convert` automatically and an exception is thrown if `op` returns a value that cannot be +stored in the field `f` of the object `x`. This is different from the behavior of the +default [`setproperty!`](@ref Base.setproperty!). See also [`modifyfield!`](@ref Core.modifyfield!) and [`setproperty!`](@ref Base.setproperty!).