[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