[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==