[ruby-core:91953] [Ruby trunk Feature#14982] Improve namespace system in ruby to avoiding top-level names chaos

From: chocolate@...
Date: 2019-03-23 01:10:03 UTC
List: ruby-core #91953
SXNzdWUgIzE0OTgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgY2hvY29sYXRlYm95IChDaG9jb2xhdGUg
Qm95KS4NCg0KDQpJIGxpa2UgdGhpcyBpZGVhIChhbmQgdGhlIG90aGVyIHN1Z2dlc3Rpb25zIGFu
ZCBpbXBsZW1lbnRhdGlvbnMpLiBJIHByb3Bvc2VkIHNvbWV0aGluZyBzaW1pbGFyIGZvciBDcnlz
dGFsIGEgd2hpbGUgYmFjayBbaGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL2NyeXN0YWwtbGFuZy9j
cnlzdGFsL2lzc3Vlcy80NDM5KS4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQ0KRmVhdHVyZSAjMTQ5ODI6IEltcHJvdmUgbmFtZXNwYWNlIHN5c3RlbSBpbiBydWJ5
IHRvIGF2b2lkaW5nIHRvcC1sZXZlbCAgbmFtZXMgY2hhb3MNCmh0dHBzOi8vYnVncy5ydWJ5LWxh
bmcub3JnL2lzc3Vlcy8xNDk4MiNjaGFuZ2UtNzcyODUNCg0KKiBBdXRob3I6IGpqeXIgKEppbnlh
bmcgSmlhbmcpDQoqIFN0YXR1czogT3Blbg0KKiBQcmlvcml0eTogTm9ybWFsDQoqIEFzc2lnbmVl
OiBtYXR6IChZdWtpaGlybyBNYXRzdW1vdG8pDQoqIFRhcmdldCB2ZXJzaW9uOiBOZXh0IE1ham9y
DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpVcGRhdGVkOiBodHRw
czovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTQ5ODIjbm90ZS01DQoNCg0KDQojIyBXaHkN
Cg0KUnVieSBoYXMgZXZhbHVhdGlvbiBhbGwgY2xhc3MvbW9kdWxlIG5hbWVzIGluIHRvcC1sZXZl
bCBjb250ZXh0KGFrYSBUT1BMRVZFTF9CSU5ESU5HKS4gDQpBcyBhIHVzZXIgd2UgYmFzaWNhbGx5
IGhhcmQgdG8ga25vdyBob3cgbWFueSBuYW1lcyBpbiB0aGUgY3VycmVudCBjb250ZXh0LCBpcyBj
YXVzaW5nIGNoYW9zIGluIHNvbWUgY2FzZXMuIEZvciBleGFtcGxlOg0KDQpjYXNlIDE6IA0KDQpQ
dXQgY29tbW9uIHVzZWQgZXJyb3JzIGNsYXNzIGluIGEgc2luZ2xlIGZpbGUsIGxpa2UgYmVsb3cN
Cg0KYGBgIHJ1YnkNCiMgdXRpbHMvZXJyb3JzLnJiDQoNCmNsYXNzIEZvb0Vycm9yDQplbmQNCg0K
Y2xhc3MgQmFyRXJyb3INCmVuZA0KYGBgDQoNCkluIG90aGVyIGZpbGVzIHVuZGVyICd1dGlscycg
d2Ugd2FudCB0byB1c2UgdGhvc2UgZXJyb3JzLCBzbyB0aGUgYmVzdCBwcmFjdGljZSBpcyB0byB1
c2UgYHJlcXVpcmVfcmVsYXRpdmUgJ2Vycm9ycydgIGluIGVhY2ggZmlsZSB3ZSBuZWVkLg0KDQpg
YGAgcnVieQ0KIyB1dGlscy9iaW5hcnlfaGVscGVyLnJiDQoNCiMgd2UgZm9yZ2V0IHJlcXVpcmUg
ZXJyb3JzDQoNCm1vZHVsZSBCaW5hcnlIZWxwZXINCiMgLi4uDQogIHJhaXNlIEJhckVycm9yDQoj
IC4uLg0KZW5kDQoNCmBgYA0KDQpCdXQgc29tZXRpbWUgd2UgbWF5IGZvcmdldCB0byByZXF1aXJl
IGRlcGVuZGVuY2llcyBpbiBhIGZpbGUsIGl0J3MgaGFyZCB0byBub3RpY2UgYmVjYXVzZQ0KIGlm
IFJ1YnlWTSBhbHJlYWR5IGV4ZWN1dGUgdGhlIHJlcXVpcmVzIHdlIHN0aWxsIGNhbiBhY2Nlc3Mg
dGhlIG5hbWUgQmFyRXJyb3IsDQoNCmJ1dCBpZiB1c2VyIGRpcmVjdGx5IHRvIHJlcXVpcmUgJ3V0
aWxzL2JpbmFyeV9oZWxwZXInLCBoZS9zaGUgd2lsbCBnb3QgYW4gTmFtZUVycm9yLg0KDQoNCmNh
c2UgMjogDQoNClR3byBnZW1zIHVzZSBzYW1lIHRvcC1sZXZlbCBtb2R1bGUgbmFtZSwgc28gd2Ug
Y2FuJ3QgdXNlIHRoZW0gdG9nZXRoZXINCg0KIyMgVGhlIFJlYXNvbiBvZiBUaGUgUHJvYmxlbQ0K
DQpUaGUgcmVhc29uIGlzIHdlIGxldCBtb2R1bGUgYXV0aG9yIHRvIGRlY2lzaW9uIHdoaWNoIG1v
ZHVsZSB1c2VyIGNhbiB1c2UuICgncmVxdWlyZScgaXMgYmFzaWNhbGx5IGV2YWx1YXRpb24sIGhp
Z2hseSBkZXBlbmRlbnQgb24gdGhlIG1vZHVsZSBhdXRob3IncyBkZXNpZ24pDQoNCkJ1dCB3ZSBz
aG91bGQgbGV0IHVzZXJzIGNvbnRyb2wgd2hpY2ggbmFtZXMgdG8gdXNlIGFuZCBhdmFpbGFibGUg
aW4gY29udGV4dC4gQXMgbWFueSBvdGhlciBwb3B1bGFyIGxhbmd1YWdlcyBkb3NlKFJ1c3QsIFB5
dGhvbi4uKQ0KDQpJIHRoaW5rIHRoZSBzb2x1dGlvbiBpcyBiYXNpY2FsbHkgdGhlIHNhbWUgcGhp
bG9zb3BoeSBjb21wYXJlcyB0byByZWZpbmVtZW50IGZlYXR1cmUuDQoNCg0KIyMgVGhlIERlc2ln
bg0KDQpJIHByb3Bvc2UgYW4gaW1wcm92ZWQgbmFtZXNwYWNlIHRvIFJ1YnksIHRvIHNvbHZlIHRo
ZSBwcm9ibGVtcyBhbmQgc3RpbGwgY29tcGF0aWJsZSB3aXRoIHRoZSBjdXJyZW50IFJ1YnkgbW9k
dWxlIHN5c3RlbS4NCg0KYGBgIHJ1YnkNCmNsYXNzIEZvbw0KZW5kDQoNCiMgaW50cm9kdWNlIEtl
cm5lbCNuYW1lc3BhY2UNCm5hbWVzcGFjZSA6SGVsbG8gZG8NCiAgIyBhdm9pZGluZyBuYW1lc3Bh
Y2UgY2hhb3MNCiAgIyBGb28gLT4gTmFtZUVycm9yLCBjYW4ndCBhY2Nlc3MgVE9QTEVWRUxfQklO
RElORyBkaXJlY3RseQ0KICANCiAgIyBLZXJuZWwjaW1wb3J0IG1ldGhvZCwgaW50cm9kdWNlIEZv
byBuYW1lIGZyb20gVE9QTEVWRUxfQklORElORw0KICBpbXBvcnQgOkZvbw0KDQogICMgaW4gYSBu
YW1lc3BhY2UgdXNlciBjYW4gb25seSBhY2Nlc3MgaW1wb3J0ZWQgbmFtZQ0KICBGb28NCg0KICAj
IGltcG9ydCBjb25zdGFudCB0byBhbm90aGVyIGFsaWFzIG5hbWUNCiAgIyBjYW4gYXZvaWQgd3Jp
dGluZyBuZXN0ZWQgbW9kdWxlL2NsYXNzIG5hbWVzDQogIGltcG9ydCA6IkE6OkI6OkM6OkQiLCBh
czogOkUNCg0KICAjIHJlcXVpcmUgdGhlbiBpbXBvcnQsIGZvciBjb252ZW5pZW50IA0KICBpbXBv
cnQgOiJBOjpCOjpDOjpEIiwgYXM6IDpFLCBmcm9tOiAnc29tZV9yYl9maWxlJw0KDQogICMgaW1w
b3J0IHNhbWUgbmFtZSBmcm9tIHR3byBnZW1zDQogIGltcG9ydCA6IkZvbyIsIGFzOiA6Rm9vX0Es
IGZyb206ICdmb29fYScNCiAgaW1wb3J0IDoiRm9vIiwgYXM6IDpGb29fQiwgZnJvbTogJ2Zvb19i
Jw0KDQogICMgaW1wb3J0IG5hbWVzIGluIGJhdGNoDQogIGltcG9ydCAlaXsiQTo6Qjo6Qzo6RCIs
ICJBbm90aGVyQ2xhc3MifSwgZnJvbTogJ3NvbWVfcmJfZmlsZScNCg0KICAjIGltcG9ydCBhbmQg
YWxpYXMgaW4gYmF0Y2gNCiAgaW1wb3J0IHs6IkE6OkI6OkM6OkQiID0+IDpFLCA6Rm9vID0+IEZv
bzJ9LCBmcm9tOiAnc29tZV9yYl9maWxlJw0KDQogIGNsYXNzIEJhcg0KICAgIGRlZiB4eHgNCiAg
ICAgICMgY2FuIGFjY2VzcyBhbGwgbmFtZXMgaW4gbmFtZXNwYWNlIHNjb3BlDQogICAgICBbRm9v
LCBGb29fQSwgRm9vX0JdDQogICAgZW5kDQogIGVuZA0KZW5kDQoNCkhlbGxvLmNsYXNzICMgIC0+
IG1vZHVsZS4gbmFtZXNwYWNlIGlzIGp1c3QgYSBtb2R1bGUNCkhlbGxvOjpCYXIgIyBzbyB3ZSBk
byBub3QgYnJva2VuIGN1cnJlbnQgcnVieSBtb2R1bGUgZGVzaWduDQoNCiMgbmFtZXNwYWNlIHN5
c3RlbSBpcyBpbnRlbnQgdG8gbGV0IHVzZXIgdG8gY29udHJvbCBuYW1lcyBpbiBjb250ZXh0DQoj
IFNvIHVzZXIgY2FuIGNob29zZSB1c2UgdGhlIG9sZCByZXF1aXJlIHdheQ0KDQpyZXF1aXJlICdo
ZWxsbycNCg0KSGVsbG86OkJhcg0KDQoNCiMgT3IgdXNlciBjYW4gdXNlIG5hbWVzcGFjZSBzeXN0
ZW0gYXMgd2UgZG8gaW4gaGVsbG8ucmINCg0KbmFtZXNwYWNlIDpFeGFtcGxlIGRvDQogIGltcG9y
dCA6IkhlbGxvOjpCYXIiLCBhczogOkJhcg0KICBCYXIgIyBvaw0KICBGb28gIyBuYW1lIGVycm9y
LCBjYXVzZSB3ZSBkbyBub3QgaW1wb3J0IEZvbyBpbiA6RXhhbXBsZSBuYW1lc3BhY2UNCmVuZA0K
DQpGb28gIyBvaywgY2F1c2UgRm9vIGlzIGxvYWRlZCBpbiBUT1BMRVZFTF9CSU5ESU5HDQoNCiMg
ZGVmaW5lIG5lc3RlZCBuYW1lc3BhY2UNCg0KIyBtb3JlIGNsZWFyIHN5bnRheCB0aGFuIOKAnG1v
ZHVsZSBFeGFtcGxlOjpOZXN0ZWRFeGFtcGxl4oCdDQpuYW1lc3BhY2UgOk5lc3RlZEV4YW1wbGUs
IHVuZGVyOiBFeGFtcGxlIGRvDQplbmQNCg0KbmFtZXNwYWNlIDpFeGFtcGxlMiBkbw0KICBuYW1l
c3BhY2UgOk5lc3RlZEV4YW1wbGUgZG8NCiAgZW5kDQplbmQNCg0KYGBgDQoNClByb3M6DQoNCiog
Q29tcGxldGVseSBjb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgbW9kdWxlIHN5c3RlbSwgYSBn
ZW0gdXNlciBjYW4gY29tcGxldGVseSBpZ25vcmUgd2hldGhlciBhIGdlbSBpcyB3cml0ZSBpbiBO
YW1lc3BhY2Ugb3Igbm90Lg0KKiBVc2VyIGNhbiBjb21wbGV0ZWx5IGNvbnRyb2wgd2hpY2ggbmFt
ZXMgaW4gY3VycmVudCBjb250ZXh0L3Njb3BlLg0KKiBNYXkgc29sdmUgdGhlIHRvcCBtb2R1bGUg
bmFtZSBjb25mbGljdCBpc3N1ZShkZXBlbmRzIG9uIFZNIGltcGxlbWVudGF0aW9uKS4NCiogQXZv
aWQgaW50cm9kdWNpbmcgbmV3IGtleXdvcmQgYW5kIHN5bnRheC4NCiogVHlwZSBoaW50IG9yIG5h
bWUgaGludCBjYW4gYmUgbW9yZSBhY2N1cmFjeSB1bmRlciBuYW1lc3BhY2Uobm90IHN1cmUpLg0K
DQpDb25zOg0KDQoqIE5lZWQgdG8gbW9kaWZ5IFJ1YnkgVk0gdG8gc3VwcG9ydCB0aGUgZmVhdHVy
ZS4NCg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCgpVbnN1YnNjcmli
ZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJz
Y3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9u
cy9ydWJ5LWNvcmU+Cg==

In This Thread

Prev Next