1
0
Fork 0
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:
ko1 2012-11-28 08:00:53 +00:00
parent 45011d08e1
commit 49ed2a756b
3 changed files with 7 additions and 39 deletions

View file

@ -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
View file

@ -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");

View file

@ -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)