[ruby-core:108352] [Ruby master Bug#18622] const_get still looks in Object, while lexical constant lookup no longer does
From:
"fxn (Xavier Noria)" <noreply@...>
Date:
2022-04-21 15:30:55 UTC
List:
ruby-core #108352
SXNzdWUgIzE4NjIyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgZnhuIChYYXZpZXIgTm9yaWEpLgoKCkkg eW91IHdhbnQgdG8gY2hlY2sgb25seSBpbiB0aGUgcmVjZWl2ZXIsIHRoYXQgaXMgYG1vZC5jb25z dF9nZXQoY25hbWUsIGZhbHNlKWAgYWxyZWFkeS4KCklmIHlvdSB3YW50IHRvIGNoZWNrIGZyb20g dGhlIHJlY2VpdmVyIHVwIHRoZSBhbmNlc3RvcnMgY2hhaW4sIHRoYXQgaXMgYG1vZC5jb25zdF9n ZXQoY25hbWUpYCBhbHJlYWR5LgoKSWYgdGhlIHJlY2VpdmVyIGlzIGEgbW9kdWxlLCBhbmQgdGhl IGNvbnN0YW50IGlzIG5vdCBmb3VuZCBpbiB0aGUgYW5jZXN0b3JzIHRoZSBtZXRob2QgY2hlY2tz IGBPYmplY3RgIG1hbnVhbGx5IGFzIGl0IGhhcHBlbnMgaW4gcmVsYXRpdmUgY29uc3RhbnQgbG9v a3Vwcy4gVGhpcyBpcyBkb2N1bWVudGVkLgoKU28sIGEgcmVsYXRpdmUgY29uc3RhbnQgbG9va3Vw IGNvdWxkIGJlIHNlZW4gYXMgY2hlY2tpbmcgdGhlIG5lc3RpbmcgKyBgY29uc3RfZ2V0YCArIGBj b25zdF9taXNzaW5nYC4gVGhpcyBpcyBob3cgSSBzZWUgYGNvbnN0X2dldGAgYW5kIGluIHRoYXQg c2Vuc2UgSSBhbSBwZXJzb25hbGx5IGZpbmUgd2l0aCB0aGUgY3VycmVudCBiZWhhdmlvci4KCkBF cmVnb24gb3BlbmVkIHRoaXMgaXNzdWUgYmVjYXVzZSBmb3IgaGltLCB0aGUgbWFudWFsIGNoZWNr IGluIGBPYmplY3RgIGlzIHN1cnByaXNpbmcgKGNvbmNlcHR1YWxseSwgcmVnYXJkbGVzcyBvZiBk b2N1bWVudGF0aW9uKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K QnVnICMxODYyMjogY29uc3RfZ2V0IHN0aWxsIGxvb2tzIGluIE9iamVjdCwgd2hpbGUgbGV4aWNh bCBjb25zdGFudCBsb29rdXAgbm8gbG9uZ2VyIGRvZXMKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v cmcvaXNzdWVzLzE4NjIyI2NoYW5nZS05NzM3OAoKKiBBdXRob3I6IEVyZWdvbiAoQmVub2l0IERh bG96ZSkKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCiogcnVieSAtdjogcnVieSAz LjAuMnAxMDcgKDIwMjEtMDctMDcgcmV2aXNpb24gMGRiNjhmMDIzMykgW3g4Nl82NC1saW51eF0K KiBCYWNrcG9ydDogMi42OiBVTktOT1dOLCAyLjc6IFVOS05PV04sIDMuMDogVU5LTk9XTiwgMy4x OiBVTktOT1dOCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVGhlcmUg aXMgc29tZSBpbmNvbnNpc3RlbmN5IGhlcmUgYmV0d2VlbiBsaXRlcmFsIGNvbnN0YW50IGxvb2t1 cCBhbmQgdGhlIG1ldGEgQVBJIChjb25zdF9nZXQpLgoKTGV4aWNhbCBjb25zdGFudCBsb29rdXAg bm8gbG9uZ2VyIHVzZXMgYSBzcGVjaWFsIGNhc2UgZm9yIE9iamVjdCwgYW5kIHRoaXMgaXMgZ29v ZCBhcyBpdCBhdm9pZHMgc3VycHJpc2VzOiAjMTE1NDcKCkhvd2V2ZXIsIGBjb25zdF9nZXRgIHN0 aWxsIGxvb2tzIGluIE9iamVjdCwgZXZlbiB0aG91Z2ggdGhhdCdzIGNvbmZ1c2luZywgaW5jb25z aXN0ZW50IGFuZCBJTUhPIHNob3VsZG4ndCByZWFsbHkgaGFwcGVuLgpgYGBydWJ5Cm1vZHVsZSBD b25zdGFudFNwZWNzVHdvCiAgRm9vID0gOmNzX3R3b19mb28KZW5kCgptb2R1bGUgQ29uc3RhbnRT cGVjcwplbmQKCnAgQ29uc3RhbnRTcGVjcy5jb25zdF9nZXQoIkNvbnN0YW50U3BlY3NUd286OkZv byIpICMgPT4gOmNzX3R3b19mb28KcCBDb25zdGFudFNwZWNzOjpDb25zdGFudFNwZWNzVHdvOjpG b28gIyA9PiBjb25zdF9nZXQucmI6OTppbiBgPG1haW4+JzogdW5pbml0aWFsaXplZCBjb25zdGFu dCBDb25zdGFudFNwZWNzOjpDb25zdGFudFNwZWNzVHdvIChOYW1lRXJyb3IpCmBgYAoKSSB0aGlu ayB3ZSBzaG91bGQgY2hhbmdlIGl0IHNvIGJvdGggYmVoYXZlIHRoZSBzYW1lIChpLmUuLCBOYW1l RXJyb3IpLgpJdCdzIGxpa2UgaWYgYGNkIC9mb28vYmFyYCB3b3VsZCBnbyB0byBgL2JhcmAgaWYg YC9mb28vYmFyYCBkb2VzIG5vdCBleGlzdCBhbmQgYC9iYXJgIGRvZXMuCgpgY29uc3RfZ2V0YCBp cyBhIG1ldGEgQVBJIHNvIGl0IGNhbm5vdCBrbm93IHRoZSBzdXJyb3VuZGluZyBgTW9kdWxlLm5l c3RpbmdgLCBidXQgc28gSSB0aGluayBpdCBzaG91bGQgY29uc2lkZXIgdGhlIHJlY2VpdmVyIG9m IGBjb25zdF9nZXRgIGFzIHRoZSBvbmx5IG5lc3RpbmcgKHNvIGp1c3QgYENvbnN0YW50U3BlY3Ng IGluIHRoaXMgY2FzZSwgbm90IGBPYmplY3RgKS4KCk5vdGUgdGhpcyBkb2VzIG5vdCBhZmZlY3Qg bmVzdGVkIGNvbnN0YW50cyBpbnNpZGUgdGhlIGBjb25zdF9nZXRgIGxpa2UgYEZvb2AgYWJvdmUg KGFub3RoZXIgd2F5IHRvIGxvb2sgYXQgdGhlIGluY29uc2lzdGVuY3kgdGhhdCB0aGUgZmlyc3Qg Y29tcG9uZW50IGlzIHRyZWF0ZWQgZGlmZmVyZW50bHkpLgoKRnJvbSBodHRwczovL2J1Z3MucnVi eS1sYW5nLm9yZy9pc3N1ZXMvMTE1NDcjbm90ZS0xOQoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1Ynkt bGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxh bmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9j Z2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==