mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* proc.c: remove Proc#== and Proc#eql?.
Proc objects compared with thier object ids. * test/ruby/test_proc.rb: remove related test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
45011d08e1
commit
49ed2a756b
3 changed files with 7 additions and 39 deletions
|
@ -1,3 +1,10 @@
|
|||
Wed Nov 28 16:59:12 2012 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* proc.c: remove Proc#== and Proc#eql?.
|
||||
Proc objects compared with thier object ids.
|
||||
|
||||
* test/ruby/test_proc.rb: remove related test.
|
||||
|
||||
Wed Nov 28 16:41:04 2012 Eric Hodel <drbrain@segment7.net>
|
||||
|
||||
* lib/rdoc/servlet.rb: Add support for serving documentation from a
|
||||
|
|
33
proc.c
33
proc.c
|
@ -774,37 +774,6 @@ rb_proc_parameters(VALUE self)
|
|||
return rb_iseq_parameters(iseq, is_proc);
|
||||
}
|
||||
|
||||
/*
|
||||
* call-seq:
|
||||
* prc == other_proc -> true or false
|
||||
*
|
||||
* Returns <code>true</code> if <i>prc</i> is the same object as
|
||||
* <i>other_proc</i>, or if they are both procs with the same body.
|
||||
*/
|
||||
|
||||
static VALUE
|
||||
proc_eq(VALUE self, VALUE other)
|
||||
{
|
||||
if (self == other) {
|
||||
return Qtrue;
|
||||
}
|
||||
else {
|
||||
if (rb_obj_is_proc(other)) {
|
||||
rb_proc_t *p1, *p2;
|
||||
GetProcPtr(self, p1);
|
||||
GetProcPtr(other, p2);
|
||||
if (p1->envval == p2->envval &&
|
||||
p1->block.iseq->iseq_size == p2->block.iseq->iseq_size &&
|
||||
p1->block.iseq->local_size == p2->block.iseq->local_size &&
|
||||
MEMCMP(p1->block.iseq->iseq, p2->block.iseq->iseq, VALUE,
|
||||
p1->block.iseq->iseq_size) == 0) {
|
||||
return Qtrue;
|
||||
}
|
||||
}
|
||||
}
|
||||
return Qfalse;
|
||||
}
|
||||
|
||||
st_index_t
|
||||
rb_hash_proc(st_index_t hash, VALUE prc)
|
||||
{
|
||||
|
@ -2241,8 +2210,6 @@ Init_Proc(void)
|
|||
rb_define_method(rb_cProc, "arity", proc_arity, 0);
|
||||
rb_define_method(rb_cProc, "clone", proc_clone, 0);
|
||||
rb_define_method(rb_cProc, "dup", proc_dup, 0);
|
||||
rb_define_method(rb_cProc, "==", proc_eq, 1);
|
||||
rb_define_method(rb_cProc, "eql?", proc_eq, 1);
|
||||
rb_define_method(rb_cProc, "hash", proc_hash, 0);
|
||||
rb_define_method(rb_cProc, "to_s", proc_to_s, 0);
|
||||
rb_define_alias(rb_cProc, "inspect", "to_s");
|
||||
|
|
|
@ -339,12 +339,6 @@ class TestProc < Test::Unit::TestCase
|
|||
t.kill
|
||||
end
|
||||
|
||||
def test_eq2
|
||||
b1 = proc { }
|
||||
b2 = b1.dup
|
||||
assert(b1 == b2)
|
||||
end
|
||||
|
||||
def test_to_proc
|
||||
b = proc { :foo }
|
||||
assert_equal(:foo, b.to_proc.call)
|
||||
|
|
Loading…
Add table
Reference in a new issue