[ruby-core:98268] [Ruby master Feature#16461] Proc#using
From:
ihdadi.page@...
Date:
2020-05-11 21:41:32 UTC
List:
ruby-core #98268
SXNzdWUgIzE2NDYxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaWhkYWRpLnBhZ2VAZ21haWwuY29tICjZ hdmG2LXYqSDYtNmE2YrZhNmHKS4NCg0KDQpzaHVnbyAoU2h1Z28gTWFlZGEpIHdyb3RlOg0KPiAj IyBPdmVydmlldw0KPiBJIHByb3Bvc2UgUHJvYyN1c2luZyB0byBzdXBwb3J0IGJsb2NrLWxldmVs IHJlZmluZW1lbnRzLg0KPiANCj4gYGBgcnVieQ0KPiBtb2R1bGUgSW50ZWdlckRpdkV4dA0KPiAg IHJlZmluZSBJbnRlZ2VyIGRvDQo+ICAgICBkZWYgLyhvdGhlcikNCj4gICAgICAgcXVvKG90aGVy KQ0KPiAgICAgZW5kDQo+ICAgZW5kDQo+IGVuZA0KPiANCj4gZGVmIGluc3RhbmNlX2V2YWxfd2l0 aF9pbnRlZ2VyX2Rpdl9leHQob2JqLCAmYmxvY2spDQo+ICAgYmxvY2sudXNpbmcoSW50ZWdlckRp dkV4dCkgIyB1c2luZyBJbnRlZ2VyRGl2RXh0IGluIHRoZSBibG9jayByZXByZXNlbnRlZCBieSB0 aGUgUHJvYyBvYmplY3QNCj4gICBvYmouaW5zdGFuY2VfZXZhbCgmYmxvY2spDQo+IGVuZA0KPiAN Cj4gIyBuZWNlc3Nhcnkgd2hlcmUgYmxvY2tzIGFyZSBkZWZpbmVkIChub3Qgd2hlcmUgUHJvYyN1 c2luZyBpcyBjYWxsZWQpDQo+IHVzaW5nIFByb2M6OlJlZmluZW1lbnRzDQo+IA0KPiBwIDEgLyAy ICM9PiAwDQo+IGluc3RhbmNlX2V2YWxfd2l0aF9pbnRlZ2VyX2Rpdl9leHQoMSkgZG8NCj4gICBw IHNlbGYgLyAyICM9PiAoMS8yKQ0KPiBlbmQNCj4gcCAxIC8gMiAjPT4gMA0KPiBgYGANCj4gDQo+ ICMjIFBvQyBpbXBsZW1lbnRhdGlvbg0KPiBGb3IgQ1J1Ynk6IGh0dHBzOi8vZ2l0aHViLmNvbS9z aHVnby9ydWJ5L3B1bGwvMg0KPiBGb3IgSlJ1Ynk6IGh0dHBzOi8vZ2l0aHViLmNvbS9zaHVnby9q cnVieS9wdWxsLzENCj4gDQo+ICMjIEJhY2tncm91bmQNCj4gSSBwcm9wb3NlZCBbRmVhdHVyZSAj MTIwODY6IHVzaW5nOiBvcHRpb24gZm9yIGluc3RhbmNlX2V2YWwgZXRjLl0oaHR0cHM6Ly9idWdz LnJ1YnktbGFuZy5vcmcvaXNzdWVzLzEyMDg2KSBiZWZvcmUsIGJ1dCBpdCBoYXMgcHJvYmxlbXM6 DQo+IA0KPiAqIFRocmVhZCBzYWZldHk6IFRoZSBzYW1lIGJsb2NrIGNhbiBiZSBpbnZva2VkIHdp dGggZGlmZmVyZW50IHJlZmluZW1lbnRzIGluIG11bHRpcGxlIHRocmVhZHMsIHNvIGl0J3MgaGFy ZCB0byBpbXBsZW1lbnQgbWV0aG9kIGNhY2hpbmcuDQo+ICogX2V4ZWMgZmFtaWx5IHN1cHBvcnQ6 IHtpbnN0YW5jZSxjbGFzcyxtb2R1bGV9X2V4ZWMgY2Fubm90IGJlIHN1cHBvcnRlZC4NCj4gKiBJ bXBsaWNpdCB1c2Ugb2YgcmVmaW5lbWVudHM6IGV2ZXJ5IGJsb2NrcyBjYW4gYmUgdXNlZCB3aXRo IHJlZmluZW1lbnRzLCBzbyB0aGVyZSB3YXMgaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSBpbiBK UnVieSBhbmQgaXQgaGFzIHVzYWJpbGl0eSBpc3N1ZSBpbiBoZWFkaXVzJ3Mgb3Bpbmlvbi4NCj4g DQo+ICMjIFNvbHV0aW9ucyBpbiB0aGlzIHByb3Bvc2FsDQo+IA0KPiAjIyMgVGhyZWFkIHNhZmV0 eQ0KPiBQcm9jI3VzaW5nIGFmZmVjdHMgdGhlIGJsb2NrIHJlcHJlc2VudGVkIGJ5IHRoZSBQcm9j IG9iamVjdCwgbmVpdGhlciB0aGUgc3BlY2lmaWMgUHJvYyBvYmplY3Qgbm9yIHRoZSBzcGVjaWZp YyBibG9jayBpbnZvY2F0aW9uLg0KPiBNZXRob2QgY2FsbHMgaW4gYSBibG9jayBhcmUgcmVzb2x2 ZWQgd2l0aCByZWZpbmVtZW50cyB3aGljaCBhcmUgdXNlZCBieSBQcm9jI3VzaW5nIGluIHRoZSBi bG9jayBhdCB0aGUgdGltZS4NCj4gT25jZSBhbGwgcG9zc2libGUgcmVmaW5lbWVudHMgYXJlIHVz ZWQgaW4gdGhlIGJsb2NrLCB0aGVyZSBpcyBubyBuZWVkIHRvIGludmFsaWRhdGUgbWV0aG9kIGNh Y2hlIGFueW1vcmUuDQo+IA0KPiBTZWUgW3RoZXNlIHRlc3RzXShodHRwczovL2dpdGh1Yi5jb20v c2h1Z28vcnVieS9wdWxsLzIvY29tbWl0cy8xYzkyMjYxNGFkN2QxZmI0M2I3M2UxOTUzNDhjODFk YTdhNDU0NmVmKSB0byB1bmRlcnN0YW5kIGhvdyBpdCB3b3Jrcy4NCj4gV2hpY2ggcmVmaW5lbWVu dHMgYXJlIHVzZWQgaXMgZGVwZW5kaW5nIG9uIHRoZSBvcmRlciBvZiBQcm9jI3VzaW5nIGludm9j YXRpb25zIHVudGlsIGFsbCBQcm9jI3VzaW5nIGNhbGxzIGFyZSBmaW5pc2hlZCwgYnV0IGV2ZW50 dWFsbHkgbWV0aG9kIGNhbGxzIGluIGEgYmxvY2sgYXJlIHJlc29sdmVkIHdpdGggdGhlIHNhbWUg cmVmaW5lbWVudHMuDQo+IA0KPiAjIyMgKiBfZXhlYyBmYW1pbHkgc3VwcG9ydA0KPiBbRmVhdHVy ZSAjMTIwODZdKGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xMjA4Nikgd2FzIGFu IGV4dGVuc2lvbiBvZiBfZXZhbCBmYW1pbHksIHNvIGl0IGNhbm5vdCBiZSB1c2VkIHdpdGggX2V4 ZWMgZmFtaWx5LCBidXQgUHJvYyN1c2luZyBpcyBpbmRlcGVuZGVudCBmcm9tIF9ldmFsIGZhbWls eSwgYW5kIGNhbiBiZSB1c2VkIHdpdGggX2V4ZWMgZmFtaWx5Og0KPiANCj4gYGBgcnVieQ0KPiBk ZWYgaW5zdGFuY2VfZXhlY193aXRoX2ludGVnZXJfZGl2X2V4dChvYmosICphcmdzLCAmYmxvY2sp DQo+ICAgYmxvY2sudXNpbmcoSW50ZWdlckRpdkV4dCkNCj4gICBvYmouaW5zdGFuY2VfZXhlYygq YXJncywgJmJsb2NrKQ0KPiBlbmQNCj4gDQo+IHVzaW5nIFByb2M6OlJlZmluZW1lbnRzDQo+IA0K PiBwIDEgLyAyICM9PiAwDQo+IGluc3RhbmNlX2V4ZWNfd2l0aF9pbnRlZ2VyX2Rpdl9leHQoMSwg MikgZG8gfG90aGVyfA0KPiAgIHAgc2VsZiAvIG90aGVyICM9PiAoMS8yKQ0KPiBlbmQNCj4gcCAx IC8gMiAjPT4gMA0KPiBgYGANCj4gDQo+ICMjIyBJbXBsaWNpdCB1c2Ugb2YgcmVmaW5lbWVudHMN Cj4gDQo+IFByb2MjdXNpbmcgY2FuIGJlIHVzZWQgb25seSBpZiBgdXNpbmcgUHJvYzo6UmVmaW5l bWVudHNgIGlzIGNhbGxlZCBpbiB0aGUgc2NvcGUgb2YgdGhlIGJsb2NrIHJlcHJlc2VudGVkIGJ5 IHRoZSBQcm9jIG9iamVjdC4NCj4gT3RoZXJ3aXNlLCBhIFJ1bnRpbWVFcnJvciBpcyByYWlzZWQu DQo+IA0KPiBUaGVyZSBhcmUgdHdvIHJlYXNvbnM6DQo+IA0KPiAqIEpSdWJ5IGNyZWF0ZXMgYSBz cGVjaWFsIENhbGxTaXRlIGZvciByZWZpbmVtZW50cyBhdCBjb21waWxlLXRpbWUgb25seSB3aGVu IGB1c2luZ2AgaXMgY2FsbGVkIGF0IHRoZSBzY29wZS4NCj4gKiBXaGVuIHJlYWRpbmcgcHJvZ3Jh bXMsIGl0IG1heSBoZWxwIHVuZGVyc3RhbmRpbmcgYmVoYXZpb3IuICBJTUhPLCBpdCBtYXkgYmUg dW5uZWNlc3NhcnkgaWYgbGlicmFyaWVzIHdoaWNoIHVzZXMgUHJvYyN1c2luZyBhcmUgd2VsbCBk b2N1bWVudGVkLg0KPiANCj4gYFByb2M6OlJlZmluZW1lbnRzYCBpcyBhIGR1bW15IG1vZHVsZSwg YW5kIGhhcyBubyBhY3R1YWwgcmVmaW5lbWVudHMuDQoNCtmF2YbYtdip2LTZhNmK2YTZhw0KDQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMxNjQ2MTog UHJvYyN1c2luZw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE2NDYxI2NoYW5n ZS04NTUwNg0KDQoqIEF1dGhvcjogc2h1Z28gKFNodWdvIE1hZWRhKQ0KKiBTdGF0dXM6IE9wZW4N CiogUHJpb3JpdHk6IE5vcm1hbA0KKiBUYXJnZXQgdmVyc2lvbjogMi44DQotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIyBPdmVydmlldw0KSSBwcm9wb3NlIFByb2Mj dXNpbmcgdG8gc3VwcG9ydCBibG9jay1sZXZlbCByZWZpbmVtZW50cy4NCg0KYGBgcnVieQ0KbW9k dWxlIEludGVnZXJEaXZFeHQNCiAgcmVmaW5lIEludGVnZXIgZG8NCiAgICBkZWYgLyhvdGhlcikN CiAgICAgIHF1byhvdGhlcikNCiAgICBlbmQNCiAgZW5kDQplbmQNCg0KZGVmIGluc3RhbmNlX2V2 YWxfd2l0aF9pbnRlZ2VyX2Rpdl9leHQob2JqLCAmYmxvY2spDQogIGJsb2NrLnVzaW5nKEludGVn ZXJEaXZFeHQpICMgdXNpbmcgSW50ZWdlckRpdkV4dCBpbiB0aGUgYmxvY2sgcmVwcmVzZW50ZWQg YnkgdGhlIFByb2Mgb2JqZWN0DQogIG9iai5pbnN0YW5jZV9ldmFsKCZibG9jaykNCmVuZA0KDQoj IG5lY2Vzc2FyeSB3aGVyZSBibG9ja3MgYXJlIGRlZmluZWQgKG5vdCB3aGVyZSBQcm9jI3VzaW5n IGlzIGNhbGxlZCkNCnVzaW5nIFByb2M6OlJlZmluZW1lbnRzDQoNCnAgMSAvIDIgIz0+IDANCmlu c3RhbmNlX2V2YWxfd2l0aF9pbnRlZ2VyX2Rpdl9leHQoMSkgZG8NCiAgcCBzZWxmIC8gMiAjPT4g KDEvMikNCmVuZA0KcCAxIC8gMiAjPT4gMA0KYGBgDQoNCiMjIFBvQyBpbXBsZW1lbnRhdGlvbg0K Rm9yIENSdWJ5OiBodHRwczovL2dpdGh1Yi5jb20vc2h1Z28vcnVieS9wdWxsLzINCkZvciBKUnVi eTogaHR0cHM6Ly9naXRodWIuY29tL3NodWdvL2pydWJ5L3B1bGwvMQ0KDQojIyBCYWNrZ3JvdW5k DQpJIHByb3Bvc2VkIFtGZWF0dXJlICMxMjA4NjogdXNpbmc6IG9wdGlvbiBmb3IgaW5zdGFuY2Vf ZXZhbCBldGMuXShodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTIwODYpIGJlZm9y ZSwgYnV0IGl0IGhhcyBwcm9ibGVtczoNCg0KKiBUaHJlYWQgc2FmZXR5OiBUaGUgc2FtZSBibG9j ayBjYW4gYmUgaW52b2tlZCB3aXRoIGRpZmZlcmVudCByZWZpbmVtZW50cyBpbiBtdWx0aXBsZSB0 aHJlYWRzLCBzbyBpdCdzIGhhcmQgdG8gaW1wbGVtZW50IG1ldGhvZCBjYWNoaW5nLg0KKiBfZXhl YyBmYW1pbHkgc3VwcG9ydDoge2luc3RhbmNlLGNsYXNzLG1vZHVsZX1fZXhlYyBjYW5ub3QgYmUg c3VwcG9ydGVkLg0KKiBJbXBsaWNpdCB1c2Ugb2YgcmVmaW5lbWVudHM6IGV2ZXJ5IGJsb2NrcyBj YW4gYmUgdXNlZCB3aXRoIHJlZmluZW1lbnRzLCBzbyB0aGVyZSB3YXMgaW1wbGVtZW50YXRpb24g ZGlmZmljdWx0eSBpbiBKUnVieSBhbmQgaXQgaGFzIHVzYWJpbGl0eSBpc3N1ZSBpbiBoZWFkaXVz J3Mgb3Bpbmlvbi4NCg0KIyMgU29sdXRpb25zIGluIHRoaXMgcHJvcG9zYWwNCg0KIyMjIFRocmVh ZCBzYWZldHkNClByb2MjdXNpbmcgYWZmZWN0cyB0aGUgYmxvY2sgcmVwcmVzZW50ZWQgYnkgdGhl IFByb2Mgb2JqZWN0LCBuZWl0aGVyIHRoZSBzcGVjaWZpYyBQcm9jIG9iamVjdCBub3IgdGhlIHNw ZWNpZmljIGJsb2NrIGludm9jYXRpb24uDQpNZXRob2QgY2FsbHMgaW4gYSBibG9jayBhcmUgcmVz b2x2ZWQgd2l0aCByZWZpbmVtZW50cyB3aGljaCBhcmUgdXNlZCBieSBQcm9jI3VzaW5nIGluIHRo ZSBibG9jayBhdCB0aGUgdGltZS4NCk9uY2UgYWxsIHBvc3NpYmxlIHJlZmluZW1lbnRzIGFyZSB1 c2VkIGluIHRoZSBibG9jaywgdGhlcmUgaXMgbm8gbmVlZCB0byBpbnZhbGlkYXRlIG1ldGhvZCBj YWNoZSBhbnltb3JlLg0KDQpTZWUgW3RoZXNlIHRlc3RzXShodHRwczovL2dpdGh1Yi5jb20vc2h1 Z28vcnVieS9wdWxsLzIvY29tbWl0cy8xYzkyMjYxNGFkN2QxZmI0M2I3M2UxOTUzNDhjODFkYTdh NDU0NmVmKSB0byB1bmRlcnN0YW5kIGhvdyBpdCB3b3Jrcy4NCldoaWNoIHJlZmluZW1lbnRzIGFy ZSB1c2VkIGlzIGRlcGVuZGluZyBvbiB0aGUgb3JkZXIgb2YgUHJvYyN1c2luZyBpbnZvY2F0aW9u cyB1bnRpbCBhbGwgUHJvYyN1c2luZyBjYWxscyBhcmUgZmluaXNoZWQsIGJ1dCBldmVudHVhbGx5 IG1ldGhvZCBjYWxscyBpbiBhIGJsb2NrIGFyZSByZXNvbHZlZCB3aXRoIHRoZSBzYW1lIHJlZmlu ZW1lbnRzLg0KDQojIyMgKiBfZXhlYyBmYW1pbHkgc3VwcG9ydA0KW0ZlYXR1cmUgIzEyMDg2XSho dHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTIwODYpIHdhcyBhbiBleHRlbnNpb24g b2YgX2V2YWwgZmFtaWx5LCBzbyBpdCBjYW5ub3QgYmUgdXNlZCB3aXRoIF9leGVjIGZhbWlseSwg YnV0IFByb2MjdXNpbmcgaXMgaW5kZXBlbmRlbnQgZnJvbSBfZXZhbCBmYW1pbHksIGFuZCBjYW4g YmUgdXNlZCB3aXRoIF9leGVjIGZhbWlseToNCg0KYGBgcnVieQ0KZGVmIGluc3RhbmNlX2V4ZWNf d2l0aF9pbnRlZ2VyX2Rpdl9leHQob2JqLCAqYXJncywgJmJsb2NrKQ0KICBibG9jay51c2luZyhJ bnRlZ2VyRGl2RXh0KQ0KICBvYmouaW5zdGFuY2VfZXhlYygqYXJncywgJmJsb2NrKQ0KZW5kDQoN CnVzaW5nIFByb2M6OlJlZmluZW1lbnRzDQoNCnAgMSAvIDIgIz0+IDANCmluc3RhbmNlX2V4ZWNf d2l0aF9pbnRlZ2VyX2Rpdl9leHQoMSwgMikgZG8gfG90aGVyfA0KICBwIHNlbGYgLyBvdGhlciAj PT4gKDEvMikNCmVuZA0KcCAxIC8gMiAjPT4gMA0KYGBgDQoNCiMjIyBJbXBsaWNpdCB1c2Ugb2Yg cmVmaW5lbWVudHMNCg0KUHJvYyN1c2luZyBjYW4gYmUgdXNlZCBvbmx5IGlmIGB1c2luZyBQcm9j OjpSZWZpbmVtZW50c2AgaXMgY2FsbGVkIGluIHRoZSBzY29wZSBvZiB0aGUgYmxvY2sgcmVwcmVz ZW50ZWQgYnkgdGhlIFByb2Mgb2JqZWN0Lg0KT3RoZXJ3aXNlLCBhIFJ1bnRpbWVFcnJvciBpcyBy YWlzZWQuDQoNClRoZXJlIGFyZSB0d28gcmVhc29uczoNCg0KKiBKUnVieSBjcmVhdGVzIGEgc3Bl Y2lhbCBDYWxsU2l0ZSBmb3IgcmVmaW5lbWVudHMgYXQgY29tcGlsZS10aW1lIG9ubHkgd2hlbiBg dXNpbmdgIGlzIGNhbGxlZCBhdCB0aGUgc2NvcGUuDQoqIFdoZW4gcmVhZGluZyBwcm9ncmFtcywg aXQgbWF5IGhlbHAgdW5kZXJzdGFuZGluZyBiZWhhdmlvci4gIElNSE8sIGl0IG1heSBiZSB1bm5l Y2Vzc2FyeSBpZiBsaWJyYXJpZXMgd2hpY2ggdXNlcyBQcm9jI3VzaW5nIGFyZSB3ZWxsIGRvY3Vt ZW50ZWQuDQoNCmBQcm9jOjpSZWZpbmVtZW50c2AgaXMgYSBkdW1teSBtb2R1bGUsIGFuZCBoYXMg bm8gYWN0dWFsIHJlZmluZW1lbnRzLg0KDQoNCg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVi eS1sYW5nLm9yZy8NCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5 LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9y Zy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==