[#107430] [Ruby master Feature#18566] Merge `io-wait` gem into core IO — "byroot (Jean Boussier)" <noreply@...>
SXNzdWUgIzE4NTY2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku
22 messages
2022/02/02
[ruby-core:107595] [Ruby master Feature#12962] Feature Proposal: Extend 'protected' to support module friendship
From:
"Eregon (Benoit Daloze)" <noreply@...>
Date:
2022-02-15 15:14:10 UTC
List:
ruby-core #107595
SXNzdWUgIzEyOTYyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K CgptYXR0aGV3ZCAoTWF0dGhldyBEcmFwZXIpIHdyb3RlIGluICNub3RlLTEwOgo+IFRoZSB0cm91 YmxlIHdpdGggdXNpbmcgYHNlbmRgIGluIHRoaXMgW2dlbmVyYWxdIHNpdHVhdGlvbiBpcyB0aGF0 IGl0IG1ha2VzIGl0IHRvbyBlcXVhbGx5LWVhc3kgdG8gcmVhY2ggaW50byBfYWxsXyBpbnRlcm5h bHM6IHlvdSB3YW50IGFjY2VzcyB0byBtZXRob2RzIHRoYXQgYXJlIHN1aXRhYmxlIGZvciBhIGNv bGxhYm9yYXRvciBidXQgbm90IGEgZG93bnN0cmVhbSB1c2VyLCBidXQgeW91IGNhbiBhbHNvIGlt bWVkaWF0ZWx5IGFjY2VzcyB0cnVseS1wcml2YXRlIG1ldGhvZHMgdGhhdCBjYXVzZSB0aGUgb2Jq ZWN0IHRvIHZpb2xhdGUgaXRzIGludGVuZGVkIGludmFyaWFudHMuIEluIGEgbGFyZ2UgcHJvamVj dCwgeW91IHN0aWxsIHdhbnQgX3NvbWVfIGd1YXJkLXJhaWxzIGZvciB5b3VyIGNvbGxhYm9yYXRv cnMsIGV2ZW4gYXMgeW91IGdpdmUgdGhlbSBtb3JlIGFiaWxpdGllcyB0aGFuIHVzdWFsLgoKSSBz ZWUuIFN1Y2ggc2VtaS1wcml2YXRlIG1ldGhvZHMgY291bGQgaGF2ZSBhIGNvbW1lbnQgZXhwbGFp bmluZyB0aGV5IGFyZSBhbHNvIHVzZWQgYnkgb3RoZXIgcGFydHMgb2YgdGhlIGdlbS4KT3IgZXZl biBhbiBhbGlhcyBvZiBgcHJpdmF0ZWAgdG8gaW5kaWNhdGUgdGhhdCBidXQgYmUgY2xlYXJlciBv biB0aGUgaW50ZW50aW9uLgoKPiBXaWRlc3ByZWFkIHVzZSBvZiBgc2VuZGAgaXMgYWxzbyBqdXN0 IHVucGxlYXNhbnQgdG8gcmVhZCBhbmQgbWFpbnRhaW4uIEluIHByYWN0aWNlLCBwZW9wbGUgZG9u J3QgbGlrZSB3cml0aW5nIGNvZGUgbGlrZSB0aGF0OiBJIGNhbiBzZWUgYWRkaXRpb25hbCB1c2Vz IG9mIGA6bm9kb2M6YCBmb3IgdGhpcyBwdXJwb3NlIGluIHN0ZGxpYiAodGhlIGNob3NlbiBleGFt cGxlIHdhcyBqdXN0IHBhcnRpY3VsYXJseSBpbGx1c3RyYXRpdmUgYmVjYXVzZSBvZiBpdHMgY29t bWVudCksIHlldCBgc2VuZCg6YCB0dXJucyB1cCByZW1hcmthYmx5IGxpdHRsZS4gR2l2ZW4gdGhl IGN1cnJlbnRseS1hdmFpbGFibGUgb3B0aW9ucywgaXQgc2VlbXMgdGhhdCBtb3JlIHRoYW4ganVz dCBSYWlscyBjaG9vc2VzICJzZWNyZXRseSBwdWJsaWMiIG1ldGhvZHMgb3ZlciBzZW5kK3ByaXZh dGUuCgpJdCBtaWdodCBhbHNvIGJlIHdyaXR0ZW4gYXMgYF9fc2VuZF9fKDpgLgpUaGVyZSBhcmUg bm90IG1hbnkgb2NjdXJyZW5jZXMgaW4gc3RkbGliLCBidXQgc3RkbGlicyBhcmUgYWxzbyBmYWly bHkgc21hbGwgY29tcGFyZWQgdG8gbGFyZ2VyIGdlbXMsIGFuZCBwcm9iYWJseSBkb24ndCBuZWVk IHRoaXMgbXVjaC4KCj4gSSB3b3VsZCBleHBlY3QgdGhpcyBjaGVjayB0byBiZSBlYXNpZXIgdG8g b3B0aW1pemUgdGhhbiBgc2VuZGAsIGZvciBtb25vbW9ycGhpYyBjYWxsLXNpdGVzLCBieSBsZWFu aW5nIG9uIGV4aXN0aW5nIGNhbGwtc2l0ZSBjYWNoaW5nLiAoSWYgYSBmcmllbmRzaGlwIGNoYW5n ZSBidW1wcyB0aGUgY2xhc3Mgc2VyaWFsLCB0aGVyZSdzIG5vIG5lZWQgdG8gcmVjaGVjayB0aGUg Y2FjaGVkIGNhbGwuKQoKUmlnaHQsIGF0IGxlYXN0IHRoaXMgY2FuIGJlIGNhY2hlZCBmb3IgYSBj YWxsIHNpdGUgc2luY2UgaXQncyBhZGQtb25seS4KSXQgd291bGQgbGlrZWx5IGJlIHZlcnkgZGlm ZmljdWx0IHRvIGNhY2hlIHdoZW4gdHJ5aW5nIHRvIHBlcnNpc3QgSklUZWQgY29kZSB0aG91Z2gs IGFzIGl0IGRlcGVuZHMgb24gbG90cyBvZiBsaXZlIHZhbHVlcy4KCj4gSSdtIG5vdCBhd2FyZSBv ZiBhbnkgY3VycmVudCBvcHRpbWl6YXRpb24gZWZmb3J0IHRoYXQgY291bGQgbWFrZSBpdCBjb21w ZXRpdGl2ZS4KClRoZXJlIGlzICMxNzI5MSwgYnV0IGl0IHdvdWxkIG5lZWQgYSByZWRlZmluaXRp b24gY2hlY2sgdG8gYmUgc2VtYW50aWNhbGx5IGNvcnJlY3QuClRydWZmbGVSdWJ5IGFscmVhZHkg b3B0aW1pemVzIHNlbmQgYW5kIF9fc2VuZF9fLCBpbiBKSVRlZCBjb2RlIHRoZXJlIGlzIG5vIGRp ZmZlcmVuY2UgYW5kIG9ubHkgYSBzbWFsbCBvdmVyaGVhZCBpbiBpbnRlcnByZXRlciAod2hlbiB1 c2luZyBhIGNvbnN0YW50IG1ldGhvZCBuYW1lKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTI5NjI6IEZlYXR1cmUgUHJvcG9zYWw6IEV4dGVuZCAn cHJvdGVjdGVkJyB0byBzdXBwb3J0IG1vZHVsZSBmcmllbmRzaGlwCmh0dHBzOi8vYnVncy5ydWJ5 LWxhbmcub3JnL2lzc3Vlcy8xMjk2MiNjaGFuZ2UtOTY1MDcKCiogQXV0aG9yOiBtYXR0aGV3ZCAo TWF0dGhldyBEcmFwZXIpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCldoZW4gd29ya2luZyBvbiBhIGxhcmdl ciBsaWJyYXJ5LCB3aXRoIG1hbnkgY2xhc3NlcyB0aGF0IGhhdmUgYm90aCBvZmZpY2lhbCBBUEkg bWV0aG9kcyBhbmQgaW50ZXJuYWwgc3VwcG9ydGluZyBtZXRob2RzLCBpdCBjYW4gYmUgaGFyZCB0 byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZW0uCgpJbiBSYWlscywgZm9yIGV4YW1wbGUsIHdlIGN1 cnJlbnRseSBkbyB0aGlzIHVzaW5nIGA6bm9kb2M6YCAtLSBpZiBhIG1ldGhvZCBpcyBoaWRkZW4g ZnJvbSB0aGUgZG9jdW1lbnRhdGlvbiwgaXQgaXMgbm90IHBhcnQgb2YgdGhlIG9mZmljaWFsbHkg c3VwcG9ydGVkIEFQSSwgZXZlbiBpZiBpdCBoYXMgYHB1YmxpY2AgdmlzaWJpbGl0eS4KClRoaXMg YXBwcm9hY2ggY2FuIGJlIGNvbmZ1c2luZyBmb3IgdXNlcnMsIGhvd2V2ZXIsIGJlY2F1c2UgdGhl eSBjYW4gZmluZCBtZXRob2RzIHRoYXQgc2VlbSB0byBkbyB3aGF0IHRoZXkgd2FudCwgYW5kIHN0 YXJ0IGNhbGxpbmcgdGhlbSwgd2l0aG91dCBldmVyIGxvb2tpbmcgYXQgdGhlIGRvY3VtZW50YXRp b246IGVpdGhlciBieSBqdXN0IGd1ZXNzaW5nIGEgbGlrZWx5IG1ldGhvZCBuYW1lLCBvciBldmVu IGJlaW5nIGd1aWRlZCB0byBpdCBieSBgZGlkX3lvdV9tZWFuYC4KCk1ldGhvZCB2aXNpYmlsaXR5 IGNvbnRyb2xzIHNlZW0gbGlrZSB0aGUgcmlnaHQgc29sdXRpb24gdG8gdGhpcyBwcm9ibGVtOiBp ZiB3ZSBtYWtlIHRoZSBtZXRob2RzIGBwcml2YXRlYCBvciBgcHJvdGVjdGVkYCwgdXNlcnMgY2Fu IHN0aWxsIGNob29zZSB0byBjYWxsIHRoZW0sIGJ1dCBvbmx5IGJ5IGZpcnN0IGFja25vd2xlZGdp bmcgdGhhdCB0aGV5J3JlIHVzaW5nIGludGVybmFsIEFQSS4gSG93ZXZlciwgYXMgd2UgaGF2ZSBv YmplY3Qgb3JpZW50ZWQgaW50ZXJuYWxzLCBhIGxvdCBvZiBvdXIgaW50ZXJuYWwgQVBJIGNhbGxz IGFyZSBiZXR3ZWVuIGluc3RhbmNlcyBvZiB1bnJlbGF0ZWQgY2xhc3Nlcy4uLiBhbmQgdXNpbmcg YHNlbmRgIG9uIGFsbCB0aG9zZSBjYWxscyB3b3VsZCBtYWtlIG91ciBvd24gY29kZSB2ZXJ5IHVu dGlkeS4KCkkgcHJvcG9zZSB0aGF0IHRoZSBzb2x1dGlvbiB0byB0aGlzIHByb2JsZW0gaXMgdG8g bWFrZSBgcHJvdGVjdGVkYCBtb3JlIHdpZGVseSB1c2VmdWwsIGJ5IGFsbG93aW5nIGEgbW9kdWxl IHRvIG5vbWluYXRlIG90aGVyIG1vZHVsZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBjYWxsIGl0cyBw cm90ZWN0ZWQgbWV0aG9kcy4KCmBgYHJ1YnkKY2xhc3MgQQogIHByb3RlY3RlZCBkZWYgZm9vCiAg ICAic2VjcmV0cyIKICBlbmQKZW5kCgpjbGFzcyBECiAgZGVmIGNhbGxfZm9vCiAgICBBLm5ldy5m b28KICBlbmQKZW5kCkEuZnJpZW5kIEQKCkQubmV3LmNhbGxfZm9vICMgPT4gInNlY3JldHMiCmBg YAoKVGhpcyBjaGFuZ2UgaXMgYmFja3dhcmRzIGNvbXBhdGlibGUgZm9yIGV4aXN0aW5nIHVzZXMg b2YgYHByb3RlY3RlZGA6IGEgbW9kdWxlIGlzIGFsd2F5cyBjb25zaWRlcmVkIGl0cyBvd24gZnJp ZW5kIChzbyBjYWxscyB0aGF0IHByZXZpb3VzbHkgd29ya2VkIHdpbGwgY29udGludWUgdG8gZG8g c28pLCBhbmQgY2xhc3NlcyBoYXZlIG5vIG90aGVyIGZyaWVuZHMgYnkgZGVmYXVsdCAoc28gY2Fs bHMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgZGlzYWxsb3dlZCB3aWxsIGFsc28gY29udGludWUgdG8g ZG8gc28pLgoKVXNpbmcgYSBtb2R1bGUsIGEgbGlicmFyeSBjYW4gZWFzaWx5IGVzdGFibGlzaCBh ICdmcmllbmRzaGlwIGdyb3VwJyBvZiByZWxhdGVkIGNsYXNzZXMgd2l0aG91dCBuZWVkaW5nIHRv IGxpbmsgdGhlbSBpbmRpdmlkdWFsbHksIGFzIHdlbGwgYXMgcHJvdmlkaW5nIGEgc2luZ2xlIG9w dC1pbiBmb3IgdXNlciBjb2RlIHRoYXQgY29uc2Npb3VzbHkgY2hvb3NlcyB0byB1c2UgdW5zdXBw b3J0ZWQgQVBJcy4KCmBgYHJ1YnkKbW9kdWxlIE15TGliCiAgbW9kdWxlIEludGVybmFscwogIGVu ZAoKICBjbGFzcyBBCiAgICBpbmNsdWRlIEludGVybmFscwogICAgZnJpZW5kIEludGVybmFscwoK ICAgIHByb3RlY3RlZCBkZWYgZm9vCiAgICAgICJpbXBsZW1lbnRhdGlvbiIKICAgIGVuZAogIGVu ZAoKICBjbGFzcyBCCiAgICBpbmNsdWRlIEludGVybmFscwogICAgZnJpZW5kIEludGVybmFscwoK ICAgIHByb3RlY3RlZCBkZWYgYmFyCiAgICAgIEEubmV3LmZvbwogICAgZW5kCiAgZW5kCmVuZAoK Y2xhc3MgVXNlckNvZGUKICBkZWYgY2FsbF90aGluZ3MKICAgIFtNeUxpYjo6QS5uZXcuZm9vLCBN eUxpYjo6Qi5uZXcuYmFyXQogIGVuZAplbmQKCmNsYXNzIEZyaWVuZGx5VXNlckNvZGUKICBpbmNs dWRlIE15TGliOjpJbnRlcm5hbHMKCiAgZGVmIGNhbGxfdGhpbmdzCiAgICBbTXlMaWI6OkEubmV3 LmZvbywgTXlMaWI6OkIubmV3LmJhcl0KICBlbmQKZW5kCgpVc2VyQ29kZS5uZXcuY2FsbF90aGlu Z3MgIyAhPiBOb01ldGhvZEVycm9yOiBwcm90ZWN0ZWQgbWV0aG9kIGBmb28nLi4KRnJpZW5kbHlV c2VyQ29kZS5uZXcuY2FsbF90aGluZ3MgIyA9PiBbImltcGxlbWVudGF0aW9uIiwgImltcGxlbWVu dGF0aW9uIl0KYGBgCgpUaGlzIGNoYW5nZSBzZWVtcyBpbiBrZWVwaW5nIHdpdGggdGhlIHJ1Ynkg cGhpbG9zb3BoeSB0aGF0IGEgbWV0aG9kJ3MgdmlzaWJpbGl0eSBpcyBtb3JlIG9mIGEgZ3VpZGVs aW5lIHRoYW4gYSBzdHJpY3RseSBlbmZvcmNlZCBydWxlIC0tIGhlcmUsIHdlIGFsbG93IHRoZSBj YWxsZWUgdG8gYmx1ciB0aGUgbGluZSwgaW5zdGVhZCBvZiBsZWF2aW5nIGl0IHVwIHRvIHRoZSBj YWxsZXIgdG8gdXNlIGBzZW5kYC4KCgpUaGUgaW1wbGVtZW50YXRpb24gaXMgc3VycHJpc2luZ2x5 IHNpbXBsZSwgYW5kIG9ubHkgYWRkcyB0aW1lIChzZWFyY2hpbmcgYW4gYXJyYXkgb2YgZnJpZW5k cywgaW5zdGVhZCBvZiBvbmx5IGxvb2tpbmcgZm9yIHRoZSBjdXJyZW50IGNsYXNzKSBhZnRlciBh IG1ldGhvZCBjYWxsIGhhcyBhbHJlYWR5IHJlc29sdmVkIHRvIGEgcHJvdGVjdGVkIG1ldGhvZC4K CgpXaGlsZSBJJ20gcGVyc29uYWxseSBtb3N0IGludGVyZXN0ZWQgaW4gaG93IHRoaXMgY291bGQg YmUgYXBwbGllZCBpbiBhIFJhaWxzLXNpemVkIHByb2plY3QgKHN1Y2ggYXMuLiBSYWlscyksIEkg YmVsaWV2ZSBpdCB3b3VsZCBwcm92aWRlIGEgaGVscGZ1bCBjbGFyaWZ5aW5nIHRvb2wgdG8gYW55 IGxpYnJhcnkgdGhhdCBoYXMgbXVsdGlwbGUgY29sbGFib3JhdGluZyBjbGFzc2VzLCB3aG9zZSBp bnN0YW5jZXMgYXJlIGFsc28gZXhwb3NlZCB0byB1c2VyIGNvZGUuCgoKCgotLSAKaHR0cHM6Ly9i dWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVz dEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1s YW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==