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

From: matz@...
Date: 2020-01-16 05:31:54 UTC
List: ruby-core #96886
SXNzdWUgIzE2NDk0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWF0eiAoWXVraWhpcm8gTWF0c3Vtb3Rv
KS4NCg0KU3RhdHVzIGNoYW5nZWQgZnJvbSBPcGVuIHRvIFJlamVjdGVkDQoNCkkgYWRtaXQgdGhl
IHJlY2VudCBjaGFuZ2UgZGlzYWJsZXMgc29tZXRoaW5nIG9uY2Ugd2UgdGhlb3JldGljYWxseSBj
b3VsZC4gQnV0IHRoZXJlJ3Mgbm8gYmlnIHVzYWdlIGZvciB0aGlzIHBhcnRpY3VsYXIgZmVhdHVy
ZSBhbmQgaXQgZG9lc24ndCB3b3J0aCBhZGRpbmcgZXZlbiBtb3JlIGNvbXBsZXhpdHkuDQoNCk1h
dHouDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVy
ZSAjMTY0OTQ6IEFsbG93IGhhc2ggdW5wYWNraW5nIGluIG5vbi1sYW1iZGEgUHJvYw0KaHR0cHM6
Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE2NDk0I2NoYW5nZS04Mzg5OA0KDQoqIEF1dGhv
cjogenZlcm9rIChWaWN0b3IgU2hlcGVsZXYpDQoqIFN0YXR1czogUmVqZWN0ZWQNCiogUHJpb3Jp
dHk6IE5vcm1hbA0KKiBBc3NpZ25lZTogDQoqIFRhcmdldCB2ZXJzaW9uOiANCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZpcnN0IG9mIGFsbCwgSSBmdWxseSB1bmRl
cnN0YW5kIHRoZSB2YWx1ZSBvZiBzZXBhcmF0aW5nICJyZWFsIiBrZXl3b3JkIGFyZ3VtZW50cyBh
bmQgZGlzYWxsb3dpbmcgaW1wbGljaXQgYW5kIHVuZXhwZWN0ZWQgY29udmVyc2lvbnMgdG8vZnJv
bSBoYXNoZXMuDQoNClRoZXJlIGlzLCB0aG91Z2gsIG9uZSAqKmNvbnZlbmllbnQgc3R5bGUgd2hp
Y2ggaXMgbm93IGJyb2tlbioqOg0KYGBgcnVieQ0KIyB3b3JkcyBpcyBhcnJheSBvZiBoYXNoZXM6
DQp3b3Jkcw0KICAubWFwIHsgfHRleHQ6LCBwYXJhZ3JhcGhfaWQ6LCAqKnJlc3R8IA0KICAgIHt0
ZXh0OiB0ZXh0LnN0cmlwLCBwYXJhZ3JhcGhfaWQ6IHBhcmFncmFwaF9pZC50b19pLCAqKnJlc3R9
DQogIH0NCiAgLnJlamVjdCB7IHx0ZXh0OiwgaXNfcHVuY3R1YXRpb246IGZhbHNlLCAqKnwgdGV4
dC5lbmRfd2l0aD8oJyEnKSB8fCBpc19wdW5jdHVhdGlvbiB9DQogIC5jaHVuayB7IHxwYXJhZ3Jh
cGhfaWQ6LCB0aW1lc3RhbXA6IDAsICoqfCBbcGFyYWdyYXBoX2lkLCB0aW1lc3RhbXAgJSA2MF0g
fQ0KICAjIC4uLmFuZCBzbyBvbg0KYGBgDQpUaGVyZSBpcyBzZXZlcmFsIGltcG9ydGFudCBlbGVt
ZW50cyB0byB0aGlzIHN0eWxlLCBtYWtpbmcgaXQgaGFyZCB0byByZXBsYWNlOg0KDQoqIGluZm9y
bWF0aXZlIGVycm9ycyBvbiB1bmV4cGVjdGVkIGRhdGEgc3RydWN0dXJlICgibWlzc2luZyBrZXl3
b3JkOiB0ZXh0IikNCiogYWJpbGl0eSB0byBwcm92aWRlIGRlZmF1bHQgdmFsdWVzDQoqIGNsZWFy
IHNlcGFyYXRpb24gb2YgZGVjbGFyYXRpb24gIndoYXQgdGhpcyBibG9jayBleHBlY3RzIiAvICJ3
aGF0IGl0IGRvZXMgd2l0aCBleHBlY3RlZCBkYXRhIiwgZXNwZWNpYWxseSB2YWx1YWJsZSBpbiBk
YXRhIHByb2Nlc3NpbmcgcGlwZWxpbmVzDQoNCk9uZSBtYXkgYXJndWUgdGhhdCBpbiBzb21lIEJp
ZyBIYWlyeSBWZXJ5IEFyY2hpdGVjdHVyZWQgQXBwbGljYXRpb24geW91IHNob3VsZCBpbnN0ZWFk
IHdyYXAgZXZlcnl0aGluZyBpbiBvYmplY3RzL2V4dHJhY3QgZXZlcnkgcHJvY2Vzc2luZyBzdGVw
IGludG8gbWV0aG9kIG9yIHNlcnZpY2UvZXh0cmFjdCB2YWxpZGF0aW9uIGFzIGEgc2VwYXJhdGUg
Y29uY2VybiBldGMuLi4gQnV0IGluIHNtYWxsZXIgdXRpbGl0eSBzY3JpcHRzLCBvciBkZWVwIGlu
c2lkZSBvZiBjb21wbGljYXRlZCBhbGdvcml0aG1pYyBsaWJyYXJpZXMsIHRoZSBhYmlsaXR5IHRv
IHdyaXRlIHNob3J0IGFuZCBjbGVhciBjb2RlIHdpdGggZXhwbGljaXRseSBkZWNsYXJlZCBhbmQg
Y29udHJvbGxlZCBieSBsYW5ndWFnZSBhcmd1bWVudHMgaXMgcHJldHR5IHZhbHVhYmxlLg0KDQpU
aGlzIHN0eWxlIGhhcyAqbm8gY2xlYW4gYWx0ZXJuYXRpdmUqLCBhbGwgcG9zc2libGUgYWx0ZXJu
YXRpdmVzIGFyZSBlaXRoZXIgbGVzcyBwb3dlcmZ1bCBvciBtdWNoIGxlc3MgcmVhZGFibGUuIENv
bXBhcmU6DQoNCmBgYHJ1YnkNCiMgVHJ5IHRvIHJld3JpdGUgdGhpczoNCndvcmRzLm1hcCB7IHx0
ZXh0OiwgcGFyYWdyYXBoX2lkOiwgdGltZXN0YW1wOiAwLCBpc19wdW5jdHVhdGlvbjogZmFsc2V8
DQogIGxvZy5pbmZvICJQcm9jZXNzaW5nICN7dGltZXN0YW1wIC8gNjB9IG1pbnV0ZSINCiAgZnVs
bF90ZXh0ID0gaXNfcHVuY3RpYXRpb24gPyB0ZXh0IDogdGV4dCArICcgJw0KICAiPHNwYW4gY2xh
c3M9J3dvcmQgcGFyYWdyYXBoLSN7cGFyYWdyYXBoX2lkfScgZGF0YS10aW1lPSN7dGltZXN0YW1w
fSBkYXRhLW9yaWdpbmFsLXRleHQ9I3t0ZXh0fT4je2Z1bGxfdGV4dH08L3NwYW4+Ig0KfQ0KDQoj
IEFsdGVybmF0aXZlIHdpdGgganVzdCBoYXNoZXM6DQp3b3Jkcy5tYXAgeyB8d29yZHwNCiAgIyB0
aG9zZSB0d28gdXNlZCBzZXZlcmFsIHRpbWVzDQogIHRleHQgPSB3b3JkLmZldGNoKDp0ZXh0KQ0K
ICB0aW1lc3RhbXAgPSB3b3JkLmZldGNoKDp0aW1lc3RhbXAsIDApDQogIGxvZy5pbmZvICJQcm9j
ZXNzaW5nICN7dGltZXN0YW1wIC8gNjB9IG1pbnV0ZSINCiAgIyBBYnNlbnQgaXNfcHVuY3R1YXRp
b24gaXMgb2ssIGl0IGRlZmF1bHQgdG8gZmFsc2UNCiAgZnVsbF90ZXh0ID0gd29yZFs6aXNfcHVu
Y3RpYXRpb25dID8gdGV4dCA6IHRleHQgKyAnICcNCiAgIjxzcGFuIGNsYXNzPSd3b3JkIHBhcmFn
cmFwaC0je3dvcmQuZmV0Y2goOnBhcmFncmFwaF9pZCl9JyBkYXRhLXRpbWU9I3t0aW1lc3RhbXB9
IGRhdGEtb3JpZ2luYWwtdGV4dD0je3RleHR9PiN7ZnVsbF90ZXh0fTwvc3Bhbj4iDQp9DQoNCiMg
QWx0ZXJuYXRpdmUgd2l0aCBwYXR0ZXJuLW1hdGNoaW5nOiB0byB1bnBhY2sgdmFyaWFibGVzLCBh
bmQgaGFuZGxlIGRlZmF1bHQgdmFsdWVzLCBpdCB3aWxsIGJlIHNvbWV0aGluZyBsaWtlLi4uDQpj
YXNlIHdvcmQNCmluIHRleHQ6LCBwYXJhZ3JhcGhfaWQ6LCB0aW1lc3RhbXA6DQogICMgc2tpcCwg
anVzdCB1bnBhY2tlZA0KaW4gdGV4dDosIHBhcmFncmFwaF9pZDogIyBubyB0aW1lc3RhbXA6DQog
IHRpbWVzdGFtcCA9IDANCmVuZA0KIyBJIGFtIGV2ZW4gbm90IHRyeWluZyB0byBoYW5kbGUgVFdP
IGRlZmF1bHQgdmFsdWVzDQpgYGANCg0KQXMgc2hvd24gYWJvdmUsIGBIYXNoI2ZldGNoYC9gSGFz
aCNbXWAgc3R5bGUgbWFrZXMgaXQgbXVjaCBoYXJkZXIgdG8gdW5kZXJzdGFuZCB3aGF0IGJsb2Nr
IGV4cGVjdHMgaGFzaCB0byBoYXZlLCBhbmQgaG93IGl0IHVzZXMgaGFzaCBjb21wb25lbnRzIOKA
lCBhbmQganVzdCBtYWtlcyB0aGUgY29kZSBsb25nZXIgYW5kIGxlc3MgcGxlYXNhbnQgdG8gd3Jp
dGUgYW5kIHJlYWQuIFBhdHRlcm4tbWF0Y2hpbmcgKGF0IGxlYXN0IGZvciBub3cpIGlzIGp1c3Qg
bm90IHBvd2VyZnVsIGVub3VnaCBmb3IgdGhpcyBwYXJ0aWN1bGFyIGNhc2UgKGl0IGFsc28gaGFz
IG5vbi1pbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlcywgYnV0IGl0IG9idmlvdXNseSBjYW4gYmUg
aW1wcm92ZWQpLg0KDQpNeSAqKnByb3Bvc2FsKiogaXMgdG8gKiphbGxvdyBpbXBsaWNpdCBoYXNo
IHVucGFja2luZyoqIGludG8ga2V5d29yZCBhcmd1bWVudHMgaW4gKipub24tbGFtYmRhIHByb2Nz
KiouIEl0IHdvdWxkIGJlICoqY29uc2lzdGVudCoqIHdpdGggaW1wbGljaXQgYXJyYXkgdW5wYWNr
aW5nLCB3aGljaCBpcyBhbiBpbXBvcnRhbnQgcHJvcGVydHkgb2Ygbm9uLWxhbWJkYSBwcm9jcywg
dXNlZnVsIGZvciByZWFzb25zICp2ZXJ5IHNpbWlsYXIgdG8gZGVzY3JpYmVkIGFib3ZlKi4NCg0K
DQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQoKVW5zdWJzY3JpYmU6IDxtYWls
dG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8
aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1j
b3JlPgo=

In This Thread

Prev Next