Skip to content

Commit d665d62

Browse files
authored
Merge pull request #52 from ruby/revert-49
Revert "Allow use of DelegateClass in ractors"
2 parents d1c82ca + ce4ca7c commit d665d62

File tree

2 files changed

+2
-24
lines changed

2 files changed

+2
-24
lines changed

lib/delegate.rb

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -345,16 +345,10 @@ def __setobj__(obj)
345345
end
346346

347347
def Delegator.delegating_block(mid) # :nodoc:
348-
prok = lambda do |*args, &block|
348+
lambda do |*args, &block|
349349
target = self.__getobj__
350350
target.__send__(mid, *args, &block)
351-
end
352-
prok.ruby2_keywords
353-
if defined?(Ractor.shareable_proc)
354-
Ractor.shareable_proc(&prok)
355-
else
356-
prok
357-
end
351+
end.ruby2_keywords
358352
end
359353

360354
#

test/test_delegate.rb

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -403,20 +403,4 @@ def test(a, k:) [a, k]; end
403403
a = DelegateClass(k).new(k.new)
404404
assert_equal([1, 0], a.test(1, k: 0))
405405
end
406-
407-
def test_delegate_class_can_be_used_in_ractors
408-
omit "no Ractor#value" unless defined?(Ractor) && Ractor.method_defined?(:value)
409-
require_path = File.expand_path(File.join(__dir__, "..", "lib", "delegate.rb"))
410-
raise "file doesn't exist: #{require_path}" unless File.exist?(require_path)
411-
assert_ractor <<-RUBY
412-
require "#{require_path}"
413-
class MyClass < DelegateClass(Array);end
414-
values = 2.times.map do
415-
Ractor.new do
416-
MyClass.new([1,2,3]).at(0)
417-
end
418-
end.map(&:value)
419-
assert_equal [1,1], values
420-
RUBY
421-
end
422406
end

0 commit comments

Comments
 (0)