[#110736] Can't sign in to bugs.ruby-lang.org — Daniel Berger <djberg96@...>
Hi,
4 messages
2022/11/13
[ruby-core:110774] [Ruby master Feature#19000] Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object]
From:
"tomstuart (Tom Stuart)" <noreply@...>
Date:
2022-11-16 10:02:52 UTC
List:
ruby-core #110774
SXNzdWUgIzE5MDAwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgdG9tc3R1YXJ0IChUb20gU3R1YXJ0KS4N Cg0KDQpXaGlsZSBpdOKAmXMgdW5kZW5pYWJsZSB0aGF0IHRoaXMgbWV0aG9kIGR1cGxpY2F0ZXMg aXRzIHJlY2VpdmVyIGluIHNvbWUgc2Vuc2UsIEnigJlkIGxpa2UgdG8gYWRkIG15IHN1cHBvcnQg Zm9yIHRoZSBgI3dpdGhgIG5hbWluZyBjaG9pY2UuDQoNCkkgZG9u4oCZdCBoYXZlIGFueSB0ZWNo bmljYWwgb2JqZWN0aW9uIHRvIHVzaW5nIGAjZHVwYCwgaXTigJlzIGp1c3QgYSBzdHlsaXN0aWMg cHJlZmVyZW5jZTogaW4gdGhlIGludGVyZXN0cyBvZiBwcm9ncmFtbWVyIGhhcHBpbmVzcywgdG8g bWUgaXTigJlzIG1vcmUgbmF0dXJhbCBmb3IgdGhlIG5hbWUgdG8gY29tbXVuaWNhdGUgdGhlIGlu dGVudCBvZiB0aGUgc2VuZGVyICjigJxJIHdhbnQgYW4gb2JqZWN0IGp1c3QgbGlrZSBgT1JJR0lO YCwgZXhjZXB0IGAjd2l0aGAgYW4gYHhgIG9mIGAxLjBg4oCdKSByYXRoZXIgdGhhbiB0aGUgbG93 ZXItbGV2ZWwgaW1wbGVtZW50YXRpb24gZGV0YWlsIG9mIHdoYXQgdGhhdCBvcGVyYXRpb24gaW52 b2x2ZXMgKOKAnEkgd2FudCBhIHNoYWxsb3cgY2xvbmUgb2YgYE9SSUdJTmAgdmlhIGAjYWxsb2Nh dGVgICYgYCNpbml0aWFsaXplX2NvcHlgLCBleGNlcHQgYXNzaWduaW5nIGAxLjBgIGFzIHRoZSB2 YWx1ZSBvZiB0aGUgYEB4YCBpbnN0YW5jZSB2YXJpYWJsZeKAnSkuDQoNClBlcmhhcHMgYW5vdGhl ciB3YXkgb2YgcHV0dGluZyB0aGlzIGlzIHRoYXQgSeKAmWQgZXN0aW1hdGUgbW9zdCBSdWJ5IHBy b2dyYW1tZXJzIHJhcmVseSBjYWxsIGBPYmplY3QjZHVwYCBpbiB0aGUgY291cnNlIG9mIHRoZWly IHdvcmssIHdoZXJlYXMgSSB3b3VsZCBleHBlY3QgdXNlcnMgb2YgYERhdGFgIHRvIG5lZWQgdGhp cyBuZXcg4oCcY29weSB3aXRoIGNoYW5nZXPigJ0gb3BlcmF0aW9uIHNvbWV3aGF0IGZyZXF1ZW50 bHksIGVzcGVjaWFsbHkgaWYgdGhleeKAmXJlIG1pZ3JhdGluZyBleGlzdGluZyBjb2RlIGZyb20g YFN0cnVjdGAuIEJ1dCBvZiBjb3Vyc2UgSSBoYXZlIG5vIGRhdGEgdG8gc3VwcG9ydCB0aGF0IGd1 ZXNzIQ0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJl ICMxOTAwMDogRGF0YTogQWRkICJDb3B5IHdpdGggY2hhbmdlcyBtZXRob2QiIFtGb2xsb3ctb24g dG8gIzE2MTIyIERhdGE6IHNpbXBsZSBpbW11dGFibGUgdmFsdWUgb2JqZWN0XQ0KaHR0cHM6Ly9i dWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE5MDAwI2NoYW5nZS0xMDAxMTkNCg0KKiBBdXRob3I6 IFJ1YnlCdWdzIChBIE5vbnltb3VzKQ0KKiBTdGF0dXM6IE9wZW4NCiogUHJpb3JpdHk6IE5vcm1h bA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKkFzIHJlcXVlc3Rl ZDogZXh0cmFjdGVkIGEgZm9sbG93LXVwIHRvICMxNjEyMiBEYXRhOiBzaW1wbGUgaW1tdXRhYmxl IHZhbHVlIG9iamVjdCBmcm9tIFt0aGlzIGNvbW1lbnRdKGh0dHA6Ly9ibGFkZS5uYWdhb2thdXQu YWMuanAvY2dpLWJpbi9zY2F0LnJiL3J1YnkvcnVieS1jb3JlLzEwOTgxNSkqDQoNCg0KIyBQcm9w b3NhbDogQWRkIGEgIkNvcHkgd2l0aCBjaGFuZ2VzIiBtZXRob2QgdG8gRGF0YQ0KDQpBc3N1bWUg dGhlIHByb3Bvc2VkIGBEYXRhLmRlZmluZWAgZXhpc3RzLg0KU2VlaW5nIGV4YW1wbGVzIGZyb20g dGhlIFtbVmFsdWVzIGdlbV1dKGh0dHBzOi8vZ2l0aHViLmNvbS9tcy1hdGkvVmFsdWVzKToNCg0K YGBgcnVieQ0KIyBBIG5ldyBjbGFzcw0KUG9pbnQgPSBEYXRhLmRlZig6eCwgOnkpDQoNCiMgQW4g aW1tdXRhYmxlIGluc3RhbmNlDQpPcmlnaW4gPSBQb2ludC53aXRoKHg6IDAsIHk6IDApDQoNCiMg UTogSG93IGRvIHdlIG1ha2UgY29waWVzIHRoYXQgY2hhbmdlIDEgb3IgbW9yZSB2YWx1ZXM/DQpy aWdodCA9IE9yaWdpbi53aXRoKHg6IDEuMCkNCnVwID0gT3JpZ2luLndpdGgoeTogMS4wKQ0KdXBf YW5kX3JpZ2h0ID0gcmlnaHQud2l0aCh5OiB1cC55KQ0KDQojIEluIGxvb3BzDQptb3ZlbWVudHMg PSBbDQogIHsgeDogKzAuNSB9LA0KICB7IHg6ICswLjUgfSwNCiAgeyB5OiAtMS4wIH0sDQogIHsg eDogKzAuNSB9LA0KXQ0KDQojIHBvc2l0aW9uID0gUG9pbnQoeDogMS41LCB5OiAtMS4wKQ0KcG9z aXRpb24gPSBtb3ZlbWVudHMuaW5qZWN0KE9yaWdpbikgeyB8cCwgbW92ZXwgcC53aXRoKCoqbW92 ZSkgfQ0KYGBgDQoNCiMjIFByb3Bvc2VkIGRldGFpbDogQ2FsbCB0aGlzIG1ldGhvZDogYCN3aXRo YA0KDQpgYGBydWJ5DQpNb25leSA9IERhdGEuZGVmaW5lKDphbW91bnQsIDpjdXJyZW5jeSkNCg0K YWNjb3VudCA9IE1vbmV5Lm5ldyhhbW91bnQ6IDEwMCwgY3VycmVuY3k6ICdVU0QnKQ0KDQp0cmFu c2FjdGlvbnMgPSBbKzEwLCAtNSwgKzE1XQ0KDQphY2NvdW50ID0gdHJhbnNhY3Rpb25zLmluamVj dChhY2NvdW50KSB7IHxhLCB0fCBhLndpdGgoYW1vdW50OiBhLmFtb3VudCArIHQpIH0NCiM9PiBN b25leShhbW91bnQ6IDEyMCwgY3VycmVuY3k6ICJVU0QiKQ0KYGBgDQoNCiMjIFdoeSBhZGQgdGhp cyAiQ29weSB3aXRoIGNoYW5nZXMiIG1ldGhvZCB0byB0aGUgRGF0YSBzaW1wbGUgaW1tdXRhYmxl IHZhbHVlIGNsYXNzPw0KDQpDYWxsZWQgb24gYW4gaW5zdGFuY2UsIGl0IHJldHVybnMgYSBuZXcg aW5zdGFuY2Ugd2l0aCBvbmx5IHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzIGNoYW5nZWQuDQoNClRo aXMgQVBJIGFmZm9yZGFuY2UgaXMgbm93ICoqd2lkZWx5IGFkb3B0ZWQgYWNyb3NzIG1hbnkgbGFu Z3VhZ2VzKiogZm9yIGl0cyB1c2VmdWxuZXNzLiBXaHkgaXMgaXQgc28gdXNlZnVsPyBCZWNhdXNl IGNvcHlpbmcgaW1tdXRhYmxlIHZhbHVlIG9iamVjdCBpbnN0YW5jZXMsIHdpdGggMSBvciBtb3Jl IGRpc2NyZXRlIGNoYW5nZXMgdG8gc3BlY2lmaWMgZmllbGRzLCBpcyB0aGUgcHJvcGVyIGFuZCB1 YmlxdWl0b3VzIHBhdHRlcm4gdGhhdCB0YWtlcyB0aGUgcGxhY2Ugb2YgbXV0YXRpb24gd2hlbiB3 b3JraW5nIHdpdGggaW1tdXRhYmxlIHZhbHVlIG9iamVjdHMuDQoNCioqT3RoZXIgbGFuZ3VhZ2Vz KioNCg0KQyMgUmVjb3Jkczog4oCcaW1tdXRhYmxlIHJlY29yZCBzdHJ1Y3RzIOKAlCBOb24tZGVz dHJ1Y3RpdmUgbXV0YXRpb27igJ0g4oCUIGlzIGNhbGxlZCBgd2l0aCB7IC4uLiB9YA0KaHR0cHM6 Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvZG90bmV0L2NzaGFycC9sYW5ndWFnZS1yZWZlcmVu Y2UvYnVpbHRpbi10eXBlcy9yZWNvcmQjbm9uZGVzdHJ1Y3RpdmUtbXV0YXRpb24NCg0KU2NhbGEg Q2FzZSBDbGFzc2VzIOKAlCBpcyBjYWxsZWQgYCNjb3B5YA0KaHR0cHM6Ly9kb2NzLnNjYWxhLWxh bmcub3JnL3RvdXIvY2FzZS1jbGFzc2VzLmh0bWwNCg0KSmF2YSAxNCsgUmVjb3JkcyDigJQgQnJp YW4gR29ldHogYXQgT3JhY2xlIGlzIHdvcmtpbmcgb24gYWRkaW5nIGEgd2l0aCBjb3B5IGNvbnN0 cnVjdG9yIGluc3BpcmVkIGJ5IEMjIGFib3ZlIGFzIHdlIHNwZWFrLCBsaWtlbHkgdG8gYmUgY2Fs bGVkIGAjd2l0aGANCmh0dHBzOi8vbWFpbC5vcGVuamRrLm9yZy9waXBlcm1haWwvYW1iZXItc3Bl Yy1leHBlcnRzLzIwMjItSnVuZS8wMDM0NjEuaHRtbA0KDQpSdXN0IOKAnFN0cnVjdCBVcGRhdGUg U3ludGF44oCdIHZpYSBgLi5gIHN5bnRheCBpbiBjb25zdHJ1Y3Rvcg0KaHR0cHM6Ly9kb2MucnVz dC1sYW5nLm9yZy9ib29rL2NoMDUtMDEtZGVmaW5pbmctc3RydWN0cy5odG1sI2NyZWF0aW5nLWlu c3RhbmNlcy1mcm9tLW90aGVyLWluc3RhbmNlcy13aXRoLXN0cnVjdC11cGRhdGUtc3ludGF4DQoN CiMjIEFsdGVybmF0aXZlcw0KDQpXaXRob3V0IGEgY29weS13aXRoLWNoYW5nZXMgbWV0aG9kLCBv bmUgbXVzdCBjb25zdHJ1Y3QgZW50aXJlbHkgbmV3IGluc3RhbmNlcyB1c2luZyB0aGUgY29uc3Ry dWN0b3IuIFRoaXMgY2FuIGVpdGhlciBiZSAoYSkgZnVsbHkgc3BlbGxlZCBvdXQgYXMgYm9pbGVy cGxhdGUgY29kZSwgb3IgKGIpIHVzZSBhIHN5bW1ldHJpY2FsIGAjdG9faGAgdG8gZmVlZCB0aGUg a2V5d29yZC1hcmdzIGNvbnN0cnVjdG9yLg0KDQoqKihhKSBCb2lsZXJwbGF0ZSB1c2luZyBjb25z dHJ1Y3RvcioqDQoNCmBgYHJ1YnkNClBvaW50ID0gRGF0YS5kZWZpbmUoOngsIDp5LCA6eikNCk9y aWdpbiA9IFBvaW50Lm5ldyh4OiAwLjAsIHk6IDAuMCwgejogMC4wKQ0KDQpjaGFuZ2UgPSB7IHo6 IC0xLjUgfQ0KDQojIEhhdmUgdG8gdXNlIGZ1bGwgY29uc3RydWN0b3IgLS0gZG9lcyB0aGlzIGV2 ZW4gd29yaz8NCnBvaW50ID0gUG9pbnQubmV3KHg6IE9yaWdpbi54LCB5OiBPcmlnaW4ueSwgKipj aGFuZ2UpDQpgYGANCg0KKiooYikgVXNpbmcgYSBzZXBhcmF0ZWx5IHByb3Bvc2VkIGAjdG9faGAg bWV0aG9kIGFuZCBjb25zdHJ1Y3RvciBzeW1tZXRyeSoNCg0KYGBgcnVieQ0KUG9pbnQgPSBEYXRh LmRlZmluZSg6eCwgOnksIDp6KQ0KT3JpZ2luID0gUG9pbnQubmV3KHg6IDAuMCwgeTogMC4wLCB6 OiAwLjApDQoNCmNoYW5nZSA9IHsgejogLTEuNSB9DQoNCiMgSGF2ZSB0byB1c2UgZnVsbCBjb25z dHJ1Y3RvciAtLSBkb2VzIHRoaXMgZXZlbiB3b3JrPw0KcG9pbnQgPSBQb2ludC5uZXcoKiooT3Jp Z2luLnRvX2gubWVyZ2UoY2hhbmdlKSkpDQpgYGANCg0KTm90aWNlIHRoYXQgdGhlIGFib3ZlIGFy ZSBub3QgZXJnb25vbWljIC0tIGxlYWRpbmcgc28gbWFueSBvZiBvdXIgcGVlciBsYW5ndWFnZSBj b21tdW5pdGllcyB0byBhZG9wdCB0aGUgYCN3aXRoYCBtZXRob2QgdG8gY29weSBhbiBpbnN0YW5j ZSB3aXRoIGRpc2NyZXRlIGNoYW5nZXMuDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnLw0KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFu Zy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2Nn aS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K