[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110466] [Ruby master Feature#19000] Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
From:
"bdewater (Bart de Water)" <noreply@...>
Date:
2022-10-21 15:05:15 UTC
List:
ruby-core #110466
SXNzdWUgIzE5MDAwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYmRld2F0ZXIgKEJhcnQgZGUgV2F0ZXIp Lg0KDQoNCkV4YW1wbGUgZnJvbSBTb3JiZXQgd2hpY2ggdXNlcyBgd2l0aGAgYXMgd2VsbDoNCmBg YCBydWJ5DQpjbGFzcyBQb2ludCA8IFQ6OlN0cnVjdA0KICBjb25zdCA6eCwgTnVtZXJpYw0KICBj b25zdCA6eSwgTnVtZXJpYw0KZW5kDQoNCiMgQW4gaW1tdXRhYmxlIGluc3RhbmNlDQpPcmlnaW4g PSBQb2ludC5uZXcoeDogMCwgeTogMCkNCg0KcmlnaHQgPSBPcmlnaW4ud2l0aCh4OiAxLjApDQp1 cCA9IE9yaWdpbi53aXRoKHk6IDEuMCkNCnVwX2FuZF9yaWdodCA9IHJpZ2h0LndpdGgoeTogdXAu eSkNCmBgYA0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZl YXR1cmUgIzE5MDAwOiBEYXRhOiBBZGQgIkNvcHkgd2l0aCBjaGFuZ2VzIG1ldGhvZCIgW0ZvbGxv dy1vbiB0byAjMTYxMjIgRGF0YTogc2ltcGxlIGltbXV0YWJsZSB2YWx1ZSBvYmplY3RdDQpodHRw czovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTkwMDAjY2hhbmdlLTk5Nzg1DQoNCiogQXV0 aG9yOiBSdWJ5QnVncyAoQSBOb255bW91cykNCiogU3RhdHVzOiBPcGVuDQoqIFByaW9yaXR5OiBO b3JtYWwNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCipBcyByZXF1 ZXN0ZWQ6IGV4dHJhY3RlZCBhIGZvbGxvdy11cCB0byAjMTYxMjIgRGF0YTogc2ltcGxlIGltbXV0 YWJsZSB2YWx1ZSBvYmplY3QgZnJvbSBbdGhpcyBjb21tZW50XShodHRwOi8vYmxhZGUubmFnYW9r YXV0LmFjLmpwL2NnaS1iaW4vc2NhdC5yYi9ydWJ5L3J1YnktY29yZS8xMDk4MTUpKg0KDQoNCiMg UHJvcG9zYWw6IEFkZCBhICJDb3B5IHdpdGggY2hhbmdlcyIgbWV0aG9kIHRvIERhdGENCg0KQXNz dW1lIHRoZSBwcm9wb3NlZCBgRGF0YS5kZWZpbmVgIGV4aXN0cy4NClNlZWluZyBleGFtcGxlcyBm cm9tIHRoZSBbW1ZhbHVlcyBnZW1dXShodHRwczovL2dpdGh1Yi5jb20vbXMtYXRpL1ZhbHVlcyk6 DQoNCmBgYHJ1YnkNCiMgQSBuZXcgY2xhc3MNClBvaW50ID0gRGF0YS5kZWYoOngsIDp5KQ0KDQoj IEFuIGltbXV0YWJsZSBpbnN0YW5jZQ0KT3JpZ2luID0gUG9pbnQud2l0aCh4OiAwLCB5OiAwKQ0K DQojIFE6IEhvdyBkbyB3ZSBtYWtlIGNvcGllcyB0aGF0IGNoYW5nZSAxIG9yIG1vcmUgdmFsdWVz Pw0KcmlnaHQgPSBPcmlnaW4ud2l0aCh4OiAxLjApDQp1cCA9IE9yaWdpbi53aXRoKHk6IDEuMCkN CnVwX2FuZF9yaWdodCA9IHJpZ2h0LndpdGgoeTogdXAueSkNCg0KIyBJbiBsb29wcw0KbW92ZW1l bnRzID0gWw0KICB7IHg6ICswLjUgfSwNCiAgeyB4OiArMC41IH0sDQogIHsgeTogLTEuMCB9LA0K ICB7IHg6ICswLjUgfSwNCl0NCg0KIyBwb3NpdGlvbiA9IFBvaW50KHg6IDEuNSwgeTogLTEuMCkN CnBvc2l0aW9uID0gbW92ZW1lbnRzLmluamVjdChPcmlnaW4pIHsgfHAsIG1vdmV8IHAud2l0aCgq Km1vdmUpIH0NCmBgYA0KDQojIyBQcm9wb3NlZCBkZXRhaWw6IENhbGwgdGhpcyBtZXRob2Q6IGAj d2l0aGANCg0KYGBgcnVieQ0KTW9uZXkgPSBEYXRhLmRlZmluZSg6YW1vdW50LCA6Y3VycmVuY3kp DQoNCmFjY291bnQgPSBNb25leS5uZXcoYW1vdW50OiAxMDAsIGN1cnJlbmN5OiAnVVNEJykNCg0K dHJhbnNhY3Rpb25zID0gWysxMCwgLTUsICsxNV0NCg0KYWNjb3VudCA9IHRyYW5zYWN0aW9ucy5p bmplY3QoYWNjb3VudCkgeyB8YSwgdHwgYS53aXRoKGFtb3VudDogYS5hbW91bnQgKyB0KSB9DQoj PT4gTW9uZXkoYW1vdW50OiAxMjAsIGN1cnJlbmN5OiAiVVNEIikNCmBgYA0KDQojIyBXaHkgYWRk IHRoaXMgIkNvcHkgd2l0aCBjaGFuZ2VzIiBtZXRob2QgdG8gdGhlIERhdGEgc2ltcGxlIGltbXV0 YWJsZSB2YWx1ZSBjbGFzcz8NCg0KQ2FsbGVkIG9uIGFuIGluc3RhbmNlLCBpdCByZXR1cm5zIGEg bmV3IGluc3RhbmNlIHdpdGggb25seSB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycyBjaGFuZ2VkLg0K DQpUaGlzIEFQSSBhZmZvcmRhbmNlIGlzIG5vdyAqKndpZGVseSBhZG9wdGVkIGFjcm9zcyBtYW55 IGxhbmd1YWdlcyoqIGZvciBpdHMgdXNlZnVsbmVzcy4gV2h5IGlzIGl0IHNvIHVzZWZ1bD8gQmVj YXVzZSBjb3B5aW5nIGltbXV0YWJsZSB2YWx1ZSBvYmplY3QgaW5zdGFuY2VzLCB3aXRoIDEgb3Ig bW9yZSBkaXNjcmV0ZSBjaGFuZ2VzIHRvIHNwZWNpZmljIGZpZWxkcywgaXMgdGhlIHByb3BlciBh bmQgdWJpcXVpdG91cyBwYXR0ZXJuIHRoYXQgdGFrZXMgdGhlIHBsYWNlIG9mIG11dGF0aW9uIHdo ZW4gd29ya2luZyB3aXRoIGltbXV0YWJsZSB2YWx1ZSBvYmplY3RzLg0KDQoqKk90aGVyIGxhbmd1 YWdlcyoqDQoNCkMjIFJlY29yZHM6IOKAnGltbXV0YWJsZSByZWNvcmQgc3RydWN0cyDigJQgTm9u LWRlc3RydWN0aXZlIG11dGF0aW9u4oCdIOKAlCBpcyBjYWxsZWQgYHdpdGggeyAuLi4gfWANCmh0 dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVzL2RvdG5ldC9jc2hhcnAvbGFuZ3VhZ2UtcmVm ZXJlbmNlL2J1aWx0aW4tdHlwZXMvcmVjb3JkI25vbmRlc3RydWN0aXZlLW11dGF0aW9uDQoNClNj YWxhIENhc2UgQ2xhc3NlcyDigJQgaXMgY2FsbGVkIGAjY29weWANCmh0dHBzOi8vZG9jcy5zY2Fs YS1sYW5nLm9yZy90b3VyL2Nhc2UtY2xhc3Nlcy5odG1sDQoNCkphdmEgMTQrIFJlY29yZHMg4oCU IEJyaWFuIEdvZXR6IGF0IE9yYWNsZSBpcyB3b3JraW5nIG9uIGFkZGluZyBhIHdpdGggY29weSBj b25zdHJ1Y3RvciBpbnNwaXJlZCBieSBDIyBhYm92ZSBhcyB3ZSBzcGVhaywgbGlrZWx5IHRvIGJl IGNhbGxlZCBgI3dpdGhgDQpodHRwczovL21haWwub3Blbmpkay5vcmcvcGlwZXJtYWlsL2FtYmVy LXNwZWMtZXhwZXJ0cy8yMDIyLUp1bmUvMDAzNDYxLmh0bWwNCg0KUnVzdCDigJxTdHJ1Y3QgVXBk YXRlIFN5bnRheOKAnSB2aWEgYC4uYCBzeW50YXggaW4gY29uc3RydWN0b3INCmh0dHBzOi8vZG9j LnJ1c3QtbGFuZy5vcmcvYm9vay9jaDA1LTAxLWRlZmluaW5nLXN0cnVjdHMuaHRtbCNjcmVhdGlu Zy1pbnN0YW5jZXMtZnJvbS1vdGhlci1pbnN0YW5jZXMtd2l0aC1zdHJ1Y3QtdXBkYXRlLXN5bnRh eA0KDQojIyBBbHRlcm5hdGl2ZXMNCg0KV2l0aG91dCBhIGNvcHktd2l0aC1jaGFuZ2VzIG1ldGhv ZCwgb25lIG11c3QgY29uc3RydWN0IGVudGlyZWx5IG5ldyBpbnN0YW5jZXMgdXNpbmcgdGhlIGNv bnN0cnVjdG9yLiBUaGlzIGNhbiBlaXRoZXIgYmUgKGEpIGZ1bGx5IHNwZWxsZWQgb3V0IGFzIGJv aWxlcnBsYXRlIGNvZGUsIG9yIChiKSB1c2UgYSBzeW1tZXRyaWNhbCBgI3RvX2hgIHRvIGZlZWQg dGhlIGtleXdvcmQtYXJncyBjb25zdHJ1Y3Rvci4NCg0KKiooYSkgQm9pbGVycGxhdGUgdXNpbmcg Y29uc3RydWN0b3IqKg0KDQpgYGBydWJ5DQpQb2ludCA9IERhdGEuZGVmaW5lKDp4LCA6eSwgOnop DQpPcmlnaW4gPSBQb2ludC5uZXcoeDogMC4wLCB5OiAwLjAsIHo6IDAuMCkNCg0KY2hhbmdlID0g eyB6OiAtMS41IH0NCg0KIyBIYXZlIHRvIHVzZSBmdWxsIGNvbnN0cnVjdG9yIC0tIGRvZXMgdGhp cyBldmVuIHdvcms/DQpwb2ludCA9IFBvaW50Lm5ldyh4OiBPcmlnaW4ueCwgeTogT3JpZ2luLnks ICoqY2hhbmdlKQ0KYGBgDQoNCioqKGIpIFVzaW5nIGEgc2VwYXJhdGVseSBwcm9wb3NlZCBgI3Rv X2hgIG1ldGhvZCBhbmQgY29uc3RydWN0b3Igc3ltbWV0cnkqDQoNCmBgYHJ1YnkNClBvaW50ID0g RGF0YS5kZWZpbmUoOngsIDp5LCA6eikNCk9yaWdpbiA9IFBvaW50Lm5ldyh4OiAwLjAsIHk6IDAu MCwgejogMC4wKQ0KDQpjaGFuZ2UgPSB7IHo6IC0xLjUgfQ0KDQojIEhhdmUgdG8gdXNlIGZ1bGwg Y29uc3RydWN0b3IgLS0gZG9lcyB0aGlzIGV2ZW4gd29yaz8NCnBvaW50ID0gUG9pbnQubmV3KCoq KE9yaWdpbi50b19oLm1lcmdlKGNoYW5nZSkpKQ0KYGBgDQoNCk5vdGljZSB0aGF0IHRoZSBhYm92 ZSBhcmUgbm90IGVyZ29ub21pYyAtLSBsZWFkaW5nIHNvIG1hbnkgb2Ygb3VyIHBlZXIgbGFuZ3Vh Z2UgY29tbXVuaXRpZXMgdG8gYWRvcHQgdGhlIGAjd2l0aGAgbWV0aG9kIHRvIGNvcHkgYW4gaW5z dGFuY2Ugd2l0aCBkaXNjcmV0ZSBjaGFuZ2VzLg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVi eS1sYW5nLm9yZy8NCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5 LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9y Zy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==