[ruby-core:109987] [Ruby master Bug#18729] Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
From:
"matz (Yukihiro Matsumoto)" <noreply@...>
Date:
2022-09-22 03:46:01 UTC
List:
ruby-core #109987
SXNzdWUgIzE4NzI5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWF0eiAoWXVraWhpcm8gTWF0c3Vtb3Rv KS4KCgpBZnRlciBwbGF5aW5nIHdpdGggdGhlIGNvbW1pdHRlZCBuZXcgYmVoYXZpb3IsIEkgaGF2 ZSBub3RpY2VkIHNvbWUgcG9pbnRzLCBhbmQgY2hhbmdlZCBteSBtaW5kIChJIGFtIHNvcnJ5IGZv ciBiZWluZyBsYXRlIHRvIHJlcGx5KS4KCkxvb2sgYXQgdGhlIGZvbGxvd2luZyBleGFtcGxlOgoK YGBgcnVieQpjbGFzcyBDMAogIGRlZiBmb28KICAgIFs6Zm9vXQogIGVuZAplbmQKCmNsYXNzIEMx PEMwCiAgZGVmIGZvbwogICAgc3VwZXIgKyBbOmJhcl0KICBlbmQKZW5kCm0xID0gQzEuaW5zdGFu Y2VfbWV0aG9kKDpmb28pCgpjbGFzcyBDMjxDMQogIHByaXZhdGUgOmZvbwplbmQKCnAgQzIuaW5z dGFuY2VfbWV0aG9kcyhmYWxzZSkgICAgICAjIChhKQptMiA9IEMyLmluc3RhbmNlX21ldGhvZCg6 Zm9vKQoKY2xhc3MgQzEKICBkZWYgZm9vCiAgICBbOmJhcjJdCiAgZW5kCmVuZAoKbTMgPSBDMi5p bnN0YW5jZV9tZXRob2QoOmZvbykKYyA9IEMyLm5ldwpwIG0xLmJpbmRfY2FsbChjKSAgICAgICAg ICAgICAgICAgIyAoYikKcCBtMS5vd25lciAgICAgICAgICAgICAgICAgICAgICAgICMgKGMpCnAg bTIuYmluZF9jYWxsKGMpICAgICAgICAgICAgICAgICAjIChkKQpwIG0yLm93bmVyICAgICAgICAg ICAgICAgICAgICAgICAgIyAoZSkKcCBtMy5iaW5kX2NhbGwoYykgICAgICAgICAgICAgICAgICMg KGYpCnAgbTMub3duZXIgICAgICAgICAgICAgICAgICAgICAgICAjIChnKQpgYGAKCkJlZm9yZSB0 aGUgY2hhbmdlLCB0aGUgcmVzdWx0cyBhcmUgYGE9W107IGI9Wzpmb28sOmJhcl07IGM9QzE7IGQ9 Wzpmb28sOmJhcl07IGU9QzE7IGY9WzpiYXIyXTsgZz1DMWAuCgpBZnRlciB0aGUgY2hhbmdlLCB0 aGUgcmVzdWx0cyBhcmUgYGE9W107IGI9Wzpmb28sOmJhcl07IGM9QzE7IGQ9WzpiYXIyXTsgZT1D MjsgZj1bOmJhcjJdOyBnPUMyYC4KClRoZSBwcm9ibGVtIGlzIChhKSBhbmQgKGQpLCBlc3BlY2lh bGx5IHRoZSBsYXR0ZXIuIEFzIGEgZ2VuZXJhbCBwcmluY2lwbGUsIHJldHJpZXZpbmcgYSBtZXRo b2Qgb2JqZWN0IHNob3VsZCBrZWVwIHRoZSBjdXJyZW50IGJlaGF2aW9yLCBzbyB0aGUgZXhwZWN0 ZWQgcmVzdWx0IGZyb20gKGMpIG11c3QgYmUgYGQ9Wzpmb28sOmJhcl1gIGV2ZW4gYWZ0ZXIgcmVk ZWZpbmluZyBgZm9vYCBpbiBgQzFgLiBTbyBJIGhhdmUgdG8gcmVqZWN0IHRoZSBpZGVhIG9mIHJl dmVhbGluZyBgWlNVUEVSYCBtZXRob2QsIGFsb25nIHdpdGggY29weWluZy4KCkF0IHRoZSBzYW1l IHRpbWUsIG1ha2luZyBvd25lciBgQzJgIGlzIE9LIGZvciBtZS4gQnV0IGZvciB0aGUgY29uc2lz dGVuY3kgd2l0aCB0aGUgaWRlYSwgKGEpIG1pZ2h0IG5lZWQgdG8gaW5jbHVkZSBgOmZvb2Agd2hp Y2ggaXMgb3ZlcnJpZGRlbiBpbiB0aGUgY2xhc3MgQzIuIFByb2JhYmx5IHRoaXMgYWxzbyBhZGRy ZXNzZXMgIzE4NDM1IGFzIHdlbGwuCgpNYXR6LgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCkJ1ZyAjMTg3Mjk6IE1ldGhvZCNvd25lciBhbmQgVW5ib3VuZE1ldGhv ZCNvd25lciBhcmUgaW5jb3JyZWN0IGFmdGVyIHVzaW5nIE1vZHVsZSNwdWJsaWMvcHJvdGVjdGVk L3ByaXZhdGUKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE4NzI5I2NoYW5nZS05 OTIzNwoKKiBBdXRob3I6IEVyZWdvbiAoQmVub2l0IERhbG96ZSkKKiBTdGF0dXM6IENsb3NlZAoq IFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25lZTogRXJlZ29uIChCZW5vaXQgRGFsb3plKQoqIHJ1 YnkgLXY6IHJ1YnkgMy4xLjFwMTggKDIwMjItMDItMTggcmV2aXNpb24gNTNmNWZjNDIzNikgW3g4 Nl82NC1saW51eF0KKiBCYWNrcG9ydDogMi42OiBVTktOT1dOLCAyLjc6IFVOS05PV04sIDMuMDog VU5LTk9XTiwgMy4xOiBVTktOT1dOCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KVGhlICNvd25lciBzaG91bGQgYmUgInRoZSBjbGFzcyBvciBtb2R1bGUgdGhhdCBkZWZp bmVzIHRoZSBtZXRob2QiLgpPciBpbiBvdGhlciB3b3JkcywgdGhlIG93bmVyIGlzIHRoZSBtb2R1 bGUgd2hpY2ggaGFzIHRoZSBtZXRob2QgdGFibGUgY29udGFpbmluZyB0aGF0IG1ldGhvZC4KClRo aXMgZ2VuZXJhbGx5IGhvbGRzLCBhbmQgaXQgc2VlbXMgdmVyeSBsaWtlbHkgdGhpcyBhc3N1bXB0 aW9uIGlzIHJlbGllZCB1cG9uIChlLmcuLCB3aGVuIGRlY29yYXRpbmcgYSBtZXRob2QsIHVuZGVm aW5pbmcgaXQsIGV0YykuCkJ1dCB0aGUgcmV0dXJuZWQgdmFsdWUgb24gQ1J1YnkgaXMgaW5jb3Jy ZWN0IGZvciB0aGlzIGNhc2U6CmBgYHJ1YnkKY2xhc3MgQQogIHByb3RlY3RlZCBkZWYgZm9vCiAg ICA6QQogIGVuZAplbmQKCmNsYXNzIEIgPCBBCiAgcCBbaW5zdGFuY2VfbWV0aG9kKDpmb28pLCBp bnN0YW5jZV9tZXRob2QoOmZvbykub3duZXIsIGluc3RhbmNlX21ldGhvZHMoZmFsc2UpLCBBLmlu c3RhbmNlX21ldGhvZHMoZmFsc2UpXQogIHB1YmxpYyA6Zm9vCiAgcCBbaW5zdGFuY2VfbWV0aG9k KDpmb28pLCBpbnN0YW5jZV9tZXRob2QoOmZvbykub3duZXIsIGluc3RhbmNlX21ldGhvZHMoZmFs c2UpLCBBLmluc3RhbmNlX21ldGhvZHMoZmFsc2UpXQplbmQKYGBgCgpJdCBnaXZlczoKYGBgClsj PFVuYm91bmRNZXRob2Q6IEIoQSkjZm9vKCkgb3duZXIucmI6Mj4sIEEsIFtdLCBbOmZvb11dClsj PFVuYm91bmRNZXRob2Q6IEIoQSkjZm9vKCkgb3duZXIucmI6Mj4sIEEsIFs6Zm9vXSwgWzpmb29d XQpgYGAKClNvIGBVbmJvdW5kTWV0aG9kI293bmVyYCBzYXlzIGBBYCwgYnV0IGNsZWFybHkgdGhl cmUgaXMgYSA6Zm9vIG1ldGhvZCBlbnRyeSBpbiBCIGNyZWF0ZWQgYnkgYHB1YmxpYyA6Zm9vYCwg YW5kIHRoYXQgaXMgc2hvd24gdGhyb3VnaCBgQi5pbnN0YW5jZV9tZXRob2RzKGZhbHNlKWAuCgpU aGUgZXhwZWN0ZWQgb3V0cHV0IGlzOgoKYGBgClsjPFVuYm91bmRNZXRob2Q6IEIoQSkjZm9vKCkg b3duZXIucmI6Mj4sIEEsIFtdLCBbOmZvb11dClsjPFVuYm91bmRNZXRob2Q6IEIjZm9vKCkgb3du ZXIucmI6Mj4sIEIsIFs6Zm9vXSwgWzpmb29dXQpgYGAKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5 LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1s YW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcv Y2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=