[ruby-core:117759] [Ruby master Bug#20467] Prism creates a wrong ConstantReadNode for `Bar::Foo = 42`
From:
"kddnewton (Kevin Newton) via ruby-core" <ruby-core@...>
Date:
2024-05-03 13:43:28 UTC
List:
ruby-core #117759
SXNzdWUgIzIwNDY3IGhhcyBiZWVuIHVwZGF0ZWQgYnkga2RkbmV3dG9uIChLZXZpbiBOZXd0b24p Lg0KDQoNCkkndmUgY2hhbmdlZCBpdCB0byBiZSB0aGUgZm9sbG93aW5nIHNpbmNlIGh0dHBzOi8v Z2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC8xMDcxNi4NCg0KYGBgDQppcmIobWFpbik6MDAxPiBQ cmlzbS5wYXJzZSglcShCYXI6OkZvbykpLnZhbHVlDQo9PiANCkAgUHJvZ3JhbU5vZGUgKGxvY2F0 aW9uOiAoMSwwKS0oMSw4KSkNCuKUnOKUgOKUgCBsb2NhbHM6IFtdDQrilJTilIDilIAgc3RhdGVt ZW50czoNCiAgICBAIFN0YXRlbWVudHNOb2RlIChsb2NhdGlvbjogKDEsMCktKDEsOCkpDQogICAg 4pSU4pSA4pSAIGJvZHk6IChsZW5ndGg6IDEpDQogICAgICAgIOKUlOKUgOKUgCBAIENvbnN0YW50 UGF0aE5vZGUgKGxvY2F0aW9uOiAoMSwwKS0oMSw4KSkNCiAgICAgICAgICAgIOKUnOKUgOKUgCBw YXJlbnQ6DQogICAgICAgICAgICDilIIgICBAIENvbnN0YW50UmVhZE5vZGUgKGxvY2F0aW9uOiAo MSwwKS0oMSwzKSkNCiAgICAgICAgICAgIOKUgiAgIOKUlOKUgOKUgCBuYW1lOiA6QmFyDQogICAg ICAgICAgICDilJzilIDilIAgbmFtZTogOkZvbw0KICAgICAgICAgICAg4pSc4pSA4pSAIGRlbGlt aXRlcl9sb2M6ICgxLDMpLSgxLDUpID0gIjo6Ig0KICAgICAgICAgICAg4pSU4pSA4pSAIG5hbWVf bG9jOiAoMSw1KS0oMSw4KSA9ICJGb28iDQpgYGANCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KQnVnICMyMDQ2NzogUHJpc20gY3JlYXRlcyBhIHdyb25nIENvbnN0 YW50UmVhZE5vZGUgZm9yIGBCYXI6OkZvbyA9IDQyYA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v cmcvaXNzdWVzLzIwNDY3I2NoYW5nZS0xMDgxNjcNCg0KKiBBdXRob3I6IG1hbWUgKFl1c3VrZSBF bmRvaCkNCiogU3RhdHVzOiBPcGVuDQoqIEFzc2lnbmVlOiBrZGRuZXd0b24gKEtldmluIE5ld3Rv bikNCiogQmFja3BvcnQ6IDMuMTogVU5LTk9XTiwgMy4yOiBVTktOT1dOLCAzLjM6IFVOS05PV04N Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkN1cnJlbnRseSwgUHJp c20gY3JlYXRlcyB0aGUgZm9sbG93aW5nIEFTVCBmb3IgYEJhcjo6Rm9vID0gNDJgDQoNCmBgYA0K aXJiKG1haW4pOjAwMT4gUHJpc20ucGFyc2UoJXEoQmFyOjpGb28gPSA0MikpLnZhbHVlDQo9Pg0K QCBQcm9ncmFtTm9kZSAobG9jYXRpb246ICgxLDApLSgxLDEzKSkNCuKUnOKUgOKUgCBsb2NhbHM6 IFtdDQrilJTilIDilIAgc3RhdGVtZW50czoNCiAgICBAIFN0YXRlbWVudHNOb2RlIChsb2NhdGlv bjogKDEsMCktKDEsMTMpKQ0KICAgIOKUlOKUgOKUgCBib2R5OiAobGVuZ3RoOiAxKQ0KICAgICAg ICDilJTilIDilIAgQCBDb25zdGFudFBhdGhXcml0ZU5vZGUgKGxvY2F0aW9uOiAoMSwwKS0oMSwx MykpDQogICAgICAgICAgICDilJzilIDilIAgdGFyZ2V0Og0KICAgICAgICAgICAg4pSCICAgQCBD b25zdGFudFBhdGhOb2RlIChsb2NhdGlvbjogKDEsMCktKDEsOCkpDQogICAgICAgICAgICDilIIg ICDilJzilIDilIAgcGFyZW50Og0KICAgICAgICAgICAg4pSCICAg4pSCICAgQCBDb25zdGFudFJl YWROb2RlIChsb2NhdGlvbjogKDEsMCktKDEsMykpDQogICAgICAgICAgICDilIIgICDilIIgICDi lJTilIDilIAgbmFtZTogOkJhcg0KICAgICAgICAgICAg4pSCICAg4pSc4pSA4pSAIGNoaWxkOg0K ICAgICAgICAgICAg4pSCICAg4pSCICAgQCBDb25zdGFudFJlYWROb2RlIChsb2NhdGlvbjogKDEs NSktKDEsOCkpDQogICAgICAgICAgICDilIIgICDilIIgICDilJTilIDilIAgbmFtZTogOkZvbw0K ICAgICAgICAgICAg4pSCICAg4pSU4pSA4pSAIGRlbGltaXRlcl9sb2M6ICgxLDMpLSgxLDUpID0g Ijo6Ig0KICAgICAgICAgICAg4pSc4pSA4pSAIG9wZXJhdG9yX2xvYzogKDEsOSktKDEsMTApID0g Ij0iDQogICAgICAgICAgICDilJTilIDilIAgdmFsdWU6DQogICAgICAgICAgICAgICAgQCBJbnRl Z2VyTm9kZSAobG9jYXRpb246ICgxLDExKS0oMSwxMykpDQogICAgICAgICAgICAgICAg4pSc4pSA 4pSAIGZsYWdzOiBkZWNpbWFsDQogICAgICAgICAgICAgICAg4pSU4pSA4pSAIHZhbHVlOiA0Mg0K YGBgDQoNCk5vdGUgdGhhdCBpdCBpbmNsdWRlcyBgQ29uc3RhbnRSZWFkTm9kZShuYW1lOiA6Rm9v KWAuIEkgYmVsaWV2ZSB0aGlzIGlzIGEgYnVnIGJlY2F1c2UgYEJhcjo6Rm9vID0gNDJgIGRvZXMg bm90IHJlYWQgYSBjb25zdGFudCBgRm9vYC4NCg0KQWxzbywgYEZvb2AgYW5kIGBCYXI6OkZvb2Ag Z2VuZXJhdGVzIHRoZSBmb2xsb3dpbmdzLiANCg0KYGBgDQppcmIobWFpbik6MDAyPiBQcmlzbS5w YXJzZSglcShGb28pKS52YWx1ZQ0KPT4NCkAgUHJvZ3JhbU5vZGUgKGxvY2F0aW9uOiAoMSwwKS0o MSwzKSkNCuKUnOKUgOKUgCBsb2NhbHM6IFtdDQrilJTilIDilIAgc3RhdGVtZW50czoNCiAgICBA IFN0YXRlbWVudHNOb2RlIChsb2NhdGlvbjogKDEsMCktKDEsMykpDQogICAg4pSU4pSA4pSAIGJv ZHk6IChsZW5ndGg6IDEpDQogICAgICAgIOKUlOKUgOKUgCBAIENvbnN0YW50UmVhZE5vZGUgKGxv Y2F0aW9uOiAoMSwwKS0oMSwzKSkNCiAgICAgICAgICAgIOKUlOKUgOKUgCBuYW1lOiA6Rm9vDQpp cmIobWFpbik6MDAzPiBQcmlzbS5wYXJzZSglcShCYXI6OkZvbykpLnZhbHVlDQo9Pg0KQCBQcm9n cmFtTm9kZSAobG9jYXRpb246ICgxLDApLSgxLDgpKQ0K4pSc4pSA4pSAIGxvY2FsczogW10NCuKU lOKUgOKUgCBzdGF0ZW1lbnRzOg0KICAgIEAgU3RhdGVtZW50c05vZGUgKGxvY2F0aW9uOiAoMSww KS0oMSw4KSkNCiAgICDilJTilIDilIAgYm9keTogKGxlbmd0aDogMSkNCiAgICAgICAg4pSU4pSA 4pSAIEAgQ29uc3RhbnRQYXRoTm9kZSAobG9jYXRpb246ICgxLDApLSgxLDgpKQ0KICAgICAgICAg ICAg4pSc4pSA4pSAIHBhcmVudDoNCiAgICAgICAgICAgIOKUgiAgIEAgQ29uc3RhbnRSZWFkTm9k ZSAobG9jYXRpb246ICgxLDApLSgxLDMpKQ0KICAgICAgICAgICAg4pSCICAg4pSU4pSA4pSAIG5h bWU6IDpCYXINCiAgICAgICAgICAgIOKUnOKUgOKUgCBjaGlsZDoNCiAgICAgICAgICAgIOKUgiAg IEAgQ29uc3RhbnRSZWFkTm9kZSAobG9jYXRpb246ICgxLDUpLSgxLDgpKQ0KICAgICAgICAgICAg 4pSCICAg4pSU4pSA4pSAIG5hbWU6IDpGb28NCiAgICAgICAgICAgIOKUlOKUgOKUgCBkZWxpbWl0 ZXJfbG9jOiAoMSwzKS0oMSw1KSA9ICI6OiINCmBgYA0KDQpOb3RlIHRoYXQgYm90aCBoYXZlIHRo ZSBzYW1lIHN1YnRyZWUgb2YgYENvbnN0YW50UmVhZE5vZGUobmFtZTogOkZvbylgLiBJdCBpcyB2 ZXJ5IGNvbmZ1c2luZyBiZWNhdXNlIGBGb29gIChub24tc2NvcGVkIHJlYWQgb2YgYEZvb2ApIGFu ZCBgQmFyOjpGb29gIChzY29wZWQgcmVhZCBvZiBgRm9vYCkgaGF2ZSB2ZXJ5IGRpZmZlcmVudCBt ZWFuaW5ncy4NCg0KSSB0aGluayB0aGUgZm9sbG93aW5nIGRlc2lnbiB3b3VsZCBiZSBkZXNpcmFi bGUuDQoNCmBgYA0KIyBGb286OkJhcj00Mg0KDQpDb25zdGFudFBhdGhXcml0ZU5vZGUoDQogIGJh c2U6IENvbnN0YW50UmVhZE5vZGUobmFtZTogQ29uc3RhbnROYW1lTm9kZSg6Rm9vKSksDQogIG5h bWU6IENvbnN0YW50TmFtZU5vZGUoOkJhciksDQogIHZhbHVlOiA0Mg0KKQ0KDQojIEZvbw0KDQpD b25zdGFudFJlYWROb2RlKG5hbWU6IENvbnN0YW50TmFtZU5vZGUoOkZvbykpDQoNCiMgRm9vOjpC YXINCg0KQ29uc3RhbnRQYXRoUmVhZE5vZGUoDQogIGJhc2U6IENvbnN0YW50UmVhZE5vZGUobmFt ZTogQ29uc3RhbnROYW1lTm9kZSg6Rm9vKSksDQogIG5hbWU6IENvbnN0YW50TmFtZU5vZGUoOkJh ciksDQopDQpgYGANCg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUg bWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmli ZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5 LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvcG9zdG9yaXVz L2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==