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

From: zverok.offline@...
Date: 2020-01-14 07:45:42 UTC
List: ruby-core #96841
SXNzdWUgIzE2NDk0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgenZlcm9rIChWaWN0b3IgU2hlcGVsZXYp
Lg0KDQoNCj4gSSdtIG5lZ2F0aXZlIGJlY2F1c2UgYWxsb3dpbmcgdGhlIGF1dG9tYXRpYyBIYXNo
IGNvbnZlcnNpb24gbWFrZXMgdGhlIHNlbWFudGljcyBjb21wbGljYXRlZC4gSG93ZXZlciwgdGhl
IGFyZ3VtZW50IHNlbWFudGljcyBvZiBub24tbGFtYmRhIFByb2MgYXJlIGFscmVhZHkgYSBtZXNz
IDotKSBTbyBpdCBtaWdodCBiZSBwb3NzaWJsZSwgdGhvdWdoIEkgZG9uJ3QgbGlrZSBpdC4NCg0K
SSBkb24ndCB0aGluayBpdCBpcyBhICJtZXNzIi4gSSB0aGluayBpdCBpcyB0aGUgInJpZ2h0IiBr
aW5kIG9mIGNvbXBsaWNhdGlvbiB0byBtYWtlIGNvZGUgbW9yZSBlYXN5IHRvIHdyaXRlLiBBcyBJ
J3ZlIGFscmVhZHkgd3JpdHRlbiBlbHNld2hlcmUsIHRoZXJlIGlzIGEgbm9uLW5lZ2xlY3RhYmxl
IGdhcCBiZXR3ZWVuIHdoYXQgaXMgImNvbnNpc3RlbnQiIGZvciBjb21wdXRlcnMsIGFuZCB3aGF0
IGlzICJjb25zaXN0ZW50IiBmb3IgaHVtYW5zLiANCg0KPiBIb3dldmVyLCB3ZSBuZWVkIHRvIGNv
bmZpcm0gaWYgdGhlcmUgYXJlIHNvIG1hbnkgcmVhbC13b3JsZCB1c2UgY2FzZXMgdGhhdCByZWx5
IG9uIHRoZSBvbGQgYmVoYXZpb3IuDQoNCk15IHByb3Bvc2FsLCBpbiBpdHMgZXNzZW5jZSwgaXMg
bm90ICJwbGVhc2UgcHJlc2VydmUgdGhlICdvbGQnIGJlaGF2aW9yLCBiZWNhdXNlIG90aGVyd2lz
ZSwgaXQgd291bGQgYnJlYWsgc29tZXRoaW5nIi4NCg0KSXQgaXMgInBsZWFzZSBzZWUgdGhpcyBi
ZWhhdmlvciBhcyBhIG1vZGVybiBhbmQgY29uc2lzdGVudCB3YXkgdG8gdXNlIFJ1YnksIHdoaWNo
IHNob3VsZCBub3QgYmUgYnJva2VuIGJ5IGFyZ3VtZW50IHNlcGFyYXRpb24iLiBOb3Qgc29tZXRo
aW5nIHRoYXQgIndlbGwsIGdlbmVyYWxseSwgbm90IHJlY29tbWVuZGVkLCBidXQgeW91IF9jYW5f
IGRvIGl0IiwgYnV0IGFzIHNvbWV0aGluZyB0aGF0IGlzIHNlZW4gYXMgYSAiZ29vZCBhbmQgcHJl
dHR5IHRoaW5nLCB0aGF0IHNob3VsZCBiZSBwcm9tb3RlZCBhbmQgdXNlZCBtb3JlIi4NCg0KSSBi
ZWxpZXZlIEkgYW0gc2hvd2Nhc2luZyBlbm91Z2ggb2YgdGhlIHVzYWJpbGl0eSBvZiB0aGUgInVu
cGFja2luZyIgYXBwcm9hY2ggaW4gdGhlIHRpY2tldCBpdHNlbGYgKGFuZCBpdCBpcyBub3QgYXJ0
aWZpY2lhbGx5IGNvbnN0cnVjdGVkLCBqdXN0IGFic3RyYWN0ZWQgYSBiaXQgZXhhbXBsZSBmcm9t
IHRoZSByZWFsLXdvcmxkIGFwcCkuIEkgc2VlIHR3byB3YXlzIGl0IGNhbiBiZSByZWZ1dGVkOg0K
DQoxLiBTaG93IF9lcXVhbGx5IGNsZWFuIGFuZCBwb3dlcmZ1bF8gd2F5IG9mIGRvaW5nIHRoaW5n
cyAod2hpY2gsIEkgYmVsaWV2ZSwgaXMgbm90IHBvc3NpYmxlLCBoZW5jZSB0aGUgdGlja2V0KQ0K
Mi4gU2F5ICJpdCBkb2Vzbid0IG1hdHRlciIvImRvZXNuJ3QgbG9vayBiZXR0ZXIiLyJqdXN0IHJl
d3JpdGUgaXQgd2l0aCBzZXBhcmF0ZSBtZXRob2RzIiwgd2hpY2ggd2lsbCBiZSB0aGUgZW5kIG9m
IHRoZSBkaXNjdXNzaW9uIDopDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0NCkZlYXR1cmUgIzE2NDk0OiBBbGxvdyBoYXNoIHVucGFja2luZyBpbiBub24tbGFtYmRh
IFByb2MNCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNjQ5NCNjaGFuZ2UtODM4
NDQNCg0KKiBBdXRob3I6IHp2ZXJvayAoVmljdG9yIFNoZXBlbGV2KQ0KKiBTdGF0dXM6IE9wZW4N
CiogUHJpb3JpdHk6IE5vcm1hbA0KKiBBc3NpZ25lZTogDQoqIFRhcmdldCB2ZXJzaW9uOiANCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZpcnN0IG9mIGFsbCwgSSBm
dWxseSB1bmRlcnN0YW5kIHRoZSB2YWx1ZSBvZiBzZXBhcmF0aW5nICJyZWFsIiBrZXl3b3JkIGFy
Z3VtZW50cyBhbmQgZGlzYWxsb3dpbmcgaW1wbGljaXQgYW5kIHVuZXhwZWN0ZWQgY29udmVyc2lv
bnMgdG8vZnJvbSBoYXNoZXMuDQoNClRoZXJlIGlzLCB0aG91Z2gsIG9uZSAqKmNvbnZlbmllbnQg
c3R5bGUgd2hpY2ggaXMgbm93IGJyb2tlbioqOg0KYGBgcnVieQ0KIyB3b3JkcyBpcyBhcnJheSBv
ZiBoYXNoZXM6DQp3b3Jkcw0KICAubWFwIHsgfHRleHQ6LCBwYXJhZ3JhcGhfaWQ6LCAqKnJlc3R8
IA0KICAgIHt0ZXh0OiB0ZXh0LnN0cmlwLCBwYXJhZ3JhcGhfaWQ6IHBhcmFncmFwaF9pZC50b19p
LCAqKnJlc3R9DQogIH0NCiAgLnJlamVjdCB7IHx0ZXh0OiwgaXNfcHVuY3R1YXRpb246IGZhbHNl
LCAqKnwgdGV4dC5lbmRfd2l0aD8oJyEnKSB8fCBpc19wdW5jdHVhdGlvbiB9DQogIC5jaHVuayB7
IHxwYXJhZ3JhcGhfaWQ6LCB0aW1lc3RhbXA6IDAsICoqfCBbcGFyYWdyYXBoX2lkLCB0aW1lc3Rh
bXAgJSA2MF0gfQ0KICAjIC4uLmFuZCBzbyBvbg0KYGBgDQpUaGVyZSBpcyBzZXZlcmFsIGltcG9y
dGFudCBlbGVtZW50cyB0byB0aGlzIHN0eWxlLCBtYWtpbmcgaXQgaGFyZCB0byByZXBsYWNlOg0K
DQoqIGluZm9ybWF0aXZlIGVycm9ycyBvbiB1bmV4cGVjdGVkIGRhdGEgc3RydWN0dXJlICgibWlz
c2luZyBrZXl3b3JkOiB0ZXh0IikNCiogYWJpbGl0eSB0byBwcm92aWRlIGRlZmF1bHQgdmFsdWVz
DQoqIGNsZWFyIHNlcGFyYXRpb24gb2YgZGVjbGFyYXRpb24gIndoYXQgdGhpcyBibG9jayBleHBl
Y3RzIiAvICJ3aGF0IGl0IGRvZXMgd2l0aCBleHBlY3RlZCBkYXRhIiwgZXNwZWNpYWxseSB2YWx1
YWJsZSBpbiBkYXRhIHByb2Nlc3NpbmcgcGlwZWxpbmVzDQoNCk9uZSBtYXkgYXJndWUgdGhhdCBp
biBzb21lIEJpZyBIYWlyeSBWZXJ5IEFyY2hpdGVjdHVyZWQgQXBwbGljYXRpb24geW91IHNob3Vs
ZCBpbnN0ZWFkIHdyYXAgZXZlcnl0aGluZyBpbiBvYmplY3RzL2V4dHJhY3QgZXZlcnkgcHJvY2Vz
c2luZyBzdGVwIGludG8gbWV0aG9kIG9yIHNlcnZpY2UvZXh0cmFjdCB2YWxpZGF0aW9uIGFzIGEg
c2VwYXJhdGUgY29uY2VybiBldGMuLi4gQnV0IGluIHNtYWxsZXIgdXRpbGl0eSBzY3JpcHRzLCBv
ciBkZWVwIGluc2lkZSBvZiBjb21wbGljYXRlZCBhbGdvcml0aG1pYyBsaWJyYXJpZXMsIHRoZSBh
YmlsaXR5IHRvIHdyaXRlIHNob3J0IGFuZCBjbGVhciBjb2RlIHdpdGggZXhwbGljaXRseSBkZWNs
YXJlZCBhbmQgY29udHJvbGxlZCBieSBsYW5ndWFnZSBhcmd1bWVudHMgaXMgcHJldHR5IHZhbHVh
YmxlLg0KDQpUaGlzIHN0eWxlIGhhcyAqbm8gY2xlYW4gYWx0ZXJuYXRpdmUqLCBhbGwgcG9zc2li
bGUgYWx0ZXJuYXRpdmVzIGFyZSBlaXRoZXIgbGVzcyBwb3dlcmZ1bCBvciBtdWNoIGxlc3MgcmVh
ZGFibGUuIENvbXBhcmU6DQoNCmBgYHJ1YnkNCiMgVHJ5IHRvIHJld3JpdGUgdGhpczoNCndvcmRz
Lm1hcCB7IHx0ZXh0OiwgcGFyYWdyYXBoX2lkOiwgdGltZXN0YW1wOiAwLCBpc19wdW5jdHVhdGlv
bjogZmFsc2V8DQogIGxvZy5pbmZvICJQcm9jZXNzaW5nICN7dGltZXN0YW1wIC8gNjB9IG1pbnV0
ZSINCiAgZnVsbF90ZXh0ID0gaXNfcHVuY3RpYXRpb24gPyB0ZXh0IDogdGV4dCArICcgJw0KICAi
PHNwYW4gY2xhc3M9J3dvcmQgcGFyYWdyYXBoLSN7cGFyYWdyYXBoX2lkfScgZGF0YS10aW1lPSN7
dGltZXN0YW1wfSBkYXRhLW9yaWdpbmFsLXRleHQ9I3t0ZXh0fT4je2Z1bGxfdGV4dH08L3NwYW4+
Ig0KfQ0KDQojIEFsdGVybmF0aXZlIHdpdGgganVzdCBoYXNoZXM6DQp3b3Jkcy5tYXAgeyB8d29y
ZHwNCiAgIyB0aG9zZSB0d28gdXNlZCBzZXZlcmFsIHRpbWVzDQogIHRleHQgPSB3b3JkLmZldGNo
KDp0ZXh0KQ0KICB0aW1lc3RhbXAgPSB3b3JkLmZldGNoKDp0aW1lc3RhbXAsIDApDQogIGxvZy5p
bmZvICJQcm9jZXNzaW5nICN7dGltZXN0YW1wIC8gNjB9IG1pbnV0ZSINCiAgIyBBYnNlbnQgaXNf
cHVuY3R1YXRpb24gaXMgb2ssIGl0IGRlZmF1bHQgdG8gZmFsc2UNCiAgZnVsbF90ZXh0ID0gd29y
ZFs6aXNfcHVuY3RpYXRpb25dID8gdGV4dCA6IHRleHQgKyAnICcNCiAgIjxzcGFuIGNsYXNzPSd3
b3JkIHBhcmFncmFwaC0je3dvcmQuZmV0Y2goOnBhcmFncmFwaF9pZCl9JyBkYXRhLXRpbWU9I3t0
aW1lc3RhbXB9IGRhdGEtb3JpZ2luYWwtdGV4dD0je3RleHR9PiN7ZnVsbF90ZXh0fTwvc3Bhbj4i
DQp9DQoNCiMgQWx0ZXJuYXRpdmUgd2l0aCBwYXR0ZXJuLW1hdGNoaW5nOiB0byB1bnBhY2sgdmFy
aWFibGVzLCBhbmQgaGFuZGxlIGRlZmF1bHQgdmFsdWVzLCBpdCB3aWxsIGJlIHNvbWV0aGluZyBs
aWtlLi4uDQpjYXNlIHdvcmQNCmluIHRleHQ6LCBwYXJhZ3JhcGhfaWQ6LCB0aW1lc3RhbXA6DQog
ICMgc2tpcCwganVzdCB1bnBhY2tlZA0KaW4gdGV4dDosIHBhcmFncmFwaF9pZDogIyBubyB0aW1l
c3RhbXA6DQogIHRpbWVzdGFtcCA9IDANCmVuZA0KIyBJIGFtIGV2ZW4gbm90IHRyeWluZyB0byBo
YW5kbGUgVFdPIGRlZmF1bHQgdmFsdWVzDQpgYGANCg0KQXMgc2hvd24gYWJvdmUsIGBIYXNoI2Zl
dGNoYC9gSGFzaCNbXWAgc3R5bGUgbWFrZXMgaXQgbXVjaCBoYXJkZXIgdG8gdW5kZXJzdGFuZCB3
aGF0IGJsb2NrIGV4cGVjdHMgaGFzaCB0byBoYXZlLCBhbmQgaG93IGl0IHVzZXMgaGFzaCBjb21w
b25lbnRzIOKAlCBhbmQganVzdCBtYWtlcyB0aGUgY29kZSBsb25nZXIgYW5kIGxlc3MgcGxlYXNh
bnQgdG8gd3JpdGUgYW5kIHJlYWQuIFBhdHRlcm4tbWF0Y2hpbmcgKGF0IGxlYXN0IGZvciBub3cp
IGlzIGp1c3Qgbm90IHBvd2VyZnVsIGVub3VnaCBmb3IgdGhpcyBwYXJ0aWN1bGFyIGNhc2UgKGl0
IGFsc28gaGFzIG5vbi1pbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlcywgYnV0IGl0IG9idmlvdXNs
eSBjYW4gYmUgaW1wcm92ZWQpLg0KDQpNeSAqKnByb3Bvc2FsKiogaXMgdG8gKiphbGxvdyBpbXBs
aWNpdCBoYXNoIHVucGFja2luZyoqIGludG8ga2V5d29yZCBhcmd1bWVudHMgaW4gKipub24tbGFt
YmRhIHByb2NzKiouIEl0IHdvdWxkIGJlICoqY29uc2lzdGVudCoqIHdpdGggaW1wbGljaXQgYXJy
YXkgdW5wYWNraW5nLCB3aGljaCBpcyBhbiBpbXBvcnRhbnQgcHJvcGVydHkgb2Ygbm9uLWxhbWJk
YSBwcm9jcywgdXNlZnVsIGZvciByZWFzb25zICp2ZXJ5IHNpbWlsYXIgdG8gZGVzY3JpYmVkIGFi
b3ZlKi4NCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQoKVW5zdWJzY3Jp
YmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vi
c2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlv
bnMvcnVieS1jb3JlPgo=

In This Thread

Prev Next