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

From: jjyruby@...
Date: 2018-08-16 21:02:40 UTC
List: ruby-core #88506
SXNzdWUgIzE0OTgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgamp5ciAoSmlueWFuZyBKaWFuZykuCgoK
UHJvcG9zZSBuZXcgc3ludGF4IGZvciBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMv
MTQ5ODIjbm90ZS01IChUaGUgY29yZSBpZGVhIGlzIG5vdCBjaGFuZ2luZykKCmBgYCBydWJ5CiMg
YWRkICdpc29sYXRlJyBrZXl3b3JkIHRvIGRlc2NyaWJlIGFuIGlzb2xhdGVkIGJpbmRpbmcgc2Nv
cGUKaXNvbGF0ZQogICMgLi4uLi4KICAjIGNhbid0IGFjY2VzcyB1bmltcG9ydGVkIG5hbWVzIGZy
b20gaXNvbGF0ZSBiaW5kaW5nCiAgaW1wb3J0IDpGb28sIGZyb206ICdmb28nCmVuZAoKIyBpc29s
YXRlZCBtb2R1bGUKCmlzb2xhdGUgbW9kdWxlIEEKIyAuLi4uCmVuZAoKIyBlcXVpdmFsZW50IHRv
IAppc29sYXRlCiAgbW9kdWxlIEEKICBlbmQKZW5kCgojIGlzb2xhdGVkIGNsYXNzCgppc29sYXRl
IGNsYXNzIEEKIyAuLi4uCmVuZAoKIyBlcXVpdmFsZW50IHRvIAppc29sYXRlCiAgY2xhc3MgQQog
IGVuZAplbmQKCiMgcmVxdWlyZSBhbmQgaW1wb3J0IGlzIG5vdCBjaGFuZ2VkIHNpbmNlIHByZXZp
b3VzIGRlc2NyaWJlCnJlcXVpcmUgJ2ZvbycsIGludG86IDpJc29sYXRlZE1vZHVsZUZvbwppbXBv
cnQgOkZvbywgYXMgOlNlY29uZEZvbywgZnJvbSAnZm9vMicKYGBgCgotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE0OTgyOiBJbXByb3ZlIG5hbWVzcGFj
ZSBzeXN0ZW0gaW4gcnVieSB0byBhdm9pZGluZyB0b3AtbGV2ZWwgIG5hbWVzIGNoYW9zCmh0dHBz
Oi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNDk4MiNjaGFuZ2UtNzM1NjMKCiogQXV0aG9y
OiBqanlyIChKaW55YW5nIEppYW5nKQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwK
KiBBc3NpZ25lZTogCiogVGFyZ2V0IHZlcnNpb246IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tClVwZGF0ZWQ6IGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vl
cy8xNDk4MiNub3RlLTUKCgoKIyMgV2h5CgpSdWJ5IGhhcyBldmFsdWF0aW9uIGFsbCBjbGFzcy9t
b2R1bGUgbmFtZXMgaW4gdG9wLWxldmVsIGNvbnRleHQoYWthIFRPUExFVkVMX0JJTkRJTkcpLiAK
QXMgYSB1c2VyIHdlIGJhc2ljYWxseSBoYXJkIHRvIGtub3cgaG93IG1hbnkgbmFtZXMgaW4gdGhl
IGN1cnJlbnQgY29udGV4dCwgaXMgY2F1c2luZyBjaGFvcyBpbiBzb21lIGNhc2VzLiBGb3IgZXhh
bXBsZToKCmNhc2UgMTogCgpQdXQgY29tbW9uIHVzZWQgZXJyb3JzIGNsYXNzIGluIGEgc2luZ2xl
IGZpbGUsIGxpa2UgYmVsb3cKCmBgYCBydWJ5CiMgdXRpbHMvZXJyb3JzLnJiCgpjbGFzcyBGb29F
cnJvcgplbmQKCmNsYXNzIEJhckVycm9yCmVuZApgYGAKCkluIG90aGVyIGZpbGVzIHVuZGVyICd1
dGlscycgd2Ugd2FudCB0byB1c2UgdGhvc2UgZXJyb3JzLCBzbyB0aGUgYmVzdCBwcmFjdGljZSBp
cyB0byB1c2UgYHJlcXVpcmVfcmVsYXRpdmUgJ2Vycm9ycydgIGluIGVhY2ggZmlsZSB3ZSBuZWVk
LgoKYGBgIHJ1YnkKIyB1dGlscy9iaW5hcnlfaGVscGVyLnJiCgojIHdlIGZvcmdldCByZXF1aXJl
IGVycm9ycwoKbW9kdWxlIEJpbmFyeUhlbHBlcgojIC4uLgogIHJhaXNlIEJhckVycm9yCiMgLi4u
CmVuZAoKYGBgCgpCdXQgc29tZXRpbWUgd2UgbWF5IGZvcmdldCB0byByZXF1aXJlIGRlcGVuZGVu
Y2llcyBpbiBhIGZpbGUsIGl0J3MgaGFyZCB0byBub3RpY2UgYmVjYXVzZQogaWYgUnVieVZNIGFs
cmVhZHkgZXhlY3V0ZSB0aGUgcmVxdWlyZXMgd2Ugc3RpbGwgY2FuIGFjY2VzcyB0aGUgbmFtZSBC
YXJFcnJvciwKCmJ1dCBpZiB1c2VyIGRpcmVjdGx5IHRvIHJlcXVpcmUgJ3V0aWxzL2JpbmFyeV9o
ZWxwZXInLCBoZS9zaGUgd2lsbCBnb3QgYW4gTmFtZUVycm9yLgoKCmNhc2UgMjogCgpUd28gZ2Vt
cyB1c2Ugc2FtZSB0b3AtbGV2ZWwgbW9kdWxlIG5hbWUsIHNvIHdlIGNhbid0IHVzZSB0aGVtIHRv
Z2V0aGVyCgojIyBUaGUgUmVhc29uIG9mIFRoZSBQcm9ibGVtCgpUaGUgcmVhc29uIGlzIHdlIGxl
dCBtb2R1bGUgYXV0aG9yIHRvIGRlY2lzaW9uIHdoaWNoIG1vZHVsZSB1c2VyIGNhbiB1c2UuICgn
cmVxdWlyZScgaXMgYmFzaWNhbGx5IGV2YWx1YXRpb24sIGhpZ2hseSBkZXBlbmRlbnQgb24gdGhl
IG1vZHVsZSBhdXRob3IncyBkZXNpZ24pCgpCdXQgd2Ugc2hvdWxkIGxldCB1c2VycyBjb250cm9s
IHdoaWNoIG5hbWVzIHRvIHVzZSBhbmQgYXZhaWxhYmxlIGluIGNvbnRleHQuIEFzIG1hbnkgb3Ro
ZXIgcG9wdWxhciBsYW5ndWFnZXMgZG9zZShSdXN0LCBQeXRob24uLikKCkkgdGhpbmsgdGhlIHNv
bHV0aW9uIGlzIGJhc2ljYWxseSB0aGUgc2FtZSBwaGlsb3NvcGh5IGNvbXBhcmVzIHRvIHJlZmlu
ZW1lbnQgZmVhdHVyZS4KCgojIyBUaGUgRGVzaWduCgpJIHByb3Bvc2UgYW4gaW1wcm92ZWQgbmFt
ZXNwYWNlIHRvIFJ1YnksIHRvIHNvbHZlIHRoZSBwcm9ibGVtcyBhbmQgc3RpbGwgY29tcGF0aWJs
ZSB3aXRoIHRoZSBjdXJyZW50IFJ1YnkgbW9kdWxlIHN5c3RlbS4KCmBgYCBydWJ5CmNsYXNzIEZv
bwplbmQKCiMgaW50cm9kdWNlIEtlcm5lbCNuYW1lc3BhY2UKbmFtZXNwYWNlIDpIZWxsbyBkbwog
ICMgYXZvaWRpbmcgbmFtZXNwYWNlIGNoYW9zCiAgIyBGb28gLT4gTmFtZUVycm9yLCBjYW4ndCBh
Y2Nlc3MgVE9QTEVWRUxfQklORElORyBkaXJlY3RseQogIAogICMgS2VybmVsI2ltcG9ydCBtZXRo
b2QsIGludHJvZHVjZSBGb28gbmFtZSBmcm9tIFRPUExFVkVMX0JJTkRJTkcKICBpbXBvcnQgOkZv
bwoKICAjIGluIGEgbmFtZXNwYWNlIHVzZXIgY2FuIG9ubHkgYWNjZXNzIGltcG9ydGVkIG5hbWUK
ICBGb28KCiAgIyBpbXBvcnQgY29uc3RhbnQgdG8gYW5vdGhlciBhbGlhcyBuYW1lCiAgIyBjYW4g
YXZvaWQgd3JpdGluZyBuZXN0ZWQgbW9kdWxlL2NsYXNzIG5hbWVzCiAgaW1wb3J0IDoiQTo6Qjo6
Qzo6RCIsIGFzOiA6RQoKICAjIHJlcXVpcmUgdGhlbiBpbXBvcnQsIGZvciBjb252ZW5pZW50IAog
IGltcG9ydCA6IkE6OkI6OkM6OkQiLCBhczogOkUsIGZyb206ICdzb21lX3JiX2ZpbGUnCgogICMg
aW1wb3J0IHNhbWUgbmFtZSBmcm9tIHR3byBnZW1zCiAgaW1wb3J0IDoiRm9vIiwgYXM6IDpGb29f
QSwgZnJvbTogJ2Zvb19hJwogIGltcG9ydCA6IkZvbyIsIGFzOiA6Rm9vX0IsIGZyb206ICdmb29f
YicKCiAgIyBpbXBvcnQgbmFtZXMgaW4gYmF0Y2gKICBpbXBvcnQgJWl7IkE6OkI6OkM6OkQiLCAi
QW5vdGhlckNsYXNzIn0sIGZyb206ICdzb21lX3JiX2ZpbGUnCgogICMgaW1wb3J0IGFuZCBhbGlh
cyBpbiBiYXRjaAogIGltcG9ydCB7OiJBOjpCOjpDOjpEIiA9PiA6RSwgOkZvbyA9PiBGb28yfSwg
ZnJvbTogJ3NvbWVfcmJfZmlsZScKCiAgY2xhc3MgQmFyCiAgICBkZWYgeHh4CiAgICAgICMgY2Fu
IGFjY2VzcyBhbGwgbmFtZXMgaW4gbmFtZXNwYWNlIHNjb3BlCiAgICAgIFtGb28sIEZvb19BLCBG
b29fQl0KICAgIGVuZAogIGVuZAplbmQKCkhlbGxvLmNsYXNzICMgIC0+IG1vZHVsZS4gbmFtZXNw
YWNlIGlzIGp1c3QgYSBtb2R1bGUKSGVsbG86OkJhciAjIHNvIHdlIGRvIG5vdCBicm9rZW4gY3Vy
cmVudCBydWJ5IG1vZHVsZSBkZXNpZ24KCiMgbmFtZXNwYWNlIHN5c3RlbSBpcyBpbnRlbnQgdG8g
bGV0IHVzZXIgdG8gY29udHJvbCBuYW1lcyBpbiBjb250ZXh0CiMgU28gdXNlciBjYW4gY2hvb3Nl
IHVzZSB0aGUgb2xkIHJlcXVpcmUgd2F5CgpyZXF1aXJlICdoZWxsbycKCkhlbGxvOjpCYXIKCgoj
IE9yIHVzZXIgY2FuIHVzZSBuYW1lc3BhY2Ugc3lzdGVtIGFzIHdlIGRvIGluIGhlbGxvLnJiCgpu
YW1lc3BhY2UgOkV4YW1wbGUgZG8KICBpbXBvcnQgOiJIZWxsbzo6QmFyIiwgYXM6IDpCYXIKICBC
YXIgIyBvawogIEZvbyAjIG5hbWUgZXJyb3IsIGNhdXNlIHdlIGRvIG5vdCBpbXBvcnQgRm9vIGlu
IDpFeGFtcGxlIG5hbWVzcGFjZQplbmQKCkZvbyAjIG9rLCBjYXVzZSBGb28gaXMgbG9hZGVkIGlu
IFRPUExFVkVMX0JJTkRJTkcKCiMgZGVmaW5lIG5lc3RlZCBuYW1lc3BhY2UKCiMgbW9yZSBjbGVh
ciBzeW50YXggdGhhbiDigJxtb2R1bGUgRXhhbXBsZTo6TmVzdGVkRXhhbXBsZeKAnQpuYW1lc3Bh
Y2UgOk5lc3RlZEV4YW1wbGUsIHVuZGVyOiBFeGFtcGxlIGRvCmVuZAoKbmFtZXNwYWNlIDpFeGFt
cGxlMiBkbwogIG5hbWVzcGFjZSA6TmVzdGVkRXhhbXBsZSBkbwogIGVuZAplbmQKCmBgYAoKUHJv
czoKCiogQ29tcGxldGVseSBjb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgbW9kdWxlIHN5c3Rl
bSwgYSBnZW0gdXNlciBjYW4gY29tcGxldGVseSBpZ25vcmUgd2hldGhlciBhIGdlbSBpcyB3cml0
ZSBpbiBOYW1lc3BhY2Ugb3Igbm90LgoqIFVzZXIgY2FuIGNvbXBsZXRlbHkgY29udHJvbCB3aGlj
aCBuYW1lcyBpbiBjdXJyZW50IGNvbnRleHQvc2NvcGUuCiogTWF5IHNvbHZlIHRoZSB0b3AgbW9k
dWxlIG5hbWUgY29uZmxpY3QgaXNzdWUoZGVwZW5kcyBvbiBWTSBpbXBsZW1lbnRhdGlvbikuCiog
QXZvaWQgaW50cm9kdWNpbmcgbmV3IGtleXdvcmQgYW5kIHN5bnRheC4KKiBUeXBlIGhpbnQgb3Ig
bmFtZSBoaW50IGNhbiBiZSBtb3JlIGFjY3VyYWN5IHVuZGVyIG5hbWVzcGFjZShub3Qgc3VyZSku
CgpDb25zOgoKKiBOZWVkIHRvIG1vZGlmeSBSdWJ5IFZNIHRvIHN1cHBvcnQgdGhlIGZlYXR1cmUu
CgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0
bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+Cjxo
dHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNv
cmU+Cg==

In This Thread

Prev Next