123456789_123456789_123456789_123456789_123456789_

Class: Ractor::MovedObject

Relationships & Source Files
Inherits: BasicObject
Defined in: ractor.c,
ractor.c

Overview

A special object which replaces any value that was moved to another ractor in #send or yield. Any attempt to access the object results in MovedError.

r = Ractor.new { receive }

ary = [1, 2, 3]
r.send(ary, move: true)
p Ractor::MovedObject === ary
# => true
ary.inspect
# Ractor::MovedError (can not send any methods to a moved object)

Instance Method Summary

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(*args)

Alias for #!.

Instance Method Details

#!(*args) Also known as: #method_missing, #__send__, #==, #!=, #__id__, #equal?, #instance_eval, #instance_exec

[ GitHub ]

  
# File 'ractor.c', line 2503

static VALUE
ractor_moved_missing(int argc, VALUE *argv, VALUE self)
{
    rb_raise(rb_eRactorMovedError, "can not send any methods to a moved object");
}

#!=(*args)

Alias for #!.

#==(*args)

Alias for #!.

#__id__(*args)

Alias for #!.

#__send__(*args)

Alias for #!.

#equal?(*args)

Alias for #!.

#instance_eval(*args)

Alias for #!.

#instance_exec(*args)

Alias for #!.