[ruby-core:110097] [Ruby master Feature#19024] Proposal: Import Modules
From:
"shioyama (Chris Salzberg)" <noreply@...>
Date:
2022-09-27 00:51:27 UTC
List:
ruby-core #110097
SXNzdWUgIzE5MDI0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHNoaW95YW1hIChDaHJpcyBTYWx6YmVy ZykuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE5 MDI0OiBQcm9wb3NhbDogSW1wb3J0IE1vZHVsZXMKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcv aXNzdWVzLzE5MDI0CgoqIEF1dGhvcjogc2hpb3lhbWEgKENocmlzIFNhbHpiZXJnKQoqIFN0YXR1 czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQpUaGVyZSBpcyBubyBnZW5lcmFsIHdheSBpbiBSdWJ5IHRvIGxvYWQgY29kZSBv dXRzaWRlIG9mIHRoZSBnbG9iYWxseS1zaGFyZWQgbmFtZXNwYWNlLiBUaGlzIG1ha2VzIGl0IGhh cmQgdG8gaXNvbGF0ZSBjb21wb25lbnRzIG9mIGFuIGFwcGxpY2F0aW9uIGZyb20gZWFjaCBvdGhl ciBhbmQgZnJvbSB0aGUgYXBwbGljYXRpb24gaXRzZWxmLCBsZWFkaW5nIHRvIGNvbXBsaWNhdGVk IHJlbGF0aW9uc2hpcHMgdGhhdCBjYW4gYmVjb21lIGludHJhY3RhYmxlIGFzIGFwcGxpY2F0aW9u cyBncm93IGluIHNpemUuCgpUaGUgZ3Jvd2luZyBwb3B1bGFyaXR5IG9mIGEgZ2VtIGxpa2UgW1Bh Y2t3ZXJrXShodHRwczovL2dpdGh1Yi5jb20vc2hvcGlmeS9wYWNrd2VyayksIHdoaWNoIHByb3Zp ZGVzIGEgbmV3IGNvbmNlcHQgb2YgInBhY2thZ2UiIHRvIGVuZm9jZSBib3VuZGFyaWVzIHN0YXRp Y2FsbHkgaW4gQ0ksIGlzIGV2aWRlbmNlIHRoYXQgdGhpcyBpcyBhIHJlYWwgcHJvYmxlbS4gQnV0 IGludHJvZHVjaW5nIGEgbmV3IHBhY2thZ2luZyBjb25jZXB0IGFuZCBDSSBzdGVwIGlzIGF0IGJl c3Qgb25seSBhIHBhcnRpYWwgc29sdXRpb24sIHdpdGggZG93bnNpZGVzOiBpdCBhZGRzIGNvbXBs ZXhpdHkgYW5kIGNvZ25pdGl2ZSBvdmVyaGVhZCB0aGF0IHdvdWxkbid0IGJlIG5lY2Vzc2FyeSBp ZiBSdWJ5IHByb3ZpZGVkIGJldHRlciBwYWNrYWdpbmcgaXRzZWxmIChhcyBNYXR6IGhhcyBzdWdn ZXN0ZWQgW2l0IHNob3VsZF0oaHR0cHM6Ly95b3V0dS5iZS9EcDEyYTNLR05Gdz90PTI5NTYpKS4K ClRoZXJlIGlzIF9vbmVfIGxpbWl0ZWQgd2F5IGluIFJ1YnkgY3VycmVudGx5IHRvIGxvYWQgY29k ZSB3aXRob3V0IHBvbGx1dGluZyB0aGUgZ2xvYmFsIG5hbWVzcGFjZTogYGxvYWRgIHdpdGggdGhl IGB3cmFwYCBwYXJhbWV0ZXIsIHdoaWNoIGFzIG9mIGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn L2lzc3Vlcy82MjEwIGNhbiBub3cgYmUgYSBtb2R1bGUuIEhvd2V2ZXIsIHRoaXMgb3B0aW9uIGRv ZXMgbm90IGFwcGx5IHRyYW5zaXRpdmVseSB0byBgcmVxdWlyZWAgY2FsbHMgd2l0aGluIHRoZSBs b2FkZWQgZmlsZSwgc28gaXRzIHVzZWZ1bG5lc3MgaXMgbGltaXRlZC4KCk15IHByb3Bvc2FsIGhl cmUgaXMgdG8gZW5hYmxlIG1vZHVsZSBpbXBvcnRzIGJ5IGRvaW5nIHRoZSBmb2xsb3dpbmc6Cgox LiBhcHBseSB0aGUgYHdyYXBgIG1vZHVsZSBuYW1lc3BhY2UgdHJhbnNpdGl2ZWx5IHRvIGByZXF1 aXJlYHMgaW5zaWRlIHRoZSBsb2FkZWQgY29kZSwgaW5jbHVkaW5nIG5hdGl2ZSBleHRlbnNpb25z IChvciBwcm92aWRlIGEgbmV3IGZsYWcgb3IgbWV0aG9kIHRoYXQgd291bGQgZG8gdGhpcyksCjIu IG1ha2UgdGhlIGB3cmFwYCBtb2R1bGUgdGhlIHRvcGxldmVsIGNvbnRleHQgZm9yIGNvZGUgbG9h ZGVkIHVuZGVyIGl0LCBzbyBgOjpGb29gIHJlc29sdmVzIHRvIGA8dG9wX3dyYXBwZXI+OjpGb29g IGluIGxvYWRlZCBjb2RlIChvciwgYWdhaW4sIHByb3ZpZGUgYSBuZXcgZmxhZyBvciBtZXRob2Qg dGhhdCB3b3VsZCBkbyB0aGlzKS4gX0Fsc28gbWFrZSB0aGlzIGFwcGx5IHdoZW4gY29kZSB1bmRl ciB0aGUgd3JhcHBlciBtb2R1bGUgaXMgY2FsbGVkIG91dHNpZGUgb2YgdGhlIGxvYWQgcHJvY2Vz cyAod2hlbiBgdG9wX3dyYXBwZXJgIGlzIG5vIGxvbmdlciBzZXQpICZtZGFzaDsgdGhpcyBtYXkg YmUgcXVpdGUgaGFyZCB0byBkb18uCjMuIHJlc29sdmUgYG5hbWVgIG9uIGFub255bW91cyBtb2R1 bGVzIHVuZGVyIHRoZSB3cmFwcGVkIG1vZHVsZSB0byB0aGVpciBuYW1lcyB3aXRob3V0IHRoZSB0 b3Agd3JhcHBlciBtb2R1bGUsIHNvIGA8dG9wX3dyYXBwZXI+OjpGb28ubmFtZWAgZXZhbHVhdGVz IHRvIGAiRm9vImAuIFRoZXJlIG1heSBiZSBvdGhlciB3YXlzIHRvIGhhbmRsZSB0aGlzIHByb2Js ZW0sIGJ1dCBhIGdlbSBsaWtlIFJhaWxzIHVzZXMgYG5hbWVgIHRvIHJlc29sdmUgZmlsZW5hbWVz IGFuZCBmYWlscyB3aGVuIGFub255bW91cyBtb2R1bGVzIHJldHVybiBzb21ldGhpbmcgbGlrZSBg IzxNb2R1bGU6IC4uLj46OkFjdGl2ZVJlY29yZGAgaW5zdGVhZCBvZiBqdXN0IGBBY3RpdmVSZWNv cmRgLgoKSSBoYXZlIHJvdWdobHkgaW1wbGVtZW50ZWQgdGhlc2UgdGhyZWUgdGhpbmdzIGluIFt0 aGlzIHBhdGNoXShodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2NvbXBhcmUvbWFzdGVyLi4u c2hpb3lhbWE6cnVieTppbXBvcnRfbW9kdWxlcykuIFRoaXMgaW1wbGVtZW50YXRpb24gaXMgaW5j b21wbGV0ZSAoaXQgZG9lcyBub3QgY292ZXIgdGhlIGxhc3QgaGlnaGxpZ2h0ZWQgcGFydCBvZiAy KSBidXQgcHJvdmlkZXMgZW5vdWdoIG9mIGEgYmFzaXMgdG8gaW1wbGVtZW50IGFuIGBpbXBvcnRg IG1ldGhvZCwgd2hpY2ggSSBoYXZlIGRvbmUgaW4gYSBnZW0gY2FsbGVkIFtJbV0oaHR0cHM6Ly9n aXRodWIuY29tL3NoaW95YW1hL2ltKS4KCkltIHByb3ZpZGVzIGFuIGBpbXBvcnRgIG1ldGhvZCB3 aGljaCBjYW4gYmUgdXNlZCB0byBpbXBvcnQgZ2VtIGNvZGUgdW5kZXIgYSBuYW1lc3BhY2U6Cgpg YGBydWJ5CnJlcXVpcmUgImltIgpleHRlbmQgSW0KCmFjdGl2ZV9tb2RlbCA9IGltcG9ydCAiYWN0 aXZlX21vZGVsIgojPT4gPCNJbTo6SW1wb3J0IHJvb3Q6IGFjdGl2ZV9tb2RlbD4KCkFjdGl2ZU1v ZGVsCiM9PiBOYW1lRXJyb3IKCmFjdGl2ZV9tb2RlbDo6QWN0aXZlTW9kZWwKIz0+IEFjdGl2ZU1v ZGVsCgphY3RpdmVfcmVjb3JkID0gaW1wb3J0ICJhY3RpdmVfcmVjb3JkIgojPT4gPCNJbTo6SW1w b3J0IHJvb3Q6IGFjdGl2ZV9yZWNvcmQ+CgojIENvbnN0YW50cyBkZWZpbmVkIGluIHRoZSBzYW1l IGZpbGUgdW5kZXIgZGlmZmVyZW50IGltcG9ydHMgcG9pbnQgdG8gdGhlIHNhbWUgb2JqZWN0cwph Y3RpdmVfcmVjb3JkOjpBY3RpdmVNb2RlbCA9PSBhY3RpdmVfbW9kZWw6OkFjdGl2ZU1vZGVsCiM9 PiB0cnVlCmBgYAoKV2l0aCB0aGUgY29uc3RhbnRzIGFsbCBsb2FkZWQgdW5kZXIgYW4gYW5vbnlt b3VzIG5hbWVzcGFjZSwgYW55IGNvZGUgaW1wb3J0aW5nIHRoZSBnZW0gY2FuIG5hbWUgY29uc3Rh bnRzIGhvd2V2ZXIgaXQgbGlrZXM6CgpgYGBydWJ5CmNsYXNzIFBvc3QgPCBhY3RpdmVfcmVjb3Jk OjpBY3RpdmVSZWNvcmQ6OkJhc2UKZW5kCgpBUiA9IGFjdGl2ZV9yZWNvcmQ6OkFjdGl2ZVJlY29y ZAoKUG9zdC5zdXBlcmNsYXNzCiM9PiBBUjo6QmFzZQpgYGAKCk5vdGUgdGhhdCB0aGlzIGVuYWJs ZXMgdGhlIGltcG9ydGVyIHRvIGNvbXBsZXRlbHkgZGV0ZXJtaW5lIHRoZSBuYW1pbmcgZm9yIGV2 ZXJ5IGNvbnN0YW50IGl0IGltcG9ydHMuIFNvIGdlbXMgY2FuIG9wdCB0byBoaWRlIHRoZWlyIGRl cGVuZGVuY2llcyBieSAiYW5jaG9yaW5nIiB0aGVtIGluc2lkZSB0aGVpciBvd24gbmFtZXNwYWNl LCBsaWtlIHRoaXM6CgpgYGBydWJ5CiMgaW4gbGliL215X2dlbS5yYgptb2R1bGUgTXlHZW0KICBk ZXAgPSBpbXBvcnQgIm15X2dlbV9kZXBlbmRlbmN5IgoKICAjIG15X2dlbV9kZXBlbmRlbmN5IGlz ICJhbmNob3JlZCIgdW5kZXIgdGhlIE15R2VtIG5hbWVzcGFjZSwgc28gbm90IGV4cG9zZWQgdG8g dXNlcnMKICAjIG9mIHRoZSBnZW0gdW5sZXNzIHRoZXkgYWxzbyByZXF1aXJlIGl0LgogIE15R2Vt RGVwZW5kZW5jeSA9IGRlcAoKICAjLi4uCmVuZApgYGAKClRoZXJlIGFyZSBhIGNvdXBsZSBpbXBv cnRhbnQgaW1wbGVtZW50YXRpb24gZGVjaXNpb25zIGluIHRoZSBnZW06CgoxLiBfT25seSBsb2Fk IGNvZGUgb25jZS5fIFdoZW4gdGhlIHNhbWUgZmlsZSBpcyBpbXBvcnRlZCBhZ2FpbiAoZWl0aGVy IGRpcmVjdGx5IG9yIHRyYW5zaXRpdmVseSksICJjb3B5IiBjb25zdGFudHMgZnJvbSBwcmV2aW91 c2x5IGltcG9ydGVkIG5hbWVzcGFjZSB0byB0aGUgbmV3IG5hbWVzcGFjZSB1c2luZyBhIHJlZ2lz dHJ5IHdoaWNoIG1hcHMgd2hpY2ggbmFtZXNwYWNlIChpbXBvcnQpIHdhcyB1c2VkIHRvIGxvYWQg d2hpY2ggZmlsZSAoYXMgc2hvd24gYWJvdmUgd2l0aCBhY3RpdmVyZWNvcmQvYWN0aXZlbW9kZWwp LiBUaGlzIGlzIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCBkaWZmZXJlbnQgaW1wb3J0cyBjYW4g InNlZSIgc2hhcmVkIGZpbGVzLiBBIHNpbWlsYXIgcmVnaXN0cnkgaXMgdXNlZCB0byB0cmFjayBh dXRvbG9hZHMgc28gdGhhdCB0aGV5IHdvcmsgY29ycmVjdGx5IHdoZW4gdXNlZCBmcm9tIGltcG9y dGVkIGNvZGUuCjIuIFRvcGxldmVsIGNvcmUgdHlwZXMgKGBOaWxDbGFzc2AsIGBUcnVlQ2xhc3Ng LCBgRmFsc2VDbGFzc2AsIGBTdHJpbmdgLCBldGMpIGFyZSAiYWxpYXNlZCIgdG8gY29uc3RhbnRz IHVuZGVyIGVhY2ggaW1wb3J0IG1vZHVsZSB0byBtYWtlIHRoZW0gYXZhaWxhYmxlLiBUaHVzIHRo ZXJlIGNhbiBiZSBzaWRlLWVmZmVjdHMgb2YgaW1wb3J0aW5nIGNvZGUsIGJ1dCB0aGlzIGFsbG93 cyBhIGdlbSBsaWtlIFJhaWxzIHRvIG1vbmtleXBhdGNoIGNvcmUgY2xhc3NlcyB3aGljaCBpdCBu ZWVkcyB0byBkbyBmb3IgaXQgdG8gd29yay4KMy4gYE9iamVjdC5jb25zdF9taXNzaW5nYCBpcyBw YXRjaGVkIHRvIGNoZWNrIHRoZSBjYWxsZXIgbG9jYXRpb24gYW5kIHJlc29sdmUgdG8gdGhlIGNv bnN0YW50IGRlZmluZWQgdW5kZXIgYW4gaW1wb3J0LCBpZiB0aGVyZSBpcyBhbiBpbXBvcnQgZGVm aW5lZCBmb3IgdGhhdCBmaWxlLgoKVG8gYmUgY2xlYXI6ICoqSSB0aGluayAxKSBzaG91bGQgYmUg aW1wbGVtZW50ZWQgaW4gUnVieSwgYnV0IG5vdCAyKSBhbmQgMykuKiogVGhlIGxhc3Qgb25lIChg T2JqZWN0LmNvbnN0X21pc3NpbmdgKSBpcyBhIGhhY2sgdG8gc3VwcG9ydCB0aGUgY2FzZSB3aGVy ZSBhIHRvcGxldmVsIGNvbnN0YW50IGlzIHJlZmVyZW5jZWQgZnJvbSBhIG1ldGhvZCBjYWxsZWQg aW4gaW1wb3J0ZWQgY29kZSAoYXQgd2hpY2ggcG9pbnQgdGhlIGB0b3Bfd3JhcHBlcmAgaXMgbm90 IGFjdGl2ZS4pCgpJIGtub3cgdGhpcyBpcyBhIGJpZyBwcm9wb3NhbCwgYW5kIHRoZXJlIGFyZSBz dHJvbmcgb3BpbmlvbnMgaGVsZC4gSSB3b3VsZCByZWFsbHkgYXBwcmVjaWF0ZSBjb25zdHJ1Y3Rp dmUgZmVlZGJhY2sgb24gdGhpcyBnZW5lcmFsIGlkZWEuCgpTZWUgYWxzbyBzaW1pbGFyIGRpc2N1 c3Npb24gaW46IGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xMDMyMAoKCgotLSAK aHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNv cmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlz dHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==