Issue #11627 has been updated by Marc-Andre Lafortune.

Assignee set to Yukihiro Matsumoto

When you say "for historic reasons nonzero? returns self or nil", it sounds like it was a mistake that can't be fixed for compatibility reason. I don't believe this to be true.

Also, do you also want `Module#<` and al. to be renamed?

    String < Fixnum # => nil



----------------------------------------
Feature #11627: make `nonzero` an alias of `nonzero?`
https://bugs.ruby-lang.org/issues/11627#change-54635

* Author: Dan Sherson
* Status: Open
* Priority: Normal
* Assignee: Yukihiro Matsumoto
----------------------------------------
for historic reasons `nonzero?` returns self or nil. (according to https://bugs.ruby-lang.org/issues/9123)

I like the expectation that `method?` returns true and false. 
That `nonzero?` returns only truthy/falsy values would be fine, except using its return values are _useful_.

`value.nonzero? || calculation` or `(a <=> b).nonzero? || a.subvalue <=> b.subvalue`

I would feel more comfortable with `value.nonzero || calculation` even though it is only one character different.

Yes, it's a small thing, but I like ruby for the small things :)

Thanks.



-- 
https://bugs.ruby-lang.org/