[#107430] [Ruby master Feature#18566] Merge `io-wait` gem into core IO — "byroot (Jean Boussier)" <noreply@...>
SXNzdWUgIzE4NTY2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku
22 messages
2022/02/02
[ruby-core:107596] [Ruby master Feature#12962] Feature Proposal: Extend 'protected' to support module friendship
From:
"Eregon (Benoit Daloze)" <noreply@...>
Date:
2022-02-15 15:19:23 UTC
List:
ruby-core #107596
SXNzdWUgIzEyOTYyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K CgpwOCAoUGV0cmlrIGRlIEhldXMpIHdyb3RlIGluICNub3RlLTExOgo+IEkgY2FuIGltYWdpbmUg aGF2aW5nIGEgYHByb3RlY3RlZF9zZW5kYCBqdXN0IGxpa2Ugd2UgaGF2ZSBhIGBwdWJsaWNfc2Vu ZGAgYW5kIGBzZW5kYCAod2hpY2ggaXMgYmFzaWNhbGx5IGBwcml2YXRlX3NlbmRgKS4KClllYWgs IEkgd2FzIGFsc28gdGhpbmtpbmcgdG8gc29tZXRoaW5nIGxpa2U6CmBgYHJ1YnkKZnJpZW5kL2lu dGVybmFsL3Byb3RlY3RlZCBkZWYgbXlfbWV0aG9kCiAgLi4uCmVuZAoKZGVmIGZvbwogIG9iai5z ZW5kX2ZyaWVuZC9zZW5kX2ludGVybmFsL3NlbmRfcHJvdGVjdGVkKDpteV9tZXRob2QpCmVuZApg YGAKYW5kIHN1Y2ggbWV0aG9kIGNvdWxkIG9ubHkgYmUgY2FsbGVkIGJ5IGBzZW5kX2ZyaWVuZC9z ZW5kX2ludGVybmFsL3NlbmRfcHJvdGVjdGVkYCwgYW5kIHRoYXQgd291bGQgYmUgdmVyeSBlZmZp Y2llbnQgYW5kIHNpbXBsZSB0byBjaGVjay4KCkkgZG9uJ3QgdGhpbmsgaXQncyBoYXJkIHRvIG9w dGltaXplIGBzZW5kYCBhbmQgc2ltaWxhciwgZS5nLiB0aGVyZSBjb3VsZCBiZSBhbiBleHRyYSBj YWxsIGNhY2hlIHdoZW4gcGFyc2luZyBzZW5kL2BfX3NlbmRfX2AvZXRjLCBhbmQgdGhhdCBjb3Vs ZCBiZSB1c2VkIHRvIGNhY2hlIHRoZSBzZWNvbmQgbG9va3VwIHRvby4KCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTI5NjI6IEZlYXR1cmUgUHJvcG9z YWw6IEV4dGVuZCAncHJvdGVjdGVkJyB0byBzdXBwb3J0IG1vZHVsZSBmcmllbmRzaGlwCmh0dHBz Oi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xMjk2MiNjaGFuZ2UtOTY1MDgKCiogQXV0aG9y OiBtYXR0aGV3ZCAoTWF0dGhldyBEcmFwZXIpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5v cm1hbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCldoZW4gd29ya2lu ZyBvbiBhIGxhcmdlciBsaWJyYXJ5LCB3aXRoIG1hbnkgY2xhc3NlcyB0aGF0IGhhdmUgYm90aCBv ZmZpY2lhbCBBUEkgbWV0aG9kcyBhbmQgaW50ZXJuYWwgc3VwcG9ydGluZyBtZXRob2RzLCBpdCBj YW4gYmUgaGFyZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZW0uCgpJbiBSYWlscywgZm9yIGV4 YW1wbGUsIHdlIGN1cnJlbnRseSBkbyB0aGlzIHVzaW5nIGA6bm9kb2M6YCAtLSBpZiBhIG1ldGhv ZCBpcyBoaWRkZW4gZnJvbSB0aGUgZG9jdW1lbnRhdGlvbiwgaXQgaXMgbm90IHBhcnQgb2YgdGhl IG9mZmljaWFsbHkgc3VwcG9ydGVkIEFQSSwgZXZlbiBpZiBpdCBoYXMgYHB1YmxpY2AgdmlzaWJp bGl0eS4KClRoaXMgYXBwcm9hY2ggY2FuIGJlIGNvbmZ1c2luZyBmb3IgdXNlcnMsIGhvd2V2ZXIs IGJlY2F1c2UgdGhleSBjYW4gZmluZCBtZXRob2RzIHRoYXQgc2VlbSB0byBkbyB3aGF0IHRoZXkg d2FudCwgYW5kIHN0YXJ0IGNhbGxpbmcgdGhlbSwgd2l0aG91dCBldmVyIGxvb2tpbmcgYXQgdGhl IGRvY3VtZW50YXRpb246IGVpdGhlciBieSBqdXN0IGd1ZXNzaW5nIGEgbGlrZWx5IG1ldGhvZCBu YW1lLCBvciBldmVuIGJlaW5nIGd1aWRlZCB0byBpdCBieSBgZGlkX3lvdV9tZWFuYC4KCk1ldGhv ZCB2aXNpYmlsaXR5IGNvbnRyb2xzIHNlZW0gbGlrZSB0aGUgcmlnaHQgc29sdXRpb24gdG8gdGhp cyBwcm9ibGVtOiBpZiB3ZSBtYWtlIHRoZSBtZXRob2RzIGBwcml2YXRlYCBvciBgcHJvdGVjdGVk YCwgdXNlcnMgY2FuIHN0aWxsIGNob29zZSB0byBjYWxsIHRoZW0sIGJ1dCBvbmx5IGJ5IGZpcnN0 IGFja25vd2xlZGdpbmcgdGhhdCB0aGV5J3JlIHVzaW5nIGludGVybmFsIEFQSS4gSG93ZXZlciwg YXMgd2UgaGF2ZSBvYmplY3Qgb3JpZW50ZWQgaW50ZXJuYWxzLCBhIGxvdCBvZiBvdXIgaW50ZXJu YWwgQVBJIGNhbGxzIGFyZSBiZXR3ZWVuIGluc3RhbmNlcyBvZiB1bnJlbGF0ZWQgY2xhc3Nlcy4u LiBhbmQgdXNpbmcgYHNlbmRgIG9uIGFsbCB0aG9zZSBjYWxscyB3b3VsZCBtYWtlIG91ciBvd24g Y29kZSB2ZXJ5IHVudGlkeS4KCkkgcHJvcG9zZSB0aGF0IHRoZSBzb2x1dGlvbiB0byB0aGlzIHBy b2JsZW0gaXMgdG8gbWFrZSBgcHJvdGVjdGVkYCBtb3JlIHdpZGVseSB1c2VmdWwsIGJ5IGFsbG93 aW5nIGEgbW9kdWxlIHRvIG5vbWluYXRlIG90aGVyIG1vZHVsZXMgdGhhdCBhcmUgYWxsb3dlZCB0 byBjYWxsIGl0cyBwcm90ZWN0ZWQgbWV0aG9kcy4KCmBgYHJ1YnkKY2xhc3MgQQogIHByb3RlY3Rl ZCBkZWYgZm9vCiAgICAic2VjcmV0cyIKICBlbmQKZW5kCgpjbGFzcyBECiAgZGVmIGNhbGxfZm9v CiAgICBBLm5ldy5mb28KICBlbmQKZW5kCkEuZnJpZW5kIEQKCkQubmV3LmNhbGxfZm9vICMgPT4g InNlY3JldHMiCmBgYAoKVGhpcyBjaGFuZ2UgaXMgYmFja3dhcmRzIGNvbXBhdGlibGUgZm9yIGV4 aXN0aW5nIHVzZXMgb2YgYHByb3RlY3RlZGA6IGEgbW9kdWxlIGlzIGFsd2F5cyBjb25zaWRlcmVk IGl0cyBvd24gZnJpZW5kIChzbyBjYWxscyB0aGF0IHByZXZpb3VzbHkgd29ya2VkIHdpbGwgY29u dGludWUgdG8gZG8gc28pLCBhbmQgY2xhc3NlcyBoYXZlIG5vIG90aGVyIGZyaWVuZHMgYnkgZGVm YXVsdCAoc28gY2FsbHMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgZGlzYWxsb3dlZCB3aWxsIGFsc28g Y29udGludWUgdG8gZG8gc28pLgoKVXNpbmcgYSBtb2R1bGUsIGEgbGlicmFyeSBjYW4gZWFzaWx5 IGVzdGFibGlzaCBhICdmcmllbmRzaGlwIGdyb3VwJyBvZiByZWxhdGVkIGNsYXNzZXMgd2l0aG91 dCBuZWVkaW5nIHRvIGxpbmsgdGhlbSBpbmRpdmlkdWFsbHksIGFzIHdlbGwgYXMgcHJvdmlkaW5n IGEgc2luZ2xlIG9wdC1pbiBmb3IgdXNlciBjb2RlIHRoYXQgY29uc2Npb3VzbHkgY2hvb3NlcyB0 byB1c2UgdW5zdXBwb3J0ZWQgQVBJcy4KCmBgYHJ1YnkKbW9kdWxlIE15TGliCiAgbW9kdWxlIElu dGVybmFscwogIGVuZAoKICBjbGFzcyBBCiAgICBpbmNsdWRlIEludGVybmFscwogICAgZnJpZW5k IEludGVybmFscwoKICAgIHByb3RlY3RlZCBkZWYgZm9vCiAgICAgICJpbXBsZW1lbnRhdGlvbiIK ICAgIGVuZAogIGVuZAoKICBjbGFzcyBCCiAgICBpbmNsdWRlIEludGVybmFscwogICAgZnJpZW5k IEludGVybmFscwoKICAgIHByb3RlY3RlZCBkZWYgYmFyCiAgICAgIEEubmV3LmZvbwogICAgZW5k CiAgZW5kCmVuZAoKY2xhc3MgVXNlckNvZGUKICBkZWYgY2FsbF90aGluZ3MKICAgIFtNeUxpYjo6 QS5uZXcuZm9vLCBNeUxpYjo6Qi5uZXcuYmFyXQogIGVuZAplbmQKCmNsYXNzIEZyaWVuZGx5VXNl ckNvZGUKICBpbmNsdWRlIE15TGliOjpJbnRlcm5hbHMKCiAgZGVmIGNhbGxfdGhpbmdzCiAgICBb TXlMaWI6OkEubmV3LmZvbywgTXlMaWI6OkIubmV3LmJhcl0KICBlbmQKZW5kCgpVc2VyQ29kZS5u ZXcuY2FsbF90aGluZ3MgIyAhPiBOb01ldGhvZEVycm9yOiBwcm90ZWN0ZWQgbWV0aG9kIGBmb28n Li4KRnJpZW5kbHlVc2VyQ29kZS5uZXcuY2FsbF90aGluZ3MgIyA9PiBbImltcGxlbWVudGF0aW9u IiwgImltcGxlbWVudGF0aW9uIl0KYGBgCgpUaGlzIGNoYW5nZSBzZWVtcyBpbiBrZWVwaW5nIHdp dGggdGhlIHJ1YnkgcGhpbG9zb3BoeSB0aGF0IGEgbWV0aG9kJ3MgdmlzaWJpbGl0eSBpcyBtb3Jl IG9mIGEgZ3VpZGVsaW5lIHRoYW4gYSBzdHJpY3RseSBlbmZvcmNlZCBydWxlIC0tIGhlcmUsIHdl IGFsbG93IHRoZSBjYWxsZWUgdG8gYmx1ciB0aGUgbGluZSwgaW5zdGVhZCBvZiBsZWF2aW5nIGl0 IHVwIHRvIHRoZSBjYWxsZXIgdG8gdXNlIGBzZW5kYC4KCgpUaGUgaW1wbGVtZW50YXRpb24gaXMg c3VycHJpc2luZ2x5IHNpbXBsZSwgYW5kIG9ubHkgYWRkcyB0aW1lIChzZWFyY2hpbmcgYW4gYXJy YXkgb2YgZnJpZW5kcywgaW5zdGVhZCBvZiBvbmx5IGxvb2tpbmcgZm9yIHRoZSBjdXJyZW50IGNs YXNzKSBhZnRlciBhIG1ldGhvZCBjYWxsIGhhcyBhbHJlYWR5IHJlc29sdmVkIHRvIGEgcHJvdGVj dGVkIG1ldGhvZC4KCgpXaGlsZSBJJ20gcGVyc29uYWxseSBtb3N0IGludGVyZXN0ZWQgaW4gaG93 IHRoaXMgY291bGQgYmUgYXBwbGllZCBpbiBhIFJhaWxzLXNpemVkIHByb2plY3QgKHN1Y2ggYXMu LiBSYWlscyksIEkgYmVsaWV2ZSBpdCB3b3VsZCBwcm92aWRlIGEgaGVscGZ1bCBjbGFyaWZ5aW5n IHRvb2wgdG8gYW55IGxpYnJhcnkgdGhhdCBoYXMgbXVsdGlwbGUgY29sbGFib3JhdGluZyBjbGFz c2VzLCB3aG9zZSBpbnN0YW5jZXMgYXJlIGFsc28gZXhwb3NlZCB0byB1c2VyIGNvZGUuCgoKCgot LSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5 LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8v bGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==