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

From: daniel@...42.com
Date: 2020-01-16 04:36:13 UTC
List: ruby-core #96880
SXNzdWUgIzE2NDk0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRGFuMDA0MiAoRGFuaWVsIERlTG9ybWUp
Lg0KDQoNCk15IGFsdGVybmF0aXZlIHByb3Bvc2FsIHRvIGFjY29tcGxpc2ggdGhlIHNhbWUgb2Jq
ZWN0aXZlOiAjMTY1MTENCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQ0KRmVhdHVyZSAjMTY0OTQ6IEFsbG93IGhhc2ggdW5wYWNraW5nIGluIG5vbi1sYW1iZGEgUHJv
Yw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE2NDk0I2NoYW5nZS04Mzg5Mg0K
DQoqIEF1dGhvcjogenZlcm9rIChWaWN0b3IgU2hlcGVsZXYpDQoqIFN0YXR1czogT3Blbg0KKiBQ
cmlvcml0eTogTm9ybWFsDQoqIEFzc2lnbmVlOiANCiogVGFyZ2V0IHZlcnNpb246IA0KLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmlyc3Qgb2YgYWxsLCBJIGZ1bGx5
IHVuZGVyc3RhbmQgdGhlIHZhbHVlIG9mIHNlcGFyYXRpbmcgInJlYWwiIGtleXdvcmQgYXJndW1l
bnRzIGFuZCBkaXNhbGxvd2luZyBpbXBsaWNpdCBhbmQgdW5leHBlY3RlZCBjb252ZXJzaW9ucyB0
by9mcm9tIGhhc2hlcy4NCg0KVGhlcmUgaXMsIHRob3VnaCwgb25lICoqY29udmVuaWVudCBzdHls
ZSB3aGljaCBpcyBub3cgYnJva2VuKio6DQpgYGBydWJ5DQojIHdvcmRzIGlzIGFycmF5IG9mIGhh
c2hlczoNCndvcmRzDQogIC5tYXAgeyB8dGV4dDosIHBhcmFncmFwaF9pZDosICoqcmVzdHwgDQog
ICAge3RleHQ6IHRleHQuc3RyaXAsIHBhcmFncmFwaF9pZDogcGFyYWdyYXBoX2lkLnRvX2ksICoq
cmVzdH0NCiAgfQ0KICAucmVqZWN0IHsgfHRleHQ6LCBpc19wdW5jdHVhdGlvbjogZmFsc2UsICoq
fCB0ZXh0LmVuZF93aXRoPygnIScpIHx8IGlzX3B1bmN0dWF0aW9uIH0NCiAgLmNodW5rIHsgfHBh
cmFncmFwaF9pZDosIHRpbWVzdGFtcDogMCwgKip8IFtwYXJhZ3JhcGhfaWQsIHRpbWVzdGFtcCAl
IDYwXSB9DQogICMgLi4uYW5kIHNvIG9uDQpgYGANClRoZXJlIGlzIHNldmVyYWwgaW1wb3J0YW50
IGVsZW1lbnRzIHRvIHRoaXMgc3R5bGUsIG1ha2luZyBpdCBoYXJkIHRvIHJlcGxhY2U6DQoNCiog
aW5mb3JtYXRpdmUgZXJyb3JzIG9uIHVuZXhwZWN0ZWQgZGF0YSBzdHJ1Y3R1cmUgKCJtaXNzaW5n
IGtleXdvcmQ6IHRleHQiKQ0KKiBhYmlsaXR5IHRvIHByb3ZpZGUgZGVmYXVsdCB2YWx1ZXMNCiog
Y2xlYXIgc2VwYXJhdGlvbiBvZiBkZWNsYXJhdGlvbiAid2hhdCB0aGlzIGJsb2NrIGV4cGVjdHMi
IC8gIndoYXQgaXQgZG9lcyB3aXRoIGV4cGVjdGVkIGRhdGEiLCBlc3BlY2lhbGx5IHZhbHVhYmxl
IGluIGRhdGEgcHJvY2Vzc2luZyBwaXBlbGluZXMNCg0KT25lIG1heSBhcmd1ZSB0aGF0IGluIHNv
bWUgQmlnIEhhaXJ5IFZlcnkgQXJjaGl0ZWN0dXJlZCBBcHBsaWNhdGlvbiB5b3Ugc2hvdWxkIGlu
c3RlYWQgd3JhcCBldmVyeXRoaW5nIGluIG9iamVjdHMvZXh0cmFjdCBldmVyeSBwcm9jZXNzaW5n
IHN0ZXAgaW50byBtZXRob2Qgb3Igc2VydmljZS9leHRyYWN0IHZhbGlkYXRpb24gYXMgYSBzZXBh
cmF0ZSBjb25jZXJuIGV0Yy4uLiBCdXQgaW4gc21hbGxlciB1dGlsaXR5IHNjcmlwdHMsIG9yIGRl
ZXAgaW5zaWRlIG9mIGNvbXBsaWNhdGVkIGFsZ29yaXRobWljIGxpYnJhcmllcywgdGhlIGFiaWxp
dHkgdG8gd3JpdGUgc2hvcnQgYW5kIGNsZWFyIGNvZGUgd2l0aCBleHBsaWNpdGx5IGRlY2xhcmVk
IGFuZCBjb250cm9sbGVkIGJ5IGxhbmd1YWdlIGFyZ3VtZW50cyBpcyBwcmV0dHkgdmFsdWFibGUu
DQoNClRoaXMgc3R5bGUgaGFzICpubyBjbGVhbiBhbHRlcm5hdGl2ZSosIGFsbCBwb3NzaWJsZSBh
bHRlcm5hdGl2ZXMgYXJlIGVpdGhlciBsZXNzIHBvd2VyZnVsIG9yIG11Y2ggbGVzcyByZWFkYWJs
ZS4gQ29tcGFyZToNCg0KYGBgcnVieQ0KIyBUcnkgdG8gcmV3cml0ZSB0aGlzOg0Kd29yZHMubWFw
IHsgfHRleHQ6LCBwYXJhZ3JhcGhfaWQ6LCB0aW1lc3RhbXA6IDAsIGlzX3B1bmN0dWF0aW9uOiBm
YWxzZXwNCiAgbG9nLmluZm8gIlByb2Nlc3NpbmcgI3t0aW1lc3RhbXAgLyA2MH0gbWludXRlIg0K
ICBmdWxsX3RleHQgPSBpc19wdW5jdGlhdGlvbiA/IHRleHQgOiB0ZXh0ICsgJyAnDQogICI8c3Bh
biBjbGFzcz0nd29yZCBwYXJhZ3JhcGgtI3twYXJhZ3JhcGhfaWR9JyBkYXRhLXRpbWU9I3t0aW1l
c3RhbXB9IGRhdGEtb3JpZ2luYWwtdGV4dD0je3RleHR9PiN7ZnVsbF90ZXh0fTwvc3Bhbj4iDQp9
DQoNCiMgQWx0ZXJuYXRpdmUgd2l0aCBqdXN0IGhhc2hlczoNCndvcmRzLm1hcCB7IHx3b3JkfA0K
ICAjIHRob3NlIHR3byB1c2VkIHNldmVyYWwgdGltZXMNCiAgdGV4dCA9IHdvcmQuZmV0Y2goOnRl
eHQpDQogIHRpbWVzdGFtcCA9IHdvcmQuZmV0Y2goOnRpbWVzdGFtcCwgMCkNCiAgbG9nLmluZm8g
IlByb2Nlc3NpbmcgI3t0aW1lc3RhbXAgLyA2MH0gbWludXRlIg0KICAjIEFic2VudCBpc19wdW5j
dHVhdGlvbiBpcyBvaywgaXQgZGVmYXVsdCB0byBmYWxzZQ0KICBmdWxsX3RleHQgPSB3b3JkWzpp
c19wdW5jdGlhdGlvbl0gPyB0ZXh0IDogdGV4dCArICcgJw0KICAiPHNwYW4gY2xhc3M9J3dvcmQg
cGFyYWdyYXBoLSN7d29yZC5mZXRjaCg6cGFyYWdyYXBoX2lkKX0nIGRhdGEtdGltZT0je3RpbWVz
dGFtcH0gZGF0YS1vcmlnaW5hbC10ZXh0PSN7dGV4dH0+I3tmdWxsX3RleHR9PC9zcGFuPiINCn0N
Cg0KIyBBbHRlcm5hdGl2ZSB3aXRoIHBhdHRlcm4tbWF0Y2hpbmc6IHRvIHVucGFjayB2YXJpYWJs
ZXMsIGFuZCBoYW5kbGUgZGVmYXVsdCB2YWx1ZXMsIGl0IHdpbGwgYmUgc29tZXRoaW5nIGxpa2Uu
Li4NCmNhc2Ugd29yZA0KaW4gdGV4dDosIHBhcmFncmFwaF9pZDosIHRpbWVzdGFtcDoNCiAgIyBz
a2lwLCBqdXN0IHVucGFja2VkDQppbiB0ZXh0OiwgcGFyYWdyYXBoX2lkOiAjIG5vIHRpbWVzdGFt
cDoNCiAgdGltZXN0YW1wID0gMA0KZW5kDQojIEkgYW0gZXZlbiBub3QgdHJ5aW5nIHRvIGhhbmRs
ZSBUV08gZGVmYXVsdCB2YWx1ZXMNCmBgYA0KDQpBcyBzaG93biBhYm92ZSwgYEhhc2gjZmV0Y2hg
L2BIYXNoI1tdYCBzdHlsZSBtYWtlcyBpdCBtdWNoIGhhcmRlciB0byB1bmRlcnN0YW5kIHdoYXQg
YmxvY2sgZXhwZWN0cyBoYXNoIHRvIGhhdmUsIGFuZCBob3cgaXQgdXNlcyBoYXNoIGNvbXBvbmVu
dHMg4oCUIGFuZCBqdXN0IG1ha2VzIHRoZSBjb2RlIGxvbmdlciBhbmQgbGVzcyBwbGVhc2FudCB0
byB3cml0ZSBhbmQgcmVhZC4gUGF0dGVybi1tYXRjaGluZyAoYXQgbGVhc3QgZm9yIG5vdykgaXMg
anVzdCBub3QgcG93ZXJmdWwgZW5vdWdoIGZvciB0aGlzIHBhcnRpY3VsYXIgY2FzZSAoaXQgYWxz
byBoYXMgbm9uLWluZm9ybWF0aXZlIGVycm9yIG1lc3NhZ2VzLCBidXQgaXQgb2J2aW91c2x5IGNh
biBiZSBpbXByb3ZlZCkuDQoNCk15ICoqcHJvcG9zYWwqKiBpcyB0byAqKmFsbG93IGltcGxpY2l0
IGhhc2ggdW5wYWNraW5nKiogaW50byBrZXl3b3JkIGFyZ3VtZW50cyBpbiAqKm5vbi1sYW1iZGEg
cHJvY3MqKi4gSXQgd291bGQgYmUgKipjb25zaXN0ZW50Kiogd2l0aCBpbXBsaWNpdCBhcnJheSB1
bnBhY2tpbmcsIHdoaWNoIGlzIGFuIGltcG9ydGFudCBwcm9wZXJ0eSBvZiBub24tbGFtYmRhIHBy
b2NzLCB1c2VmdWwgZm9yIHJlYXNvbnMgKnZlcnkgc2ltaWxhciB0byBkZXNjcmliZWQgYWJvdmUq
Lg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCgpVbnN1YnNjcmliZTog
PG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3Jp
YmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9y
dWJ5LWNvcmU+Cg==

In This Thread

Prev Next