[ruby-core:109510] [Ruby master Feature#17330] Object#non
From:
"hmdne (hmdne -)" <noreply@...>
Date:
2022-08-17 05:36:33 UTC
List:
ruby-core #109510
SXNzdWUgIzE3MzMwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaG1kbmUgKGhtZG5lIC0pLgoKCkkgaGFk IGFub3RoZXIgaWRlYSByZWdhcmRpbmcgYSAjbm9uIG1ldGhvZCB0aGF0IEkgaGF2ZW4ndCB2b2lj ZWQgYmVmb3JlLCBidXQgbWF5IHJlc3VsdCBpbiBjbGVhbmVyIGNvZGUgb3ZlcmFsbDoKCmBgYHJ1 YnkKY2xhc3MgTmVnYXRvciA8IDo6QmFzaWNPYmplY3QKICBkZWYgaW5pdGlhbGl6ZShvYmopCiAg ICBAb2JqZWN0ID0gb2JqCiAgZW5kCgogIGRlZiBtZXRob2RfbWlzc2luZyguLi4pCiAgICAhQG9i amVjdC5fX3NlbmRfXyguLi4pICYmIEBvYmplY3QKICBlbmQKCiAgZGVmIHJlc3BvbmRfdG9fbWlz c2luZz8oLi4uKQogICAgQG9iamVjdC5yZXNwb25kX3RvPyguLi4pCiAgZW5kCmVuZAoKY2xhc3Mg T2JqZWN0CiAgZGVmIG5vbgogICAgTmVnYXRvci5uZXcoc2VsZikKICBlbmQKZW5kCgpbXS5ub24u ZW1wdHk/ICMgPT4gZmFsc2UKWzEyM10ubm9uLmVtcHR5PyAjID0+IFsxMjNdCmBgYAoKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxNzMzMDogT2JqZWN0 I25vbgpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTczMzAjY2hhbmdlLTk4Njc5 CgoqIEF1dGhvcjogenZlcm9rIChWaWN0b3IgU2hlcGVsZXYpCiogU3RhdHVzOiBPcGVuCiogUHJp b3JpdHk6IE5vcm1hbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCihB cyBhbHdheXMgIndpdGggY29yZSIgbWV0aG9kIHByb3Bvc2FscywgSSBkb24ndCBleHBlY3QgcXVp Y2sgc3VjY2VzcywgYnV0IGhvcGUgZm9yIGEgZnJ1aXRmdWwgZGlzY3Vzc2lvbikKCiMjIyBSZWFz b25zOgoKUnVieSBhbHdheXMgdHJpZWQgdG8gYmUgdmVyeSBjaGFpbmFiaWxpdHktZnJpZW5kbHku IFJlY2VudGx5LCB3aXRoIGludHJvZHVjdGlvbiBvZiBgLnRoZW5gIGFuZCBgPT5gLCBldmVuIG1v cmUgc28uIEJ1dCBvbmUgcGF0dGVybiB0aGF0IGZyZXF1ZW50bHkgZW1lcmdlcyBhbmQgZG9lc24n dCBoYXZlIGdvb2QgaWRpb21hdGljIGV4cHJlc3Npb246IGNhbGN1bGF0ZSBzb21ldGhpbmcsIGFu ZCBpZiBpdCBpcyBub3QgYSAiZ29vZCIgdmFsdWUsIHJldHVybiBgbmlsYCAob3IgcHJvdmlkZSBk ZWZhdWx0IHZhbHVlIHdpdGggYHx8YCkuIFRoZXJlIGFyZSBjdXJyZW50bHkgdHdvIHBhcnRpYWwg c29sdXRpb25zOgoKMS4gYG5vbnplcm8/YCBpbiBSdWJ5IGNvcmUgKGZyZXF1ZW50bHkgbW9ja2Vk IGZvciAiaW5hZGVxdWF0ZSIgYmVoYXZpb3IsIGFzIGl0IGlzIGxvb2tpbmcgbGlrZSBwcmVkaWNh dGUgbWV0aG9kLCBidXQgaW5zdGVhZCBvZiBgdHJ1ZWAvYGZhbHNlYCByZXR1cm5zIGFuIG9yaWdp bmFsIHZhbHVlIG9yIGBuaWxgKQoyLiBBY3RpdmVTdXBwb3J0IGBPYmplY3QjcHJlc2VuY2VgLCB3 aGljaCBhbHNvIHJldHVybnMgYW4gb3JpZ2luYWwgdmFsdWUgb3IgYG5pbGAgaWYgaXQgaXMgbm90 ICJwcmVzZW50IiAoZS5nLiBgbmlsYCBvciBgZW1wdHk/YCBpbiBBUy1zcGVhaykKCkJvdGggb2Yg dGhlbSBwcm92ZSB0aGVtc2VsdmVzIHF1aXRlIHVzZWZ1bCBpbiBzb21lIGRvbWFpbnMsIGJ1dCB0 aGV5IGFyZSB0YXJnZXRpbmcgb25seSB0aG9zZSBwYXJ0aWN1bGFyIGRvbWFpbnMsIGxvb2sgdW5s aWtlIGVhY2ggb3RoZXIsIGFuZCBjYW4gYmUgY29uZnVzaW5nLgoKIyMjIFByb3Bvc2FsOgoKTWV0 aG9kIGBPYmplY3Qjbm9uYCAob3IgYEtlcm5lbCNub25gKSwgd2hpY2ggcmVjZWl2ZXMgYSBibG9j aywgY2FsbHMgaXQgd2l0aCByZWNlaXZlciBhbmQgcmV0dXJucyBgbmlsYCAoaWYgYmxvY2sgbWF0 Y2hlZCkgb3IgcmVjZWl2ZXIgb3RoZXJ3aXNlLgoKIyMjIyMgUHJvdG90eXBlIGltcGxlbWVudGF0 aW9uOgoKYGBgcnVieQpjbGFzcyBPYmplY3QKICBkZWYgbm9uCiAgICBzZWxmIHVubGVzcyB5aWVs ZChzZWxmKQogIGVuZAplbmQKYGBgCgojIyMjIyBVc2FnZSBleGFtcGxlczoKCjEuIFdpdGggbnVt YmVyOgoKICAgIGBgYHJ1YnkKICAgIGxpbWl0ID0gY2FsY3VsYXRlLnNvbWUubGltaXQKICAgIGxp bWl0Lnplcm8/ID8gREVGQVVMVF9MSU1JVCA6IGxpbWl0CiAgICAjIG9yLCB3aXRoIG5vbnplcm8/ CiAgICBjYWxjdWxhdGUuc29tZS5saW1pdC5ub256ZXJvPyB8fCBERUZBVUxUX0xJTUlUCiAgICAj IHdpdGggbm9uOgogICAgY2FsY3VsYXRlLnNvbWUubGltaXQubm9uKCY6emVybz8pIHx8IERFRkFV TFRfTElNSVQKICAgICMgXiBOb3RlIGhlcmUsIGhvdywgdW5saWtlIGBub256ZXJvP2AsIHdlIHNl ZSBwcmVkaWNhdGUteSA/LCBidXQgaXQgaXMgSU5TSURFIHRoZSBgbm9uKClgIGFuZCBsZXNzIGNv bmZ1c2luZwogICAgYGBgCgoyLiBXaXRoIHN0cmluZzoKCiAgICBgYGBydWJ5CiAgICBuYW1lID0g cGFyYW1zWzpuYW1lXSBpZiBwYXJhbXNbOm5hbWVdICYmICFwYXJhbXNbOm5hbWVdLmVtcHR5Pwog ICAgIyBvciwgd2l0aCBBY3RpdmVTdXBwb3J0OgogICAgbmFtZSA9IHBhcmFtc1s6bmFtZV0ucHJl c2VuY2UKICAgICMgd2l0aCBub246CiAgICBuYW1lID0gcGFyYW1zWzpuYW1lXSYubm9uKCY6ZW1w dHk/KQogICAgYGBgCgozLiBNb3JlIGNvbXBsaWNhdGVkIGV4YW1wbGUKCiAgICBgYGBydWJ5CiAg ICBhY3Rpb24gPSBwYXlsb2FkLmRpZygnYWN0aW9uJywgJ3R5cGUnKQogICAgcmV0dXJuIGlmIFBS T0hJQklURURfQUNUSU9OUy5pbmNsdWRlPyhhY3Rpb24pCiAgICBzZW5kKCJkb18je2FjdGlvbn0i KQogICAgIyB3aXRoIG5vbiAmIHRoZW46CiAgICBwYXlsb2FkLmRpZygnYWN0aW9uJywgJ3R5cGUn KQogICAgICAubm9uIHsgfGFjdGlvbnwgUFJPSElCSVRFRF9BQ1RJT05TLmluY2x1ZGU/KGFjdGlv bikgfQogICAgICAmLnRoZW4geyB8YWN0aW9ufCBzZW5kKCJkb18je2FjdGlvbn0iKSB9CiAgICBg YGAKCkJhc2ljYWxseSwgdGhlIHByb3Bvc2FsIGlzIGEgImNoYWluYWJsZSBndWFyZCBjbGF1c2Ui IHRoYXQgYWxsb3dzIHRvICJjaGFpbiJpZnkgYW5kIERSWWlmeSBjb2RlIGxpa2U6CgpgYGBydWJ5 CnZhbHVlID0gZmV0Y2hfc29tZXRoaW5nCnJldHVybiB2YWx1ZSB1bmxlc3MgdmFsdWUud2l0aF9w cm9ibGVtcz8KIyB3aGljaCB0dXJucyBpbnRvCmZldGNoX3NvbWV0aGluZy5ub24oJjp3aXRoX3By b2JsZW1zPykKCiMgb3IKdmFsdWUgPSBmZXRjaF9zb21ldGhpbmcKdmFsdWUgPSByZWFzb25hYmxl X2RlZmF1bHQgaWYgdmFsdWUud2l0aF9wcm9ibGVtcz8KIyB0dXJucyBpbnRvCnZhbHVlID0gZmV0 Y2hfc29tZXRoaW5nLm5vbigmOndpdGhfcHJvYmxlbXM/KSB8fCByZWFzb25hYmxlX2RlZmF1bHQK YGBgCgpJIGJlbGlldmUgdGhhdCB0aGlzIGlkaW9tIGlzIGZyZXF1ZW50IGVub3VnaCwgaW4gY29t YmluYXRpb25zIGxpa2UgKGFzc29ydGVkIGV4YW1wbGVzKSAicmVhZCBjb25maWcgZmlsZSBidXQg cmV0dXJuIGBuaWxgIGlmIGl0IGlzIGVtcHR5L3dyb25nIHZlcnNpb24iLCAiZmV0Y2ggbGF0ZXN0 IGludm9pY2UsIGJ1dCBpZ25vcmUgaWYgaXQgaGFzIGFuIGB1bnBheWFibGVgIGZsYWciLCAiZmV0 Y2ggYSBsaXN0IG9mIGxhc3QgdXNlcidzIHNlYXJjaGVzLCBidXQgaWYgaXQgaXMgZW1wdHksIHBy b3ZpZGUgZGVmYXVsdCBzZWFyY2ggaGludHMiIGV0Yy4KCkkgYmVsaWV2ZSB0aGVyZSBfaXNfIHVu IHVucmVmbGVjdGVkIG5lZWQgZm9yIGlkaW9tIGxpa2UgdGhpcywgdGhlIG5lZWQgdGhhdCBpcyBk ZW1vbnN0cmF0ZWQgYnkgdGhlIGV4aXN0ZW5jZSBvZiBgbm9uemVybz9gIGFuZCBgcHJlc2VuY2Vg LgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0 bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+Cjxo dHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNv cmU+Cg==