[ruby-core:93042] [Ruby trunk Feature#9123] Make Numeric#nonzero? behavior consistent with Numeric#zero?

From: shevegen@...
Date: 2019-06-11 12:55:12 UTC
List: ruby-core #93042
SXNzdWUgIzkxMjMgaGFzIGJlZW4gdXBkYXRlZCBieSBzaGV2ZWdlbiAoUm9iZXJ0IEEuIEhlaWxl
cikuDQoNCg0KUXVpdGUgYSBsb25nIG9sZCBkaXNjdXNzaW9uLiBJIGNoZWNrZWQgYmVmb3JlIHJl
cGx5aW5nLCB0byBtYWtlIHN1cmUgSSBkb24ndCBjb21tZW50IHRvbyBvZnRlbg0KaW4gb25lIHBh
cnRpY3VsYXIgaXNzdWUuIFNvIHRoaXMgaXMgbXkgZmlyc3QgcmVwbHk7IGFuZCBJIHdpbGwgdHJ5
IHRvIG1ha2UgY29tbWVudHMgdGhhdCBzdW1tYXJpemUNCm15IG9waW5pb24uDQoNCkZpcnN0LCBJ
IHdvdWxkIGxpa2UgdG8gc3RhcnQgdGhhdCBJIGRvIG5vdCB0aGluayB0aGF0IHRoaXMgaXMgYSBo
dWdlbHkgaW1wb3J0YW50IGRpc2N1c3Npb24gZWl0aGVyDQp3YXkuIEkgdW5kZXJzdGFuZCB0aGF0
IHRob3NlIHdobyBtYXkgd2lzaCB0byBjaGFuZ2UgdGhlIGN1cnJlbnQgYmVoYXZpb3VyIGZlZWwg
ZGlmZmVyZW50LCBidXQgdGhpcw0KaXMgbXkgcGVyc29uYWwgb3Bpbmlvbi4gOikNCg0KU28gaW4g
c29tZSB3YXlzLCBJIGFtIGxpa2UgaGVhZGl1cyBoZXJlIGluIG5vdCBoYXZpbmcgYW55IHJlYWxs
eSBzdHJvbmcgb3Bpbmlvbi4NCg0KTm93IHRvIHRoZSBpc3N1ZSBvZiAuemVybz8gZmlyc3QgLSBJ
IGRvIHNvbWV0aW1lcyB1c2UgLnplcm8/IGJ1dCBxdWl0ZSByYXJlbHkuIEZvciBzb21lIHJlYXNv
biBJIA0KZG8gbm90IHNlZW0gdG8gbmVlZCBpdC4gSSBkbyBub3QgcmVtZW1iZXIgYSBzaW5nbGUg
Y2FzZSB3aGVyZSBJIGhhZCB0byB1c2UgLm5vbnplcm8/LiBJIHRoaW5rIHRoZQ0KbmFtZSBpcyBu
b3QgaHVnZWx5IGVsZWdhbnQ7IGl0IGZlZWxzIGEgYml0IGNsdW1zeS4gU28gaW4gc29tZSB3YXlz
IEkgYWdyZWUgd2l0aCB0aG9zZSB3aG8gd291bGQNCnN1Z2dlc3QgZS4gZy46DQoNCiAgICBpZiAh
b2JqZWN0Lnplcm8/DQoNCkluIGdlbmVyYWwgSSBwcmVmZXIgImlmIiBjbGF1c2UgY2hlY2tpbmc7
IEkgbm90aWNlZCB0aGF0IG15IGJyYWluIG5lZWRzIG1vcmUgdGltZSB3aGVuIHByb2Nlc3NpbmcN
CiJ1bmxlc3MiIGNvbmRpdGlvbnMuIEkgYWxzbyB1c2UgInVubGVzcyIganVzdCBmaW5lIGJ1dCBp
dCBpcyBub3QgYSBjbGVhciB3aW5uZXIgdG8gbWUgcGVyIHNlLA0KYXMgb3Bwb3NlZCB0byAiaWYg
IWZvbyIuIEJ1dCB0aGlzIGlzIGFuIGFzaWRlLg0KDQpUbyB0aGUgdmVyeSBzaXR1YXRpb24gaXRz
ZWxmIC0gcGVyc29uYWxseSBJIHRoaW5rIGl0IHdvdWxkIGJlIG1vcmUgY29uc2lzdGVudCB0byBo
YXZlIC5ub256ZXJvPw0KanVzdCBiZWhhdmUgZXhhY3RseSBsaWtlICFvYmplY3QuemVybz8gLSBJ
IGRvbid0IHRoaW5rIHBlb3BsZSBjYW4gZXhwZWN0IGZvciB0aGUgIm9wcG9zaXRlIiBvZg0KYSBt
ZXRob2QgdGhhdCByZXR1cm5zIHRydWUgb3IgZmFsc2UsIHRvIGVpdGhlciByZXR1cm4gc2VsZiwg
b3IgbmlsLiBUaGlzIGlzIGZyb20gYSBjb25zaXN0ZW5jeQ0KcG9pbnQgb2YgdmlldyAtIGFzIHdh
cyBleHBsYWluZWQgdGhlcmUgd2FzIGEgaGlzdG9yeSBmb3IgdGhlIGJlaGF2aW91ciB0b28uDQoN
ClRoZXJlIGlzLCBJIGJlbGlldmUsIG5vIHdheSBmb3IgdGhpcyB0byBjaGFuZ2UgaW4gcnVieSAz
LjAuIFBlcmhhcHMgcGFzdCBydWJ5IDMueCB0aGlzIGJlaGF2aW91cg0KbWF5IGJlIHJldmlzaXRl
ZCwgYnV0IGFnYWluIC0gSSBwZXJzb25hbGx5IGRvbid0IHJlYWxseSBjYXJlIGVpdGhlciB3YXku
IFRvIG1lIGl0IGlzIG5vdCByZWFsbHkNCmltcG9ydGFudC4gVGhpcyBtYXkgYmUgZGlmZmVyZW50
IGZvciBvdGhlciBmb2xrcywgYnV0IHNpbmNlIEkgZG9uJ3QgdXNlIC5ub256ZXJvPyBteXNlbGYs
IGFuZA0KcmFyZWx5IHVzZSAuemVybz8sIGl0IGp1c3QgZG9lcyBub3QgYWZmZWN0IG1lLiBTbyBJ
IGd1ZXNzIHRoaXMgaXNzdWUgaGVyZSBpcyBtb3N0bHkgYWJvdXQgcGVvcGxlDQp3aG8gdXNlIC5u
b256ZXJvPy4NCg0KSSBhbSBub3Qgc3VyZSBob3cgbWFueSB1c2UgdGhpcywgdGhvdWdoIC0gdG8g
bWUgaXQgc2VlbXMgYXMgaWYgb25seSB2ZXJ5IGZldyBwZW9wbGUgdXNlIGl0OyANCm1vcmUgcGVv
cGxlIHVzZSBAQGZvbyB2YXJpYWJsZXMgaW4gY29kZSwgZm9yIGV4YW1wbGUuDQoNCkkgbm90aWNl
ZCB0aGlzIGlzc3VlIGhlcmUgZHVlIHRvIHRoaXMgcmVjZW50IGJsb2cgYXJ0aWNsZToNCg0KaHR0
cHM6Ly9tZXRhcmVkdXguY29tL3Bvc3RzLzIwMTkvMDYvMTEvd2VpcmQtcnVieS16ZXJvaW5nLWlu
LW9uLWEtY291cGxlLW9mLW51bWVyaWMtcHJlZGljYXRlcy5odG1sDQoNClRoZSBhcnRpY2xlIGFs
c28gd3JpdGVzOg0KDQo+IE1vc3Qgb2YgdGhlIHRpbWUgeW91IHByb2JhYmx5IHdvbuKAmXQgZXhw
ZXJpZW5jZSBhbnkgaXNzdWVzIHJlbGF0ZWQgdG8gdGhhdCBpbmNvbnNpc3RlbmN5LCBidXQNCj4g
dGhlcmUgYXJlIGNlcnRhaW5seSBjYXNlcyB3aGVyZSBpdCBpcyBnb2luZyB0byBiaXRlIHlvdS4N
Cg0KQnV0IHNpbmNlIEkgZG9uJ3QgcmVhbGx5IHVzZSB0aGVzZSBtZXRob2RzLCB0aGV5IGNhbiBu
b3QgYWZmZWN0IG15IG93biBjb2RlIG5vdyBjYW4gdGhleS4gOykNCg0KQm96aGlkYXIgd3JvdGU6
DQoNCj4gRGVwcmVjYXRpb25zIGFyZSBub3QgYnJlYWtpbmcgYW55dGhpbmcsIGJ1dCBhZHZhbmNl
IHRoZSBsYW5ndWFnZSBmb3J3YXJkLg0KDQpUaGlzIGRlcGVuZHMgb24gdGhlIGNoYW5nZSBpdHNl
bGYgb2YgY291cnNlLiBNYXR6IHRhbGtlZCBhYm91dCBpdCBpbiBhIHByZXNlbnRhdGlvbiBlLiBn
Lg0KZ29vZCBjaGFuZ2UsIGJhZCBjaGFuZ2UuIEZvciBleGFtcGxlLCBpZiB5b3UgY2FuIGF2b2lk
IGEgY2hhbmdlLiBJIHVuZGVyc3RhbmQgYm90aCBwb2ludHMsDQpzaW5jZSBpdCB3aWxsIGFsd2F5
cyBiZSBhIHN0cnVnZ2xlIG9mIHBlb3BsZSB3aG8gcHJlZmVyIGNoYW5nZSwgYXMgb3Bwb3NlZCB0
byB0aG9zZSB3aG8NCmRvbid0IGxpa2UgYSBjaGFuZ2UgKGFuZCB0aGV5IGNhbiBub3QgYXZvaWQg
aXQpLiBUaGUgaXNzdWUgaGVyZSBpcyBzbyBtaW5vciwgdGhvdWdoIC0gSQ0KdGhpbmsgd2UgbmVl
ZCB0byBwdXQgdGhpcyBpbnRvIHBlcnNwZWN0aXZlIHRvby4gSWYgd2UgbG9vayBhdCBwYXN0IHJ1
YnkgMS44LngsIGNoYW5nZXMNCnN1Y2ggYXMgZW5jb2RpbmcsIG9yIHRoZSB5YW1sIGNoYW5nZSBm
cm9tIHN5Y2sgdG8gcHN5Y2ggLSB0aGVzZSB3ZXJlIGxhcmdlciBjaGFuZ2VzLiBJDQpoYXZlIG9u
bHkgcmVjZW50bHkgc3dpdGNoZWQgdG8gVVRGLTggKyBwc3ljaCBmaW5hbGx5IChvZGRseSBlbm91
Z2ggZHVlIHRvIGVtb2ppcyBhbmQNCnVuaWNvZGUgImJ1aWxkaW5nIGJsb2NrcyIgZm9yIGNvbW1h
bmRsaW5lICJpbnRlcmZhY2VzIiAtIHRoaXMgaXMgYWN0dWFsbHkgbW9yZSB1c2VmdWwNCnRoYW4g
cGxhaW4gQVNDSUksIHNvIHRoYXQgY2hhbmdlIHdhcyB1bHRpbWF0ZWx5IHdvcnRoIGl0OyB0b29r
IG1lIH4yIHdlZWtzIG9yIHNvIG9mIA0KaW5pdGlhbCB0aW1lIGludmVzdG1lbnQpLg0KDQpJIGRp
c2FncmVlIGFib3V0IGFkZGluZyBhIG5ldyBtZXRob2QgY2FsbGVkIG5vbl96ZXJvIHRoYXQgd291
bGQgcmV0dXJuIHNlbGYgb3IgbmlsLiBUbw0KbWUgdGhpcyBtYWtlcyBubyBzZW5zZS4gDQoNCkkg
YWxzbyBkbyBub3QgdGhpbmsgdGhhdCB0aGUgbWV0aG9kIC5ub256ZXJvPyBpdHNlbGYgc2hvdWxk
IGJlIGRlcHJlY2F0ZWQgKGFuZCByZW1vdmVkKSwNCmJ1dCBJIGFtIGluIGZhdm91ciBvZiBjaGFu
Z2luZyBpdCB0byBiZSBjb25zaXN0ZW50IHdpdGggLnplcm8/IGluIHRoZSBsb25nIHJ1biwganVz
dA0KYXMgaGVhZGl1cyB3cm90ZSBiYWNrIHRoZW4uDQoNCkkgdGhpbmsgdGhlcmUgaXMgb25lIGlt
cG9ydGFudCB0aGluZyB0byBub3RlLCB0aG91Z2ggLSB3aGlsZSBzb21lIGZvbGtzIGhlcmUgcG9z
dCBhYm91dA0KInB1cml0eSIgb2YgYSBsYW5ndWFnZSwgdGhlIHJ1YnkgY29yZSB0ZWFtIGhhcyBz
dGF0ZWQgc2V2ZXJhbCB0aW1lcyBiZWZvcmUgdGhhdCByZWFsIA0KdXNhZ2Ugb2YgcnVieSBpcyBh
IHByaW1hcnkgZm9jdXMgcmF0aGVyIHRoYW4gYWJzdHJhY3QgInBlcmZlY3QiIGRlc2lnbi4gTWVh
bmluZyAtIGlmDQp0aGVyZSBpcyBhIGdvb2Qgc3BlY2lmaWMgdXNlIGNhc2UgdGhlbiBhIGNoYW5n
ZSBtYXkgYmUgbXVjaCBlYXNpZXIgdGhhbiBub3QgaGF2aW5nIGENCmdvb2Qgc3BlY2lmaWMgdXNl
IGNhc2UuDQoNCkkgd3JpdGUgdGhpcyBpbiBnZW5lcmFsIGJlY2F1c2UgSSB0aGluayB0aGlzIGFj
dHVhbGx5IGhlbHBzIGV4cGxhaW4gb3RoZXIgY2hhbmdlcyBpbiANCnJ1Ynkgd2hlcmUgYSBnb29k
IHVzZSBjYXNlIHdhcyBnaXZlbiAoc2VlIGhvdyB0aGUgc2FmZSBuYXZpZ2F0aW9uIG9wZXJhdG9y
IHdhcyBhZGRlZCkuDQpBbmQgYWxsIHVzZSBjYXNlcyBoYXZlIHRvIGJlIGNoZWNrZWQgZm9yIHNp
ZGUgZWZmZWN0cyBJRiBhIGNoYW5nZSBpcyBtYWRlLCB0b28uDQoNCk9idmlvdXNseSBJIGFtIGJp
YXNlZCB0b28gYmVjYXVzZSBJIGRvbid0IHJlYWxseSBkZXBlbmQgb24gZWl0aGVyICN6ZXJvPyBv
ciAjbm9uemVybz8sDQpidXQgZXZlbiB0aGlzIGFzaWRlLCBJIHRoaW5rIHRoaXMgaXMgc3VjaCBh
IHNtYWxsIGlzc3VlIGVpdGhlciB3YXkuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0NCkZlYXR1cmUgIzkxMjM6IE1ha2UgTnVtZXJpYyNub256ZXJvPyBiZWhhdmlv
ciBjb25zaXN0ZW50IHdpdGggTnVtZXJpYyN6ZXJvPw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v
cmcvaXNzdWVzLzkxMjMjY2hhbmdlLTc4NDM2DQoNCiogQXV0aG9yOiBzZmVyaWsgKEVyaWsgTWlj
aGFlbHMtT2JlcikNCiogU3RhdHVzOiBPcGVuDQoqIFByaW9yaXR5OiBOb3JtYWwNCiogQXNzaWdu
ZWU6IG1hdHogKFl1a2loaXJvIE1hdHN1bW90bykNCiogVGFyZ2V0IHZlcnNpb246IA0KLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KTnVtZXJpYyN6ZXJvPyByZXR1cm5z
IHRydWUgb3IgZmFsc2UsIHdoaWxlIE51bWVyaWMjbm9uemVybz8gcmV0dXJucyBzZWxmIG9yIG5p
bC4NCg0KSSd2ZSB3cml0dGVuIGEgcGF0Y2ggdGhhdCBmaXhlcyB0aGlzIGluY29uc2lzdGVuY3kg
YW5kIGFkZHMgYSBOdW1lcmljI25vbnplcm8gKG5vbi1wcmVkaWNhdGUpIG1ldGhvZCB0aGF0IHJl
dHVybnMgc2VsZiBvciBuaWwgZm9yIGNoYWluaW5nIGNvbXBhcmlzb25zLiBJJ2QgbGlrZSBmb3Ig
dGhpcyB0byBiZSBpbmNsdWRlZCBpbiBSdWJ5IDIuMS4wLg0KDQpodHRwczovL2dpdGh1Yi5jb20v
cnVieS9ydWJ5L3B1bGwvNDUyLnBhdGNoDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxh
bmcub3JnLw0KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFu
Zy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2Nn
aS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K

In This Thread

Prev Next