[ruby-core:95503] [Ruby master Feature#16264] Real "callable instance method" object.

From: zverok.offline@...
Date: 2019-10-23 15:53:40 UTC
List: ruby-core #95503
SXNzdWUgIzE2MjY0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgenZlcm9rIChWaWN0b3IgU2hlcGVsZXYp
Lg0KDQoNCj4gaXMgYC46aG9nZWAgYSBgOmhvZ2UudG9fcHJvY2Agc3ludGF4IHN1Z2FyPw0KDQpO
bywgYW5kIHRoYXQncyBhIGNvcmUgb2YgdGhlIHByb3Bvc2FsLiBgOmhvZ2UudG9fcHJvY2AgcHJv
ZHVjZXMgcmVndWxhciBgUHJvY2AgKHdoaWNoIGlzIGRpZmZlcmVudCBpbnRlcm5hbGx5LCBidXQg
Y29uY2VhbHMgdGhpcyBmYWN0KS4gYC46aG9nZWAgaXMgbWVhbnQgdG8gcHJvZHVjZSBuZXcgY29y
ZSBvYmplY3QuDQoNCj4gSW4gUnVieSwgYHNlbGYuaG9nZWAgYW5kIGBob2dlYCB3aXRob3V0IGBz
ZWxmYCBvZnRlbiBoYXZlIHRoZSBzYW1lIG1lYW5pbmcNCj4gQnV0LCBpdCBsb29rcyB2ZXJ5IHN0
cmFuZ2UgdGhhdCBgbWFwKCZzZWxmLjpob2dlKWAgYW5kIGBtYXAoJi46aG9nZSlgIGhhdmUgZGlm
ZmVyZW50IG1lYW5pbmdzLg0KDQpZZXMsIHRoYXQncyBhbiBvYnZpb3VzIGNvbXByb21pc2UgZm9y
IHRoaXMgcHJvcG9zYWwuIFRoZSBpbnR1aXRpb24gb2YgInlvdSBjb3VsZCBkcm9wIGBzZWxmLmAi
IGlzIGFscmVhZHkgYnJva2VuIGZvciBgc2VsZi46aG9nZWAsIHdoaWNoIGlzIHByb2hpYml0ZWQg
Y3VycmVudGx5OyBJIGJlbGlldmUgaXQgd291bGQgYmUgYSAiZ290Y2hhIiwgeWV0IGJlYXJhYmxl
IG9uZS4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVy
ZSAjMTYyNjQ6IFJlYWwgImNhbGxhYmxlIGluc3RhbmNlIG1ldGhvZCIgb2JqZWN0Lg0KaHR0cHM6
Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE2MjY0I2NoYW5nZS04MjI3OQ0KDQoqIEF1dGhv
cjogenZlcm9rIChWaWN0b3IgU2hlcGVsZXYpDQoqIFN0YXR1czogRmVlZGJhY2sNCiogUHJpb3Jp
dHk6IE5vcm1hbA0KKiBBc3NpZ25lZTogDQoqIFRhcmdldCB2ZXJzaW9uOiANCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkl0IGlzIGEgcGFydCBvZiB0aGlua2luZyBh
Ym91dCB0aGUgImFyZ3VtZW50LWxlc3MgY2FsbCBzdHlsZSIgSSBhbHJlYWR5IG1hZGUgc2V2ZXJh
bCBwcm9wb3NhbHMgYWJvdXQuDQoNCiMjIyBQcmVmYWNlDQoNCioqKkFyZ3VtZW50LWxlc3MgY2Fs
bCBzdHlsZSoqKiBpcyB3aGF0IEkgbm93IGNhbGwgdGhpbmdzIGxpa2UgYG1hcCgmOmZvbylgIGFu
ZCBgZWFjaCgmTm90aWZpY2F0aW9ucy46c2VuZClgIGFwcHJvYWNoZXMsIGFuZCBJIGJlbGlldmUg
IHRoYXQgbmFtaW5nIHRoZSBjb25jZXB0IChldmVuIGlmIG15IGluaXRpYWwgbmFtZSBpcyBjbGFt
c3kpIHdpbGwgaGVscCB0byB0aGluayBhYm91dCBpdC4gQWZ0ZXIgdXNpbmcgaXQgYSBsb3Qgb24g
YSBsYXJnZSBwcm9kdWN0aW9uIGNvZGViYXNlIChub3Qgb25seSBzeW1ib2xzLCBidXQgbWV0aG9k
IHJlZmVyZW5jZXMgdG9vLCB3aGljaCBzZWVtIHRvIGJlIGxlc3Mgd2lkZXNwcmVhZCB0ZWNobmlx
dWUpLCBJIGhhdmUgYSBzdHJvbmcgb3BpbmlvbiB0aGF0IGl0IG5vdCBqdXN0ICJoZWxwcyB0byBz
YXZlIHRoZSBrZXlwcmVzc2VzIiAod2hpY2ggaXMgbGVzcyBpbXBvcnRhbnQpLCBidXQgYWxzbyBo
ZWxwcyB0byBjbGVhcmVyIHNlcGFyYXRlIHRoZSBjb25jZXB0cyBvbiBhIG1pY3JvLWxldmVsIG9m
IHRoZSBjb2RlLiBFLmcuIGlmIHlvdSBmZWVsIHRoYXQgYGVhY2goJk5vdGlmaWNhdGlvbnMuOnNl
bmQpYCBpcyAibW9yZSByaWdodCIgdGhhbiBgc2VsZWN0IHsgfGVsfCBOb3RpZmljYXRpb25zLnNl
bmQoZWwsIHNvbWV0aGluZywgc29tZXRoaW5nKSB9YCwgaXQgbWFrZXMgeW91IHRoaW5rIGFib3V0
IGBOb3RpZmljYXRpb25zLnNlbmRgIGRlc2lnbiBpbiBhIHdheSB0aGF0IGFsbG93cyB0byBwYXNz
IHRoZXJlIF9leGFjdGx5XyB0aGF0IGNvbWJpbmF0aW9uIG9mIGFyZ3VtZW50cyBzbyBpdCB3b3Vs
ZCBiZSBlYXNpbHkgY2FsbGFibGUgdGhhdCB3YXksIGNsYXJpZnlpbmcgbW9kdWxlcyByZXNwb25z
aWJpbGl0aWVzLg0KDQo+IChBbmQgSSBiZWxpZXZlIHRoYXQgIm5hbWVsZXNzIGJsb2NrIHBhcmFt
ZXRlcnMiLCB3aGlsZSBoZWxwaW5nIHRvIHNob3J0ZXIgdGhlIGNvZGUsIGxhY2sgdGhpcyBpbXBv
cnRhbnQgY2hhcmFjdGVyaXN0aWMgb2YgY2xhcmlmaWNhdGlvbi4pDQoNCiMjIyBUaGUgcHJvYmxl
bQ0KDQpPbmUgb2YgdGhlIHByb2JsZW1zIG9mICJhcmd1bWVudC1sZXNzIGNhbGxpbmciIGlzIHBh
c3NpbmcgYWRkaXRpb25hbCBhcmd1bWVudHMsIHRoaW5ncyBsaWtlIHRob3NlIGFyZW4ndCBlYXN5
IHRvIHNob3J0ZW46DQpgYGBydWJ5DQphcnkxLnppcChhcnkyLCBhcnkzKS5tYXAgeyB8bGluZXN8
IGxpbmVzLmpvaW4oIlxuIikgfQ0KIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF5eXl4NCmNvbnN0cnVjdF91cmwudGhlbigmSFRUUC46Z2V0KS5ib2R5LnRoZW4g
eyB8dGV4dHwgSlNPTi5wYXJzZSh0ZXh0LCBzeW1ib2xpemVfbmFtZXM6IHRydWUpIH0NCiMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBeXl5eXl5eXl5eXl5eXl5eXl5eXl5eDQpgYGANCg0KKEJUVywgaGVyZSBpcyBbYSBibG9n
IHBvc3RdKGh0dHBzOi8venZlcm9rLmdpdGh1Yi5pby9ibG9nLzIwMTktMTAtMTgtZWFjaF93aXRo
X29iamVjdC5odG1sKSB3aGVyZSBJIHNob3cgcmVjZW50bHkgZm91bmQgdGVjaG5pcXVlIGZvciBz
b2x2aW5nIHRoaXMsIHByZXR0eSBuaWNlIGFuZCBhbHdheXMgZXhpc3RpbmcgaW4gUnVieSwgaWYg
c2xpZ2h0bHkgZXNvdGhlcmljLikNCg0KVGhlcmUncyBhIGxvdCBvZiBwcm9wb3NhbHMgZm9yICJw
YXJ0aWFsIGFwcGxpY2F0aW9ucyIgd2hpY2ggd291bGQgYmUgbW9yZSBleHByZXNzaXZlIHRoYW4g
YC5jdXJyeWAgKFtndWlsdHldKGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNjEx
MykgW215c2VsZl0oaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE1MzAxKSksIGJ1
dCB0aGUgcHJvYmxlbWF0aWMgcGFydCBpbiBhbGwgb2YgdGhpcyBwcm9wb3NhbHMgaXM6DQoNCj4g
KipUaGUgbW9zdCB3aWRlc3ByZWFkICJzaG9ydGVuaW5nIiBpcyBgJjpzeW1ib2xgLCBhbmQgYFN5
bWJvbGAgaXRzZWxmIGlzIE5PVCBhIGZ1bmN0aW9uYWwgb2JqZWN0LCBhbmQgaXQgaXMgd3Jvbmcg
dG8gZXh0ZW5kIGl0IHdpdGggZnVuY3Rpb25hbCBhYmlsaXRpZXMuKioNCg0KT25lIG9mIGNvbnNl
cXVlbmNlcyBvZiB0aGUgYWJvdmUgaXMsIGZvciBleGFtcGxlLCB0aGF0IHlvdSBjYW4ndCB1c2Ug
Mi42J3MgcHJvYyBjb21iaW5hdGlvbiB3aXRoIHN5bWJvbHMsIGxpa2UgYEZpbGUuOnJlYWQgPj4g
OnN0cmlwID4+IDpyZXZlcnNlYC4gWW91IHdhbnQsIGJ1dCB5b3UgY2FuJ3QuDQoNCkhlcmUgKHdo
aWxlIGRpc2N1c3NpbmcgYWZvcmVtZW50aW9uZWQgYmxvZyBwb3N0cyksIEkgc3R1bWJsZWQgdXBv
biBhbiBpZGVhIG9mIGhvdyB0byBzb2x2ZSB0aGlzIGRpbGVtbWEuDQoNCiMjIyBUaGUgcHJvcG9z
YWwNCg0KSSBwcm9wb3NlIHRvIGhhdmUgYSBzeW50YXggZm9yIGNyZWF0aW5nIGEgZnVuY3Rpb25h
bCBvYmplY3QgdGhhdCB3aGVuIGJlaW5nIGNhbGxlZCwgc2VuZHMgdGhlIHNwZWNpZmllZCBtZXRo
b2QgdG8gaXRzIGZpcnN0IGFyZ3VtZW50LiBCYXNpY2FsbHksIHdoYXQgYFN5bWJvbCN0b19wcm9j
YCBkb2VzLCBidXQgd2l0aG91dCAiaGFjayIgb2YgIndlIGFsbG93IG91ciBzeW1ib2xzIHRvIGJl
IGNvbnZlcnRpYmxlIHRvIGZ1bmN0aW9uYWwgb2JqZWN0cyIuIFByb3Bvc2VkIHN5bnRheDoNCg0K
YGBgcnVieQ0KWzEsIDIsIDNdLm1hcCgmLjp0b19zKQ0KYGBgDQoNCkp1c3RpZmljYXRpb24gb2Yg
dGhlIHN5bnRheDoNCg0KKiBJdCBpcyBsaWtlIGBGb28uOm1ldGhvZGAgKHByb2R1Y2luZyBmdW5j
dGlvbmFsIG9iamVjdCB0aGF0IGNhbGxzIGBtZXRob2RgKQ0KKiBPcnBoYW4gYC46bWV0aG9kYCBp
c24ndCBhbGxvd2VkIGN1cnJlbnRseSAoeW91IG5lZWQgdG8gc2F5IGBzZWxmLjptZXRob2RgIHRv
IHJlZmVyIHRvICJjdXJyZW50IGBzZWxmYHMgbWV0aG9kIiksIGFuZCBNYXR6J3MganVzdGlmaWNh
dGlvbiB3YXMgIml0IHdvdWxkIGJlIHRvbyBjb25mdXNhYmxlIHdpdGggYDptZXRob2RgLCBzbWFs
bCB0eXBvIHdpbGwgY2hhbmdlIHRoZSByZXN1bHQiIC0tIHdoaWNoIGluIFBST1BPU0VEIGNhc2Ug
aXMgbm90IGFzIGJhZCwgYXMgYDpmb29gIGFuZCBgLjpmb29gIGJvdGggbWVhbmluZyB0aGUgc2Ft
ZSB0aGluZzsNCiogSXQgbG9va3Mga2luZGEgbmljZSwgc2ltaWxhciB0byAoW3Byb3Bvc2VkIGFu
ZCByZWplY3RlZF0oaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE2MTIwKSkgYG1h
cCB7IC50b19zIH1gIOKGkiB3aXRoIG15IHByb3Bvc2FsLCBpdCBpcyBgbWFwKCYuOnRvX3MpYCwg
aW1wbHlpbmcgc29tZWhvdyBhcHBseWluZyBgLnRvX3NgIHRvIHRoZSBwcmV2aW91cyB2YWx1ZXMg
aW4gdGhlIGNoYWluLg0KDQoqKlRoZSBiZWhhdmlvcjoqKiBgLjpmb29gIHByb2R1Y2VzIG9iamVj
dCBvZiBjbGFzcywgc2F5LCBgTWV0aG9kT2ZBcmd1bWVudGAgKGNsYXNzIG5hbWUgaXMgc3ViamVj
dCB0byBkaXNjdXNzKSDigJQgd2hpY2ggbWFrZXMgZGlmZmVyZW5jZXMgb2YgIlByb2MgY3JlYXRl
ZCBmcm9tIFN5bWJvbCIgKGV4aXN0aW5nIGludGVybmFsbHksIGJ1dCBhbG1vc3QgaW52aXNpYmxl
KSBvYnZpb3VzIGFuZCBoYWNrYWJsZS4NCg0KIyMjIFBvdGVudGlhbCBnYWlucw0KDQoqIE5ldyBv
YmplY3QgY291bGQgYmUgdXNlZCBpbiBwcm9jIGNvbXBvc2l0aW9uOiBgRmlsZS46cmVhZCA+PiAu
OnN0cmlwID4+IEpTT04uOnBhcnNlID4+IC46Y29tcGFjdGANCiogV2hlbiBib3RoICJtZXRob2Qi
IGFuZCAibWV0aG9kIG9mIGFyZ3VtZW50IiBhcmUgcHJvcGVyIGZ1bmN0aW9uYWwgb2JqZWN0cywg
YSBuZXcgcGFydGlhbCBhcHBsaWNhdGlvbiBzeW50YXggY2FuIGJlIGRpc2N1c3NlZCwgY29tbW9u
IGZvciB0aGVtIGJvdGguIEZvciBleGFtcGxlIChidXQgKipub3QgbmVjZXNzYXJ5IHRoaXMgbWV0
aG9kIG5hbWUhKiopDQoNCiAgYGBgcnVieQ0KcGFyYWdyYXBoX2hhc2hlcy5tYXAoJi46bWVyZ2Uu
d2l0aChhdXRob3I6IGN1cnJlbnRfYXV0aG9yKSkNCmZpbGVuYW1lcy5tYXAoJkZpbGUuOnJlYWQu
d2l0aChtb2RlOiAncmInKSkNCiAgYGBgDQoqIChJIGJlbGlldmUgYXQgdGhpcyBwb2ludCB3ZSds
bCBiZSBhYmxlIHRvIGZpbmFsbHkgc3dpdGNoIGZyb20gZGlzY3Vzc2luZyAic2hvdyB3ZSBleHRl
bmQgU3ltYm9sIHdpdGggbW9yZSBjYWxsYWJsZS1hbGlrZSBmdW5jdGlvbmFsaXR5IiB0byBqdXN0
IG1ldGhvZCdzIG5hbWUgYW5kIGV4YWN0IGJlaGF2aW9yKQ0KKiBJIGFtIG5vdCBhbiBleHBlcnQs
IGJ1dCBwcm9iYWJseSBzb21lIG9wdGltaXphdGlvbnMgY291bGQgYmUgYXBwbGllZCwgdG9vDQoq
IEN1cnJlbnRseSwgYDpzeW0udG9fcHJvY2AgaXMgaW50ZXJuYWxseSBkaWZmZXJlbnQgZnJvbSBv
dGhlciBwcm9jLCBidXQgdGhpcyBjYW4ndCBiZSBpbnRyb3NwZWN0ZWQ6DQoNCiAgYGBgcnVieQ0K
OnJlYWQudG9fcHJvYy5pbnNwZWN0ICMgPT4gIiM8UHJvYzoweDAwMDA1NTYyMTYxOTIxOTgoJjpy
ZWFkKT4iDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICMgXl5eXl4NCiAgYGBgDQoqICBQcm9iYWJseSwgZXhwb3N1cmUgb2YgdGhpcyBmYWN0IGNv
dWxkIGxlYWQgdG8gc29tZSBuZXcgaW50ZXJlc3RpbmcgbWV0YXByb2dyYW1taW4vb3B0aW1pemF0
aW9uIHRlY2huaXF1ZXMuDQoNCiMjIyBUcmFuc2l0aW9uDQoNCmA6Zm9vYCBhbmQgYC46Zm9vYCBj
b3VsZCB3b3JrIHNpbWlsYXJseSBmb3Igc29tZSB1cGNvbWluZyB2ZXJzaW9ucyAob3IgaW5kZWZp
bml0ZWx5KSwgd2l0aCBgLjpmb29gIGJlaW5nIG1vcmUgcG93ZXJmdWwgYWx0ZXJuYXRpdmUsIGFs
bG93aW5nIGZlYXR1cmVzIGxpa2UgYGdyb3Vwc19vZl9saW5lcy5tYXAoJi46am9pbi5wYXJ0aWFs
X2FwcGx5KCcgJykpYCBvciBzb21ldGhpbmcuDQoNCkl0IHdvdWxkIGJlIGxpa2UgInJlYWwiIGFu
ZCAiaW1pdGF0ZWQiIGtleXdvcmQgYXJndW1lbnRzLiAiTGFzdCBoYXNoIHdpdGhvdXQgYnJhY2Vz
IiB3YXMgZ29vZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsYW5ndWFnZSBsaWZlY3ljbGUsIGJ1
dCB0aGVuIGl0IHR1cm5lZCBvdXQgdGhhdCByZWFsIG9uZXMgcHJvdmlkZSBhIGxvdCBvZiBiZW5l
Zml0cy4gU2FtZSB0aGluZyBoZXJlOiBgJjpzeW1ib2xgIGlzIHN1cGVyLW5pY2UsIGJ1dCwgaG9u
ZXN0bHksIGl0IGlzIHNlbWFudGljYWxseSBxdWVzdGlvbmFibGUsIHNvIG1heSBiZSBzbG93IHN3
aXRjaCB0byBhICJyZWFsIHRoaW5nIiB3b3VsZCBiZSBnYWluZnVsIGZvciBldmVyeWJvZHk/Li4N
Cg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQoKVW5zdWJzY3JpYmU6IDxt
YWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJl
Pgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVi
eS1jb3JlPgo=

In This Thread

Prev Next