[ruby-core:96848] [Ruby master Feature#16494] Allow hash unpacking in non-lambda Proc

From: mame@...
Date: 2020-01-14 10:29:47 UTC
List: ruby-core #96848
SXNzdWUgIzE2NDk0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4NCg0K
DQpJIHJlbWVtYmVyLiAgSSB0YWxrZWQgYWJvdXQgdGhlIGlzc3VlIHdpdGggbWF0eiBiZWZvcmUg
Mi43IHJlbGVhc2UsIGFuZCBoZSBzYWlkIGl0IGRvZXMgbm90IG1hdHRlci4gIEhlIG1heSBoYXZl
IGNoYW5nZWQgaGlzIG1pbmQsIHNvIEknbGwgY29uZmlybSBoaW0gYXQgdGhlIG5leHQgbWVldGlu
Zy4NCg0KSW4gbXkgcGVyc29uYWwgb3BpbmlvbiwgaXQgbWF0dGVycyBpZiB0aGVyZSBhcmUgYWxy
ZWFkeSBtYW55IHJlYWwtd29ybGQgdXNlIGNhc2VzLiAgT3RoZXJ3aXNlLCBpdCBkb2VzIG5vdCBt
YXR0ZXIuICBJIGd1ZXNzIG1hdHogaGFzIHRoZSBzYW1lIGZlZWxpbmdzLiAgTXkgY3VycmVudCBv
YnNlcnZhdGlvbiBpcyB0aGF0IHN1Y2ggYSBjb2RlIGlzIG5vdCBzbyBvZnRlbiB3cml0dGVuLg0K
DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMxNjQ5
NDogQWxsb3cgaGFzaCB1bnBhY2tpbmcgaW4gbm9uLWxhbWJkYSBQcm9jDQpodHRwczovL2J1Z3Mu
cnVieS1sYW5nLm9yZy9pc3N1ZXMvMTY0OTQjY2hhbmdlLTgzODUyDQoNCiogQXV0aG9yOiB6dmVy
b2sgKFZpY3RvciBTaGVwZWxldikNCiogU3RhdHVzOiBPcGVuDQoqIFByaW9yaXR5OiBOb3JtYWwN
CiogQXNzaWduZWU6IA0KKiBUYXJnZXQgdmVyc2lvbjogDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tDQpGaXJzdCBvZiBhbGwsIEkgZnVsbHkgdW5kZXJzdGFuZCB0aGUg
dmFsdWUgb2Ygc2VwYXJhdGluZyAicmVhbCIga2V5d29yZCBhcmd1bWVudHMgYW5kIGRpc2FsbG93
aW5nIGltcGxpY2l0IGFuZCB1bmV4cGVjdGVkIGNvbnZlcnNpb25zIHRvL2Zyb20gaGFzaGVzLg0K
DQpUaGVyZSBpcywgdGhvdWdoLCBvbmUgKipjb252ZW5pZW50IHN0eWxlIHdoaWNoIGlzIG5vdyBi
cm9rZW4qKjoNCmBgYHJ1YnkNCiMgd29yZHMgaXMgYXJyYXkgb2YgaGFzaGVzOg0Kd29yZHMNCiAg
Lm1hcCB7IHx0ZXh0OiwgcGFyYWdyYXBoX2lkOiwgKipyZXN0fCANCiAgICB7dGV4dDogdGV4dC5z
dHJpcCwgcGFyYWdyYXBoX2lkOiBwYXJhZ3JhcGhfaWQudG9faSwgKipyZXN0fQ0KICB9DQogIC5y
ZWplY3QgeyB8dGV4dDosIGlzX3B1bmN0dWF0aW9uOiBmYWxzZSwgKip8IHRleHQuZW5kX3dpdGg/
KCchJykgfHwgaXNfcHVuY3R1YXRpb24gfQ0KICAuY2h1bmsgeyB8cGFyYWdyYXBoX2lkOiwgdGlt
ZXN0YW1wOiAwLCAqKnwgW3BhcmFncmFwaF9pZCwgdGltZXN0YW1wICUgNjBdIH0NCiAgIyAuLi5h
bmQgc28gb24NCmBgYA0KVGhlcmUgaXMgc2V2ZXJhbCBpbXBvcnRhbnQgZWxlbWVudHMgdG8gdGhp
cyBzdHlsZSwgbWFraW5nIGl0IGhhcmQgdG8gcmVwbGFjZToNCg0KKiBpbmZvcm1hdGl2ZSBlcnJv
cnMgb24gdW5leHBlY3RlZCBkYXRhIHN0cnVjdHVyZSAoIm1pc3Npbmcga2V5d29yZDogdGV4dCIp
DQoqIGFiaWxpdHkgdG8gcHJvdmlkZSBkZWZhdWx0IHZhbHVlcw0KKiBjbGVhciBzZXBhcmF0aW9u
IG9mIGRlY2xhcmF0aW9uICJ3aGF0IHRoaXMgYmxvY2sgZXhwZWN0cyIgLyAid2hhdCBpdCBkb2Vz
IHdpdGggZXhwZWN0ZWQgZGF0YSIsIGVzcGVjaWFsbHkgdmFsdWFibGUgaW4gZGF0YSBwcm9jZXNz
aW5nIHBpcGVsaW5lcw0KDQpPbmUgbWF5IGFyZ3VlIHRoYXQgaW4gc29tZSBCaWcgSGFpcnkgVmVy
eSBBcmNoaXRlY3R1cmVkIEFwcGxpY2F0aW9uIHlvdSBzaG91bGQgaW5zdGVhZCB3cmFwIGV2ZXJ5
dGhpbmcgaW4gb2JqZWN0cy9leHRyYWN0IGV2ZXJ5IHByb2Nlc3Npbmcgc3RlcCBpbnRvIG1ldGhv
ZCBvciBzZXJ2aWNlL2V4dHJhY3QgdmFsaWRhdGlvbiBhcyBhIHNlcGFyYXRlIGNvbmNlcm4gZXRj
Li4uIEJ1dCBpbiBzbWFsbGVyIHV0aWxpdHkgc2NyaXB0cywgb3IgZGVlcCBpbnNpZGUgb2YgY29t
cGxpY2F0ZWQgYWxnb3JpdGhtaWMgbGlicmFyaWVzLCB0aGUgYWJpbGl0eSB0byB3cml0ZSBzaG9y
dCBhbmQgY2xlYXIgY29kZSB3aXRoIGV4cGxpY2l0bHkgZGVjbGFyZWQgYW5kIGNvbnRyb2xsZWQg
YnkgbGFuZ3VhZ2UgYXJndW1lbnRzIGlzIHByZXR0eSB2YWx1YWJsZS4NCg0KVGhpcyBzdHlsZSBo
YXMgKm5vIGNsZWFuIGFsdGVybmF0aXZlKiwgYWxsIHBvc3NpYmxlIGFsdGVybmF0aXZlcyBhcmUg
ZWl0aGVyIGxlc3MgcG93ZXJmdWwgb3IgbXVjaCBsZXNzIHJlYWRhYmxlLiBDb21wYXJlOg0KDQpg
YGBydWJ5DQojIFRyeSB0byByZXdyaXRlIHRoaXM6DQp3b3Jkcy5tYXAgeyB8dGV4dDosIHBhcmFn
cmFwaF9pZDosIHRpbWVzdGFtcDogMCwgaXNfcHVuY3R1YXRpb246IGZhbHNlfA0KICBsb2cuaW5m
byAiUHJvY2Vzc2luZyAje3RpbWVzdGFtcCAvIDYwfSBtaW51dGUiDQogIGZ1bGxfdGV4dCA9IGlz
X3B1bmN0aWF0aW9uID8gdGV4dCA6IHRleHQgKyAnICcNCiAgIjxzcGFuIGNsYXNzPSd3b3JkIHBh
cmFncmFwaC0je3BhcmFncmFwaF9pZH0nIGRhdGEtdGltZT0je3RpbWVzdGFtcH0gZGF0YS1vcmln
aW5hbC10ZXh0PSN7dGV4dH0+I3tmdWxsX3RleHR9PC9zcGFuPiINCn0NCg0KIyBBbHRlcm5hdGl2
ZSB3aXRoIGp1c3QgaGFzaGVzOg0Kd29yZHMubWFwIHsgfHdvcmR8DQogICMgdGhvc2UgdHdvIHVz
ZWQgc2V2ZXJhbCB0aW1lcw0KICB0ZXh0ID0gd29yZC5mZXRjaCg6dGV4dCkNCiAgdGltZXN0YW1w
ID0gd29yZC5mZXRjaCg6dGltZXN0YW1wLCAwKQ0KICBsb2cuaW5mbyAiUHJvY2Vzc2luZyAje3Rp
bWVzdGFtcCAvIDYwfSBtaW51dGUiDQogICMgQWJzZW50IGlzX3B1bmN0dWF0aW9uIGlzIG9rLCBp
dCBkZWZhdWx0IHRvIGZhbHNlDQogIGZ1bGxfdGV4dCA9IHdvcmRbOmlzX3B1bmN0aWF0aW9uXSA/
IHRleHQgOiB0ZXh0ICsgJyAnDQogICI8c3BhbiBjbGFzcz0nd29yZCBwYXJhZ3JhcGgtI3t3b3Jk
LmZldGNoKDpwYXJhZ3JhcGhfaWQpfScgZGF0YS10aW1lPSN7dGltZXN0YW1wfSBkYXRhLW9yaWdp
bmFsLXRleHQ9I3t0ZXh0fT4je2Z1bGxfdGV4dH08L3NwYW4+Ig0KfQ0KDQojIEFsdGVybmF0aXZl
IHdpdGggcGF0dGVybi1tYXRjaGluZzogdG8gdW5wYWNrIHZhcmlhYmxlcywgYW5kIGhhbmRsZSBk
ZWZhdWx0IHZhbHVlcywgaXQgd2lsbCBiZSBzb21ldGhpbmcgbGlrZS4uLg0KY2FzZSB3b3JkDQpp
biB0ZXh0OiwgcGFyYWdyYXBoX2lkOiwgdGltZXN0YW1wOg0KICAjIHNraXAsIGp1c3QgdW5wYWNr
ZWQNCmluIHRleHQ6LCBwYXJhZ3JhcGhfaWQ6ICMgbm8gdGltZXN0YW1wOg0KICB0aW1lc3RhbXAg
PSAwDQplbmQNCiMgSSBhbSBldmVuIG5vdCB0cnlpbmcgdG8gaGFuZGxlIFRXTyBkZWZhdWx0IHZh
bHVlcw0KYGBgDQoNCkFzIHNob3duIGFib3ZlLCBgSGFzaCNmZXRjaGAvYEhhc2gjW11gIHN0eWxl
IG1ha2VzIGl0IG11Y2ggaGFyZGVyIHRvIHVuZGVyc3RhbmQgd2hhdCBibG9jayBleHBlY3RzIGhh
c2ggdG8gaGF2ZSwgYW5kIGhvdyBpdCB1c2VzIGhhc2ggY29tcG9uZW50cyDigJQgYW5kIGp1c3Qg
bWFrZXMgdGhlIGNvZGUgbG9uZ2VyIGFuZCBsZXNzIHBsZWFzYW50IHRvIHdyaXRlIGFuZCByZWFk
LiBQYXR0ZXJuLW1hdGNoaW5nIChhdCBsZWFzdCBmb3Igbm93KSBpcyBqdXN0IG5vdCBwb3dlcmZ1
bCBlbm91Z2ggZm9yIHRoaXMgcGFydGljdWxhciBjYXNlIChpdCBhbHNvIGhhcyBub24taW5mb3Jt
YXRpdmUgZXJyb3IgbWVzc2FnZXMsIGJ1dCBpdCBvYnZpb3VzbHkgY2FuIGJlIGltcHJvdmVkKS4N
Cg0KTXkgKipwcm9wb3NhbCoqIGlzIHRvICoqYWxsb3cgaW1wbGljaXQgaGFzaCB1bnBhY2tpbmcq
KiBpbnRvIGtleXdvcmQgYXJndW1lbnRzIGluICoqbm9uLWxhbWJkYSBwcm9jcyoqLiBJdCB3b3Vs
ZCBiZSAqKmNvbnNpc3RlbnQqKiB3aXRoIGltcGxpY2l0IGFycmF5IHVucGFja2luZywgd2hpY2gg
aXMgYW4gaW1wb3J0YW50IHByb3BlcnR5IG9mIG5vbi1sYW1iZGEgcHJvY3MsIHVzZWZ1bCBmb3Ig
cmVhc29ucyAqdmVyeSBzaW1pbGFyIHRvIGRlc2NyaWJlZCBhYm92ZSouDQoNCg0KDQotLSANCmh0
dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29y
ZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0
cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K

In This Thread

Prev Next