# \[Bug:1.9\] Time.now \<=\> SimpleDelegator.new(Time.now)

**URL:** <https://www.ruby-forum.com/t/bug-1-9-time-now-simpledelegator-new-time-now/139931>\
**Category:** Development\
**Created:** [June 9, 2008, 8:58am UTC](https://www.ruby-forum.com/t/bug-1-9-time-now-simpledelegator-new-time-now/139931 "2008-06-09T08:58:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [June 9, 2008, 8:58am UTC](https://www.ruby-forum.com/t/bug-1-9-time-now-simpledelegator-new-time-now/139931/1 "2008-06-09T08:58:35Z")

</div>

Time.now \<=\> SimpleDelegator.new(Time.now) e$B$,e(B nil e$B$K$J$k$N$Oe(B  
SimpleDelegator.new(Time.now) \<=\> Time.now e$B$,$=$&$J$i$J$$$Ne(B  
e$B$H0c$C$F$h$m$7$/$J$$$s$8$c$J$$$G$7$g$&$+!#e(B

% ./ruby -rdelegate -ve ’  
t = Time.now  
d = SimpleDelegator.new(Time.now)  
p t \<=\> d  
p d \<=\> t  
’  
ruby 1.9.0 (2008-06-09 revision 17043) [i686-linux]  
/home/akr/ruby/yarvo0/lib/ruby/1.9.0/delegate.rb:225: warning: instance  
variable @delegate\_sd\_obj not initialized  
nil  
1

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [August 12, 2008, 11:52am UTC](https://www.ruby-forum.com/t/bug-1-9-time-now-simpledelegator-new-time-now/139931/2 "2008-08-12T11:52:56Z")

</div>

e$B%o%J%Y$H?=$7$^$9!#e(B

2008/06/09 15:56 Tanaka A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Time.now \<=\> SimpleDelegator.new(Time.now) e$B$,e(B nil e$B$K$J$k$N$Oe(B  
> SimpleDelegator.new(Time.now) \<=\> Time.now e$B$,$=$&$J$i$J$$$Ne(B  
> e$B$H0c$C$F$h$m$7$/$J$$$s$8$c$J$$$G$7$g$&$+!#e(B

e$B%Q%C%A$r=q$$$F$\_$^$7$?$,e(B rb\_funcall  
e$B$,B?$/!“7k2L$,%3%9%H$K8+9g$C$F$$$J$$5$$,$7$^$9!#e(B  
e$B$J$K$+NI$$J}K!$r$4B8CN$NJ}$O65$($F$$$?$@$1$k$H$”$j$,$?$$$G$9!#e(B

# Index: time.c

— time.c (revision 18196)  
+++ time.c (working copy)  
@@ -1087,7 +1087,16 @@  
if (tobj1-\>ts.tv\_sec \> tobj2-\>ts.tv\_sec) return INT2FIX(1);  
return INT2FIX(-1);  
}

- else if (RTEST(rb\_funcall(time2, rb\_intern(“kind\_of?”), 1,  
rb\_cTime))) {

- VALUE tmp = rb\_funcall(time2, rb\_intern(“\<=\>”), 1, time1);

- if (NIL\_P(tmp)) return Qnil;

- if (!FIXNUM\_P(tmp)) {

- 

```
 return rb_funcall(LONG2FIX(0), '-', 1, tmp);

```

- }

- return LONG2NUM(-FIX2LONG(tmp));

- }

- return Qnil;  
}

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [August 13, 2008, 9:07am UTC](https://www.ruby-forum.com/t/bug-1-9-time-now-simpledelegator-new-time-now/139931/3 "2008-08-13T09:07:46Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:35830] Re: [Bug:1.9] Time.now \<=\>  
SimpleDelegator.new(Time.now)”  
on Tue, 12 Aug 2008 18:49:39 +0900, wanabe [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
writes:

|2008/06/09 15:56 Tanaka A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):  
|\> Time.now \<=\> SimpleDelegator.new(Time.now) e$B$,e(B nil e$B$K$J$k$N$Oe(B  
|\> SimpleDelegator.new(Time.now) \<=\> Time.now e$B$,$=$&$J$i$J$$$Ne(B  
|\> e$B$H0c$C$F$h$m$7$/$J$$$s$8$c$J$$$G$7$g$&$+!#e(B  
|  
|e$B%Q%C%A$r=q$$$F$\_$^$7$?$,e(B rb\_funcall e$B$,B?$/!“7k2L$,%3%9%H$K8+9g$C$F$$$J$$5$$,$7$^$9!#e(B  
|e$B$J$K$+NI$$J}K!$r$4B8CN$NJ}$O65$($F$$$?$@$1$k$H$”$j$,$?$$$G$9!#e(B

\<=\>e$B$,7?$,9g$o$J$$$He(Bnile$B$rJV$9$3$H$,4|BT$5$l$F$$$k$3$H$rMxMQ$7e(B  
e$B$F0J2\<$N$h$&$K$7$F$\_$^$7$?!#e(B

— a/time.c  
+++ b/time.c  
@@ -1087,8 +1087,18 @@ time\_cmp(VALUE time1, VALUE time2)  
if (tobj1-\>ts.tv\_sec \> tobj2-\>ts.tv\_sec) return INT2FIX(1);  
return INT2FIX(-1);  
}

- else {
- VALUE cmp;
- int n;
- 
- cmp = rb\_funcall(time2, rb\_intern(“\<=\>”), 1, time1);
- if (NIL\_P(cmp)) return Qnil;

- return Qnil;

- n = rb\_cmpint(cmp, time1, time2);
- if (n == 0) return INT2FIX(0);
- if (n \> 0) return INT2FIX(1);
- return INT2FIX(-1);
- }  
}

/\*
