[ruby-core:102759] [Ruby master Bug#17354] Module#const_source_location is misleading for constants awaiting autoload
From:
sawadatsuyoshi@...
Date:
2021-03-06 02:50:14 UTC
List:
ruby-core #102759
SXNzdWUgIzE3MzU0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgc2F3YSAoVHN1eW9zaGkgU2F3YWRhKS4N Cg0KDQpXaGVuIEkgcHJvcG9zZWQgdGhpcyBmZWF0dXJlIGluICMxMDc3MSwgdGhlIG1vdGl2YXRp b24gd2FzIHRvIGNyZWF0ZSBhIHRvb2wgdGhhdCBhdXRvbWF0aWNhbGx5IHJlYWRzIHJ1YnkgY29k ZSBhbmQgZG9jdW1lbnRzIGl0cyBtZXRob2RzIGFuZCBjb25zdGFudHMgdG9nZXRoZXIgd2l0aCB0 aGVpciBzb3VyY2UgY29kZS4gVG8gZXh0cmFjdCB0aGUgcmVsZXZhbnQgc291cmNlIGNvZGUsIGtu b3dpbmcgdGhlIHN0YXJ0IGFuZCBlbmQgcG9pbnRzIG9mIHRoZSBkZWZpbml0aW9ucyBpcyBuZWNl c3NhcnkuIFRoZSBjdXJyZW50IGZlYXR1cmUgZ2l2ZXMgdGhlIGZpbGUgbmFtZSBhbmQgdGhlIGxp bmUgbnVtYmVyIG9mIHRoZSBzdGFydCBwb2ludCBvZiB0aGUgZGVmaW5pdGlvbiwgbGFja2luZyB0 aGUgY2hhcmFjdGVyIHBvc2l0aW9uIChhcyB3ZWxsIGFzIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB0 aGUgZW5kcG9pbnQgb2YgdGhlIGRlZmluaXRpb24pLCB3aGljaCBpcyBvbmx5IGEgcGFydCBvZiB3 aGF0IGFzIG5lY2Vzc2FyeSBmb3IgbWUsIGJ1dCBJIHN0aWxsIGFwcHJlY2lhdGUgdGhlIGRldmVs b3BlcnMgZm9yIGltcGxlbWVudGluZyB0aGUgZmVhdHVyZS4NCg0KSSBhZ3JlZSB3aXRoIFRvbSB0 aGF0IHRoZSBjdXJyZW50IGJlaGF2aW91ciBpcyB3cm9uZywgYW5kIHJldHVybmluZyB0aGUgY2Fs bGluZyBzaXRlIGRvZXMgbm90IG1ha2Ugc2Vuc2UsIG5vciBpcyBpdCB1c2VmdWwuIEJ1dCBJIGRv bid0IHRoaW5rIGBbXWAgc2hvdWxkIGJlIHJldHVybmVkLCBmb3IgdGhlIHJlYXNvbiBBYXJvbiBk aXNjdXNzZXMuIEkgdGhpbmsgYG5pbGAgc2hvdWxkIGJlIHJldHVybmVkLiBBbmQgSSB0aGluayB0 aGF0IHRoZSBiZWhhdmlvdXIgc2hvdWxkIGJlIGluIGxpbmUgd2l0aCB0aGF0IG9mIGBjb25zdF9k ZWZpbmVkP2AuDQoNCkkgYW0gbm90IGEgYmlnIGZhbiBvZiBBYXJvbidzIHByb3Bvc2FsICh0byBh dHRlbXB0KSB0byBsb2FkIHRoZSBjb25zdGFudCBvbiB0aGUgc3BvdCwgYnV0IHRoYXQgd291bGQg YmUgbXkgc2Vjb25kIHByZWZlcmVuY2UuIEl0IGlzIGF0IGxlYXN0IGJldHRlciB0aGFuIHRoZSBj dXJyZW50IGJlaGF2aW91ci4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KQnVnICMxNzM1NDogTW9kdWxlI2NvbnN0X3NvdXJjZV9sb2NhdGlvbiBpcyBtaXNsZWFk aW5nIGZvciBjb25zdGFudHMgYXdhaXRpbmcgYXV0b2xvYWQNCmh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8xNzM1NCNjaGFuZ2UtOTA3NzINCg0KKiBBdXRob3I6IHRvbXN0dWFydCAo VG9tIFN0dWFydCkNCiogU3RhdHVzOiBPcGVuDQoqIFByaW9yaXR5OiBOb3JtYWwNCiogcnVieSAt djogcnVieSAyLjcuMnAxMzcgKDIwMjAtMTAtMDEgcmV2aXNpb24gNTQ0NWUwNDM1MikgW3g4Nl82 NC1kYXJ3aW4yMF0NCiogQmFja3BvcnQ6IDIuNTogVU5LTk9XTiwgMi42OiBVTktOT1dOLCAyLjc6 IFVOS05PV04NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1 cmUgIzEwNzcxIGFkZGVkIGBNb2R1bGUjY29uc3Rfc291cmNlX2xvY2F0aW9uYCBhcyBhIHdheSB0 byBmaW5kIHRoZSBzb3VyY2UgbG9jYXRpb24gb2YgYSBjb25zdGFudOKAmXMgZGVmaW5pdGlvbi4g QnVnICMxNjc2NCByZXBvcnRlZCB0aGF0IGl0IGRpZG7igJl0IHdvcmsgY29ycmVjdGx5IGZvciBh dXRvbG9hZGVkIGNvbnN0YW50cywgaW5zdGVhZCBnaXZpbmcgdGhlIHNvdXJjZSBsb2NhdGlvbiBv ZiB0aGUgYGF1dG9sb2FkYCBjYWxsIHNpdGUuIFRoaXMgd2FzIGZpeGVkIGluIGB2M18wXzBfcHJl dmlldzFgIGluIGNvbW1pdDo5MjczMDgxMCBhbmQgYmFja3BvcnRlZCB0byBgdjJfN18yYCBpbiBj b21taXQ6YzY1YWFlMTEuDQoNCkhvd2V2ZXIsIGAjY29uc3Rfc291cmNlX2xvY2F0aW9uYCBzdGls bCByZXR1cm5zIHRoZSBgYXV0b2xvYWRgIGNhbGwgc2l0ZSBmb3IgY29uc3RhbnRzIHdoaWNoIGhh dmUgbm90IHlldCBiZWVuIGxvYWRlZDoNCg0KYGBgDQolIGVjaG8gJ2NsYXNzIEZvbzsgZW5kJyA+ IGZvby5yYg0KDQolIGlyYg0KPj4gTW9kdWxlLmNvbnN0X2RlZmluZWQ/KDpGb28pDQo9PiBmYWxz ZQ0KPj4gTW9kdWxlLmNvbnN0X3NvdXJjZV9sb2NhdGlvbig6Rm9vKQ0KPT4gbmlsDQoNCj4+IGF1 dG9sb2FkIDpGb28sICcuL2ZvbycNCj0+IG5pbA0KDQo+PiBNb2R1bGUuY29uc3RfZGVmaW5lZD8o OkZvbykNCj0+IHRydWUNCj4+IE1vZHVsZS5jb25zdF9zb3VyY2VfbG9jYXRpb24oOkZvbykNCj0+ IFsiKGlyYikiLCAzXQ0KDQo+PiBNb2R1bGUuY29uc3RfZ2V0KDpGb28pDQo9PiBGb28NCg0KPj4g TW9kdWxlLmNvbnN0X2RlZmluZWQ/KDpGb28pDQo9PiB0cnVlDQo+PiBNb2R1bGUuY29uc3Rfc291 cmNlX2xvY2F0aW9uKDpGb28pDQo9PiBbIi4vZm9vLnJiIiwgMV0NCmBgYA0KDQpUaGlzIGVkZ2Ug Y2FzZSBpcyB1bmRvY3VtZW50ZWQgYW5kIHN1cnByaXNpbmcuIEl0IGxvb2tzIGxpa2UgYSBidWcg dG8gdGhlIHByb2dyYW1tZXIgd2hvIHJlY2VpdmVzIHRoZSBgYXV0b2xvYWRgIGxvY2F0aW9uIGlu c3RlYWQgb2Ygb25lIG9mIHRoZSBkb2N1bWVudGVkIHJldHVybiB2YWx1ZXMgb2YgYCNjb25zdF9z b3VyY2VfbG9jYXRpb25gIChgbmlsYCwgYFtdYCwgb3IgdGhlIGRlZmluaXRpb27igJlzIHNvdXJj ZSBsb2NhdGlvbikuDQoNCldlIGNvdWxkIGVpdGhlcjoNCg0KKiBjaGFuZ2UgdGhlIGJlaGF2aW91 ciBvZiBgI2NvbnN0X3NvdXJjZV9sb2NhdGlvbmAgdG8gcmV0dXJuIGBbXWAgZm9yIGNvbnN0YW50 cyBhd2FpdGluZyBhdXRvbG9hZCwgd2hpY2ggaXMgY29uc2lzdGVudCB3aXRoIHRoZSBbcmV0dXJu IHZhbHVlIG9mIGBNb2R1bGUjY29uc3RfZGVmaW5lZD9gXShodHRwczovL2RvY3MucnVieS1sYW5n Lm9yZy9lbi8yLjcuMC9Nb2R1bGUuaHRtbCNtZXRob2QtaS1jb25zdF9kZWZpbmVkLTNGKSBpbiB0 aGlzIGNhc2UgKOKAnGlmIHRoZSBjb25zdGFudCBpcyBub3QgcHJlc2VudCBidXQgdGhlcmUgaXMg YW4gYXV0b2xvYWQgZm9yIGl0LCBgdHJ1ZWAgaXMgcmV0dXJuZWQgZGlyZWN0bHnigJ0pLCBhcyB3 ZWxsIGFzIHRoZSBbcmV0dXJuIHZhbHVlIG9mIGAjY29uc3Rfc291cmNlX2xvY2F0aW9uYF0oaHR0 cHM6Ly9kb2NzLnJ1YnktbGFuZy5vcmcvZW4vMi43LjAvTW9kdWxlLmh0bWwjbWV0aG9kLWktY29u c3Rfc291cmNlX2xvY2F0aW9uKSBmb3Igb3RoZXIgY29uc3RhbnRzIHdob3NlIHNvdXJjZSBsb2Nh dGlvbiBpcyB1bmtub3duICjigJxpZiB0aGUgY29uc3RhbnQgaXMgZm91bmQsIGJ1dCBpdHMgc291 cmNlIGxvY2F0aW9uIGNhbiBub3QgYmUgZXh0cmFjdGVkIChjb25zdGFudCBpcyBkZWZpbmVkIGlu IEMgY29kZSksIGVtcHR5IGFycmF5IGlzIHJldHVybmVk4oCdKTsgb3INCiogZG9jdW1lbnQgdGhl IGN1cnJlbnQgYmVoYXZpb3VyIG9mIGAjY29uc3Rfc291cmNlX2xvY2F0aW9uYCB0byBtYWtlIGl0 IGxlc3Mgc3VycHJpc2luZy4NCg0KSSByZWNvbW1lbmQgdGhlIGZpcnN0IG9wdGlvbiDigJQgYWx0 aG91Z2ggdGhlIGN1cnJlbnQgYmVoYXZpb3VyIHdhcyByZWNlbnRseSBzcGVjaWZpZWQgaW4gc291 cmNlOnNwZWMvcnVieS9jb3JlL21vZHVsZS9jb25zdF9zb3VyY2VfbG9jYXRpb25fc3BlYy5yYkA2 ZDA1OTY3NCNMMjA5LCBpdCBkb2VzbuKAmXQgc2VlbSBpbnRlbnRpb25hbCDigJQgYnV0IGlmIHRo YXTigJlzIG5vdCBmZWFzaWJsZSwgc2ltcGx5IGRvY3VtZW50aW5nIHRoaXMgZWRnZSBjYXNlIHdv dWxkIGFsc28gYmUgYW4gaW1wcm92ZW1lbnQuDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5 LWxhbmcub3JnLw0KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1Ynkt bGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3Jn L2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K