[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110472] [Ruby master Feature#19000] Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
From:
"jeremyevans0 (Jeremy Evans)" <noreply@...>
Date:
2022-10-21 22:13:34 UTC
List:
ruby-core #110472
SXNzdWUgIzE5MDAwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgamVyZW15ZXZhbnMwIChKZXJlbXkgRXZh bnMpLg0KDQoNCnVmdWsgKFVmdWsgS2F5c2VyaWxpb2dsdSkgd3JvdGUgaW4gI25vdGUtNDoNCj4g SSB0aGluayBhbGxvd2luZyB0aGUgYGR1cGAgbWV0aG9kIG9uIGBEYXRhYCBpbnN0YW5jZXMgdG8g dGFrZSBvcHRpb25hbCBrZXl3b3JkIGFyZ3VtZW50cyB3b3VsZCBiZSB0aGUgaWRlYWwgQVBJIGZv ciB0aGlzOg0KDQpJIGFncmVlLiBUaGlzIGlzIHRoZSBwYXR0ZXJuIHRoYXQgU2VxdWVsIHVzZXMg Zm9yIGRhdGFzZXRzICh3aGljaCBhcmUgYWx3YXlzIGZyb3plbiwgYXMgYERhdGFgIGluc3RhbmNl cyBhcmUpLCBleGNlcHQgU2VxdWVsIHVzZXMgYGNsb25lYCBpbnN0ZWFkIG9mIGBkdXBgIChmb3Ig aGlzdG9yaWNhbCByZWFzb25zIGFuZCBiZWNhdXNlIGl0IGFsc28gbmVlZHMgdG8gY29weSBzaW5n bGV0b24gY2xhc3NlcykuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCkZlYXR1cmUgIzE5MDAwOiBEYXRhOiBBZGQgIkNvcHkgd2l0aCBjaGFuZ2VzIG1ldGhvZCIg W0ZvbGxvdy1vbiB0byAjMTYxMjIgRGF0YTogc2ltcGxlIGltbXV0YWJsZSB2YWx1ZSBvYmplY3Rd DQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTkwMDAjY2hhbmdlLTk5NzkxDQoN CiogQXV0aG9yOiBSdWJ5QnVncyAoQSBOb255bW91cykNCiogU3RhdHVzOiBPcGVuDQoqIFByaW9y aXR5OiBOb3JtYWwNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCipB cyByZXF1ZXN0ZWQ6IGV4dHJhY3RlZCBhIGZvbGxvdy11cCB0byAjMTYxMjIgRGF0YTogc2ltcGxl IGltbXV0YWJsZSB2YWx1ZSBvYmplY3QgZnJvbSBbdGhpcyBjb21tZW50XShodHRwOi8vYmxhZGUu bmFnYW9rYXV0LmFjLmpwL2NnaS1iaW4vc2NhdC5yYi9ydWJ5L3J1YnktY29yZS8xMDk4MTUpKg0K DQoNCiMgUHJvcG9zYWw6IEFkZCBhICJDb3B5IHdpdGggY2hhbmdlcyIgbWV0aG9kIHRvIERhdGEN Cg0KQXNzdW1lIHRoZSBwcm9wb3NlZCBgRGF0YS5kZWZpbmVgIGV4aXN0cy4NClNlZWluZyBleGFt cGxlcyBmcm9tIHRoZSBbW1ZhbHVlcyBnZW1dXShodHRwczovL2dpdGh1Yi5jb20vbXMtYXRpL1Zh bHVlcyk6DQoNCmBgYHJ1YnkNCiMgQSBuZXcgY2xhc3MNClBvaW50ID0gRGF0YS5kZWYoOngsIDp5 KQ0KDQojIEFuIGltbXV0YWJsZSBpbnN0YW5jZQ0KT3JpZ2luID0gUG9pbnQud2l0aCh4OiAwLCB5 OiAwKQ0KDQojIFE6IEhvdyBkbyB3ZSBtYWtlIGNvcGllcyB0aGF0IGNoYW5nZSAxIG9yIG1vcmUg dmFsdWVzPw0KcmlnaHQgPSBPcmlnaW4ud2l0aCh4OiAxLjApDQp1cCA9IE9yaWdpbi53aXRoKHk6 IDEuMCkNCnVwX2FuZF9yaWdodCA9IHJpZ2h0LndpdGgoeTogdXAueSkNCg0KIyBJbiBsb29wcw0K bW92ZW1lbnRzID0gWw0KICB7IHg6ICswLjUgfSwNCiAgeyB4OiArMC41IH0sDQogIHsgeTogLTEu MCB9LA0KICB7IHg6ICswLjUgfSwNCl0NCg0KIyBwb3NpdGlvbiA9IFBvaW50KHg6IDEuNSwgeTog LTEuMCkNCnBvc2l0aW9uID0gbW92ZW1lbnRzLmluamVjdChPcmlnaW4pIHsgfHAsIG1vdmV8IHAu d2l0aCgqKm1vdmUpIH0NCmBgYA0KDQojIyBQcm9wb3NlZCBkZXRhaWw6IENhbGwgdGhpcyBtZXRo b2Q6IGAjd2l0aGANCg0KYGBgcnVieQ0KTW9uZXkgPSBEYXRhLmRlZmluZSg6YW1vdW50LCA6Y3Vy cmVuY3kpDQoNCmFjY291bnQgPSBNb25leS5uZXcoYW1vdW50OiAxMDAsIGN1cnJlbmN5OiAnVVNE JykNCg0KdHJhbnNhY3Rpb25zID0gWysxMCwgLTUsICsxNV0NCg0KYWNjb3VudCA9IHRyYW5zYWN0 aW9ucy5pbmplY3QoYWNjb3VudCkgeyB8YSwgdHwgYS53aXRoKGFtb3VudDogYS5hbW91bnQgKyB0 KSB9DQojPT4gTW9uZXkoYW1vdW50OiAxMjAsIGN1cnJlbmN5OiAiVVNEIikNCmBgYA0KDQojIyBX aHkgYWRkIHRoaXMgIkNvcHkgd2l0aCBjaGFuZ2VzIiBtZXRob2QgdG8gdGhlIERhdGEgc2ltcGxl IGltbXV0YWJsZSB2YWx1ZSBjbGFzcz8NCg0KQ2FsbGVkIG9uIGFuIGluc3RhbmNlLCBpdCByZXR1 cm5zIGEgbmV3IGluc3RhbmNlIHdpdGggb25seSB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycyBjaGFu Z2VkLg0KDQpUaGlzIEFQSSBhZmZvcmRhbmNlIGlzIG5vdyAqKndpZGVseSBhZG9wdGVkIGFjcm9z cyBtYW55IGxhbmd1YWdlcyoqIGZvciBpdHMgdXNlZnVsbmVzcy4gV2h5IGlzIGl0IHNvIHVzZWZ1 bD8gQmVjYXVzZSBjb3B5aW5nIGltbXV0YWJsZSB2YWx1ZSBvYmplY3QgaW5zdGFuY2VzLCB3aXRo IDEgb3IgbW9yZSBkaXNjcmV0ZSBjaGFuZ2VzIHRvIHNwZWNpZmljIGZpZWxkcywgaXMgdGhlIHBy b3BlciBhbmQgdWJpcXVpdG91cyBwYXR0ZXJuIHRoYXQgdGFrZXMgdGhlIHBsYWNlIG9mIG11dGF0 aW9uIHdoZW4gd29ya2luZyB3aXRoIGltbXV0YWJsZSB2YWx1ZSBvYmplY3RzLg0KDQoqKk90aGVy IGxhbmd1YWdlcyoqDQoNCkMjIFJlY29yZHM6IOKAnGltbXV0YWJsZSByZWNvcmQgc3RydWN0cyDi gJQgTm9uLWRlc3RydWN0aXZlIG11dGF0aW9u4oCdIOKAlCBpcyBjYWxsZWQgYHdpdGggeyAuLi4g fWANCmh0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVzL2RvdG5ldC9jc2hhcnAvbGFuZ3Vh Z2UtcmVmZXJlbmNlL2J1aWx0aW4tdHlwZXMvcmVjb3JkI25vbmRlc3RydWN0aXZlLW11dGF0aW9u DQoNClNjYWxhIENhc2UgQ2xhc3NlcyDigJQgaXMgY2FsbGVkIGAjY29weWANCmh0dHBzOi8vZG9j cy5zY2FsYS1sYW5nLm9yZy90b3VyL2Nhc2UtY2xhc3Nlcy5odG1sDQoNCkphdmEgMTQrIFJlY29y ZHMg4oCUIEJyaWFuIEdvZXR6IGF0IE9yYWNsZSBpcyB3b3JraW5nIG9uIGFkZGluZyBhIHdpdGgg Y29weSBjb25zdHJ1Y3RvciBpbnNwaXJlZCBieSBDIyBhYm92ZSBhcyB3ZSBzcGVhaywgbGlrZWx5 IHRvIGJlIGNhbGxlZCBgI3dpdGhgDQpodHRwczovL21haWwub3Blbmpkay5vcmcvcGlwZXJtYWls L2FtYmVyLXNwZWMtZXhwZXJ0cy8yMDIyLUp1bmUvMDAzNDYxLmh0bWwNCg0KUnVzdCDigJxTdHJ1 Y3QgVXBkYXRlIFN5bnRheOKAnSB2aWEgYC4uYCBzeW50YXggaW4gY29uc3RydWN0b3INCmh0dHBz Oi8vZG9jLnJ1c3QtbGFuZy5vcmcvYm9vay9jaDA1LTAxLWRlZmluaW5nLXN0cnVjdHMuaHRtbCNj cmVhdGluZy1pbnN0YW5jZXMtZnJvbS1vdGhlci1pbnN0YW5jZXMtd2l0aC1zdHJ1Y3QtdXBkYXRl LXN5bnRheA0KDQojIyBBbHRlcm5hdGl2ZXMNCg0KV2l0aG91dCBhIGNvcHktd2l0aC1jaGFuZ2Vz IG1ldGhvZCwgb25lIG11c3QgY29uc3RydWN0IGVudGlyZWx5IG5ldyBpbnN0YW5jZXMgdXNpbmcg dGhlIGNvbnN0cnVjdG9yLiBUaGlzIGNhbiBlaXRoZXIgYmUgKGEpIGZ1bGx5IHNwZWxsZWQgb3V0 IGFzIGJvaWxlcnBsYXRlIGNvZGUsIG9yIChiKSB1c2UgYSBzeW1tZXRyaWNhbCBgI3RvX2hgIHRv IGZlZWQgdGhlIGtleXdvcmQtYXJncyBjb25zdHJ1Y3Rvci4NCg0KKiooYSkgQm9pbGVycGxhdGUg dXNpbmcgY29uc3RydWN0b3IqKg0KDQpgYGBydWJ5DQpQb2ludCA9IERhdGEuZGVmaW5lKDp4LCA6 eSwgOnopDQpPcmlnaW4gPSBQb2ludC5uZXcoeDogMC4wLCB5OiAwLjAsIHo6IDAuMCkNCg0KY2hh bmdlID0geyB6OiAtMS41IH0NCg0KIyBIYXZlIHRvIHVzZSBmdWxsIGNvbnN0cnVjdG9yIC0tIGRv ZXMgdGhpcyBldmVuIHdvcms/DQpwb2ludCA9IFBvaW50Lm5ldyh4OiBPcmlnaW4ueCwgeTogT3Jp Z2luLnksICoqY2hhbmdlKQ0KYGBgDQoNCioqKGIpIFVzaW5nIGEgc2VwYXJhdGVseSBwcm9wb3Nl ZCBgI3RvX2hgIG1ldGhvZCBhbmQgY29uc3RydWN0b3Igc3ltbWV0cnkqDQoNCmBgYHJ1YnkNClBv aW50ID0gRGF0YS5kZWZpbmUoOngsIDp5LCA6eikNCk9yaWdpbiA9IFBvaW50Lm5ldyh4OiAwLjAs IHk6IDAuMCwgejogMC4wKQ0KDQpjaGFuZ2UgPSB7IHo6IC0xLjUgfQ0KDQojIEhhdmUgdG8gdXNl IGZ1bGwgY29uc3RydWN0b3IgLS0gZG9lcyB0aGlzIGV2ZW4gd29yaz8NCnBvaW50ID0gUG9pbnQu bmV3KCoqKE9yaWdpbi50b19oLm1lcmdlKGNoYW5nZSkpKQ0KYGBgDQoNCk5vdGljZSB0aGF0IHRo ZSBhYm92ZSBhcmUgbm90IGVyZ29ub21pYyAtLSBsZWFkaW5nIHNvIG1hbnkgb2Ygb3VyIHBlZXIg bGFuZ3VhZ2UgY29tbXVuaXRpZXMgdG8gYWRvcHQgdGhlIGAjd2l0aGAgbWV0aG9kIHRvIGNvcHkg YW4gaW5zdGFuY2Ugd2l0aCBkaXNjcmV0ZSBjaGFuZ2VzLg0KDQoNCg0KLS0gDQpodHRwczovL2J1 Z3MucnVieS1sYW5nLm9yZy8NCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVz dEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1s YW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==