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

From: ko1@...
Date: 2018-08-23 07:25:18 UTC
List: ruby-core #88612
SXNzdWUgIzE0OTgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkga28xIChLb2ljaGkgU2FzYWRhKS4KCkFz
c2lnbmVlIHNldCB0byBtYXR6IChZdWtpaGlybyBNYXRzdW1vdG8pClRhcmdldCB2ZXJzaW9uIHNl
dCB0byBOZXh0IE1ham9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CkZlYXR1cmUgIzE0OTgyOiBJbXByb3ZlIG5hbWVzcGFjZSBzeXN0ZW0gaW4gcnVieSB0byBhdm9p
ZGluZyB0b3AtbGV2ZWwgIG5hbWVzIGNoYW9zCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lz
c3Vlcy8xNDk4MiNjaGFuZ2UtNzM2NzMKCiogQXV0aG9yOiBqanlyIChKaW55YW5nIEppYW5nKQoq
IFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25lZTogbWF0eiAoWXVraWhp
cm8gTWF0c3Vtb3RvKQoqIFRhcmdldCB2ZXJzaW9uOiBOZXh0IE1ham9yCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVXBkYXRlZDogaHR0cHM6Ly9idWdzLnJ1YnktbGFu
Zy5vcmcvaXNzdWVzLzE0OTgyI25vdGUtNQoKCgojIyBXaHkKClJ1YnkgaGFzIGV2YWx1YXRpb24g
YWxsIGNsYXNzL21vZHVsZSBuYW1lcyBpbiB0b3AtbGV2ZWwgY29udGV4dChha2EgVE9QTEVWRUxf
QklORElORykuIApBcyBhIHVzZXIgd2UgYmFzaWNhbGx5IGhhcmQgdG8ga25vdyBob3cgbWFueSBu
YW1lcyBpbiB0aGUgY3VycmVudCBjb250ZXh0LCBpcyBjYXVzaW5nIGNoYW9zIGluIHNvbWUgY2Fz
ZXMuIEZvciBleGFtcGxlOgoKY2FzZSAxOiAKClB1dCBjb21tb24gdXNlZCBlcnJvcnMgY2xhc3Mg
aW4gYSBzaW5nbGUgZmlsZSwgbGlrZSBiZWxvdwoKYGBgIHJ1YnkKIyB1dGlscy9lcnJvcnMucmIK
CmNsYXNzIEZvb0Vycm9yCmVuZAoKY2xhc3MgQmFyRXJyb3IKZW5kCmBgYAoKSW4gb3RoZXIgZmls
ZXMgdW5kZXIgJ3V0aWxzJyB3ZSB3YW50IHRvIHVzZSB0aG9zZSBlcnJvcnMsIHNvIHRoZSBiZXN0
IHByYWN0aWNlIGlzIHRvIHVzZSBgcmVxdWlyZV9yZWxhdGl2ZSAnZXJyb3JzJ2AgaW4gZWFjaCBm
aWxlIHdlIG5lZWQuCgpgYGAgcnVieQojIHV0aWxzL2JpbmFyeV9oZWxwZXIucmIKCiMgd2UgZm9y
Z2V0IHJlcXVpcmUgZXJyb3JzCgptb2R1bGUgQmluYXJ5SGVscGVyCiMgLi4uCiAgcmFpc2UgQmFy
RXJyb3IKIyAuLi4KZW5kCgpgYGAKCkJ1dCBzb21ldGltZSB3ZSBtYXkgZm9yZ2V0IHRvIHJlcXVp
cmUgZGVwZW5kZW5jaWVzIGluIGEgZmlsZSwgaXQncyBoYXJkIHRvIG5vdGljZSBiZWNhdXNlCiBp
ZiBSdWJ5Vk0gYWxyZWFkeSBleGVjdXRlIHRoZSByZXF1aXJlcyB3ZSBzdGlsbCBjYW4gYWNjZXNz
IHRoZSBuYW1lIEJhckVycm9yLAoKYnV0IGlmIHVzZXIgZGlyZWN0bHkgdG8gcmVxdWlyZSAndXRp
bHMvYmluYXJ5X2hlbHBlcicsIGhlL3NoZSB3aWxsIGdvdCBhbiBOYW1lRXJyb3IuCgoKY2FzZSAy
OiAKClR3byBnZW1zIHVzZSBzYW1lIHRvcC1sZXZlbCBtb2R1bGUgbmFtZSwgc28gd2UgY2FuJ3Qg
dXNlIHRoZW0gdG9nZXRoZXIKCiMjIFRoZSBSZWFzb24gb2YgVGhlIFByb2JsZW0KClRoZSByZWFz
b24gaXMgd2UgbGV0IG1vZHVsZSBhdXRob3IgdG8gZGVjaXNpb24gd2hpY2ggbW9kdWxlIHVzZXIg
Y2FuIHVzZS4gKCdyZXF1aXJlJyBpcyBiYXNpY2FsbHkgZXZhbHVhdGlvbiwgaGlnaGx5IGRlcGVu
ZGVudCBvbiB0aGUgbW9kdWxlIGF1dGhvcidzIGRlc2lnbikKCkJ1dCB3ZSBzaG91bGQgbGV0IHVz
ZXJzIGNvbnRyb2wgd2hpY2ggbmFtZXMgdG8gdXNlIGFuZCBhdmFpbGFibGUgaW4gY29udGV4dC4g
QXMgbWFueSBvdGhlciBwb3B1bGFyIGxhbmd1YWdlcyBkb3NlKFJ1c3QsIFB5dGhvbi4uKQoKSSB0
aGluayB0aGUgc29sdXRpb24gaXMgYmFzaWNhbGx5IHRoZSBzYW1lIHBoaWxvc29waHkgY29tcGFy
ZXMgdG8gcmVmaW5lbWVudCBmZWF0dXJlLgoKCiMjIFRoZSBEZXNpZ24KCkkgcHJvcG9zZSBhbiBp
bXByb3ZlZCBuYW1lc3BhY2UgdG8gUnVieSwgdG8gc29sdmUgdGhlIHByb2JsZW1zIGFuZCBzdGls
bCBjb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgUnVieSBtb2R1bGUgc3lzdGVtLgoKYGBgIHJ1
YnkKY2xhc3MgRm9vCmVuZAoKIyBpbnRyb2R1Y2UgS2VybmVsI25hbWVzcGFjZQpuYW1lc3BhY2Ug
OkhlbGxvIGRvCiAgIyBhdm9pZGluZyBuYW1lc3BhY2UgY2hhb3MKICAjIEZvbyAtPiBOYW1lRXJy
b3IsIGNhbid0IGFjY2VzcyBUT1BMRVZFTF9CSU5ESU5HIGRpcmVjdGx5CiAgCiAgIyBLZXJuZWwj
aW1wb3J0IG1ldGhvZCwgaW50cm9kdWNlIEZvbyBuYW1lIGZyb20gVE9QTEVWRUxfQklORElORwog
IGltcG9ydCA6Rm9vCgogICMgaW4gYSBuYW1lc3BhY2UgdXNlciBjYW4gb25seSBhY2Nlc3MgaW1w
b3J0ZWQgbmFtZQogIEZvbwoKICAjIGltcG9ydCBjb25zdGFudCB0byBhbm90aGVyIGFsaWFzIG5h
bWUKICAjIGNhbiBhdm9pZCB3cml0aW5nIG5lc3RlZCBtb2R1bGUvY2xhc3MgbmFtZXMKICBpbXBv
cnQgOiJBOjpCOjpDOjpEIiwgYXM6IDpFCgogICMgcmVxdWlyZSB0aGVuIGltcG9ydCwgZm9yIGNv
bnZlbmllbnQgCiAgaW1wb3J0IDoiQTo6Qjo6Qzo6RCIsIGFzOiA6RSwgZnJvbTogJ3NvbWVfcmJf
ZmlsZScKCiAgIyBpbXBvcnQgc2FtZSBuYW1lIGZyb20gdHdvIGdlbXMKICBpbXBvcnQgOiJGb28i
LCBhczogOkZvb19BLCBmcm9tOiAnZm9vX2EnCiAgaW1wb3J0IDoiRm9vIiwgYXM6IDpGb29fQiwg
ZnJvbTogJ2Zvb19iJwoKICAjIGltcG9ydCBuYW1lcyBpbiBiYXRjaAogIGltcG9ydCAlaXsiQTo6
Qjo6Qzo6RCIsICJBbm90aGVyQ2xhc3MifSwgZnJvbTogJ3NvbWVfcmJfZmlsZScKCiAgIyBpbXBv
cnQgYW5kIGFsaWFzIGluIGJhdGNoCiAgaW1wb3J0IHs6IkE6OkI6OkM6OkQiID0+IDpFLCA6Rm9v
ID0+IEZvbzJ9LCBmcm9tOiAnc29tZV9yYl9maWxlJwoKICBjbGFzcyBCYXIKICAgIGRlZiB4eHgK
ICAgICAgIyBjYW4gYWNjZXNzIGFsbCBuYW1lcyBpbiBuYW1lc3BhY2Ugc2NvcGUKICAgICAgW0Zv
bywgRm9vX0EsIEZvb19CXQogICAgZW5kCiAgZW5kCmVuZAoKSGVsbG8uY2xhc3MgIyAgLT4gbW9k
dWxlLiBuYW1lc3BhY2UgaXMganVzdCBhIG1vZHVsZQpIZWxsbzo6QmFyICMgc28gd2UgZG8gbm90
IGJyb2tlbiBjdXJyZW50IHJ1YnkgbW9kdWxlIGRlc2lnbgoKIyBuYW1lc3BhY2Ugc3lzdGVtIGlz
IGludGVudCB0byBsZXQgdXNlciB0byBjb250cm9sIG5hbWVzIGluIGNvbnRleHQKIyBTbyB1c2Vy
IGNhbiBjaG9vc2UgdXNlIHRoZSBvbGQgcmVxdWlyZSB3YXkKCnJlcXVpcmUgJ2hlbGxvJwoKSGVs
bG86OkJhcgoKCiMgT3IgdXNlciBjYW4gdXNlIG5hbWVzcGFjZSBzeXN0ZW0gYXMgd2UgZG8gaW4g
aGVsbG8ucmIKCm5hbWVzcGFjZSA6RXhhbXBsZSBkbwogIGltcG9ydCA6IkhlbGxvOjpCYXIiLCBh
czogOkJhcgogIEJhciAjIG9rCiAgRm9vICMgbmFtZSBlcnJvciwgY2F1c2Ugd2UgZG8gbm90IGlt
cG9ydCBGb28gaW4gOkV4YW1wbGUgbmFtZXNwYWNlCmVuZAoKRm9vICMgb2ssIGNhdXNlIEZvbyBp
cyBsb2FkZWQgaW4gVE9QTEVWRUxfQklORElORwoKIyBkZWZpbmUgbmVzdGVkIG5hbWVzcGFjZQoK
IyBtb3JlIGNsZWFyIHN5bnRheCB0aGFuIOKAnG1vZHVsZSBFeGFtcGxlOjpOZXN0ZWRFeGFtcGxl
4oCdCm5hbWVzcGFjZSA6TmVzdGVkRXhhbXBsZSwgdW5kZXI6IEV4YW1wbGUgZG8KZW5kCgpuYW1l
c3BhY2UgOkV4YW1wbGUyIGRvCiAgbmFtZXNwYWNlIDpOZXN0ZWRFeGFtcGxlIGRvCiAgZW5kCmVu
ZAoKYGBgCgpQcm9zOgoKKiBDb21wbGV0ZWx5IGNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCBt
b2R1bGUgc3lzdGVtLCBhIGdlbSB1c2VyIGNhbiBjb21wbGV0ZWx5IGlnbm9yZSB3aGV0aGVyIGEg
Z2VtIGlzIHdyaXRlIGluIE5hbWVzcGFjZSBvciBub3QuCiogVXNlciBjYW4gY29tcGxldGVseSBj
b250cm9sIHdoaWNoIG5hbWVzIGluIGN1cnJlbnQgY29udGV4dC9zY29wZS4KKiBNYXkgc29sdmUg
dGhlIHRvcCBtb2R1bGUgbmFtZSBjb25mbGljdCBpc3N1ZShkZXBlbmRzIG9uIFZNIGltcGxlbWVu
dGF0aW9uKS4KKiBBdm9pZCBpbnRyb2R1Y2luZyBuZXcga2V5d29yZCBhbmQgc3ludGF4LgoqIFR5
cGUgaGludCBvciBuYW1lIGhpbnQgY2FuIGJlIG1vcmUgYWNjdXJhY3kgdW5kZXIgbmFtZXNwYWNl
KG5vdCBzdXJlKS4KCkNvbnM6CgoqIE5lZWQgdG8gbW9kaWZ5IFJ1YnkgVk0gdG8gc3VwcG9ydCB0
aGUgZmVhdHVyZS4KCgoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2Ny
aWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1
YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRp
b25zL3J1YnktY29yZT4K

In This Thread

Prev Next