JezK
Edit File: try_update%21-i.ri
U:RDoc::AnyMethod[iI"try_update!:EFI"/Concurrent::AtomicDirectUpdate#try_update!;FF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"9@!macro [attach] atomic_reference_method_try_update!;To:RDoc::Markup::BlankLine o; ; [I"=Pass the current value to the given block, replacing it ;TI"?with the block's result. Raise an exception if the update ;TI"fails.;T@o; ; [I"I@yield [Object] Calculate a new value for the atomic reference using;To:RDoc::Markup::Verbatim; [I"given (old) value ;T:@format0o; ; [I"N@yieldparam [Object] old_value the starting value of the atomic reference;T@o; ; [ I"=@note This behavior mimics the behavior of the original ;TI"J`AtomicReference#try_update` API. The reason this was changed was to ;TI"Oavoid raising exceptions (which are inherently slow) by default. For more ;TI"Ginfo: https://github.com/ruby-concurrency/concurrent-ruby/pull/336;T@o; ; [I"#@return [Object] the new value;T@o; ; [I"C@raise [Concurrent::ConcurrentUpdateError] if the update fails;T: @fileI"5lib/concurrent/atomic_reference/direct_update.rb;T:0@omit_headings_from_table_of_contents_below00I"old_value;T[ I"();T@)FI"AtomicDirectUpdate;FcRDoc::NormalModule00