[#107430] [Ruby master Feature#18566] Merge `io-wait` gem into core IO — "byroot (Jean Boussier)" <noreply@...>
SXNzdWUgIzE4NTY2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku
22 messages
2022/02/02
[ruby-core:107627] [Ruby master Feature#12962] Feature Proposal: Extend 'protected' to support module friendship
From:
"matz (Yukihiro Matsumoto)" <noreply@...>
Date:
2022-02-17 12:11:16 UTC
List:
ruby-core #107627
SXNzdWUgIzEyOTYyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWF0eiAoWXVraWhpcm8gTWF0c3Vtb3Rv KS4KClN0YXR1cyBjaGFuZ2VkIGZyb20gT3BlbiB0byBSZWplY3RlZAoKSSByZXZpc2l0ZWQgdGhp cyBpc3N1ZSBhdCB0aGUgZGV2ZWxvcGVyIG1lZXRpbmcgYW5kIGNvbmNsdWRlZCB0byByZWplY3Qg dGhpcyBwcm9wb3NhbC4KSSB1bmRlcnN0YW5kIE9QJ3MgbmVlZCBmb3IgdGhlIGBmcmllbmRgIHZp c2liaWxpdHkgYnV0IGNvbnNpZGVyaW5nIHRoZSBkeW5hbWljIG5hdHVyZSBvZiB0aGUgbGFuZ3Vh Z2UgKHBsdXMgY3VycmVudCB1c2FnZSBvZiBgcHJvdGVjdGVkYCB2aXNpYmlsaXR5KSwgdGhpcyB2 aXNpYmlsaXR5IHByb3ZpZGVzIHRoZSB2YWx1ZSBmYXIgbGVzcyB0aGFuIHRoZSBwYWluIG9mIGNv bXBsZXhpdHkuIEknZCByYXRoZXIgbGlrZSB0byByZW1vdmUgYHByb3RlY3RlZGAgdmlzaWJpbGl0 eSwgaWYgcG9zc2libGUgKEkga25vdyBpdCdzIHRvbyBsYXRlKS4KClRodXMgdGhpcyBpcyByZWpl Y3RlZC4gU29ycnkuCgpNYXR6LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KRmVhdHVyZSAjMTI5NjI6IEZlYXR1cmUgUHJvcG9zYWw6IEV4dGVuZCAncHJvdGVjdGVk JyB0byBzdXBwb3J0IG1vZHVsZSBmcmllbmRzaGlwCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn L2lzc3Vlcy8xMjk2MiNjaGFuZ2UtOTY1MzgKCiogQXV0aG9yOiBtYXR0aGV3ZCAoTWF0dGhldyBE cmFwZXIpCiogU3RhdHVzOiBSZWplY3RlZAoqIFByaW9yaXR5OiBOb3JtYWwKLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpXaGVuIHdvcmtpbmcgb24gYSBsYXJnZXIgbGli cmFyeSwgd2l0aCBtYW55IGNsYXNzZXMgdGhhdCBoYXZlIGJvdGggb2ZmaWNpYWwgQVBJIG1ldGhv ZHMgYW5kIGludGVybmFsIHN1cHBvcnRpbmcgbWV0aG9kcywgaXQgY2FuIGJlIGhhcmQgdG8gZGlz dGluZ3Vpc2ggYmV0d2VlbiB0aGVtLgoKSW4gUmFpbHMsIGZvciBleGFtcGxlLCB3ZSBjdXJyZW50 bHkgZG8gdGhpcyB1c2luZyBgOm5vZG9jOmAgLS0gaWYgYSBtZXRob2QgaXMgaGlkZGVuIGZyb20g dGhlIGRvY3VtZW50YXRpb24sIGl0IGlzIG5vdCBwYXJ0IG9mIHRoZSBvZmZpY2lhbGx5IHN1cHBv cnRlZCBBUEksIGV2ZW4gaWYgaXQgaGFzIGBwdWJsaWNgIHZpc2liaWxpdHkuCgpUaGlzIGFwcHJv YWNoIGNhbiBiZSBjb25mdXNpbmcgZm9yIHVzZXJzLCBob3dldmVyLCBiZWNhdXNlIHRoZXkgY2Fu IGZpbmQgbWV0aG9kcyB0aGF0IHNlZW0gdG8gZG8gd2hhdCB0aGV5IHdhbnQsIGFuZCBzdGFydCBj YWxsaW5nIHRoZW0sIHdpdGhvdXQgZXZlciBsb29raW5nIGF0IHRoZSBkb2N1bWVudGF0aW9uOiBl aXRoZXIgYnkganVzdCBndWVzc2luZyBhIGxpa2VseSBtZXRob2QgbmFtZSwgb3IgZXZlbiBiZWlu ZyBndWlkZWQgdG8gaXQgYnkgYGRpZF95b3VfbWVhbmAuCgpNZXRob2QgdmlzaWJpbGl0eSBjb250 cm9scyBzZWVtIGxpa2UgdGhlIHJpZ2h0IHNvbHV0aW9uIHRvIHRoaXMgcHJvYmxlbTogaWYgd2Ug bWFrZSB0aGUgbWV0aG9kcyBgcHJpdmF0ZWAgb3IgYHByb3RlY3RlZGAsIHVzZXJzIGNhbiBzdGls bCBjaG9vc2UgdG8gY2FsbCB0aGVtLCBidXQgb25seSBieSBmaXJzdCBhY2tub3dsZWRnaW5nIHRo YXQgdGhleSdyZSB1c2luZyBpbnRlcm5hbCBBUEkuIEhvd2V2ZXIsIGFzIHdlIGhhdmUgb2JqZWN0 IG9yaWVudGVkIGludGVybmFscywgYSBsb3Qgb2Ygb3VyIGludGVybmFsIEFQSSBjYWxscyBhcmUg YmV0d2VlbiBpbnN0YW5jZXMgb2YgdW5yZWxhdGVkIGNsYXNzZXMuLi4gYW5kIHVzaW5nIGBzZW5k YCBvbiBhbGwgdGhvc2UgY2FsbHMgd291bGQgbWFrZSBvdXIgb3duIGNvZGUgdmVyeSB1bnRpZHku CgpJIHByb3Bvc2UgdGhhdCB0aGUgc29sdXRpb24gdG8gdGhpcyBwcm9ibGVtIGlzIHRvIG1ha2Ug YHByb3RlY3RlZGAgbW9yZSB3aWRlbHkgdXNlZnVsLCBieSBhbGxvd2luZyBhIG1vZHVsZSB0byBu b21pbmF0ZSBvdGhlciBtb2R1bGVzIHRoYXQgYXJlIGFsbG93ZWQgdG8gY2FsbCBpdHMgcHJvdGVj dGVkIG1ldGhvZHMuCgpgYGBydWJ5CmNsYXNzIEEKICBwcm90ZWN0ZWQgZGVmIGZvbwogICAgInNl Y3JldHMiCiAgZW5kCmVuZAoKY2xhc3MgRAogIGRlZiBjYWxsX2ZvbwogICAgQS5uZXcuZm9vCiAg ZW5kCmVuZApBLmZyaWVuZCBECgpELm5ldy5jYWxsX2ZvbyAjID0+ICJzZWNyZXRzIgpgYGAKClRo aXMgY2hhbmdlIGlzIGJhY2t3YXJkcyBjb21wYXRpYmxlIGZvciBleGlzdGluZyB1c2VzIG9mIGBw cm90ZWN0ZWRgOiBhIG1vZHVsZSBpcyBhbHdheXMgY29uc2lkZXJlZCBpdHMgb3duIGZyaWVuZCAo c28gY2FsbHMgdGhhdCBwcmV2aW91c2x5IHdvcmtlZCB3aWxsIGNvbnRpbnVlIHRvIGRvIHNvKSwg YW5kIGNsYXNzZXMgaGF2ZSBubyBvdGhlciBmcmllbmRzIGJ5IGRlZmF1bHQgKHNvIGNhbGxzIHRo YXQgd2VyZSBwcmV2aW91c2x5IGRpc2FsbG93ZWQgd2lsbCBhbHNvIGNvbnRpbnVlIHRvIGRvIHNv KS4KClVzaW5nIGEgbW9kdWxlLCBhIGxpYnJhcnkgY2FuIGVhc2lseSBlc3RhYmxpc2ggYSAnZnJp ZW5kc2hpcCBncm91cCcgb2YgcmVsYXRlZCBjbGFzc2VzIHdpdGhvdXQgbmVlZGluZyB0byBsaW5r IHRoZW0gaW5kaXZpZHVhbGx5LCBhcyB3ZWxsIGFzIHByb3ZpZGluZyBhIHNpbmdsZSBvcHQtaW4g Zm9yIHVzZXIgY29kZSB0aGF0IGNvbnNjaW91c2x5IGNob29zZXMgdG8gdXNlIHVuc3VwcG9ydGVk IEFQSXMuCgpgYGBydWJ5Cm1vZHVsZSBNeUxpYgogIG1vZHVsZSBJbnRlcm5hbHMKICBlbmQKCiAg Y2xhc3MgQQogICAgaW5jbHVkZSBJbnRlcm5hbHMKICAgIGZyaWVuZCBJbnRlcm5hbHMKCiAgICBw cm90ZWN0ZWQgZGVmIGZvbwogICAgICAiaW1wbGVtZW50YXRpb24iCiAgICBlbmQKICBlbmQKCiAg Y2xhc3MgQgogICAgaW5jbHVkZSBJbnRlcm5hbHMKICAgIGZyaWVuZCBJbnRlcm5hbHMKCiAgICBw cm90ZWN0ZWQgZGVmIGJhcgogICAgICBBLm5ldy5mb28KICAgIGVuZAogIGVuZAplbmQKCmNsYXNz IFVzZXJDb2RlCiAgZGVmIGNhbGxfdGhpbmdzCiAgICBbTXlMaWI6OkEubmV3LmZvbywgTXlMaWI6 OkIubmV3LmJhcl0KICBlbmQKZW5kCgpjbGFzcyBGcmllbmRseVVzZXJDb2RlCiAgaW5jbHVkZSBN eUxpYjo6SW50ZXJuYWxzCgogIGRlZiBjYWxsX3RoaW5ncwogICAgW015TGliOjpBLm5ldy5mb28s IE15TGliOjpCLm5ldy5iYXJdCiAgZW5kCmVuZAoKVXNlckNvZGUubmV3LmNhbGxfdGhpbmdzICMg IT4gTm9NZXRob2RFcnJvcjogcHJvdGVjdGVkIG1ldGhvZCBgZm9vJy4uCkZyaWVuZGx5VXNlckNv ZGUubmV3LmNhbGxfdGhpbmdzICMgPT4gWyJpbXBsZW1lbnRhdGlvbiIsICJpbXBsZW1lbnRhdGlv biJdCmBgYAoKVGhpcyBjaGFuZ2Ugc2VlbXMgaW4ga2VlcGluZyB3aXRoIHRoZSBydWJ5IHBoaWxv c29waHkgdGhhdCBhIG1ldGhvZCdzIHZpc2liaWxpdHkgaXMgbW9yZSBvZiBhIGd1aWRlbGluZSB0 aGFuIGEgc3RyaWN0bHkgZW5mb3JjZWQgcnVsZSAtLSBoZXJlLCB3ZSBhbGxvdyB0aGUgY2FsbGVl IHRvIGJsdXIgdGhlIGxpbmUsIGluc3RlYWQgb2YgbGVhdmluZyBpdCB1cCB0byB0aGUgY2FsbGVy IHRvIHVzZSBgc2VuZGAuCgoKVGhlIGltcGxlbWVudGF0aW9uIGlzIHN1cnByaXNpbmdseSBzaW1w bGUsIGFuZCBvbmx5IGFkZHMgdGltZSAoc2VhcmNoaW5nIGFuIGFycmF5IG9mIGZyaWVuZHMsIGlu c3RlYWQgb2Ygb25seSBsb29raW5nIGZvciB0aGUgY3VycmVudCBjbGFzcykgYWZ0ZXIgYSBtZXRo b2QgY2FsbCBoYXMgYWxyZWFkeSByZXNvbHZlZCB0byBhIHByb3RlY3RlZCBtZXRob2QuCgoKV2hp bGUgSSdtIHBlcnNvbmFsbHkgbW9zdCBpbnRlcmVzdGVkIGluIGhvdyB0aGlzIGNvdWxkIGJlIGFw cGxpZWQgaW4gYSBSYWlscy1zaXplZCBwcm9qZWN0IChzdWNoIGFzLi4gUmFpbHMpLCBJIGJlbGll dmUgaXQgd291bGQgcHJvdmlkZSBhIGhlbHBmdWwgY2xhcmlmeWluZyB0b29sIHRvIGFueSBsaWJy YXJ5IHRoYXQgaGFzIG11bHRpcGxlIGNvbGxhYm9yYXRpbmcgY2xhc3Nlcywgd2hvc2UgaW5zdGFu Y2VzIGFyZSBhbHNvIGV4cG9zZWQgdG8gdXNlciBjb2RlLgoKCgoKLS0gCmh0dHBzOi8vYnVncy5y dWJ5LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVi eS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5v cmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=