Assert for RTEST that Qnil and Qfalse differ just 1 bit
This commit is contained in:
parent
86096a91d5
commit
412e3c7a8d
Notes:
git
2022-10-19 13:56:02 +00:00
@ -136,6 +136,7 @@ static inline bool
|
||||
RB_TEST(VALUE obj)
|
||||
{
|
||||
/*
|
||||
* if USE_FLONUM
|
||||
* Qfalse: ....0000 0000
|
||||
* Qnil: ....0000 1000
|
||||
* ~Qnil: ....1111 0111
|
||||
@ -143,6 +144,14 @@ RB_TEST(VALUE obj)
|
||||
* ----------------------------
|
||||
* RTEST(v) ....xxxx 0xxx
|
||||
*
|
||||
* if ! USE_FLONUM
|
||||
* Qfalse: ....0000 0000
|
||||
* Qnil: ....0000 0100
|
||||
* ~Qnil: ....1111 1011
|
||||
* v ....xxxx xxxx
|
||||
* ----------------------------
|
||||
* RTEST(v) ....xxxx x0xx
|
||||
*
|
||||
* RTEST(v) can be 0 if and only if (v == Qfalse || v == Qnil).
|
||||
*/
|
||||
return obj & ~RUBY_Qnil;
|
||||
|
Loading…
x
Reference in New Issue
Block a user