[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110246] [Ruby master Feature#18821] Expose Pattern Matching interfaces in core classes
From:
"ktsj (Kazuki Tsujimoto)" <noreply@...>
Date:
2022-10-10 12:54:17 UTC
List:
ruby-core #110246
SXNzdWUgIzE4ODIxIGhhcyBiZWVuIHVwZGF0ZWQgYnkga3RzaiAoS2F6dWtpIFRzdWppbW90byku CgoKbWF0eiAoWXVraWhpcm8gTWF0c3Vtb3RvKSB3cm90ZSBpbiAjbm90ZS02Ogo+IEkgYWdyZWUg d2l0aCBNYXRjaERhdGEuIEFuZCBJIHRoaW5rIGBkZWNvbnN0cnVjdGAgZm9yIHRoZSBjbGFzcyBz aG91bGQgYmUgYW4gYWxpYXMgdG8gYGNhcHR1cmVzYCBpbnN0ZWFkIG9mIGB0b19hYC4KCkkndmUg bWVyZ2VkIGBNYXRjaERhdGEjZGVjb25zdHJ1Y3RgLCBgZGVjb3N0cnVjdF9rZXlzYCAoW1BSXSho dHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L3B1bGwvNjIxNikpLgoKCgotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE4ODIxOiBFeHBvc2UgUGF0dGVy biBNYXRjaGluZyBpbnRlcmZhY2VzIGluIGNvcmUgY2xhc3NlcwpodHRwczovL2J1Z3MucnVieS1s YW5nLm9yZy9pc3N1ZXMvMTg4MjEjY2hhbmdlLTk5NTMwCgoqIEF1dGhvcjogYmF3ZWF2ZXIgKEJy YW5kb24gV2VhdmVyKQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIyBQcm9ibGVtIFN0YXRlbWVudAoKUGF0 dGVybiBtYXRjaGluZyBpcyBhbiBleGNlcHRpb25hbGx5IHBvd2VyZnVsIGZlYXR1cmUgaW4gbW9k ZXJuIHZlcnNpb25zIG9mIFJ1YnksIGJ1dCBpdCBoYXMgb25lIGNyaXRpY2FsIHdlYWtuZXNzIHRo YXQgd2Ugc2hvdWxkIGRpc2N1c3M6CgpJdCBpcyBvbmx5IGFzIHBvd2VyZnVsIGFzIHRoZSBudW1i ZXIgb2YgY2xhc3NlcyB3aGljaCBpbXBsZW1lbnQgaXRzIGludGVyZmFjZXMuCgpUaGUgbW9yZSBj b21tb24gdGhlc2UgaW50ZXJmYWNlcyBiZWNvbWUsIHRoZSBtb3JlIHBvd2VyZnVsIHBhdHRlcm4g bWF0Y2hpbmcgd2lsbCBiZWNvbWUgZm9yIGV2ZXJ5ZGF5IHVzZSBpbiBhbnkgc2NlbmFyaW8uCgoj IyBBcmVhcyBvZiBBdHRlbnRpb24KClRoYXQgc2FpZCwgd2hhdCBhcmUgc29tZSBjbGFzc2VzIGlu IGNvcmUgUnVieSB3aGVyZSBpdCBtYXkgbWFrZSBzZW5zZSB0byBpbXBsZW1lbnQgcGF0dGVybiBt YXRjaGluZyBpbnRlcmZhY2VzLCBhbmQgd2hhdCBkbyB3ZSBnYWluIGZyb20gdGhlbT8gSSB3aWxs IHByb3ZpZGUgYW4gYWJicmV2aWF0ZWQgbGlzdCwgYnV0IGNhbiBsb29rIHRvIHF1YWxpZnkgYSBs YXJnZXIgbGlzdCBvZiBwb3RlbnRpYWxzIGlmIHRoaXMgaXMgb2YgaW50ZXJlc3QuCgojIyMgU2V0 CgpDdXJyZW50bHkgYFNldGAgZG9lcyBub3QgaW1wbGVtZW50IGBkZWNvbnN0cnVjdGAuIEVzcGVj aWFsbHkgYEVudW1lcmFibGVgLWxpa2UgYW5kIGBBcnJheWAgbGlrZSBlbnRpdGllcyBtYWtlIHNl bnNlIGhlcmU6CgpgYGBydWJ5CiMgSHlwb3RoZXRpY2FsIGltcGxlbWVudGF0aW9uCmNsYXNzIFNl dAogIGFsaWFzX21ldGhvZCA6ZGVjb25zdHJ1Y3QsIDp0b19hCmVuZAoKU2V0WzEsIDIsIDNdIGlu IFsxLCAyLCAqXQojID0+IHRydWUKYGBgCgojIyMgTWF0cml4CgpTcGVha2luZyBvZiBBcnJheS1s aWtlIHN0cnVjdHVyZXMsIE1hdHJpeCBtYXkgbWFrZSBzZW5zZSBhcyB3ZWxsOgoKYGBgcnVieQpj bGFzcyBNYXRyaXgKICBhbGlhc19tZXRob2QgOmRlY29uc3RydWN0LCA6dG9fYQplbmQKIyA9PiA6 ZGVjb25zdHJ1Y3QKCk1hdHJpeFtbMjUsIDkzXSwgWy0xLCA2Nl1dIGluIFtbMjAuLjMwLCBfXSwg Wy4uMCwgX11dCiMgPT4gdHJ1ZQpgYGAKCiMjIyBDU1YKCkluIHRoZSBjYXNlIG9mIGhlYWRlcnMg ZXNwZWNpYWxseSB0aGlzIGNhbiBiZWNvbWUgdmVyeSBwb3dlcmZ1bCB3aXRoIGBkZWNvbnN0cnVj dF9rZXlzYDoKCmBgYHJ1YnkKcmVxdWlyZSAiY3N2IgpyZXF1aXJlICJuZXQvaHR0cCIKcmVxdWly ZSAianNvbiIKCiMgSHlwb3RoZXRpY2FsIGltcGxlbWVudGF0aW9uCmNsYXNzIENTVjo6Um93CiAg ZGVmIGRlY29uc3RydWN0X2tleXMoa2V5cykKICAgICMgU3ltYm9sL1N0cmluZyBpcyBjb250ZW50 aW91cywgeWVzLCBJIHdpbGwgYWRkcmVzcyBpbiBhIG1vbWVudAogICAgc2VsZi50b19oLnRyYW5z Zm9ybV9rZXlzKCY6dG9fc3ltKQogIGVuZAplbmQKCiMgQ3JlYXRpbmcgc29tZSBzYW1wbGUgZGF0 YSBmb3IgZXhhbXBsZToKanNvbl9kYXRhID0gVVJJKCJodHRwczovL2pzb25wbGFjZWhvbGRlci50 eXBpY29kZS5jb20vdG9kb3MiKQogIC50aGVuIHsgTmV0OjpIVFRQLmdldChfMSkgfQogIC50aGVu IHsgSlNPTi5wYXJzZShfMSwgc3ltYm9saXplX25hbWVzOiB0cnVlKSB9CgpoZWFkZXJzID0ganNv bl9kYXRhLmZpcnN0LmtleXMKcm93cyA9IGpzb25fZGF0YS5tYXAoJjp2YWx1ZXMpCgojIFllcyB5 ZXMsIGhhY2t5CmNzdl9kYXRhID0gQ1NWLmdlbmVyYXRlIGRvIHxjc3Z8CiAgY3N2IDw8IGhlYWRl cnMKICByb3dzLmVhY2ggeyBjc3YgPDwgXzEgfQplbmQudGhlbiB7IENTVi5wYXJzZShfMSwgaGVh ZGVyczogdHJ1ZSkgfQoKIyBCdXQgY2FuIHByb3ZpZGUgdmVyeSBpbnRlcmVzdGluZyByZXN1bHRz Ogpjc3ZfZGF0YS5zZWxlY3QgeyBfMSBpbiB1c2VySWQ6ICIxIiwgY29tcGxldGVkOiAidHJ1ZSIg fS5zaXplCiMgPT4gMTEKYGBgCgpUaG91Z2ggdGhpcyBvbmUgZG9lcyByYWlzZSB0aGUgYnJvYWRl ciBxdWVzdGlvbiBvZiB0aGUgY29uZmxhdGlvbiBvZiBTeW1ib2wgYW5kIFN0cmluZyBrZXlzIGZv ciBvdXIgY29udmVuaWVuY2UuIEdpdmVuIHRoYXQgUnVieSBoYXMgYSBoYWJpdCBvZiBjb2VyY2lu ZyBiZXR3ZWVuIHRoZSB0d28gaW4gb3RoZXIgY2FzZXMgSSBkbyBub3QgZmluZCB0aGlzIHRvIGJl IGFnYWluc3QgdGhlIHNwaXJpdCBvZiBSdWJ5LgoKIyMjIFJlZ0V4cCBNYXRjaERhdGEKCkluIGEg c2ltaWxhciBsaW5lIG9mIHRoaW5raW5nIHRvIHRoZSBDU1YgSSBiZWxpZXZlIHRoaXMgd291bGQg cHJlc2VudCBpbnRlcmVzdGluZyBvcHBvcnR1bml0aWVzLCB0aG91Z2ggZG9lcyByYWlzZSB0aGUg cXVlc3Rpb24gb2Ygd2hhdCB0byBkbyB3aXRoIGBuaWxgIHR5cGVzIChwZXJoYXBzIHJldHVybiBg W11gIGFuZCBge31gIHJlc3BlY3RpdmVseT8gTWF5IGJlIGhhY2t5IHRob3VnaCkKCmBgYHJ1YnkK Y2xhc3MgTWF0Y2hEYXRhCiAgYWxpYXNfbWV0aG9kIDpkZWNvbnN0cnVjdCwgOnRvX2EKCiAgZGVm IGRlY29uc3RydWN0X2tleXMoa2V5cykKICAgIG5hbWVkX2NhcHR1cmVzLnRyYW5zZm9ybV9rZXlz KCY6dG9fc3ltKS5zbGljZSgqa2V5cykKICBlbmQKZW5kCgpJUF9SRUdFWCA9IC8KICAoPzxmaXJz dF9vY3RldD5cZHsxLDN9KVwuCiAgKD88c2Vjb25kX29jdGV0PlxkezEsM30pXC4KICAoPzx0aGly ZF9vY3RldD5cZHsxLDN9KVwuCiAgKD88Zm91cnRoX29jdGV0PlxkezEsM30pCi94CgonMTkyLjE2 OC4xLjEnLm1hdGNoKElQX1JFR0VYKSBpbiB7CiAgZmlyc3Rfb2N0ZXQ6ICcxOTgnLAogIGZvdXJ0 aF9vY3RldDogJzEnCn0KIyA9PiB0cnVlCmBgYAoKQXMgd2l0aCBiZWZvcmUgdGhvdWdoLCB3ZSBk byByaXNrIHNldHRpbmcgYSBwcmVjZWRlbnQgb24gdGhlIGNvbmZsYXRpb24gb2YgU3ltYm9sIGFu ZCBTdHJpbmcga2V5cyB3aGVuIGl0IGlzIGNvbnZlbmllbnQgdG8gdXMsIHNvIG1heSBiZSB3b3J0 aCBwcm9jZWVkaW5nIHdpdGggY2F1dGlvbiB0aGVyZS4KCiMjIyBPcGVuU3RydWN0CgpNdWNoIGxp a2UgYFN0cnVjdGAgSSBiZWxpZXZlIHRoZXJlJ3MgYSBnb29kIGNhc2UgdG8gbWFrZSBoZXJlOgoK YGBgcnVieQpjbGFzcyBPcGVuU3RydWN0CiAgZGVmIGRlY29uc3RydWN0X2tleXMoa2V5cykgPSBr ZXlzID8gdG9faC5zbGljZSgqa2V5cykgOiB0b19oCmVuZAoKbWUgPSBPcGVuU3RydWN0Lm5ldyhu YW1lOiAnQnJhbmRvbicsIGFnZTogMzEpCm1lIGluIHsgbmFtZTogL15CLyB9CiMgPT4gdHJ1ZQpg YGAKCiMjIE90aGVyIFRob3VnaHRzCgpJIGJlbGlldmUgdGhlcmUgaXMgZ3JlYXQgcG90ZW50aWFs IGluIHRoZSBjb3JlIG9mIFJ1YnkgdG8gc3ByZWFkIHRoZSBwYXR0ZXJuIG1hdGNoaW5nIGludGVy ZmFjZS4gVGhlIG1vcmUgY29tbW9uIGl0IGJlY29tZXMgdGhlIG1vcmUgdXNlZnVsIGl0IHdpbGwg YmUgdG8gdXNlcnMuCgpFc3BlY2lhbGx5IGlmIHRoaXMgd2VyZSB0byBiZSBhZG9wdGVkIGludG8g cGxhY2VzIGxpa2UgUmFjaywgTmV0OjpIVFRQLCBKU09OLCBhbmQgb3RoZXIgYXJlYXMgd2hlcmUg ZnJlcXVlbnRseSBtb3JlIGltcGVyYXRpdmUgZGVjb25zdHJ1Y3Rpb25zIGFuZCBxdWVyeWluZyBh cmUgYWxyZWFkeSBjb21tb25seSB1c2VkLgoKSSBicmluZyB0aGlzIHVwLCByYXRoZXIgdGhhbiBv cGVuaW5nIFBScywgYXMgSSB3b3VsZCBsaWtlIHRvIHNlZSB3aGV0aGVyIG9yIG5vdCB0aGUgY29y ZSBSdWJ5IHRlYW0gaXMgaW50ZXJlc3RlZCBpbiB0aGVzZSB0eXBlcyBvZiBQUnMgYW5kIHdvcmsg b2YgZmluZGluZyB3aGVyZSBlbHNlIHRoZXNlIGludGVyZmFjZXMgbWF5IG1ha2Ugc2Vuc2UuCgpJ ZiB5b3Ugd291bGQgbGlrZSBteSBtb3JlIGNvbXBsZXRlIHRob3VnaHRzIG9uIHRoaXMsIGFuZCBj b25zaWRlcmF0aW9ucyBmb3IgcGF0dGVybiBtYXRjaGluZyBpbnRlcmZhY2VzIGluIFJ1YnksIEkg aGFkIHdyaXR0ZW4gW1BhdHRlcm4gTWF0Y2hpbmcgSW50ZXJmYWNlcyBpbiBSdWJ5XShodHRwczov L2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFzcG51UVRLeTVpN0x4LXNEQ3NPUktOOTgxSWFt MUl1TmRPc1lraGg5WWkwL2VkaXQjKSBzb21lIHRpbWUgYWdvIHRvIG5vdGUgY29uY2VybnMsIHBv dGVudGlhbCBndWlkZWxpbmVzLCBhbmQgb3RoZXIgY29uc2lkZXJhdGlvbnMuCgoKCi0tIApodHRw czovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1y ZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5y dWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K