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

From: jjyruby@...
Date: 2018-08-13 06:40:53 UTC
List: ruby-core #88461
SXNzdWUgIzE0OTgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgamp5ciAoSmlueWFuZyBKaWFuZykuCgoK
c2h5b3VoZWkgKFNoeW91aGVpIFVyYWJlKSB3cm90ZToKPiBJIGxpa2UgdGhpcyBpZGVhIGluIGdl
bmVyYWwuIEkgdG9vIHdhbnQgdG8gaGF2ZSAicmVxdWlyaW5nIGludG8gaXNvbGF0ZWQgQmluZGlu
ZyIuCj4gCj4gT25lIHRoaW5nIEkgd291bGQgbGlrZSB0byBhZGQsICJuYW1lc3BhY2UiIHNoYWxs
IGJlIGEga2V5d29yZCByYXRoZXIgdGhhbiBhIG5vcm1hbCBtZXRob2QgdGFraW5nIGEgYmxvY2su
ICBCbG9ja3MgY2FuIGJlIHBhc3NlZCBhcm91bmQ6Cj4gCj4gYGBgcnVieQo+IG5hbWVzcGFjZSA6
Rm9vIGRvCj4gICBpbXBvcnQgOkZvbyBmcm9tOiAnZm9vJwo+ICAgZGVmIHNlbGYuYmFyCj4gICAg
IHJldHVybiBsYW1uZGEgZG8KPiAgICAgICBGb28KPiAgICAgZW5kCj4gICBlbmQKPiBlYmQKPiAK
PiBuYW1lc3BhY2UoOkJhciwgJkZvby5iYXIpICMgPT4gRXJyb3IsIG9yIC4uLj8KPiBgYGAKPiAK
PiBXZSBzaG91bGQgZm9yYmlkIHRoaXMga2luZCBvZiBoZWFkYWNoZS4KClRvdGFsbHkgYWdyZWVk
IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxNDk4
MjogSW1wcm92ZSBuYW1lc3BhY2Ugc3lzdGVtIGluIHJ1YnkgdG8gYXZvaWRpbmcgdG9wLWxldmVs
ICBuYW1lcyBjaGFvcwpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTQ5ODIjY2hh
bmdlLTczNTI3CgoqIEF1dGhvcjogamp5ciAoSmlueWFuZyBKaWFuZykKKiBTdGF0dXM6IE9wZW4K
KiBQcmlvcml0eTogTm9ybWFsCiogQXNzaWduZWU6IAoqIFRhcmdldCB2ZXJzaW9uOiAKLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpVcGRhdGVkOiBodHRwczovL2J1Z3Mu
cnVieS1sYW5nLm9yZy9pc3N1ZXMvMTQ5ODIjbm90ZS01CgoKCiMjIFdoeQoKUnVieSBoYXMgZXZh
bHVhdGlvbiBhbGwgY2xhc3MvbW9kdWxlIG5hbWVzIGluIHRvcC1sZXZlbCBjb250ZXh0KGFrYSBU
T1BMRVZFTF9CSU5ESU5HKS4gCkFzIGEgdXNlciB3ZSBiYXNpY2FsbHkgaGFyZCB0byBrbm93IGhv
dyBtYW55IG5hbWVzIGluIHRoZSBjdXJyZW50IGNvbnRleHQsIGlzIGNhdXNpbmcgY2hhb3MgaW4g
c29tZSBjYXNlcy4gRm9yIGV4YW1wbGU6CgpjYXNlIDE6IAoKUHV0IGNvbW1vbiB1c2VkIGVycm9y
cyBjbGFzcyBpbiBhIHNpbmdsZSBmaWxlLCBsaWtlIGJlbG93CgpgYGAgcnVieQojIHV0aWxzL2Vy
cm9ycy5yYgoKY2xhc3MgRm9vRXJyb3IKZW5kCgpjbGFzcyBCYXJFcnJvcgplbmQKYGBgCgpJbiBv
dGhlciBmaWxlcyB1bmRlciAndXRpbHMnIHdlIHdhbnQgdG8gdXNlIHRob3NlIGVycm9ycywgc28g
dGhlIGJlc3QgcHJhY3RpY2UgaXMgdG8gdXNlIGByZXF1aXJlX3JlbGF0aXZlICdlcnJvcnMnYCBp
biBlYWNoIGZpbGUgd2UgbmVlZC4KCmBgYCBydWJ5CiMgdXRpbHMvYmluYXJ5X2hlbHBlci5yYgoK
IyB3ZSBmb3JnZXQgcmVxdWlyZSBlcnJvcnMKCm1vZHVsZSBCaW5hcnlIZWxwZXIKIyAuLi4KICBy
YWlzZSBCYXJFcnJvcgojIC4uLgplbmQKCmBgYAoKQnV0IHNvbWV0aW1lIHdlIG1heSBmb3JnZXQg
dG8gcmVxdWlyZSBkZXBlbmRlbmNpZXMgaW4gYSBmaWxlLCBpdCdzIGhhcmQgdG8gbm90aWNlIGJl
Y2F1c2UKIGlmIFJ1YnlWTSBhbHJlYWR5IGV4ZWN1dGUgdGhlIHJlcXVpcmVzIHdlIHN0aWxsIGNh
biBhY2Nlc3MgdGhlIG5hbWUgQmFyRXJyb3IsCgpidXQgaWYgdXNlciBkaXJlY3RseSB0byByZXF1
aXJlICd1dGlscy9iaW5hcnlfaGVscGVyJywgaGUvc2hlIHdpbGwgZ290IGFuIE5hbWVFcnJvci4K
CgpjYXNlIDI6IAoKVHdvIGdlbXMgdXNlIHNhbWUgdG9wLWxldmVsIG1vZHVsZSBuYW1lLCBzbyB3
ZSBjYW4ndCB1c2UgdGhlbSB0b2dldGhlcgoKIyMgVGhlIFJlYXNvbiBvZiBUaGUgUHJvYmxlbQoK
VGhlIHJlYXNvbiBpcyB3ZSBsZXQgbW9kdWxlIGF1dGhvciB0byBkZWNpc2lvbiB3aGljaCBtb2R1
bGUgdXNlciBjYW4gdXNlLiAoJ3JlcXVpcmUnIGlzIGJhc2ljYWxseSBldmFsdWF0aW9uLCBoaWdo
bHkgZGVwZW5kZW50IG9uIHRoZSBtb2R1bGUgYXV0aG9yJ3MgZGVzaWduKQoKQnV0IHdlIHNob3Vs
ZCBsZXQgdXNlcnMgY29udHJvbCB3aGljaCBuYW1lcyB0byB1c2UgYW5kIGF2YWlsYWJsZSBpbiBj
b250ZXh0LiBBcyBtYW55IG90aGVyIHBvcHVsYXIgbGFuZ3VhZ2VzIGRvc2UoUnVzdCwgUHl0aG9u
Li4pCgpJIHRoaW5rIHRoZSBzb2x1dGlvbiBpcyBiYXNpY2FsbHkgdGhlIHNhbWUgcGhpbG9zb3Bo
eSBjb21wYXJlcyB0byByZWZpbmVtZW50IGZlYXR1cmUuCgoKIyMgVGhlIERlc2lnbgoKSSBwcm9w
b3NlIGFuIGltcHJvdmVkIG5hbWVzcGFjZSB0byBSdWJ5LCB0byBzb2x2ZSB0aGUgcHJvYmxlbXMg
YW5kIHN0aWxsIGNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCBSdWJ5IG1vZHVsZSBzeXN0ZW0u
CgpgYGAgcnVieQpjbGFzcyBGb28KZW5kCgojIGludHJvZHVjZSBLZXJuZWwjbmFtZXNwYWNlCm5h
bWVzcGFjZSA6SGVsbG8gZG8KICAjIGF2b2lkaW5nIG5hbWVzcGFjZSBjaGFvcwogICMgRm9vIC0+
IE5hbWVFcnJvciwgY2FuJ3QgYWNjZXNzIFRPUExFVkVMX0JJTkRJTkcgZGlyZWN0bHkKICAKICAj
IEtlcm5lbCNpbXBvcnQgbWV0aG9kLCBpbnRyb2R1Y2UgRm9vIG5hbWUgZnJvbSBUT1BMRVZFTF9C
SU5ESU5HCiAgaW1wb3J0IDpGb28KCiAgIyBpbiBhIG5hbWVzcGFjZSB1c2VyIGNhbiBvbmx5IGFj
Y2VzcyBpbXBvcnRlZCBuYW1lCiAgRm9vCgogICMgaW1wb3J0IGNvbnN0YW50IHRvIGFub3RoZXIg
YWxpYXMgbmFtZQogICMgY2FuIGF2b2lkIHdyaXRpbmcgbmVzdGVkIG1vZHVsZS9jbGFzcyBuYW1l
cwogIGltcG9ydCA6IkE6OkI6OkM6OkQiLCBhczogOkUKCiAgIyByZXF1aXJlIHRoZW4gaW1wb3J0
LCBmb3IgY29udmVuaWVudCAKICBpbXBvcnQgOiJBOjpCOjpDOjpEIiwgYXM6IDpFLCBmcm9tOiAn
c29tZV9yYl9maWxlJwoKICAjIGltcG9ydCBzYW1lIG5hbWUgZnJvbSB0d28gZ2VtcwogIGltcG9y
dCA6IkZvbyIsIGFzOiA6Rm9vX0EsIGZyb206ICdmb29fYScKICBpbXBvcnQgOiJGb28iLCBhczog
OkZvb19CLCBmcm9tOiAnZm9vX2InCgogICMgaW1wb3J0IG5hbWVzIGluIGJhdGNoCiAgaW1wb3J0
ICVpeyJBOjpCOjpDOjpEIiwgIkFub3RoZXJDbGFzcyJ9LCBmcm9tOiAnc29tZV9yYl9maWxlJwoK
ICAjIGltcG9ydCBhbmQgYWxpYXMgaW4gYmF0Y2gKICBpbXBvcnQgezoiQTo6Qjo6Qzo6RCIgPT4g
OkUsIDpGb28gPT4gRm9vMn0sIGZyb206ICdzb21lX3JiX2ZpbGUnCgogIGNsYXNzIEJhcgogICAg
ZGVmIHh4eAogICAgICAjIGNhbiBhY2Nlc3MgYWxsIG5hbWVzIGluIG5hbWVzcGFjZSBzY29wZQog
ICAgICBbRm9vLCBGb29fQSwgRm9vX0JdCiAgICBlbmQKICBlbmQKZW5kCgpIZWxsby5jbGFzcyAj
ICAtPiBtb2R1bGUuIG5hbWVzcGFjZSBpcyBqdXN0IGEgbW9kdWxlCkhlbGxvOjpCYXIgIyBzbyB3
ZSBkbyBub3QgYnJva2VuIGN1cnJlbnQgcnVieSBtb2R1bGUgZGVzaWduCgojIG5hbWVzcGFjZSBz
eXN0ZW0gaXMgaW50ZW50IHRvIGxldCB1c2VyIHRvIGNvbnRyb2wgbmFtZXMgaW4gY29udGV4dAoj
IFNvIHVzZXIgY2FuIGNob29zZSB1c2UgdGhlIG9sZCByZXF1aXJlIHdheQoKcmVxdWlyZSAnaGVs
bG8nCgpIZWxsbzo6QmFyCgoKIyBPciB1c2VyIGNhbiB1c2UgbmFtZXNwYWNlIHN5c3RlbSBhcyB3
ZSBkbyBpbiBoZWxsby5yYgoKbmFtZXNwYWNlIDpFeGFtcGxlIGRvCiAgaW1wb3J0IDoiSGVsbG86
OkJhciIsIGFzOiA6QmFyCiAgQmFyICMgb2sKICBGb28gIyBuYW1lIGVycm9yLCBjYXVzZSB3ZSBk
byBub3QgaW1wb3J0IEZvbyBpbiA6RXhhbXBsZSBuYW1lc3BhY2UKZW5kCgpGb28gIyBvaywgY2F1
c2UgRm9vIGlzIGxvYWRlZCBpbiBUT1BMRVZFTF9CSU5ESU5HCgojIGRlZmluZSBuZXN0ZWQgbmFt
ZXNwYWNlCgojIG1vcmUgY2xlYXIgc3ludGF4IHRoYW4g4oCcbW9kdWxlIEV4YW1wbGU6Ok5lc3Rl
ZEV4YW1wbGXigJ0KbmFtZXNwYWNlIDpOZXN0ZWRFeGFtcGxlLCB1bmRlcjogRXhhbXBsZSBkbwpl
bmQKCm5hbWVzcGFjZSA6RXhhbXBsZTIgZG8KICBuYW1lc3BhY2UgOk5lc3RlZEV4YW1wbGUgZG8K
ICBlbmQKZW5kCgpgYGAKClByb3M6CgoqIENvbXBsZXRlbHkgY29tcGF0aWJsZSB3aXRoIHRoZSBj
dXJyZW50IG1vZHVsZSBzeXN0ZW0sIGEgZ2VtIHVzZXIgY2FuIGNvbXBsZXRlbHkgaWdub3JlIHdo
ZXRoZXIgYSBnZW0gaXMgd3JpdGUgaW4gTmFtZXNwYWNlIG9yIG5vdC4KKiBVc2VyIGNhbiBjb21w
bGV0ZWx5IGNvbnRyb2wgd2hpY2ggbmFtZXMgaW4gY3VycmVudCBjb250ZXh0L3Njb3BlLgoqIE1h
eSBzb2x2ZSB0aGUgdG9wIG1vZHVsZSBuYW1lIGNvbmZsaWN0IGlzc3VlKGRlcGVuZHMgb24gVk0g
aW1wbGVtZW50YXRpb24pLgoqIEF2b2lkIGludHJvZHVjaW5nIG5ldyBrZXl3b3JkIGFuZCBzeW50
YXguCiogVHlwZSBoaW50IG9yIG5hbWUgaGludCBjYW4gYmUgbW9yZSBhY2N1cmFjeSB1bmRlciBu
YW1lc3BhY2Uobm90IHN1cmUpLgoKQ29uczoKCiogTmVlZCB0byBtb2RpZnkgUnVieSBWTSB0byBz
dXBwb3J0IHRoZSBmZWF0dXJlLgoKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoK
VW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJq
ZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWls
bWFuL29wdGlvbnMvcnVieS1jb3JlPgo=

In This Thread

Prev Next