[ruby-core:108297] [Ruby master Bug#18729] Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
From:
"Eregon (Benoit Daloze)" <noreply@...>
Date:
2022-04-19 18:30:01 UTC
List:
ruby-core #108297
SXNzdWUgIzE4NzI5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K CgpUaGlzIFJTcGVjIHRlc3Q6Cmh0dHBzOi8vZ2l0aHViLmNvbS9yc3BlYy9yc3BlYy1tb2Nrcy9i bG9iLzE2MTE3NTI0NDliNWJlZWZhMTkzOWRkMmEyMGJlYjAxNzVkNDYxMTAvc3BlYy9yc3BlYy9t b2Nrcy9wYXJ0aWFsX2RvdWJsZV9zcGVjLnJiI0w2MjAKY3VycmVudGx5IHJlbGllcyBvbiB0aGUg aW5jb25zaXN0ZW50IGJlaGF2aW9yIG9mIGBvd25lcmAsIGhlcmU6Cmh0dHBzOi8vZ2l0aHViLmNv bS9yc3BlYy9yc3BlYy1tb2Nrcy9ibG9iLzE2MTE3NTI0NDliNWJlZWZhMTkzOWRkMmEyMGJlYjAx NzVkNDYxMTAvbGliL3JzcGVjL21vY2tzL21ldGhvZF9yZWZlcmVuY2UucmIjTDE5MgoKVGhlIGNv ZGUgd2FudHMgdG8gZmluZCBvdXQgaWYgYG5ld2Agb24gYSBnaXZlbiBjbGFzcyBpcyB0aGUgc2Ft ZSBkZWZpbml0aW9uIGFzIGBDbGFzcyNuZXdgLgpUaGUgd2F5IHVzZWQgdGhlcmUgd2l0aCBgb3du ZXJgIGRvZXNuJ3Qgd29yayB0aHJvdWdoIGFsaWFzZXMsIHdoaWNoIGFscmVhZHkgY29ycmVjdGx5 IHNldHMgdGhlIGBvd25lcmAuCgpUaGVyZSBpcyBjdXJyZW50bHkgbm8gKmVhc3kqIHdheSB0byBr bm93IGlmIDIgTWV0aG9kIG9yIFVuYm91bmRNZXRob2QgImFyZSB0aGUgc2FtZSBjb2RlL2RlZmlu aXRpb24iLgpUaGF0J3MgYmVjYXVzZSBNZXRob2QjPT0gYW5kIFVuYm91bmRNZXRob2QjPT0gYm90 aCBjb21wYXJlIG1vcmUgdGhhbiBqdXN0IHRoZSBkZWZpbml0aW9uLCBidXQgYWxzbyB0aGUgcmVj ZWl2ZXIgKGZvciBNZXRob2QpIG9yIHdoZXJlIHRoZSBtZXRob2Qgd2FzIGZldGNoZWQgZnJvbSAo Zm9yIFVuYm91bmRNZXRob2QpOiBodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2Jsb2IvdjNf MF8yL3Byb2MuYyNMMTc3Mi1MMTc4MApJIHRoaW5rIGlkZWFsbHkgdGhhdCBzaG91bGQgY2hhbmdl LCBvciB3ZSBzaG91bGQgaGF2ZSBhIHNlcGFyYXRlIG1ldGhvZCB0byBjb21wYXJlIDIgTWV0aG9k L1VuYm91bmRNZXRob2QgdG8gdGVsbCBpZiB0aGV5IGhhdmUgdGhlIHNhbWUgZGVmaW5pdGlvbi4K CkV4cG9zaW5nIHRoZSBgZGVmaW5lZF9jbGFzc2AgKHdoZXJlIHRoZSBtZXRob2QgZGVmaW5pdGlv biB3YXMgZmlyc3QgdXNlZCkgYXMgYSBuZXcgbWV0aG9kIHdvdWxkbid0IHJlYWxseSBoZWxwLCBi ZWNhdXNlIHRoZSBtZXRob2QgbWlnaHQgaGF2ZSBiZWVuIHJlZGVmaW5lZCBpbiBiZXR3ZWVuLgoK SG93ZXZlciBJIGZvdW5kIGEgd2F5IHVzaW5nIGB1bmJpbmRgICsgYGJpbmRgOgpgYGBydWJ5CmNs YXNzIEMKICBjbGFzcyA8PCBzZWxmCiAgICBhbGlhc19tZXRob2QgOm4sIDpuZXcKICAgIHByaXZh dGUgOm5ldwogIGVuZAplbmQKCnAgQy5tZXRob2QoOm4pID09IEMubWV0aG9kKDpuZXcpICMgPT4g dHJ1ZQoKcCBDLm1ldGhvZCg6bikgPT0gQ2xhc3MubWV0aG9kKDpuZXcpICMgPT4gZmFsc2UKcCBD Lm1ldGhvZCg6bikgPT0gQ2xhc3MubWV0aG9kKDpuZXcpLnVuYmluZC5iaW5kKEMpICMgPT4gdHJ1 ZQoKcCBDLm1ldGhvZCg6bmV3KSA9PSBDbGFzcy5tZXRob2QoOm5ldykgIyA9PiBmYWxzZQpwIEMu bWV0aG9kKDpuZXcpID09IENsYXNzLm1ldGhvZCg6bmV3KS51bmJpbmQuYmluZChDKSAjID0+IHRy dWUKYGBgCgpTbyB0aGF0J3Mgd2hhdCBSU3BlYyBzaG91bGQgdXNlLCBJJ2xsIG1ha2UgYSBQUi4K Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQnVnICMxODcyOTogTWV0 aG9kI293bmVyIGFuZCBVbmJvdW5kTWV0aG9kI293bmVyIGFyZSBpbmNvcnJlY3QgYWZ0ZXIgdXNp bmcgTW9kdWxlI3B1YmxpYy9wcm90ZWN0ZWQvcHJpdmF0ZQpodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy9pc3N1ZXMvMTg3MjkjY2hhbmdlLTk3MzE3CgoqIEF1dGhvcjogRXJlZ29uIChCZW5vaXQg RGFsb3plKQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKKiBydWJ5IC12OiBydWJ5 IDMuMS4xcDE4ICgyMDIyLTAyLTE4IHJldmlzaW9uIDUzZjVmYzQyMzYpIFt4ODZfNjQtbGludXhd CiogQmFja3BvcnQ6IDIuNjogVU5LTk9XTiwgMi43OiBVTktOT1dOLCAzLjA6IFVOS05PV04sIDMu MTogVU5LTk9XTgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRoZSAj b3duZXIgc2hvdWxkIGJlICJ0aGUgY2xhc3Mgb3IgbW9kdWxlIHRoYXQgZGVmaW5lcyB0aGUgbWV0 aG9kIi4KT3IgaW4gb3RoZXIgd29yZHMsIHRoZSBvd25lciBpcyB0aGUgbW9kdWxlIHdoaWNoIGhh cyB0aGUgbWV0aG9kIHRhYmxlIGNvbnRhaW5pbmcgdGhhdCBtZXRob2QuCgpUaGlzIGdlbmVyYWxs eSBob2xkcywgYW5kIGl0IHNlZW1zIHZlcnkgbGlrZWx5IHRoaXMgYXNzdW1wdGlvbiBpcyByZWxp ZWQgdXBvbiAoZS5nLiwgd2hlbiBkZWNvcmF0aW5nIGEgbWV0aG9kLCB1bmRlZmluaW5nIGl0LCBl dGMpLgpCdXQgdGhlIHJldHVybmVkIHZhbHVlIG9uIENSdWJ5IGlzIGluY29ycmVjdCBmb3IgdGhp cyBjYXNlOgpgYGBydWJ5CmNsYXNzIEEKICBwcm90ZWN0ZWQgZGVmIGZvbwogICAgOkEKICBlbmQK ZW5kCgpjbGFzcyBCIDwgQQogIHAgW2luc3RhbmNlX21ldGhvZCg6Zm9vKSwgaW5zdGFuY2VfbWV0 aG9kKDpmb28pLm93bmVyLCBpbnN0YW5jZV9tZXRob2RzKGZhbHNlKSwgQS5pbnN0YW5jZV9tZXRo b2RzKGZhbHNlKV0KICBwdWJsaWMgOmZvbwogIHAgW2luc3RhbmNlX21ldGhvZCg6Zm9vKSwgaW5z dGFuY2VfbWV0aG9kKDpmb28pLm93bmVyLCBpbnN0YW5jZV9tZXRob2RzKGZhbHNlKSwgQS5pbnN0 YW5jZV9tZXRob2RzKGZhbHNlKV0KZW5kCmBgYAoKSXQgZ2l2ZXM6CmBgYApbIzxVbmJvdW5kTWV0 aG9kOiBCKEEpI2ZvbygpIG93bmVyLnJiOjI+LCBBLCBbXSwgWzpmb29dXQpbIzxVbmJvdW5kTWV0 aG9kOiBCKEEpI2ZvbygpIG93bmVyLnJiOjI+LCBBLCBbOmZvb10sIFs6Zm9vXV0KYGBgCgpTbyBg VW5ib3VuZE1ldGhvZCNvd25lcmAgc2F5cyBgQWAsIGJ1dCBjbGVhcmx5IHRoZXJlIGlzIGEgOmZv byBtZXRob2QgZW50cnkgaW4gQiBjcmVhdGVkIGJ5IGBwdWJsaWMgOmZvb2AsIGFuZCB0aGF0IGlz IHNob3duIHRocm91Z2ggYEIuaW5zdGFuY2VfbWV0aG9kcyhmYWxzZSlgLgoKVGhlIGV4cGVjdGVk IG91dHB1dCBpczoKCmBgYApbIzxVbmJvdW5kTWV0aG9kOiBCKEEpI2ZvbygpIG93bmVyLnJiOjI+ LCBBLCBbXSwgWzpmb29dXQpbIzxVbmJvdW5kTWV0aG9kOiBCI2ZvbygpIG93bmVyLnJiOjI+LCBC LCBbOmZvb10sIFs6Zm9vXV0KYGBgCgoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8K ClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3Vi amVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFp bG1hbi9vcHRpb25zL3J1YnktY29yZT4K