[ruby-core:109504] [Ruby master Feature#17330] Object#non
From:
"mame (Yusuke Endoh)" <noreply@...>
Date:
2022-08-16 16:19:39 UTC
List:
ruby-core #109504
SXNzdWUgIzE3MzMwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4KCgpJ IHVuZGVyc3RhbmQgdGhlIGxvZ2ljLCBidXQgdGhlIHJlc3VsdCBvZiB5b3VyIGdlbmVyYWxpemF0 aW9uLCBgJi5ub24oJjplbXB0eT8pYCwgaXMgaGFyZCB0byByZWFkIGFueXdheS4gQG1hdHogc2F5 cyBpdCB0b28gaW4gI25vdGUtNy4gVGhlIHNob3J0IGlkaW9tIGluY2x1ZGVzIGEgYnJhbmNoIChg Ji5gKSwgbmVnYXRpb24gKGBub25gKSwgYW5kIGltcGxpY2l0IFN5bWJvbCN0b19wcm9jIGhhY2su IEl0IGlzIHZlcnkgYnJhaW4taW50ZW5zaXZlLCBhbmQgcmVtaW5pc2NlbnQgb2YgUGVybC4KCkkg Z3Vlc3MgdGhlIGdlbmVyYWxpemF0aW9uIGlzIGFuIGltcG9zc2libGUgaWRlYS4gSSBsaWtlIHRo ZSBzcGVjaWZpYyBgY29udGFpbmVyI25vbmVtcHR5P2AgaW4gIzEyMDc1IChleGNlcHQgaXRzIG5h bWUpLiBJZiB3ZSB3ZXJlIHRvIGludHJvZHVjZSBzb21ldGhpbmcgZXZlbiBzbGlnaHRseSBnZW5l cmFsaXplZCB0byB0aGlzIHByb2JsZW0sIGB4LmVtcHR5Py5ub3RgIHRoYXQgQGFrciBwcm9wb3Nl ZCBpbiAjbm90ZS02IHdvdWxkIGJlIGEgcmVhc29uYWJsZSBjb21wcm9taXNlLCBJTU8uCgo+IFRo ZSBleGlzdGVuY2Ugb2YgYG5vbnplcm8/YCBoaWdobGlnaHRzIHRoYXQgUnVieSBjb3JlIGRldnMg YWxzbyB0cmllZCB0byBhZGRyZXNzIHRoZSBwcm9ibGVtLgoKVGhlIGJpcnRoIG9mIGBub256ZXJv P2AgaXMgYSBiaXQgbW9yZSBwYXJ0aWN1bGFyLCBhbmQgaXQgaXMgY29uc2lkZXJlZCBubyBsb25n ZXIgbmVlZGVkIGluIG1vZGVybiB0aW1lcy4gSSB3cm90ZSBpdHMgaGlzdG9yeSBpbiBodHRwczov L2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvOTEyMyNjaGFuZ2UtNDMwODMgLiBJdCBpcyBub3Qg c28gcmVsYXRlZCB0byB0aGlzIHRvcGljLCBidXQgeW91IG1heSBiZSBpbnRlcmVzdGVkLgoKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxNzMzMDogT2Jq ZWN0I25vbgpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTczMzAjY2hhbmdlLTk4 NjczCgoqIEF1dGhvcjogenZlcm9rIChWaWN0b3IgU2hlcGVsZXYpCiogU3RhdHVzOiBPcGVuCiog UHJpb3JpdHk6IE5vcm1hbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CihBcyBhbHdheXMgIndpdGggY29yZSIgbWV0aG9kIHByb3Bvc2FscywgSSBkb24ndCBleHBlY3Qg cXVpY2sgc3VjY2VzcywgYnV0IGhvcGUgZm9yIGEgZnJ1aXRmdWwgZGlzY3Vzc2lvbikKCiMjIyBS ZWFzb25zOgoKUnVieSBhbHdheXMgdHJpZWQgdG8gYmUgdmVyeSBjaGFpbmFiaWxpdHktZnJpZW5k bHkuIFJlY2VudGx5LCB3aXRoIGludHJvZHVjdGlvbiBvZiBgLnRoZW5gIGFuZCBgPT5gLCBldmVu IG1vcmUgc28uIEJ1dCBvbmUgcGF0dGVybiB0aGF0IGZyZXF1ZW50bHkgZW1lcmdlcyBhbmQgZG9l c24ndCBoYXZlIGdvb2QgaWRpb21hdGljIGV4cHJlc3Npb246IGNhbGN1bGF0ZSBzb21ldGhpbmcs IGFuZCBpZiBpdCBpcyBub3QgYSAiZ29vZCIgdmFsdWUsIHJldHVybiBgbmlsYCAob3IgcHJvdmlk ZSBkZWZhdWx0IHZhbHVlIHdpdGggYHx8YCkuIFRoZXJlIGFyZSBjdXJyZW50bHkgdHdvIHBhcnRp YWwgc29sdXRpb25zOgoKMS4gYG5vbnplcm8/YCBpbiBSdWJ5IGNvcmUgKGZyZXF1ZW50bHkgbW9j a2VkIGZvciAiaW5hZGVxdWF0ZSIgYmVoYXZpb3IsIGFzIGl0IGlzIGxvb2tpbmcgbGlrZSBwcmVk aWNhdGUgbWV0aG9kLCBidXQgaW5zdGVhZCBvZiBgdHJ1ZWAvYGZhbHNlYCByZXR1cm5zIGFuIG9y aWdpbmFsIHZhbHVlIG9yIGBuaWxgKQoyLiBBY3RpdmVTdXBwb3J0IGBPYmplY3QjcHJlc2VuY2Vg LCB3aGljaCBhbHNvIHJldHVybnMgYW4gb3JpZ2luYWwgdmFsdWUgb3IgYG5pbGAgaWYgaXQgaXMg bm90ICJwcmVzZW50IiAoZS5nLiBgbmlsYCBvciBgZW1wdHk/YCBpbiBBUy1zcGVhaykKCkJvdGgg b2YgdGhlbSBwcm92ZSB0aGVtc2VsdmVzIHF1aXRlIHVzZWZ1bCBpbiBzb21lIGRvbWFpbnMsIGJ1 dCB0aGV5IGFyZSB0YXJnZXRpbmcgb25seSB0aG9zZSBwYXJ0aWN1bGFyIGRvbWFpbnMsIGxvb2sg dW5saWtlIGVhY2ggb3RoZXIsIGFuZCBjYW4gYmUgY29uZnVzaW5nLgoKIyMjIFByb3Bvc2FsOgoK TWV0aG9kIGBPYmplY3Qjbm9uYCAob3IgYEtlcm5lbCNub25gKSwgd2hpY2ggcmVjZWl2ZXMgYSBi bG9jaywgY2FsbHMgaXQgd2l0aCByZWNlaXZlciBhbmQgcmV0dXJucyBgbmlsYCAoaWYgYmxvY2sg bWF0Y2hlZCkgb3IgcmVjZWl2ZXIgb3RoZXJ3aXNlLgoKIyMjIyMgUHJvdG90eXBlIGltcGxlbWVu dGF0aW9uOgoKYGBgcnVieQpjbGFzcyBPYmplY3QKICBkZWYgbm9uCiAgICBzZWxmIHVubGVzcyB5 aWVsZChzZWxmKQogIGVuZAplbmQKYGBgCgojIyMjIyBVc2FnZSBleGFtcGxlczoKCjEuIFdpdGgg bnVtYmVyOgoKICAgIGBgYHJ1YnkKICAgIGxpbWl0ID0gY2FsY3VsYXRlLnNvbWUubGltaXQKICAg IGxpbWl0Lnplcm8/ID8gREVGQVVMVF9MSU1JVCA6IGxpbWl0CiAgICAjIG9yLCB3aXRoIG5vbnpl cm8/CiAgICBjYWxjdWxhdGUuc29tZS5saW1pdC5ub256ZXJvPyB8fCBERUZBVUxUX0xJTUlUCiAg ICAjIHdpdGggbm9uOgogICAgY2FsY3VsYXRlLnNvbWUubGltaXQubm9uKCY6emVybz8pIHx8IERF RkFVTFRfTElNSVQKICAgICMgXiBOb3RlIGhlcmUsIGhvdywgdW5saWtlIGBub256ZXJvP2AsIHdl IHNlZSBwcmVkaWNhdGUteSA/LCBidXQgaXQgaXMgSU5TSURFIHRoZSBgbm9uKClgIGFuZCBsZXNz IGNvbmZ1c2luZwogICAgYGBgCgoyLiBXaXRoIHN0cmluZzoKCiAgICBgYGBydWJ5CiAgICBuYW1l ID0gcGFyYW1zWzpuYW1lXSBpZiBwYXJhbXNbOm5hbWVdICYmICFwYXJhbXNbOm5hbWVdLmVtcHR5 PwogICAgIyBvciwgd2l0aCBBY3RpdmVTdXBwb3J0OgogICAgbmFtZSA9IHBhcmFtc1s6bmFtZV0u cHJlc2VuY2UKICAgICMgd2l0aCBub246CiAgICBuYW1lID0gcGFyYW1zWzpuYW1lXSYubm9uKCY6 ZW1wdHk/KQogICAgYGBgCgozLiBNb3JlIGNvbXBsaWNhdGVkIGV4YW1wbGUKCiAgICBgYGBydWJ5 CiAgICBhY3Rpb24gPSBwYXlsb2FkLmRpZygnYWN0aW9uJywgJ3R5cGUnKQogICAgcmV0dXJuIGlm IFBST0hJQklURURfQUNUSU9OUy5pbmNsdWRlPyhhY3Rpb24pCiAgICBzZW5kKCJkb18je2FjdGlv bn0iKQogICAgIyB3aXRoIG5vbiAmIHRoZW46CiAgICBwYXlsb2FkLmRpZygnYWN0aW9uJywgJ3R5 cGUnKQogICAgICAubm9uIHsgfGFjdGlvbnwgUFJPSElCSVRFRF9BQ1RJT05TLmluY2x1ZGU/KGFj dGlvbikgfQogICAgICAmLnRoZW4geyB8YWN0aW9ufCBzZW5kKCJkb18je2FjdGlvbn0iKSB9CiAg ICBgYGAKCkJhc2ljYWxseSwgdGhlIHByb3Bvc2FsIGlzIGEgImNoYWluYWJsZSBndWFyZCBjbGF1 c2UiIHRoYXQgYWxsb3dzIHRvICJjaGFpbiJpZnkgYW5kIERSWWlmeSBjb2RlIGxpa2U6CgpgYGBy dWJ5CnZhbHVlID0gZmV0Y2hfc29tZXRoaW5nCnJldHVybiB2YWx1ZSB1bmxlc3MgdmFsdWUud2l0 aF9wcm9ibGVtcz8KIyB3aGljaCB0dXJucyBpbnRvCmZldGNoX3NvbWV0aGluZy5ub24oJjp3aXRo X3Byb2JsZW1zPykKCiMgb3IKdmFsdWUgPSBmZXRjaF9zb21ldGhpbmcKdmFsdWUgPSByZWFzb25h YmxlX2RlZmF1bHQgaWYgdmFsdWUud2l0aF9wcm9ibGVtcz8KIyB0dXJucyBpbnRvCnZhbHVlID0g ZmV0Y2hfc29tZXRoaW5nLm5vbigmOndpdGhfcHJvYmxlbXM/KSB8fCByZWFzb25hYmxlX2RlZmF1 bHQKYGBgCgpJIGJlbGlldmUgdGhhdCB0aGlzIGlkaW9tIGlzIGZyZXF1ZW50IGVub3VnaCwgaW4g Y29tYmluYXRpb25zIGxpa2UgKGFzc29ydGVkIGV4YW1wbGVzKSAicmVhZCBjb25maWcgZmlsZSBi dXQgcmV0dXJuIGBuaWxgIGlmIGl0IGlzIGVtcHR5L3dyb25nIHZlcnNpb24iLCAiZmV0Y2ggbGF0 ZXN0IGludm9pY2UsIGJ1dCBpZ25vcmUgaWYgaXQgaGFzIGFuIGB1bnBheWFibGVgIGZsYWciLCAi ZmV0Y2ggYSBsaXN0IG9mIGxhc3QgdXNlcidzIHNlYXJjaGVzLCBidXQgaWYgaXQgaXMgZW1wdHks IHByb3ZpZGUgZGVmYXVsdCBzZWFyY2ggaGludHMiIGV0Yy4KCkkgYmVsaWV2ZSB0aGVyZSBfaXNf IHVuIHVucmVmbGVjdGVkIG5lZWQgZm9yIGlkaW9tIGxpa2UgdGhpcywgdGhlIG5lZWQgdGhhdCBp cyBkZW1vbnN0cmF0ZWQgYnkgdGhlIGV4aXN0ZW5jZSBvZiBgbm9uemVybz9gIGFuZCBgcHJlc2Vu Y2VgLgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1h aWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+ CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5 LWNvcmU+Cg==