I can read in complex.c:
#if 0
rb_define_method(rb_cComplex, "~", nucomp_conj, 0); /* gcc */
#endif
The above definition of Complex#~ returns conjugate complex,
while Fixnum#~ and Bignum#~ are bit inversion operators.
I don't know a suitable definition of bit inversion against
Complex.
But I also wonder what the comment /* gcc */ means.
The above definition of Complex#~ returns conjugate complex,
while Fixnum#~ and Bignum#~ are bit inversion operators.
I don't know a suitable definition of bit inversion against
Complex.
Sure, I just wanted to show #~ is running for other objects.
I forgot to change the target of this ticket to 1.9.x.
I'm sorry if I gave you false hope.
Can someone test on linux and windows?
Then I think we could safely enable this method.
This is not implementation problem, but consistency problem.
Fixnum#~ and Bignum#~ do bit inversion.
I guess some people expects Complex#~ to do the same.
They may think it as a bug if Complex#~ returns conjugate
complex.
But I'm not against for your suggestion.
I pass the ball to matz.