[ruby-core:110132] [Ruby master Bug#18729] Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
From:
"Eregon (Benoit Daloze)" <noreply@...>
Date:
2022-09-28 16:26:43 UTC
List:
ruby-core #110132
SXNzdWUgIzE4NzI5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K CgpAbWF0egpgKGEpYCBzaG91bGQgYmUgYHAgQzIucHJpdmF0ZV9pbnN0YW5jZV9tZXRob2RzYCAo Lmluc3RhbmNlX21ldGhvZHMgZG9lc24ndCBzaG93IHByaXZhdGUgbWV0aG9kcykuClRoZW4gb24g YWxsIHZlcnNpb25zIGBmb29gIGlzIGluY2x1ZGVkLgpBbmQgb2YgY291cnNlIHRoYXQgbWVhbnMg aXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHJldHJpZXZlIHRoYXQgbWV0aG9kIHdpdGggYEtlcm5l bCNtZXRob2RgL2BNb2R1bGUjaW5zdGFuY2VfbWV0aG9kYCwgd2hpY2ggYmVjYW1lIHBvc3NpYmxl IHNpbmNlIG15IGNoYW5nZS4KCj4gQXMgYSBnZW5lcmFsIHByaW5jaXBsZSwgcmV0cmlldmluZyBh IG1ldGhvZCBvYmplY3Qgc2hvdWxkIGtlZXAgdGhlIGN1cnJlbnQgYmVoYXZpb3IKCldlIGFncmVl IG9uIHRoaXMuCkhvd2V2ZXIsIHRoZSBvbmx5IHdheSB0byBkbyB0aGF0IHJlbGlhYmx5IGlzIHRv IHJlbW92ZSBaU1VQRVIgbWV0aG9kcyBhbHRvZ2V0aGVyIChodHRwczovL2dpdGh1Yi5jb20vcnVi eS9ydWJ5L3B1bGwvNjI1MSkuClRoYXQgcmVtb3ZlcyBhIGxvdCBvZiBjb21wbGV4aXR5IGFuZCBj b25mdXNpb24sIGZvciBhIGZlYXR1cmUgbm9ib2R5IG5lZWRzLgpUaGVuIGl0J3MgY2xlYXIgYSBN ZXRob2QvVW5ib3VuZE1ldGhvZCBwb2ludHMgdG8gYSBzcGVjaWZpYyBtZXRob2QgZGVmaW5pdGlv biwgYW5kIHdlIG5ldmVyIGhhdmUgYWxsIHRoZXNlIHN1YnRsZSBlZGdlIGNhc2VzIHRvIHJlYXNv biBhYm91dC4gRmluYWxseSB3ZSdsbCBoYXZlIGEgY2xlYXIgYW5kIHVuZGVyc3RhbmRhYmxlIG1l dGEgdmlldyBmb3IgbWV0aG9kcyBpbiBSdWJ5LgoKVGhlIHByZXZpb3VzIGxvZ2ljIG9mIHNraXBw aW5nIFpTVVBFUiBtZXRob2RzIGluIGBLZXJuZWwjbWV0aG9kYCBhbmQgYE1vZHVsZSNpbnN0YW5j ZV9tZXRob2RgIGp1c3Qgd29ya3MgYXJvdW5kIHRoZSBwcm9ibGVtIGFuZCBjb25mdXNlcyBldmVy eWJvZHksIGluIGFkZGl0aW9uIHRvIHJldmVhbGluZyBpbmNvbnNpc3RlbnQgYG93bmVyYCwgdmlz aWJpbGl0eSwgZXRjLgoKQWxzbyBza2lwcGluZyBaU1VQRVIgbWV0aG9kcyB3b3VsZCBhZ2FpbiBp bnRyb2R1Y2UgaXNzdWVzIHdpdGggYE1ldGhvZCNwdWJsaWM/YCwgZXRjICgjMTE2ODkpLgpBbmQg aW4gMy4xIHRob3NlIG1ldGhvZHMgZXhpc3QsIGFuZCBaU1VQRVIgbWV0aG9kcyBhcmUgbm93IHJl dmVhbGVkIG9uIHRoZSAzLjEgYnJhbmNoIChodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1 ZXMvMTg0MzUjbm90ZS0yNSksIHdoaWNoIG1lYW5zIHRob3NlIG1ldGhvZHMgYmVoYXZlIGNvcnJl Y3RseSwgYXMgZXhwZWN0ZWQgYW5kIGludHVpdGl2ZWx5LgpTbyBpdCBzZWVtcyB1bmFjY2VwdGFi bGUgdG8gc2tpcCBaU1VQRVIgbWV0aG9kcyBlbnRpcmVseSBpbiBgS2VybmVsI21ldGhvZGAvYE1v ZHVsZSNpbnN0YW5jZV9tZXRob2RgLCBpdCdzIGp1c3QgaWdub3JpbmcgdGhlIGZ1bmRhbWVudGFs IGlzc3VlLgoKVG8gY29tcGFyZSwgdGhlIGJlaGF2aW9yIG9mIHJlbW92aW5nIFpTVVBFUiBtZXRo b2RzIChodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L3B1bGwvNjI1MSkgYW5kIFRydWZmbGVS dWJ5IGlzOgpgYGAKWzpmb28sIDpiYXJdCkMxCls6Zm9vLCA6YmFyXQpDMgpbOmZvbywgOmJhcl0K QzIKYGBgClRoYXQgaXMsIGEgTWV0aG9kL1VuYm91bmRNZXRob2QgYWx3YXlzIHBvaW50cyB0byBh IHNwZWNpZmljIG1ldGhvZCBlbnRyeSwgYW5kIGEgTWV0aG9kL1VuYm91bmRNZXRob2QgYWN0dWFs bHkgY2FwdHVyZXMgdGhlIHN0YXRlIHdoZW4gaXQgd2FzIGNyZWF0ZWQuCgpJbiBhbnkgY2FzZSwg SSB0aGluayB0aGUgYmVoYXZpb3IgZm9yIHN1Y2ggYSBjb3JuZXIgY2FzZSB0aGF0IG5vYm9keSB1 c2VzIGluIHByYWN0aWNlIGRvZXMgbm90IG1hdHRlciBtdWNoLCB0aGUgZ2VuZXJhbCBzZW1hbnRp Y3MgYW5kIHVuZGVyc3RhbmRhYmlsaXR5IG9mIHRoZSBtb2RlbCBzZWVtIGZhciBtb3JlIGltcG9y dGFudC4KClNvIEkgdGhpbmsgd2UgaGF2ZSAzIGNob2ljZXM6CiogVHJ5aW5nIHRvIGdpdmUgdGhl IGNvcnJlY3Qgb3duZXIgYW5kIGluIGBLZXJuZWwjbWV0aG9kYC9gTW9kdWxlI2luc3RhbmNlX21l dGhvZGAgYWxyZWFkeSBsb29rdXAgdGhlIG1ldGhvZCBlbnRyeSB0aGUgWlNVUEVSIG1ldGhvZCB3 b3VsZCByZXNvbHZlIHRvLiBJIHdpbGwgZ2l2ZSBpdCBhIHRyeSwgYnV0IGl0IGZlZWxzIGJyaXR0 bGUgYW5kIGFzIGFscmVhZHkgdHJpZWQgZm9yIHRoZSB2aXNpYmlsaXR5IGJ5IEplcmVteSB3aWxs IGxpa2VseSByZXN1bHQgaW4gc29tZSB3ZWlyZCBpbmNvbnNpc3RlbmNpZXMgYW5kIG1vcmUgY29t cGxleGl0eSBpbiB0aGUgaW1wbGVtZW50YXRpb24gd2hlcmUgc29tZSBvZiB0aGUgTWV0aG9kIHN0 YXRlIGlzIG92ZXJyaWRkZW4gYnkgZXh0cmEgZmllbGRzIGFuZCBzb21lIG5vdC4gQnV0IG1heWJl IGl0J3MgZ29vZCBlbm91Z2guCiogS2VlcCBhcyBpdCBpcyBvbiBjdXJyZW50IG1hc3RlciwgdGhl IG92ZXJhbGwgc2VtYW50aWNzIGFyZSBnb29kLCBpdCdzIG9ubHkgc3VycHJpc2luZyBmb3IgZWRn ZSBjYXNlcyBub2JvZHkgdXNlcyAocmVkZWZpbmluZyBhIG1ldGhvZCBhZnRlciBjaGFuZ2luZyB2 aXNpYmlsaXR5IGluIHN1YmNsYXNzIGFuZCB1c2luZyBNZXRob2QvVW5ib3VuZE1ldGhvZCBvYmpl Y3RzIGNyZWF0ZWQgYmVmb3JlIHRoYXQgYW5kIHdhbnRpbmcgdGhlIG9sZCBiZWhhdmlvciBmb3Ig dGhhdCBjYXNlKQoqIFJlbW92ZSBaU1VQRVIgbWV0aG9kcyAoaHR0cHM6Ly9naXRodWIuY29tL3J1 YnkvcnVieS9wdWxsLzYyNTEpLiBUaGF0IHNpbXBsaWZpZXMgZXZlcnl0aGluZyB0cmVtZW5kb3Vz bHkgYW5kIHJlc3VsdHMgaW4gYmV0dGVyIHBlcmZvcm1hbmNlLgoKVGhlIGxhc3Qgb25lIGlzIElN SE8gYnkgZmFyIHRoZSBiZXR0ZXIgYW5kIHNhZmVzdCBvcHRpb24sIGV2ZXJ5dGhpbmcgaXMgY29u c2lzdGVudCBhbmQgc2ltcGxlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQpCdWcgIzE4NzI5OiBNZXRob2Qjb3duZXIgYW5kIFVuYm91bmRNZXRob2Qjb3duZXIgYXJl IGluY29ycmVjdCBhZnRlciB1c2luZyBNb2R1bGUjcHVibGljL3Byb3RlY3RlZC9wcml2YXRlCmh0 dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xODcyOSNjaGFuZ2UtOTkzOTAKCiogQXV0 aG9yOiBFcmVnb24gKEJlbm9pdCBEYWxvemUpCiogU3RhdHVzOiBDbG9zZWQKKiBQcmlvcml0eTog Tm9ybWFsCiogQXNzaWduZWU6IEVyZWdvbiAoQmVub2l0IERhbG96ZSkKKiBydWJ5IC12OiBydWJ5 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