[ruby-core:109507] [Ruby master Feature#17330] Object#non
From:
"ujihisa (Tatsuhiro Ujihisa)" <noreply@...>
Date:
2022-08-17 03:23:08 UTC
List:
ruby-core #109507
SXNzdWUgIzE3MzMwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgdWppaGlzYSAoVGF0c3VoaXJvIFVqaWhp c2EpLgoKCj4gbm9uKCkgYW5kIG91aSgpCgpTaW5jZSB3aGF0IHRoZXNlIDIgbWV0aG9kcyBkbyBh cmVuJ3QgdHJpdmlhbCBmcm9tIHRoZSBuYW1lcywgaG93J3MgdGhlIGZvbGxvd2luZyAyLXdvcmRz IG5hbWVzIGluc3RlYWQ/CgpgaXRzZWxmX2lmYApgaXRzZWxmX3VubGVzc2AKClRoZXNlIHJldHVy biBlaXRoZXIgdGhlIG9iamVjdCBpdHNlbGYgb3IgbmlsLCBzbyBpdCBtYWtlcyBzZW5zZSB0byBo YXZlIHRoZSBtZXRob2QgbmFtZXMgd2hhdCB0byByZXR1cm4uCldlIGFyZSBhbHJlYWR5IGZhbWls aWFyIHdpdGggdGhlIGNvbmNlcHQgb2YgaXRzZWxmL2lmL3VubGVzcywgc28gdGhlc2UgbmFtZXMg c2hvdWxkIGJlIHNlbGYgZGVzY3JpcHRpdmUgdG9vLgoKQWxzbyBmb3IgZXhhbXBsZSBgbm9uYCBp cyBzaG9ydGVyIHRoYW4gYG5vbnplcm8/YCBidXQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHVzZWQg bW9yZSB3aWRlbHkgdGhhbiBgbm9uemVybz9gIGluIGdlbmVyYWwuCgoKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxNzMzMDogT2JqZWN0I25vbgpodHRw czovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTczMzAjY2hhbmdlLTk4Njc2CgoqIEF1dGhv cjogenZlcm9rIChWaWN0b3IgU2hlcGVsZXYpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5v cm1hbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCihBcyBhbHdheXMg IndpdGggY29yZSIgbWV0aG9kIHByb3Bvc2FscywgSSBkb24ndCBleHBlY3QgcXVpY2sgc3VjY2Vz cywgYnV0IGhvcGUgZm9yIGEgZnJ1aXRmdWwgZGlzY3Vzc2lvbikKCiMjIyBSZWFzb25zOgoKUnVi eSBhbHdheXMgdHJpZWQgdG8gYmUgdmVyeSBjaGFpbmFiaWxpdHktZnJpZW5kbHkuIFJlY2VudGx5 LCB3aXRoIGludHJvZHVjdGlvbiBvZiBgLnRoZW5gIGFuZCBgPT5gLCBldmVuIG1vcmUgc28uIEJ1 dCBvbmUgcGF0dGVybiB0aGF0IGZyZXF1ZW50bHkgZW1lcmdlcyBhbmQgZG9lc24ndCBoYXZlIGdv b2QgaWRpb21hdGljIGV4cHJlc3Npb246IGNhbGN1bGF0ZSBzb21ldGhpbmcsIGFuZCBpZiBpdCBp cyBub3QgYSAiZ29vZCIgdmFsdWUsIHJldHVybiBgbmlsYCAob3IgcHJvdmlkZSBkZWZhdWx0IHZh bHVlIHdpdGggYHx8YCkuIFRoZXJlIGFyZSBjdXJyZW50bHkgdHdvIHBhcnRpYWwgc29sdXRpb25z OgoKMS4gYG5vbnplcm8/YCBpbiBSdWJ5IGNvcmUgKGZyZXF1ZW50bHkgbW9ja2VkIGZvciAiaW5h ZGVxdWF0ZSIgYmVoYXZpb3IsIGFzIGl0IGlzIGxvb2tpbmcgbGlrZSBwcmVkaWNhdGUgbWV0aG9k LCBidXQgaW5zdGVhZCBvZiBgdHJ1ZWAvYGZhbHNlYCByZXR1cm5zIGFuIG9yaWdpbmFsIHZhbHVl IG9yIGBuaWxgKQoyLiBBY3RpdmVTdXBwb3J0IGBPYmplY3QjcHJlc2VuY2VgLCB3aGljaCBhbHNv IHJldHVybnMgYW4gb3JpZ2luYWwgdmFsdWUgb3IgYG5pbGAgaWYgaXQgaXMgbm90ICJwcmVzZW50 IiAoZS5nLiBgbmlsYCBvciBgZW1wdHk/YCBpbiBBUy1zcGVhaykKCkJvdGggb2YgdGhlbSBwcm92 ZSB0aGVtc2VsdmVzIHF1aXRlIHVzZWZ1bCBpbiBzb21lIGRvbWFpbnMsIGJ1dCB0aGV5IGFyZSB0 YXJnZXRpbmcgb25seSB0aG9zZSBwYXJ0aWN1bGFyIGRvbWFpbnMsIGxvb2sgdW5saWtlIGVhY2gg b3RoZXIsIGFuZCBjYW4gYmUgY29uZnVzaW5nLgoKIyMjIFByb3Bvc2FsOgoKTWV0aG9kIGBPYmpl Y3Qjbm9uYCAob3IgYEtlcm5lbCNub25gKSwgd2hpY2ggcmVjZWl2ZXMgYSBibG9jaywgY2FsbHMg aXQgd2l0aCByZWNlaXZlciBhbmQgcmV0dXJucyBgbmlsYCAoaWYgYmxvY2sgbWF0Y2hlZCkgb3Ig cmVjZWl2ZXIgb3RoZXJ3aXNlLgoKIyMjIyMgUHJvdG90eXBlIGltcGxlbWVudGF0aW9uOgoKYGBg cnVieQpjbGFzcyBPYmplY3QKICBkZWYgbm9uCiAgICBzZWxmIHVubGVzcyB5aWVsZChzZWxmKQog IGVuZAplbmQKYGBgCgojIyMjIyBVc2FnZSBleGFtcGxlczoKCjEuIFdpdGggbnVtYmVyOgoKICAg IGBgYHJ1YnkKICAgIGxpbWl0ID0gY2FsY3VsYXRlLnNvbWUubGltaXQKICAgIGxpbWl0Lnplcm8/ ID8gREVGQVVMVF9MSU1JVCA6IGxpbWl0CiAgICAjIG9yLCB3aXRoIG5vbnplcm8/CiAgICBjYWxj dWxhdGUuc29tZS5saW1pdC5ub256ZXJvPyB8fCBERUZBVUxUX0xJTUlUCiAgICAjIHdpdGggbm9u OgogICAgY2FsY3VsYXRlLnNvbWUubGltaXQubm9uKCY6emVybz8pIHx8IERFRkFVTFRfTElNSVQK ICAgICMgXiBOb3RlIGhlcmUsIGhvdywgdW5saWtlIGBub256ZXJvP2AsIHdlIHNlZSBwcmVkaWNh dGUteSA/LCBidXQgaXQgaXMgSU5TSURFIHRoZSBgbm9uKClgIGFuZCBsZXNzIGNvbmZ1c2luZwog ICAgYGBgCgoyLiBXaXRoIHN0cmluZzoKCiAgICBgYGBydWJ5CiAgICBuYW1lID0gcGFyYW1zWzpu YW1lXSBpZiBwYXJhbXNbOm5hbWVdICYmICFwYXJhbXNbOm5hbWVdLmVtcHR5PwogICAgIyBvciwg d2l0aCBBY3RpdmVTdXBwb3J0OgogICAgbmFtZSA9IHBhcmFtc1s6bmFtZV0ucHJlc2VuY2UKICAg ICMgd2l0aCBub246CiAgICBuYW1lID0gcGFyYW1zWzpuYW1lXSYubm9uKCY6ZW1wdHk/KQogICAg YGBgCgozLiBNb3JlIGNvbXBsaWNhdGVkIGV4YW1wbGUKCiAgICBgYGBydWJ5CiAgICBhY3Rpb24g PSBwYXlsb2FkLmRpZygnYWN0aW9uJywgJ3R5cGUnKQogICAgcmV0dXJuIGlmIFBST0hJQklURURf QUNUSU9OUy5pbmNsdWRlPyhhY3Rpb24pCiAgICBzZW5kKCJkb18je2FjdGlvbn0iKQogICAgIyB3 aXRoIG5vbiAmIHRoZW46CiAgICBwYXlsb2FkLmRpZygnYWN0aW9uJywgJ3R5cGUnKQogICAgICAu bm9uIHsgfGFjdGlvbnwgUFJPSElCSVRFRF9BQ1RJT05TLmluY2x1ZGU/KGFjdGlvbikgfQogICAg ICAmLnRoZW4geyB8YWN0aW9ufCBzZW5kKCJkb18je2FjdGlvbn0iKSB9CiAgICBgYGAKCkJhc2lj YWxseSwgdGhlIHByb3Bvc2FsIGlzIGEgImNoYWluYWJsZSBndWFyZCBjbGF1c2UiIHRoYXQgYWxs b3dzIHRvICJjaGFpbiJpZnkgYW5kIERSWWlmeSBjb2RlIGxpa2U6CgpgYGBydWJ5CnZhbHVlID0g ZmV0Y2hfc29tZXRoaW5nCnJldHVybiB2YWx1ZSB1bmxlc3MgdmFsdWUud2l0aF9wcm9ibGVtcz8K IyB3aGljaCB0dXJucyBpbnRvCmZldGNoX3NvbWV0aGluZy5ub24oJjp3aXRoX3Byb2JsZW1zPykK CiMgb3IKdmFsdWUgPSBmZXRjaF9zb21ldGhpbmcKdmFsdWUgPSByZWFzb25hYmxlX2RlZmF1bHQg aWYgdmFsdWUud2l0aF9wcm9ibGVtcz8KIyB0dXJucyBpbnRvCnZhbHVlID0gZmV0Y2hfc29tZXRo aW5nLm5vbigmOndpdGhfcHJvYmxlbXM/KSB8fCByZWFzb25hYmxlX2RlZmF1bHQKYGBgCgpJIGJl bGlldmUgdGhhdCB0aGlzIGlkaW9tIGlzIGZyZXF1ZW50IGVub3VnaCwgaW4gY29tYmluYXRpb25z IGxpa2UgKGFzc29ydGVkIGV4YW1wbGVzKSAicmVhZCBjb25maWcgZmlsZSBidXQgcmV0dXJuIGBu aWxgIGlmIGl0IGlzIGVtcHR5L3dyb25nIHZlcnNpb24iLCAiZmV0Y2ggbGF0ZXN0IGludm9pY2Us IGJ1dCBpZ25vcmUgaWYgaXQgaGFzIGFuIGB1bnBheWFibGVgIGZsYWciLCAiZmV0Y2ggYSBsaXN0 IG9mIGxhc3QgdXNlcidzIHNlYXJjaGVzLCBidXQgaWYgaXQgaXMgZW1wdHksIHByb3ZpZGUgZGVm YXVsdCBzZWFyY2ggaGludHMiIGV0Yy4KCkkgYmVsaWV2ZSB0aGVyZSBfaXNfIHVuIHVucmVmbGVj dGVkIG5lZWQgZm9yIGlkaW9tIGxpa2UgdGhpcywgdGhlIG5lZWQgdGhhdCBpcyBkZW1vbnN0cmF0 ZWQgYnkgdGhlIGV4aXN0ZW5jZSBvZiBgbm9uemVybz9gIGFuZCBgcHJlc2VuY2VgLgoKCgotLSAK aHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNv cmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlz dHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==