[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110486] [Ruby master Feature#18821] Expose Pattern Matching interfaces in core classes
From:
"baweaver (Brandon Weaver)" <noreply@...>
Date:
2022-10-23 03:37:27 UTC
List:
ruby-core #110486
SXNzdWUgIzE4ODIxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYmF3ZWF2ZXIgKEJyYW5kb24gV2VhdmVy KS4KCgpXZSBtaWdodCBjb25zaWRlciBgTmV0OjpIVFRQOjpSZXNwb25zZWAsIEkgY2FuIGdldCBh IFBSIG91dCBhZ2FpbnN0IHRoYXQgb25lIHNob3J0bHkuIFNpbXBsZSBpbXBsZW1lbnRhdGlvbiBt aWdodCBiZToKCmBgYHJ1YnkKY2xhc3MgTmV0OjpIVFRQOjpSZXNwb25zZQogIGRlZiBkZWNvbnN0 cnVjdF9rZXlzKGtleXMpCiAgICBkZWNvbnN0cnVjdGlvbiA9IHt9CgogICAgZGVjb25zdHJ1Y3Rp b25bOmNvZGVdID0gY29kZSBpZiBrZXlzLm5pbD8gfHwga2V5cy5pbmNsdWRlPyg6Y29kZSkKICAg IGRlY29uc3RydWN0aW9uWzpib2R5XSA9IGJvZHkgaWYga2V5cy5uaWw/IHx8IGtleXMuaW5jbHVk ZT8oOmJvZHkpCiAgICBkZWNvbnN0cnVjdGlvbls6dXJpXSA9IHVyaSBpZiBrZXlzLm5pbD8gfHwg a2V5cy5pbmNsdWRlPyg6dXJpKQogICAgZGVjb25zdHJ1Y3Rpb25bOm1lc3NhZ2VdID0gbWVzc2Fn ZSBpZiBrZXlzLm5pbD8gfHwga2V5cy5pbmNsdWRlPyg6bWVzc2FnZSkKCiAgICBkZWNvbnN0cnVj dGlvbgogIGVuZAplbmQKYGBgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCkZlYXR1cmUgIzE4ODIxOiBFeHBvc2UgUGF0dGVybiBNYXRjaGluZyBpbnRlcmZhY2VzIGlu IGNvcmUgY2xhc3NlcwpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTg4MjEjY2hh bmdlLTk5ODA2CgoqIEF1dGhvcjogYmF3ZWF2ZXIgKEJyYW5kb24gV2VhdmVyKQoqIFN0YXR1czog T3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQojIyBQcm9ibGVtIFN0YXRlbWVudAoKUGF0dGVybiBtYXRjaGluZyBpcyBhbiBleGNl cHRpb25hbGx5IHBvd2VyZnVsIGZlYXR1cmUgaW4gbW9kZXJuIHZlcnNpb25zIG9mIFJ1YnksIGJ1 dCBpdCBoYXMgb25lIGNyaXRpY2FsIHdlYWtuZXNzIHRoYXQgd2Ugc2hvdWxkIGRpc2N1c3M6CgpJ dCBpcyBvbmx5IGFzIHBvd2VyZnVsIGFzIHRoZSBudW1iZXIgb2YgY2xhc3NlcyB3aGljaCBpbXBs ZW1lbnQgaXRzIGludGVyZmFjZXMuCgpUaGUgbW9yZSBjb21tb24gdGhlc2UgaW50ZXJmYWNlcyBi ZWNvbWUsIHRoZSBtb3JlIHBvd2VyZnVsIHBhdHRlcm4gbWF0Y2hpbmcgd2lsbCBiZWNvbWUgZm9y IGV2ZXJ5ZGF5IHVzZSBpbiBhbnkgc2NlbmFyaW8uCgojIyBBcmVhcyBvZiBBdHRlbnRpb24KClRo YXQgc2FpZCwgd2hhdCBhcmUgc29tZSBjbGFzc2VzIGluIGNvcmUgUnVieSB3aGVyZSBpdCBtYXkg bWFrZSBzZW5zZSB0byBpbXBsZW1lbnQgcGF0dGVybiBtYXRjaGluZyBpbnRlcmZhY2VzLCBhbmQg d2hhdCBkbyB3ZSBnYWluIGZyb20gdGhlbT8gSSB3aWxsIHByb3ZpZGUgYW4gYWJicmV2aWF0ZWQg bGlzdCwgYnV0IGNhbiBsb29rIHRvIHF1YWxpZnkgYSBsYXJnZXIgbGlzdCBvZiBwb3RlbnRpYWxz IGlmIHRoaXMgaXMgb2YgaW50ZXJlc3QuCgojIyMgU2V0CgpDdXJyZW50bHkgYFNldGAgZG9lcyBu b3QgaW1wbGVtZW50IGBkZWNvbnN0cnVjdGAuIEVzcGVjaWFsbHkgYEVudW1lcmFibGVgLWxpa2Ug YW5kIGBBcnJheWAgbGlrZSBlbnRpdGllcyBtYWtlIHNlbnNlIGhlcmU6CgpgYGBydWJ5CiMgSHlw b3RoZXRpY2FsIGltcGxlbWVudGF0aW9uCmNsYXNzIFNldAogIGFsaWFzX21ldGhvZCA6ZGVjb25z dHJ1Y3QsIDp0b19hCmVuZAoKU2V0WzEsIDIsIDNdIGluIFsxLCAyLCAqXQojID0+IHRydWUKYGBg CgojIyMgTWF0cml4CgpTcGVha2luZyBvZiBBcnJheS1saWtlIHN0cnVjdHVyZXMsIE1hdHJpeCBt YXkgbWFrZSBzZW5zZSBhcyB3ZWxsOgoKYGBgcnVieQpjbGFzcyBNYXRyaXgKICBhbGlhc19tZXRo b2QgOmRlY29uc3RydWN0LCA6dG9fYQplbmQKIyA9PiA6ZGVjb25zdHJ1Y3QKCk1hdHJpeFtbMjUs IDkzXSwgWy0xLCA2Nl1dIGluIFtbMjAuLjMwLCBfXSwgWy4uMCwgX11dCiMgPT4gdHJ1ZQpgYGAK CiMjIyBDU1YKCkluIHRoZSBjYXNlIG9mIGhlYWRlcnMgZXNwZWNpYWxseSB0aGlzIGNhbiBiZWNv bWUgdmVyeSBwb3dlcmZ1bCB3aXRoIGBkZWNvbnN0cnVjdF9rZXlzYDoKCmBgYHJ1YnkKcmVxdWly ZSAiY3N2IgpyZXF1aXJlICJuZXQvaHR0cCIKcmVxdWlyZSAianNvbiIKCiMgSHlwb3RoZXRpY2Fs IGltcGxlbWVudGF0aW9uCmNsYXNzIENTVjo6Um93CiAgZGVmIGRlY29uc3RydWN0X2tleXMoa2V5 cykKICAgICMgU3ltYm9sL1N0cmluZyBpcyBjb250ZW50aW91cywgeWVzLCBJIHdpbGwgYWRkcmVz cyBpbiBhIG1vbWVudAogICAgc2VsZi50b19oLnRyYW5zZm9ybV9rZXlzKCY6dG9fc3ltKQogIGVu ZAplbmQKCiMgQ3JlYXRpbmcgc29tZSBzYW1wbGUgZGF0YSBmb3IgZXhhbXBsZToKanNvbl9kYXRh ID0gVVJJKCJodHRwczovL2pzb25wbGFjZWhvbGRlci50eXBpY29kZS5jb20vdG9kb3MiKQogIC50 aGVuIHsgTmV0OjpIVFRQLmdldChfMSkgfQogIC50aGVuIHsgSlNPTi5wYXJzZShfMSwgc3ltYm9s aXplX25hbWVzOiB0cnVlKSB9CgpoZWFkZXJzID0ganNvbl9kYXRhLmZpcnN0LmtleXMKcm93cyA9 IGpzb25fZGF0YS5tYXAoJjp2YWx1ZXMpCgojIFllcyB5ZXMsIGhhY2t5CmNzdl9kYXRhID0gQ1NW LmdlbmVyYXRlIGRvIHxjc3Z8CiAgY3N2IDw8IGhlYWRlcnMKICByb3dzLmVhY2ggeyBjc3YgPDwg XzEgfQplbmQudGhlbiB7IENTVi5wYXJzZShfMSwgaGVhZGVyczogdHJ1ZSkgfQoKIyBCdXQgY2Fu IHByb3ZpZGUgdmVyeSBpbnRlcmVzdGluZyByZXN1bHRzOgpjc3ZfZGF0YS5zZWxlY3QgeyBfMSBp biB1c2VySWQ6ICIxIiwgY29tcGxldGVkOiAidHJ1ZSIgfS5zaXplCiMgPT4gMTEKYGBgCgpUaG91 Z2ggdGhpcyBvbmUgZG9lcyByYWlzZSB0aGUgYnJvYWRlciBxdWVzdGlvbiBvZiB0aGUgY29uZmxh dGlvbiBvZiBTeW1ib2wgYW5kIFN0cmluZyBrZXlzIGZvciBvdXIgY29udmVuaWVuY2UuIEdpdmVu IHRoYXQgUnVieSBoYXMgYSBoYWJpdCBvZiBjb2VyY2luZyBiZXR3ZWVuIHRoZSB0d28gaW4gb3Ro ZXIgY2FzZXMgSSBkbyBub3QgZmluZCB0aGlzIHRvIGJlIGFnYWluc3QgdGhlIHNwaXJpdCBvZiBS dWJ5LgoKIyMjIFJlZ0V4cCBNYXRjaERhdGEKCkluIGEgc2ltaWxhciBsaW5lIG9mIHRoaW5raW5n IHRvIHRoZSBDU1YgSSBiZWxpZXZlIHRoaXMgd291bGQgcHJlc2VudCBpbnRlcmVzdGluZyBvcHBv cnR1bml0aWVzLCB0aG91Z2ggZG9lcyByYWlzZSB0aGUgcXVlc3Rpb24gb2Ygd2hhdCB0byBkbyB3 aXRoIGBuaWxgIHR5cGVzIChwZXJoYXBzIHJldHVybiBgW11gIGFuZCBge31gIHJlc3BlY3RpdmVs eT8gTWF5IGJlIGhhY2t5IHRob3VnaCkKCmBgYHJ1YnkKY2xhc3MgTWF0Y2hEYXRhCiAgYWxpYXNf bWV0aG9kIDpkZWNvbnN0cnVjdCwgOnRvX2EKCiAgZGVmIGRlY29uc3RydWN0X2tleXMoa2V5cykK ICAgIG5hbWVkX2NhcHR1cmVzLnRyYW5zZm9ybV9rZXlzKCY6dG9fc3ltKS5zbGljZSgqa2V5cykK ICBlbmQKZW5kCgpJUF9SRUdFWCA9IC8KICAoPzxmaXJzdF9vY3RldD5cZHsxLDN9KVwuCiAgKD88 c2Vjb25kX29jdGV0PlxkezEsM30pXC4KICAoPzx0aGlyZF9vY3RldD5cZHsxLDN9KVwuCiAgKD88 Zm91cnRoX29jdGV0PlxkezEsM30pCi94CgonMTkyLjE2OC4xLjEnLm1hdGNoKElQX1JFR0VYKSBp biB7CiAgZmlyc3Rfb2N0ZXQ6ICcxOTgnLAogIGZvdXJ0aF9vY3RldDogJzEnCn0KIyA9PiB0cnVl CmBgYAoKQXMgd2l0aCBiZWZvcmUgdGhvdWdoLCB3ZSBkbyByaXNrIHNldHRpbmcgYSBwcmVjZWRl bnQgb24gdGhlIGNvbmZsYXRpb24gb2YgU3ltYm9sIGFuZCBTdHJpbmcga2V5cyB3aGVuIGl0IGlz IGNvbnZlbmllbnQgdG8gdXMsIHNvIG1heSBiZSB3b3J0aCBwcm9jZWVkaW5nIHdpdGggY2F1dGlv biB0aGVyZS4KCiMjIyBPcGVuU3RydWN0CgpNdWNoIGxpa2UgYFN0cnVjdGAgSSBiZWxpZXZlIHRo ZXJlJ3MgYSBnb29kIGNhc2UgdG8gbWFrZSBoZXJlOgoKYGBgcnVieQpjbGFzcyBPcGVuU3RydWN0 CiAgZGVmIGRlY29uc3RydWN0X2tleXMoa2V5cykgPSBrZXlzID8gdG9faC5zbGljZSgqa2V5cykg OiB0b19oCmVuZAoKbWUgPSBPcGVuU3RydWN0Lm5ldyhuYW1lOiAnQnJhbmRvbicsIGFnZTogMzEp Cm1lIGluIHsgbmFtZTogL15CLyB9CiMgPT4gdHJ1ZQpgYGAKCiMjIE90aGVyIFRob3VnaHRzCgpJ IGJlbGlldmUgdGhlcmUgaXMgZ3JlYXQgcG90ZW50aWFsIGluIHRoZSBjb3JlIG9mIFJ1YnkgdG8g c3ByZWFkIHRoZSBwYXR0ZXJuIG1hdGNoaW5nIGludGVyZmFjZS4gVGhlIG1vcmUgY29tbW9uIGl0 IGJlY29tZXMgdGhlIG1vcmUgdXNlZnVsIGl0IHdpbGwgYmUgdG8gdXNlcnMuCgpFc3BlY2lhbGx5 IGlmIHRoaXMgd2VyZSB0byBiZSBhZG9wdGVkIGludG8gcGxhY2VzIGxpa2UgUmFjaywgTmV0OjpI VFRQLCBKU09OLCBhbmQgb3RoZXIgYXJlYXMgd2hlcmUgZnJlcXVlbnRseSBtb3JlIGltcGVyYXRp dmUgZGVjb25zdHJ1Y3Rpb25zIGFuZCBxdWVyeWluZyBhcmUgYWxyZWFkeSBjb21tb25seSB1c2Vk LgoKSSBicmluZyB0aGlzIHVwLCByYXRoZXIgdGhhbiBvcGVuaW5nIFBScywgYXMgSSB3b3VsZCBs aWtlIHRvIHNlZSB3aGV0aGVyIG9yIG5vdCB0aGUgY29yZSBSdWJ5IHRlYW0gaXMgaW50ZXJlc3Rl ZCBpbiB0aGVzZSB0eXBlcyBvZiBQUnMgYW5kIHdvcmsgb2YgZmluZGluZyB3aGVyZSBlbHNlIHRo ZXNlIGludGVyZmFjZXMgbWF5IG1ha2Ugc2Vuc2UuCgpJZiB5b3Ugd291bGQgbGlrZSBteSBtb3Jl IGNvbXBsZXRlIHRob3VnaHRzIG9uIHRoaXMsIGFuZCBjb25zaWRlcmF0aW9ucyBmb3IgcGF0dGVy biBtYXRjaGluZyBpbnRlcmZhY2VzIGluIFJ1YnksIEkgaGFkIHdyaXR0ZW4gW1BhdHRlcm4gTWF0 Y2hpbmcgSW50ZXJmYWNlcyBpbiBSdWJ5XShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVu dC9kLzFzcG51UVRLeTVpN0x4LXNEQ3NPUktOOTgxSWFtMUl1TmRPc1lraGg5WWkwL2VkaXQjKSBz b21lIHRpbWUgYWdvIHRvIG5vdGUgY29uY2VybnMsIHBvdGVudGlhbCBndWlkZWxpbmVzLCBhbmQg b3RoZXIgY29uc2lkZXJhdGlvbnMuCgoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8K ClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3Vi amVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFp bG1hbi9vcHRpb25zL3J1YnktY29yZT4K