diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-28 08:00:53 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-28 08:00:53 +0000 |
commit | 49ed2a756bb41e4e3d3b520d0f84a60851504fe2 (patch) | |
tree | dc7bccbe9a49f1b3b4e51308658f2eda46bbd71b | |
parent | 45011d08e13878ba7593cc4aa3d112d689b9b95e (diff) |
* 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
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | proc.c | 33 | ||||
-rw-r--r-- | test/ruby/test_proc.rb | 6 |
3 files changed, 7 insertions, 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 @@ -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"); diff --git a/test/ruby/test_proc.rb b/test/ruby/test_proc.rb index b2ce8bcf62..0fed9224ec 100644 --- a/test/ruby/test_proc.rb +++ b/test/ruby/test_proc.rb @@ -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) |