[ruby-core:117754] [Ruby master Bug#20467] Prism creates a wrong ConstantReadNode for `Bar::Foo = 42`
From:
"mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date:
2024-05-02 23:37:16 UTC
List:
ruby-core #117754
SXNzdWUgIzIwNDY3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IG1hbWUgKFl1c3VrZSBFbmRvaCkuDQoN Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkJ1ZyAjMjA0Njc6IFBy aXNtIGNyZWF0ZXMgYSB3cm9uZyBDb25zdGFudFJlYWROb2RlIGZvciBgQmFyOjpGb28gPSA0MmAN Cmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMDQ2Nw0KDQoqIEF1dGhvcjogbWFt ZSAoWXVzdWtlIEVuZG9oKQ0KKiBTdGF0dXM6IE9wZW4NCiogQXNzaWduZWU6IGtkZG5ld3RvbiAo S2V2aW4gTmV3dG9uKQ0KKiBCYWNrcG9ydDogMy4xOiBVTktOT1dOLCAzLjI6IFVOS05PV04sIDMu MzogVU5LTk9XTg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQ3Vy cmVudGx5LCBQcmlzbSBjcmVhdGVzIHRoZSBmb2xsb3dpbmcgQVNUIGZvciBgQmFyOjpGb28gPSA0 MmANCg0KYGBgDQppcmIobWFpbik6MDAxPiBQcmlzbS5wYXJzZSglcShCYXI6OkZvbyA9IDQyKSku dmFsdWUNCj0+DQpAIFByb2dyYW1Ob2RlIChsb2NhdGlvbjogKDEsMCktKDEsMTMpKQ0K4pSc4pSA 4pSAIGxvY2FsczogW10NCuKUlOKUgOKUgCBzdGF0ZW1lbnRzOg0KICAgIEAgU3RhdGVtZW50c05v ZGUgKGxvY2F0aW9uOiAoMSwwKS0oMSwxMykpDQogICAg4pSU4pSA4pSAIGJvZHk6IChsZW5ndGg6 IDEpDQogICAgICAgIOKUlOKUgOKUgCBAIENvbnN0YW50UGF0aFdyaXRlTm9kZSAobG9jYXRpb246 ICgxLDApLSgxLDEzKSkNCiAgICAgICAgICAgIOKUnOKUgOKUgCB0YXJnZXQ6DQogICAgICAgICAg ICDilIIgICBAIENvbnN0YW50UGF0aE5vZGUgKGxvY2F0aW9uOiAoMSwwKS0oMSw4KSkNCiAgICAg ICAgICAgIOKUgiAgIOKUnOKUgOKUgCBwYXJlbnQ6DQogICAgICAgICAgICDilIIgICDilIIgICBA IENvbnN0YW50UmVhZE5vZGUgKGxvY2F0aW9uOiAoMSwwKS0oMSwzKSkNCiAgICAgICAgICAgIOKU giAgIOKUgiAgIOKUlOKUgOKUgCBuYW1lOiA6QmFyDQogICAgICAgICAgICDilIIgICDilJzilIDi lIAgY2hpbGQ6DQogICAgICAgICAgICDilIIgICDilIIgICBAIENvbnN0YW50UmVhZE5vZGUgKGxv Y2F0aW9uOiAoMSw1KS0oMSw4KSkNCiAgICAgICAgICAgIOKUgiAgIOKUgiAgIOKUlOKUgOKUgCBu YW1lOiA6Rm9vDQogICAgICAgICAgICDilIIgICDilJTilIDilIAgZGVsaW1pdGVyX2xvYzogKDEs MyktKDEsNSkgPSAiOjoiDQogICAgICAgICAgICDilJzilIDilIAgb3BlcmF0b3JfbG9jOiAoMSw5 KS0oMSwxMCkgPSAiPSINCiAgICAgICAgICAgIOKUlOKUgOKUgCB2YWx1ZToNCiAgICAgICAgICAg ICAgICBAIEludGVnZXJOb2RlIChsb2NhdGlvbjogKDEsMTEpLSgxLDEzKSkNCiAgICAgICAgICAg ICAgICDilJzilIDilIAgZmxhZ3M6IGRlY2ltYWwNCiAgICAgICAgICAgICAgICDilJTilIDilIAg dmFsdWU6IDQyDQpgYGANCg0KTm90ZSB0aGF0IGl0IGluY2x1ZGVzIGBDb25zdGFudFJlYWROb2Rl KG5hbWU6IDpGb28pYC4gSSBiZWxpZXZlIHRoaXMgaXMgYSBidWcgYmVjYXVzZSBgQmFyOjpGb28g PSA0MmAgZG9lcyBub3QgcmVhZCBhIGNvbnN0YW50IGBGb29gLg0KDQpBbHNvLCBgRm9vYCBhbmQg YEJhcjo6Rm9vYCBnZW5lcmF0ZXMgdGhlIGZvbGxvd2luZ3MuIA0KDQpgYGANCmlyYihtYWluKTow MDI+IFByaXNtLnBhcnNlKCVxKEZvbykpLnZhbHVlDQo9Pg0KQCBQcm9ncmFtTm9kZSAobG9jYXRp b246ICgxLDApLSgxLDMpKQ0K4pSc4pSA4pSAIGxvY2FsczogW10NCuKUlOKUgOKUgCBzdGF0ZW1l bnRzOg0KICAgIEAgU3RhdGVtZW50c05vZGUgKGxvY2F0aW9uOiAoMSwwKS0oMSwzKSkNCiAgICDi lJTilIDilIAgYm9keTogKGxlbmd0aDogMSkNCiAgICAgICAg4pSU4pSA4pSAIEAgQ29uc3RhbnRS ZWFkTm9kZSAobG9jYXRpb246ICgxLDApLSgxLDMpKQ0KICAgICAgICAgICAg4pSU4pSA4pSAIG5h bWU6IDpGb28NCmlyYihtYWluKTowMDM+IFByaXNtLnBhcnNlKCVxKEJhcjo6Rm9vKSkudmFsdWUN Cj0+DQpAIFByb2dyYW1Ob2RlIChsb2NhdGlvbjogKDEsMCktKDEsOCkpDQrilJzilIDilIAgbG9j YWxzOiBbXQ0K4pSU4pSA4pSAIHN0YXRlbWVudHM6DQogICAgQCBTdGF0ZW1lbnRzTm9kZSAobG9j YXRpb246ICgxLDApLSgxLDgpKQ0KICAgIOKUlOKUgOKUgCBib2R5OiAobGVuZ3RoOiAxKQ0KICAg ICAgICDilJTilIDilIAgQCBDb25zdGFudFBhdGhOb2RlIChsb2NhdGlvbjogKDEsMCktKDEsOCkp DQogICAgICAgICAgICDilJzilIDilIAgcGFyZW50Og0KICAgICAgICAgICAg4pSCICAgQCBDb25z dGFudFJlYWROb2RlIChsb2NhdGlvbjogKDEsMCktKDEsMykpDQogICAgICAgICAgICDilIIgICDi lJTilIDilIAgbmFtZTogOkJhcg0KICAgICAgICAgICAg4pSc4pSA4pSAIGNoaWxkOg0KICAgICAg ICAgICAg4pSCICAgQCBDb25zdGFudFJlYWROb2RlIChsb2NhdGlvbjogKDEsNSktKDEsOCkpDQog ICAgICAgICAgICDilIIgICDilJTilIDilIAgbmFtZTogOkZvbw0KICAgICAgICAgICAg4pSU4pSA 4pSAIGRlbGltaXRlcl9sb2M6ICgxLDMpLSgxLDUpID0gIjo6Ig0KYGBgDQoNCk5vdGUgdGhhdCBi b3RoIGhhdmUgdGhlIHNhbWUgc3VidHJlZSBvZiBgQ29uc3RhbnRSZWFkTm9kZShuYW1lOiA6Rm9v KWAuIEl0IGlzIHZlcnkgY29uZnVzaW5nIGJlY2F1c2UgYEZvb2AgKG5vbi1zY29wZWQgcmVhZCBv ZiBgRm9vYCkgYW5kIGBCYXI6OkZvb2AgKHNjb3BlZCByZWFkIG9mIGBGb29gKSBoYXZlIHZlcnkg ZGlmZmVyZW50IG1lYW5pbmdzLg0KDQpJIHRoaW5rIHRoZSBmb2xsb3dpbmcgZGVzaWduIHdvdWxk IGJlIGRlc2lyYWJsZS4NCg0KYGBgDQojIEZvbzo6QmFyPTQyDQoNCkNvbnN0YW50UGF0aFdyaXRl Tm9kZSgNCiAgYmFzZTogQ29uc3RhbnRSZWFkTm9kZShuYW1lOiBDb25zdGFudE5hbWVOb2RlKDpG b28pKSwNCiAgbmFtZTogQ29uc3RhbnROYW1lTm9kZSg6QmFyKSwNCiAgdmFsdWU6IDQyDQopDQoN CiMgRm9vDQoNCkNvbnN0YW50UmVhZE5vZGUobmFtZTogQ29uc3RhbnROYW1lTm9kZSg6Rm9vKSkN Cg0KIyBGb286OkJhcg0KDQpDb25zdGFudFBhdGhSZWFkTm9kZSgNCiAgYmFzZTogQ29uc3RhbnRS ZWFkTm9kZShuYW1lOiBDb25zdGFudE5hbWVOb2RlKDpGb28pKSwNCiAgbmFtZTogQ29uc3RhbnRO YW1lTm9kZSg6QmFyKSwNCikNCmBgYA0KDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnLw0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K IHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5vcmcKIFRv IHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1YnktbGFu Zy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9tYWlsbWFu My9wb3N0b3JpdXMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcv