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

From: zverok.offline@...
Date: 2019-10-19 09:06:37 UTC
List: ruby-core #95430
SXNzdWUgIzE2MjY0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHp2ZXJvayAoVmljdG9yIFNoZXBlbGV2
KS4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAj
MTYyNjQ6IFJlYWwgImNhbGxhYmxlIGluc3RhbmNlIG1ldGhvZCIgb2JqZWN0Lg0KaHR0cHM6Ly9i
dWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE2MjY0DQoNCiogQXV0aG9yOiB6dmVyb2sgKFZpY3Rv
ciBTaGVwZWxldikNCiogU3RhdHVzOiBPcGVuDQoqIFByaW9yaXR5OiBOb3JtYWwNCiogQXNzaWdu
ZWU6IA0KKiBUYXJnZXQgdmVyc2lvbjogDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tDQpJdCBpcyBhIHBhcnQgb2YgdGhpbmtpbmcgYWJvdXQgdGhlICJhcmd1bWVudC1s
ZXNzIGNhbGwgc3R5bGUiIEkgYWxyZWFkeSBtYWRlIHNldmVyYWwgcHJvcG9zYWxzIGFib3V0Lg0K
DQoqKlByZWZhY2UqKg0KDQoqKipBcmd1bWVudC1sZXNzIGNhbGwgc3R5bGUqKiogaXMgd2hhdCBJ
IG5vdyBjYWxsIHRoaW5ncyBsaWtlIGBtYXAoJjpmb28pYCBhbmQgYGVhY2goJk5vdGlmaWNhdGlv
bnMuOnNlbmQpYCBhcHByb2FjaGVzLCBhbmQgSSBiZWxpZXZlICB0aGF0IG5hbWluZyB0aGUgY29u
Y2VwdCAoZXZlbiBpZiBteSBpbml0aWFsIG5hbWUgaXMgY2xhbXN5KSB3aWxsIGhlbHAgdG8gdGhp
bmsgYWJvdXQgaXQuIEFmdGVyIHVzaW5nIGl0IGEgbG90IG9uIGEgbGFyZ2UgcHJvZHVjdGlvbiBj
b2RlYmFzZSAobm90IG9ubHkgc3ltYm9scywgYnV0IG1ldGhvZCByZWZlcmVuY2VzIHRvbywgd2hp
Y2ggc2VlbSB0byBiZSBsZXNzIHdpZGVzcHJlYWQgdGVjaG5pcXVlKSwgSSBoYXZlIGEgc3Ryb25n
IG9waW5pb24gdGhhdCBpdCBub3QganVzdCAiaGVscHMgdG8gc2F2ZSB0aGUga2V5cHJlc3NlcyIg
KHdoaWNoIGlzIGxlc3MgaW1wb3J0YW50KSwgYnV0IGFsc28gaGVscHMgdG8gY2xlYXJlciBzZXBh
cmF0ZSB0aGUgY29uY2VwdHMgb24gYSBtaWNyby1sZXZlbCBvZiB0aGUgY29kZS4gRS5nLiBpZiB5
b3UgZmVlbCB0aGF0IGBlYWNoKCZOb3RpZmljYXRpb25zLjpzZW5kKWAgaXMgIm1vcmUgcmlnaHQi
IHRoYW4gYHNlbGVjdCB7IHxlbHwgTm90aWZpY2F0aW9ucy5zZW5kKGVsLCBzb21ldGhpbmcsIHNv
bWV0aGluZykgfWAsIGl0IG1ha2VzIHlvdSB0aGluayBhYm91dCBgTm90aWZpY2F0aW9ucy5zZW5k
YCBkZXNpZ24gaW4gYSB3YXkgdGhhdCBhbGxvd3MgdG8gcGFzcyB0aGVyZSBfZXhhY3RseV8gdGhh
dCBjb21iaW5hdGlvbiBvZiBhcmd1bWVudHMgc28gaXQgd291bGQgYmUgZWFzaWx5IGNhbGxhYmxl
IHRoYXQgd2F5LCBjbGFyaWZ5aW5nIG1vZHVsZXMgcmVzcG9uc2liaWxpdGllcy4NCg0KPiAoQW5k
IEkgYmVsaWV2ZSB0aGF0ICJuYW1lbGVzcyBibG9jayBwYXJhbWV0ZXJzIiwgd2hpbGUgaGVscGlu
ZyB0byBzaG9ydGVyIHRoZSBjb2RlLCBsYWNrIHRoaXMgaW1wb3J0YW50IGNoYXJhY3RlcmlzdGlj
IG9mIGNsYXJpZmljYXRpb24uKQ0KDQoqKlRoZSBwcm9ibGVtKioNCg0KT25lIG9mIHRoZSBwcm9i
bGVtcyBvZiAiYXJndW1lbnQtbGVzcyBjYWxsaW5nIiBpcyBwYXNzaW5nIGFkZGl0aW9uYWwgYXJn
dW1lbnRzLCB0aGluZ3MgbGlrZSB0aG9zZSBhcmVuJ3QgZWFzeSB0byBzaG9ydGVuOg0KYGBgcnVi
eQ0KYXJ5MS56aXAoYXJ5MiwgYXJ5MykubWFwIHsgfGxpbmVzfCBsaW5lcy5qb2luKCJcbiIpIH0N
CiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eDQpjb25z
dHJ1Y3RfdXJsLnRoZW4oJkhUVFAuOmdldCkuYm9keS50aGVuIHsgfHRleHR8IEpTT04ucGFyc2Uo
dGV4dCwgc3ltYm9saXplX25hbWVzOiB0cnVlKSB9DQojICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5e
Xl5eXl5eXg0KYGBgDQoNCihCVFcsIGhlcmUgaXMgW2EgYmxvZyBwb3N0XShodHRwczovL3p2ZXJv
ay5naXRodWIuaW8vYmxvZy8yMDE5LTEwLTE4LWVhY2hfd2l0aF9vYmplY3QuaHRtbCkgd2hlcmUg
SSBzaG93IHJlY2VudGx5IGZvdW5kIHRlY2huaXF1ZSBmb3Igc29sdmluZyB0aGlzLCBwcmV0dHkg
bmljZSBhbmQgYWx3YXlzIGV4aXN0aW5nIGluIFJ1YnksIGlmIHNsaWdodGx5IGVzb3RoZXJpYy4p
DQoNClRoZXJlJ3MgYSBsb3Qgb2YgcHJvcG9zYWxzIGZvciAicGFydGlhbCBhcHBsaWNhdGlvbnMi
IHdoaWNoIHdvdWxkIGJlIG1vcmUgZXhwcmVzc2l2ZSB0aGFuIGAuY3VycnlgIChbZ3VpbHR5XSho
dHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTYxMTMpIFtteXNlbGZdKGh0dHBzOi8v
YnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNTMwMSkpLCBidXQgdGhlIHByb2JsZW1hdGljIHBh
cnQgaW4gYWxsIG9mIHRoaXMgcHJvcG9zYWxzIGlzOg0KDQo+ICoqVGhlIG1vc3Qgd2lkZXNwcmVh
ZCAic2hvcnRlbmluZyIgaXMgYCY6c3ltYm9sYCwgYW5kIGBTeW1ib2xgIGl0c2VsZiBpcyBOT1Qg
YSBmdW5jdGlvbmFsIG9iamVjdCwgYW5kIGl0IGlzIHdyb25nIHRvIGV4dGVuZCBpdCB3aXRoIGZ1
bmN0aW9uYWwgYWJpbGl0aWVzLioqDQoNCk9uZSBvZiBjb25zZXF1ZW5jZXMgb2YgdGhlIGFib3Zl
IGlzLCBmb3IgZXhhbXBsZSwgdGhhdCB5b3UgY2FuJ3QgdXNlIDIuNidzIHByb2MgY29tYmluYXRp
b24gd2l0aCBzeW1ib2xzLCBsaWtlIGBGaWxlLjpyZWFkID4+IDpzdHJpcCA+PiA6cmV2ZXJzZWAu
IFlvdSB3YW50LCBidXQgeW91IGNhbid0Lg0KDQpIZXJlICh3aGlsZSBkaXNjdXNzaW5nIGFmb3Jl
bWVudGlvbmVkIGJsb2cgcG9zdHMpLCBJIHN0dW1ibGVkIHVwb24gYW4gaWRlYSBvZiBob3cgdG8g
c29sdmUgdGhpcyBkaWxlbW1hLg0KDQoqKlRoZSBwcm9wb3NhbCoqDQoNCkkgcHJvcG9zZSB0byBo
YXZlIGEgc3ludGF4IGZvciBjcmVhdGluZyBhIGZ1bmN0aW9uYWwgb2JqZWN0IHRoYXQgd2hlbiBi
ZWluZyBjYWxsZWQsIHNlbmRzIHRoZSBzcGVjaWZpZWQgbWV0aG9kIHRvIGl0cyBmaXJzdCBhcmd1
bWVudC4gQmFzaWNhbGx5LCB3aGF0IGBTeW1ib2wjdG9fcHJvY2AgZG9lcywgYnV0IHdpdGhvdXQg
ImhhY2siIG9mICJ3ZSBhbGxvdyBvdXIgc3ltYm9scyB0byBiZSBjb252ZXJ0aWJsZSB0byBmdW5j
dGlvbmFsIG9iamVjdHMiLiBQcm9wb3NlZCBzeW50YXg6DQoNCmBgYHJ1YnkNClsxLCAyLCAzXS5t
YXAoJi46dG9fcykNCmBgYA0KDQpKdXN0aWZpY2F0aW9uIG9mIHRoZSBzeW50YXg6DQoNCiogSXQg
aXMgbGlrZSBgRm9vLjptZXRob2RgIChwcm9kdWNpbmcgZnVuY3Rpb25hbCBvYmplY3QgdGhhdCBj
YWxscyBgbWV0aG9kYCkNCiogT3JwaGFuIGAuOm1ldGhvZGAgaXNuJ3QgYWxsb3dlZCBjdXJyZW50
bHkgKHlvdSBuZWVkIHRvIHNheSBgc2VsZi46bWV0aG9kYCB0byByZWZlciB0byAiY3VycmVudCBg
c2VsZmBzIG1ldGhvZCIpLCBhbmQgTWF0eidzIGp1c3RpZmljYXRpb24gd2FzICJpdCB3b3VsZCBi
ZSB0b28gY29uZnVzYWJsZSB3aXRoIGA6bWV0aG9kYCwgc21hbGwgdHlwbyB3aWxsIGNoYW5nZSB0
aGUgcmVzdWx0IiAtLSB3aGljaCBpbiBQUk9QT1NFRCBjYXNlIGlzIG5vdCBhcyBiYWQsIGFzIGA6
Zm9vYCBhbmQgYC46Zm9vYCBib3RoIG1lYW5pbmcgdGhlIHNhbWUgdGhpbmc7DQoqIEl0IGxvb2tz
IGtpbmRhIG5pY2UsIHNpbWlsYXIgdG8gKFtwcm9wb3NlZCBhbmQgcmVqZWN0ZWRdKGh0dHBzOi8v
YnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNjEyMCkpIGBtYXAgeyAudG9fcyB9YCDihpIgd2l0
aCBteSBwcm9wb3NhbCwgaXQgaXMgYG1hcCgmLjp0b19zKWAsIGltcGx5aW5nIHNvbWVob3cgYXBw
bHlpbmcgYC50b19zYCB0byB0aGUgcHJldmlvdXMgdmFsdWVzIGluIHRoZSBjaGFpbi4NCg0KVGhl
IGJlaGF2aW9yOiBgLjpmb29gIHByb2R1Y2VzIG9iamVjdCBvZiBjbGFzcywgc2F5LCBgTWV0aG9k
T2ZBcmd1bWVudGAgKGNsYXNzIG5hbWUgaXMgc3ViamVjdCB0byBkaXNjdXNzKSDigJQgd2hpY2gg
bWFrZXMgZGlmZmVyZW5jZXMgb2YgIlByb2MgY3JlYXRlZCBmcm9tIFN5bWJvbCIgKGV4aXN0aW5n
IGludGVybmFsbHksIGJ1dCBhbG1vc3QgaW52aXNpYmxlKSBvYnZpb3VzIGFuZCBoYWNrYWJsZS4N
Cg0KTm93LCB0byB0aGlzIG9iamVjdCBpdCBpcyBfbmF0dXJhbF8gdG8gYXBwbHkgdGhpbmdzIGxp
a2UgY3VycnlpbmcgKGV2ZW4gdG9kYXkncyB3b3JkeSBvbmUsIGJ1dCBwcm9iYWJseSBiZXR0ZXIg
b3B0aW9ucyB3aWxsIGNvbWUgd2hlbiB0aGV5J2xsIGJlIGFibGUgdG8gYmUgdW5pZm9ybWx5IGFw
cGxpZWQgdG8gYWxsICJzaG9ydGN1dCIgb2JqZWN0cykuDQoNCioqVHJhbnNpdGlvbjoqKiBgOmZv
b2AgYW5kIGAuOmZvb2AgY291bGQgd29yayBzaW1pbGFybHkgZm9yIHNvbWUgdXBjb21pbmcgdmVy
c2lvbnMgKG9yIGluZGVmaW5pdGVseSksIHdpdGggYC46Zm9vYCBiZWluZyBtb3JlIHBvd2VyZnVs
IGFsdGVybmF0aXZlLCBhbGxvd2luZyBmZWF0dXJlcyBsaWtlIGBncm91cHNfb2ZfbGluZXMubWFw
KCYuOmpvaW4ud2l0aCgnICcpKWAgb3Igc29tZXRoaW5nLg0KDQpJdCB3b3VsZCBiZSBsaWtlICJy
ZWFsIiBhbmQgImltaXRhdGVkIiBrZXl3b3JkIGFyZ3VtZW50cy4gIkxhc3QgaGFzaCB3aXRob3V0
IGJyYWNlcyIgd2FzIGdvb2QgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbGFuZ3VhZ2UgbGlmZWN5
Y2xlLCBidXQgdGhlbiBpdCB0dXJuZWQgb3V0IHRoYXQgcmVhbCBvbmVzIHByb3ZpZGUgYSBsb3Qg
b2YgYmVuZWZpdHMuIFNhbWUgdGhpbmcgaGVyZTogYCY6c3ltYm9sYCBpcyBzdXBlci1uaWNlLCBi
dXQsIGhvbmVzdGx5LCBpdCBpcyBzZW1hbnRpY2FsbHkgcXVlc3Rpb25hYmxlLCBzbyBtYXkgYmUg
c2xvdyBzd2l0Y2ggdG8gYSAicmVhbCB0aGluZyIgd291bGQgYmUgZ2FpbmZ1bCBmb3IgZXZlcnli
b2R5Py4uDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KClVuc3Vic2Ny
aWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1
YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRp
b25zL3J1YnktY29yZT4K

In This Thread

Prev Next