[ruby-core:109854] [Ruby master Feature#19001] Data: Add #to_h symmetric to constructor with keyword args [Follow-on to #16122 Data: simple immutable value object]
From:
"RubyBugs (A Nonymous)" <noreply@...>
Date:
2022-09-08 18:44:07 UTC
List:
ruby-core #109854
SXNzdWUgIzE5MDAxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgUnVieUJ1Z3MgKEEgTm9ueW1vdXMpLgoK ClBlciBATWF0eiBbaGVyZV0oaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE2MTIy I25vdGUtNTEpLCB0aGUgcHJlZmVyZW5jZSB3b3VsZCBiZSBmb3IgdGhlIGNvbnN0cnVjdG9yIHRv IHRha2UgZWl0aGVyOgoqIE9ubHkga2V5d29yZCBhcmdzCiogRWl0aGVyIGtleXdvcmQgYXJncyBP UiBwb3NpdGlvbmFsIGFyZ3MKClRoZSBbVmFsdWVzIGdlbV0oaHR0cHM6Ly9naXRodWIuY29tL21z LWF0aS9WYWx1ZXMpIHByb3ZpZGVzIHNlcGFyYXRlIHBvc2l0aW9uYWwgYW5kIGtleXdvcmQgYXJn cyBjb25zdHJ1Y3RvcnM6CiogYC5uZXdgIC0tIHBvc2l0aW9uYWwgY29uc3RydWN0b3IKKiBgLndp dGhgIC0tIGtleXdvcmQgYXJncyBjb25zdHJ1Y3RvcgoKR2l2ZW4gdGhlIGhpZ2ggbmVlZCBmb3Ig ZXJnb25vbWljcyByZWxhdGVkIHRvIHRoZSBrZXl3b3JkIGFyZ3MgY29uc3RydWN0b3IsIG15IHJl Y29tbWVuZGF0aW9uIGlzIHRoYXQgdGhpcyBvbmUgaXMgbW9yZSBpbXBvcnRhbnQgdGhhbiBhIHBv c2l0aW9uYWwgY29uc3RydWN0b3IuCgpGb3IgZXhhbXBsZSwgd2hlbiB1c2luZyBzaW1wbGUgaW1t dXRhYmxlIHZhbHVlIG9iamVjdHMsIGEga2V5d29yZCBhcmdzIGNvbnN0cnVjdG9yIGNvbWJpbmVk IHdpdGggYSBgI3dpdGhgIG1ldGhvZCB0byBjb3B5IGFuIGluc3RhbmNlIHdpdGggZGlzY3JldGUg Y2hhbmdlcyAoc2VlICMxOTAwMCksIGNhbiBjb21wbGV0ZWx5IHJlcGxhY2UgdGhlIG5lZWQgZm9y IGRlZmF1bHQgdmFsdWVzLCBhcyBmb2xsb3dzOgoKYGBgcnVieQpQb2ludCA9IERhdGEuZGVmaW5l KDp4LCA6eSwgOnopCgpEZWZhdWx0ID0gUG9pbnQubmV3KHg6IDEsIHk6IDIsIHo6IDMpCgpwID0g RGVmYXVsdC53aXRoKHg6IDQyKQojPT4gUG9pbnQoeDogNDIsIHk6IDIsIHo6IDMpCmBgYAoKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxOTAwMTogRGF0 YTogQWRkICN0b19oIHN5bW1ldHJpYyB0byBjb25zdHJ1Y3RvciB3aXRoIGtleXdvcmQgYXJncyAg W0ZvbGxvdy1vbiB0byAjMTYxMjIgRGF0YTogc2ltcGxlIGltbXV0YWJsZSB2YWx1ZSBvYmplY3Rd Cmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xOTAwMSNjaGFuZ2UtOTkwOTEKCiog QXV0aG9yOiBSdWJ5QnVncyAoQSBOb255bW91cykKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTog Tm9ybWFsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKkV4dHJhY3Rl ZCBhIGZvbGxvdy11cCB0byBbIzE2MTIyIERhdGE6IHNpbXBsZSBpbW11dGFibGUgdmFsdWUgb2Jq ZWN0XShodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTYxMjIpKgoKIyBQcm9wb3Nh bDogQWRkIGEgYCN0b19oYCBtZXRob2Qgc3ltbWV0cmljIHRvIGEgY29uc3RydWN0b3IgYWNjZXB0 aW5nIGtleXdvcmQgYXJndW1lbnRzCgpUaGlzIGFsbG93cyByb3VuZC10cmlwIGJldHdlZW4gYSBg SGFzaGAgYW5kIGEgVmFsdWUgb2JqZWN0IGluc3RhbmNlLCBmb3IgZXhhbXBsZToKCmBgYHJ1YnkK UG9pbnQgPSBEYXRhLmRlZmluZSg6eCwgOnksIDp6KQoKcG9pbnRzID0gWwogIFBvaW50Lm5ldyh4 OiAxLCB5OiAwLCB6OiAwKSwKICBQb2ludC5uZXcoeDogMCwgeTogMSwgejogMCksCiAgUG9pbnQu bmV3KHg6IDAsIHk6IDAsIHo6IDEpLApdCgpoYXNoZXMgPSBwb2ludHMubWFwKCY6dG9faCkKCnBv aW50c18yID0gaGFzaGVzLm1hcCB7IHxofCBQb2ludC5uZXcoKipoKSB9Cgpwb2ludHNfMiA9PSBw b2ludHMKIz0+IHRydWUKYGBgCgojIyBXaHk/CgpIYXZpbmcgc3ltbWV0cmljIG9wZXJhdGlvbiBi ZXR3ZWVuIGAjdG9faGAgYW5kIGEga2V5d29yZC1hcmdzIGNvbnN0cnVjdG9yIGlzIGEgbWFqb3Ig ZXJnb25vbWljIGZhY3RvciBpbiB1c2FnZSBvZiBpbW11dGFibGUgdmFsdWUgb2JqZWN0cy4KClRv IHBsYXkgd2l0aCBjb2RlIHRoYXQgd29ya3MgbGlrZSB0aGlzLCB5b3UgbWF5IHRha2UgYSBsb29r IGF0IHRoZSBbVmFsdWVzIGdlbV0oaHR0cHM6Ly9ydWJ5Z2Vtcy5vcmcvZ2Vtcy92YWx1ZXMpCgoj IyBBbHRlcm5hdGl2ZXMKCklmIHRoZXJlIGlzIG5vIHN5bW1ldHJpYyBjb25zdHJ1Y3Rpb24gYW5k IGRlLWNvbnN0cnVjdGlvbiBhbG9uZyB0aGVzZSBsaW5lcywgYSBudW1iZXIgb2YgdXNlIGNhc2Vz IGJlY29tZSBtb3JlIGNvbXBsaWNhdGVkIGFuZCBsZXNzIGVyZ29ub21pYy4KCgoKLS0gCmh0dHBz Oi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJl cXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1 YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=