[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110474] [Ruby master Feature#19000] Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
From:
"Dan0042 (Daniel DeLorme)" <noreply@...>
Date:
2022-10-22 01:46:16 UTC
List:
ruby-core #110474
SXNzdWUgIzE5MDAwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRGFuMDA0MiAoRGFuaWVsIERlTG9ybWUp Lg0KDQoNCnVmdWsgKFVmdWsgS2F5c2VyaWxpb2dsdSkgd3JvdGUgaW4gI25vdGUtNDoNCj4gSSB0 aGluayBhbGxvd2luZyB0aGUgYGR1cGAgbWV0aG9kIG9uIGBEYXRhYCBpbnN0YW5jZXMgdG8gdGFr ZSBvcHRpb25hbCBrZXl3b3JkIGFyZ3VtZW50cyB3b3VsZCBiZSB0aGUgaWRlYWwgQVBJIGZvciB0 aGlzDQoNCkkgaGFkIGEgc3Ryb25nIHZpc2NlcmFsICJubyIgcmVhY3Rpb24gdG8gdGhpcy4gVG8g YSBjZXJ0YWluIGV4dGVudCBpdCdzIGEgbG9naWNhbCBpZGVhLCB3ZSBhcmUgYWZ0ZXIgYWxsIGNy ZWF0aW5nIGEga2luZCBvZiBjb3B5LiBCdXQgdGhlIGR1cC9jbG9uZSBBUEkgaXMgc28gb2xkLCBz byB3ZWxsIGVzdGFibGlzaGVkIGFuZCBzbyBjb25zaXN0ZW50IHRocm91Z2hvdXQgcnVieSwgY2hh bmdpbmcvZXh0ZW5kaW5nIGl0IHdvdWxkIGJlIGEgbWlzdGFrZS4NCg0KLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMTkwMDA6IERhdGE6IEFkZCAiQ29w eSB3aXRoIGNoYW5nZXMgbWV0aG9kIiBbRm9sbG93LW9uIHRvICMxNjEyMiBEYXRhOiBzaW1wbGUg aW1tdXRhYmxlIHZhbHVlIG9iamVjdF0NCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vl cy8xOTAwMCNjaGFuZ2UtOTk3OTINCg0KKiBBdXRob3I6IFJ1YnlCdWdzIChBIE5vbnltb3VzKQ0K KiBTdGF0dXM6IE9wZW4NCiogUHJpb3JpdHk6IE5vcm1hbA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KKkFzIHJlcXVlc3RlZDogZXh0cmFjdGVkIGEgZm9sbG93LXVw IHRvICMxNjEyMiBEYXRhOiBzaW1wbGUgaW1tdXRhYmxlIHZhbHVlIG9iamVjdCBmcm9tIFt0aGlz IGNvbW1lbnRdKGh0dHA6Ly9ibGFkZS5uYWdhb2thdXQuYWMuanAvY2dpLWJpbi9zY2F0LnJiL3J1 YnkvcnVieS1jb3JlLzEwOTgxNSkqDQoNCg0KIyBQcm9wb3NhbDogQWRkIGEgIkNvcHkgd2l0aCBj aGFuZ2VzIiBtZXRob2QgdG8gRGF0YQ0KDQpBc3N1bWUgdGhlIHByb3Bvc2VkIGBEYXRhLmRlZmlu ZWAgZXhpc3RzLg0KU2VlaW5nIGV4YW1wbGVzIGZyb20gdGhlIFtbVmFsdWVzIGdlbV1dKGh0dHBz Oi8vZ2l0aHViLmNvbS9tcy1hdGkvVmFsdWVzKToNCg0KYGBgcnVieQ0KIyBBIG5ldyBjbGFzcw0K UG9pbnQgPSBEYXRhLmRlZig6eCwgOnkpDQoNCiMgQW4gaW1tdXRhYmxlIGluc3RhbmNlDQpPcmln aW4gPSBQb2ludC53aXRoKHg6IDAsIHk6IDApDQoNCiMgUTogSG93IGRvIHdlIG1ha2UgY29waWVz IHRoYXQgY2hhbmdlIDEgb3IgbW9yZSB2YWx1ZXM/DQpyaWdodCA9IE9yaWdpbi53aXRoKHg6IDEu MCkNCnVwID0gT3JpZ2luLndpdGgoeTogMS4wKQ0KdXBfYW5kX3JpZ2h0ID0gcmlnaHQud2l0aCh5 OiB1cC55KQ0KDQojIEluIGxvb3BzDQptb3ZlbWVudHMgPSBbDQogIHsgeDogKzAuNSB9LA0KICB7 IHg6ICswLjUgfSwNCiAgeyB5OiAtMS4wIH0sDQogIHsgeDogKzAuNSB9LA0KXQ0KDQojIHBvc2l0 aW9uID0gUG9pbnQoeDogMS41LCB5OiAtMS4wKQ0KcG9zaXRpb24gPSBtb3ZlbWVudHMuaW5qZWN0 KE9yaWdpbikgeyB8cCwgbW92ZXwgcC53aXRoKCoqbW92ZSkgfQ0KYGBgDQoNCiMjIFByb3Bvc2Vk IGRldGFpbDogQ2FsbCB0aGlzIG1ldGhvZDogYCN3aXRoYA0KDQpgYGBydWJ5DQpNb25leSA9IERh dGEuZGVmaW5lKDphbW91bnQsIDpjdXJyZW5jeSkNCg0KYWNjb3VudCA9IE1vbmV5Lm5ldyhhbW91 bnQ6IDEwMCwgY3VycmVuY3k6ICdVU0QnKQ0KDQp0cmFuc2FjdGlvbnMgPSBbKzEwLCAtNSwgKzE1 XQ0KDQphY2NvdW50ID0gdHJhbnNhY3Rpb25zLmluamVjdChhY2NvdW50KSB7IHxhLCB0fCBhLndp dGgoYW1vdW50OiBhLmFtb3VudCArIHQpIH0NCiM9PiBNb25leShhbW91bnQ6IDEyMCwgY3VycmVu Y3k6ICJVU0QiKQ0KYGBgDQoNCiMjIFdoeSBhZGQgdGhpcyAiQ29weSB3aXRoIGNoYW5nZXMiIG1l dGhvZCB0byB0aGUgRGF0YSBzaW1wbGUgaW1tdXRhYmxlIHZhbHVlIGNsYXNzPw0KDQpDYWxsZWQg b24gYW4gaW5zdGFuY2UsIGl0IHJldHVybnMgYSBuZXcgaW5zdGFuY2Ugd2l0aCBvbmx5IHRoZSBw cm92aWRlZCBwYXJhbWV0ZXJzIGNoYW5nZWQuDQoNClRoaXMgQVBJIGFmZm9yZGFuY2UgaXMgbm93 ICoqd2lkZWx5IGFkb3B0ZWQgYWNyb3NzIG1hbnkgbGFuZ3VhZ2VzKiogZm9yIGl0cyB1c2VmdWxu ZXNzLiBXaHkgaXMgaXQgc28gdXNlZnVsPyBCZWNhdXNlIGNvcHlpbmcgaW1tdXRhYmxlIHZhbHVl IG9iamVjdCBpbnN0YW5jZXMsIHdpdGggMSBvciBtb3JlIGRpc2NyZXRlIGNoYW5nZXMgdG8gc3Bl Y2lmaWMgZmllbGRzLCBpcyB0aGUgcHJvcGVyIGFuZCB1YmlxdWl0b3VzIHBhdHRlcm4gdGhhdCB0 YWtlcyB0aGUgcGxhY2Ugb2YgbXV0YXRpb24gd2hlbiB3b3JraW5nIHdpdGggaW1tdXRhYmxlIHZh bHVlIG9iamVjdHMuDQoNCioqT3RoZXIgbGFuZ3VhZ2VzKioNCg0KQyMgUmVjb3Jkczog4oCcaW1t dXRhYmxlIHJlY29yZCBzdHJ1Y3RzIOKAlCBOb24tZGVzdHJ1Y3RpdmUgbXV0YXRpb27igJ0g4oCU IGlzIGNhbGxlZCBgd2l0aCB7IC4uLiB9YA0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4t dXMvZG90bmV0L2NzaGFycC9sYW5ndWFnZS1yZWZlcmVuY2UvYnVpbHRpbi10eXBlcy9yZWNvcmQj bm9uZGVzdHJ1Y3RpdmUtbXV0YXRpb24NCg0KU2NhbGEgQ2FzZSBDbGFzc2VzIOKAlCBpcyBjYWxs ZWQgYCNjb3B5YA0KaHR0cHM6Ly9kb2NzLnNjYWxhLWxhbmcub3JnL3RvdXIvY2FzZS1jbGFzc2Vz Lmh0bWwNCg0KSmF2YSAxNCsgUmVjb3JkcyDigJQgQnJpYW4gR29ldHogYXQgT3JhY2xlIGlzIHdv cmtpbmcgb24gYWRkaW5nIGEgd2l0aCBjb3B5IGNvbnN0cnVjdG9yIGluc3BpcmVkIGJ5IEMjIGFi b3ZlIGFzIHdlIHNwZWFrLCBsaWtlbHkgdG8gYmUgY2FsbGVkIGAjd2l0aGANCmh0dHBzOi8vbWFp bC5vcGVuamRrLm9yZy9waXBlcm1haWwvYW1iZXItc3BlYy1leHBlcnRzLzIwMjItSnVuZS8wMDM0 NjEuaHRtbA0KDQpSdXN0IOKAnFN0cnVjdCBVcGRhdGUgU3ludGF44oCdIHZpYSBgLi5gIHN5bnRh eCBpbiBjb25zdHJ1Y3Rvcg0KaHR0cHM6Ly9kb2MucnVzdC1sYW5nLm9yZy9ib29rL2NoMDUtMDEt ZGVmaW5pbmctc3RydWN0cy5odG1sI2NyZWF0aW5nLWluc3RhbmNlcy1mcm9tLW90aGVyLWluc3Rh bmNlcy13aXRoLXN0cnVjdC11cGRhdGUtc3ludGF4DQoNCiMjIEFsdGVybmF0aXZlcw0KDQpXaXRo b3V0IGEgY29weS13aXRoLWNoYW5nZXMgbWV0aG9kLCBvbmUgbXVzdCBjb25zdHJ1Y3QgZW50aXJl bHkgbmV3IGluc3RhbmNlcyB1c2luZyB0aGUgY29uc3RydWN0b3IuIFRoaXMgY2FuIGVpdGhlciBi ZSAoYSkgZnVsbHkgc3BlbGxlZCBvdXQgYXMgYm9pbGVycGxhdGUgY29kZSwgb3IgKGIpIHVzZSBh IHN5bW1ldHJpY2FsIGAjdG9faGAgdG8gZmVlZCB0aGUga2V5d29yZC1hcmdzIGNvbnN0cnVjdG9y Lg0KDQoqKihhKSBCb2lsZXJwbGF0ZSB1c2luZyBjb25zdHJ1Y3RvcioqDQoNCmBgYHJ1YnkNClBv aW50ID0gRGF0YS5kZWZpbmUoOngsIDp5LCA6eikNCk9yaWdpbiA9IFBvaW50Lm5ldyh4OiAwLjAs IHk6IDAuMCwgejogMC4wKQ0KDQpjaGFuZ2UgPSB7IHo6IC0xLjUgfQ0KDQojIEhhdmUgdG8gdXNl IGZ1bGwgY29uc3RydWN0b3IgLS0gZG9lcyB0aGlzIGV2ZW4gd29yaz8NCnBvaW50ID0gUG9pbnQu bmV3KHg6IE9yaWdpbi54LCB5OiBPcmlnaW4ueSwgKipjaGFuZ2UpDQpgYGANCg0KKiooYikgVXNp bmcgYSBzZXBhcmF0ZWx5IHByb3Bvc2VkIGAjdG9faGAgbWV0aG9kIGFuZCBjb25zdHJ1Y3RvciBz eW1tZXRyeSoNCg0KYGBgcnVieQ0KUG9pbnQgPSBEYXRhLmRlZmluZSg6eCwgOnksIDp6KQ0KT3Jp Z2luID0gUG9pbnQubmV3KHg6IDAuMCwgeTogMC4wLCB6OiAwLjApDQoNCmNoYW5nZSA9IHsgejog LTEuNSB9DQoNCiMgSGF2ZSB0byB1c2UgZnVsbCBjb25zdHJ1Y3RvciAtLSBkb2VzIHRoaXMgZXZl biB3b3JrPw0KcG9pbnQgPSBQb2ludC5uZXcoKiooT3JpZ2luLnRvX2gubWVyZ2UoY2hhbmdlKSkp DQpgYGANCg0KTm90aWNlIHRoYXQgdGhlIGFib3ZlIGFyZSBub3QgZXJnb25vbWljIC0tIGxlYWRp bmcgc28gbWFueSBvZiBvdXIgcGVlciBsYW5ndWFnZSBjb21tdW5pdGllcyB0byBhZG9wdCB0aGUg YCN3aXRoYCBtZXRob2QgdG8gY29weSBhbiBpbnN0YW5jZSB3aXRoIGRpc2NyZXRlIGNoYW5nZXMu DQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KClVuc3Vic2NyaWJlOiA8 bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmli ZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1 YnktY29yZT4K