[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110415] [Ruby master Feature#19061] Proposal: make a concept of "consuming enumerator" explicit
From:
"mame (Yusuke Endoh)" <noreply@...>
Date:
2022-10-19 02:27:26 UTC
List:
ruby-core #110415
SXNzdWUgIzE5MDYxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4KCgp6 dmVyb2sgKFZpY3RvciBTaGVwZWxldikgd3JvdGUgaW4gI25vdGUtMzoKPiBgRmlsZSNlYWNoX2xp bmVgIGlzIGNvbnN1bWluZyBieSBkZXNpZ24sIGlmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHkuCgpX ZWxsLCBJIGd1ZXNzIHNvLiBUbyBiZSBob25lc3QsIEknbSBub3Qgc3VyZSB3aGljaCBvbmVzIGFy ZSBjb25zdW1pbmcgYW5kIHdoaWNoIG9uZXMgYXJlIG5vdC4KCj4gPiBQcm9ibGVtIDI6IFRoZSBy ZXN1bHQgb2YgRW51bWVyYXRvciNjb25zdW1pbmcgc2hhcmVzIHRoZSBzdGF0ZSB3aXRoIHRoZSBv cmlnaW5hbCBFbnVtZXJhdG9yCj4gCj4gRG8geW91IHNlZSBhIHByb2JsZW0gd2l0aCB0aGlzIHNv bHV0aW9uPy4uCgpJIHRoaW5rIHRoaXMgaXMgYWxzbyBhIHBvc3NpYmxlIHNvbHV0aW9uLiBOb3Rl IHRoYXQgdGhlIEVudW1lcmF0b3IgaW4gdGhlIG1pZGRsZSBvZiBgI25leHRgIHdpbGwgbm90IGJl IGFibGUgdG8gcmV0dXJuIGAjY29uc3VtaW5nYC4gSXMgdGhpcyBva2F5PwoKYGBgcnVieQplMSA9 ICgxLi41KS50b19lbnVtCmUxLm5leHQKZTEuY29uc3VtaW5nICM9PiBjYW4ndCBjb3B5IGV4ZWN1 dGlvbiBjb250ZXh0IChUeXBlRXJyb3IpCmBgYAoKaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFtcykg d3JvdGUgaW4gI25vdGUtNDoKPiBGb3IgcHJvYmxlbSAxIHlvdSBjYW4gY2hlY2sgaWYgYW4gSU8g aXMgc2Vla2FibGUsIGFuZCB0aGlzIHdvdWxkIHRlbGwgeW91IHdoZXRoZXIgeW91IGNvdWxkIHJl c3RhcnQgZnJvbSB0aGUgYmVnaW5uaW5nLgoKSSB0aGluayB5b3UgbWlzdW5kZXJzdGFuZCBQcm9i bGVtIDEgKG1heWJlIGR1ZSB0byBteSBiYWQgZXhwbGFuYXRpb24pLiBFbnVtZXJhdG9yIGRvZXMg bm90IHVzZSBJTyNzZWVrIG9yIHNvbWV0aGluZy4gQ2FsbGluZyBgI25leHRgIGFuZCBgI3RvX2Fg IG9uIHRoZSBFbnVtZXJhdG9yIGNyZWF0ZWQgZnJvbSBgRmlsZS5mb3JlYWNoYCB3aWxsIG9wZW4g dGhlIGZpbGUgcmVzcGVjdGl2ZWx5LgoKRGFuMDA0MiAoRGFuaWVsIERlTG9ybWUpIHdyb3RlIGlu ICNub3RlLTU6Cj4gSXQncyBtb3JlIGNvbXBsaWNhdGVkLCBidXQgdW5yZXdpbmRhYmxlIGVudW1l cmF0b3JzIGFscmVhZHkgZXhpc3QgaW4gcHJhY3RpY2UgKGFzIHNob3duIGJ5IEZJRk8pLCBzbyBt YWtpbmcgdGhlbSB2aXNpYmxlIGFuZCBleHBsaWNpdCBzaG91bGQgYmUgdXNlZnVsIEkgdGhpbmsu IE1heWJlIGAjY29uc3VtaW5nP2AgY291bGQgcmV0dXJuIDMgdmFsdWVzIGxpa2UgYFtuaWwsIDpy ZXdpbmRhYmxlLCA6bm9ucmV3aW5kYWJsZV1gCgpUaGUgd29yZCAidW5yZXdpbmRhYmxlIiB3YXMg bm90IGEgZ29vZCBuYW1lLCB3aGljaCBtaWdodCBoYXZlIGNvbmZ1c2VkIHlvdS4gSSBtZWFudCBh biBFbnVtZXJhdG9yIHdob3NlIGAjbmV4dGAgYW5kIGAjcmV3aW5kYCByYWlzZSBhbiBleGNlcHRp b24sIHNheSwgInlvdSBjYW5ub3QgdXNlICNuZXh0IGJlY2F1c2UgeW91IGhhdmUgYWxyZWFkeSBj YWxsZWQgI2NvbnN1bWluZyIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQpGZWF0dXJlICMxOTA2MTogUHJvcG9zYWw6IG1ha2UgYSBjb25jZXB0IG9mICJjb25zdW1p bmcgZW51bWVyYXRvciIgZXhwbGljaXQKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVz LzE5MDYxI2NoYW5nZS05OTcyNwoKKiBBdXRob3I6IHp2ZXJvayAoVmljdG9yIFNoZXBlbGV2KQoq IFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQoqKlRoZSBwcm9ibGVtKioKCkxldCdzIGltYWdpbmUgdGhpcyBzeW50 aGV0aWMgZGF0YToKYGBgcnVieQpsaW5lcyA9IFsKICAiLS1FTUFJTC0tIiwKICAiRnJvbTogenZl cm9rLm9mZmxpbmVAZ21haWwuY29tIiwKICAiVG87IGJ1Z3NAcnVieS1sYW5nLm9yZyIsCiAgIlN1 YmplY3Q6IENvbnN1bWluZyBFbnVtZXJhdG9ycyIsCiAgIiIsCiAgIkhlcmUsIEkgYW0gcHJlc2Vu dGluZyB0aGUgZm9sbG93aW5nIHByb3Bvc2FsLiIsCiAgIkxldCdzIHRhbGsgYWJvdXQgY29uc3Vt aW5nIGVudW1lcmF0b3JzLi4uIgpdCmBgYApUaGUgbG9naWMgb2YgcGFyc2luZyBpdCBpcyBtb3Jl IG9yIGxlc3MgY2xlYXI6Ciogc2tpcCB0aGUgZmlyc3QgbGluZQoqIHRha2UgbGluZXMgdW50aWwg bWVldCBlbXB0eSwgdG8gcmVhZCB0aGUgaGVhZGVyCiogdGFrZSB0aGUgcmVzdCBvZiB0aGUgbGlu ZXMgdG8gcmVhZCB0aGUgYm9keQoKSXQgY2FuIGJlIGVhc2lseSB0cmFuc2xhdGVkIGludG8gUnVi eSBjb2RlLCBhbG1vc3QgbGl0ZXJhbGx5OgpgYGBydWJ5CmRlZiBwYXJzZShlbnVtZXJhdG9yKQog IHB1dHMgIlRlc3Rpbmc6ICN7ZW51bWVyYXRvci5pbnNwZWN0fSIKICBlbnVtZXJhdG9yLm5leHQK ICBwIGVudW1lcmF0b3IudGFrZV93aGlsZSB7ICFfMS5lbXB0eT8gfQogIHAgZW51bWVyYXRvci50 b19hCmVuZApgYGAKCk5vdywgbGV0J3MgdHJ5IHRoaXMgY29kZSB3aXRoIHR3byBkaWZmZXJlbnQg ZW51bWVyYXRvcnMgb24gdGhvc2UgbGluZXM6CmBgYHJ1YnkKcmVxdWlyZSAnc3RyaW5naW8nCgpl bnVtZXJhdG9yMSA9IGxpbmVzLmVhY2gKZW51bWVyYXRvcjIgPSBTdHJpbmdJTy5uZXcobGluZXMu am9pbigiXG4iKSkuZWFjaF9saW5lKGNob21wOiB0cnVlKQoKcHV0cyAiQXJyYXkjZWFjaCIKcGFy c2UoZW51bWVyYXRvcjEpCgpwdXRzCnB1dHMgIlN0cmluZ0lPI2VhY2hfbGluZSIKcGFyc2UoZW51 bWVyYXRvcjIpCmBgYApPdXRwdXQgKGFzIHlvdSBwcm9iYWJseSBhbHJlYWR5IGd1ZXNzZWQpOgpg YGAKQXJyYXkjZWFjaApUZXN0aW5nOiAjPEVudW1lcmF0b3I6IFsuLi5dOmVhY2g+ClsiLS1FTUFJ TC0tIiwgIkZyb206IHp2ZXJvay5vZmZsaW5lQGdtYWlsLmNvbSIsICJUbzsgYnVnc0BydWJ5LWxh bmcub3JnIiwgIlN1YmplY3Q6IENvbnN1bWluZyBFbnVtZXJhdG9ycyJdClsiLS1FTUFJTC0tIiwg IkZyb206IHp2ZXJvay5vZmZsaW5lQGdtYWlsLmNvbSIsICJUbzsgYnVnc0BydWJ5LWxhbmcub3Jn IiwgIlN1YmplY3Q6IENvbnN1bWluZyBFbnVtZXJhdG9ycyIsICIiLCAiSGVyZSwgSSBhbSBwcmVz ZW50aW5nIHRoZSBmb2xsb3dpbmcgcHJvcG9zYWwuIiwgIkxldCdzIHRhbGsgYWJvdXQgY29uc3Vt aW5nIGVudW1lcmF0b3JzLi4uIl0KClN0cmluZ0lPI2VhY2hfbGluZQpUZXN0aW5nOiAjPEVudW1l cmF0b3I6ICM8U3RyaW5nSU86MHgwMDAwNTU4MTAxOGM1MGEwPjplYWNoX2xpbmUoY2hvbXA6IHRy dWUpPgpbIkZyb206IHp2ZXJvay5vZmZsaW5lQGdtYWlsLmNvbSIsICJUbzsgYnVnc0BydWJ5LWxh bmcub3JnIiwgIlN1YmplY3Q6IENvbnN1bWluZyBFbnVtZXJhdG9ycyJdClsiSGVyZSwgSSBhbSBw cmVzZW50aW5nIHRoZSBmb2xsb3dpbmcgcHJvcG9zYWwuIiwgIkxldCdzIHRhbGsgYWJvdXQgY29u c3VtaW5nIGVudW1lcmF0b3JzLi4uIl0KYGBgCgpPbmx5IHRoZSBzZWNvbmQgZW51bWVyYXRvciBi ZWhhdmVzIHRoZSB3YXkgd2Ugd2FudGVkIGl0IHRvLgpUaGluZ3MgdG8gbm90aWNlIGhlcmU6CjEu IEJvdGggZW51bWVyYXRvcnMgYXJlIG9mIHRoZSBzYW1lIGNsYXNzLCAianVzdCBlbnVtZXJhdG9y LCIgYnV0IHRoZXkgYmVoYXZlIGRpZmZlcmVudGx5OiBvbmUgb2YgdGhlbSBpcyAqKmNvbnN1bWlu ZyoqIGRhdGEgb24gZWFjaCBpdGVyYXRpb24gbWV0aG9kLCB0aGUgb3RoZXIgZG9lcyBub3Q7IGJ1 dCB0aGVyZSBpcyBubyBwcm9ncmFtbWF0aWMgd2F5IHRvIHRlbGwgd2hldGhlciBzb21lIGVudW1l cmF0b3IgaW5zdGFuY2UgaXMgY29uc3VtaW5nCjIuIFRoZXJlIGlzIG5vIGVhc3kgd2F5IHRvICoq bWFrZSBhIG5vbi1jb25zdW1pbmcgZW51bWVyYXRvciBiZWhhdmUgaW4gYSBjb25zdW1pbmcgd2F5 KiosIHRvIG9wZW4gYSBwb3NzaWJpbGl0eSBvZiBhIHNlcXVlbmNlIG9mIHByb2Nlc3NpbmcgInNr aXAgdGhpcywgdGFrZSB0aGF0LCB0YWtlIHRoZSByZXN0IgoKKipDb25jcmV0ZSBwcm9wb3NhbCoq CgoxLiBJbnRyb2R1Y2UgYW4gYEVudW1lcmF0b3IjY29uc3VtaW5nP2AgbWV0aG9kIHRoYXQgd2ls bCBhbGxvdyB0ZWxsaW5nIG9uZSBvZiB0aGUgb3RoZXIgKGFuZCBtYWtlIGNvcmUgZW51bWVyYXRv cnMgbGlrZSBgI2VhY2hfbGluZWAgcHJvcGVybHkgcmVwb3J0IHRoZXkgYXJlIGNvbnN1bWluZyku CjIuIEludHJvZHVjZSBgY29uc3VtaW5nOiB0cnVlYCBwYXJhbWV0ZXIgZm9yIGBFbnVtZXJhdG9y Lm5ld2Agc28gaXQgd291bGQgYmUgZWFzeSBmb3IgdXNlcidzIGNvZGUgdG8gc3BlY2lmeSB0aGUg ZmxhZwozLiBJbnRyb2R1Y2UgYEVudW1lcmF0b3IjY29uc3VtaW5nYCBtZXRob2QgdG8gcHJvZHVj ZSBhIGNvbnN1bWluZyBlbnVtZXJhdG9yIGZyb20gYSBub24tY29uc3VtaW5nIG9uZToKYGBgcnVi eQojIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBpcyB0cml2aWFsOgpjbGFzcyBFbnVtZXJhdG9y CiAgZGVmIGNvbnN1bWluZwogICAgc291cmNlID0gc2VsZgogICAgRW51bWVyYXRvci5uZXcgeyB8 eXwgbG9vcCB7IHkgPDwgc291cmNlLm5leHQgfSB9CiAgZW5kCmVuZAoKZW51bWVyYXRvcjMgPSBs aW5lcy5lYWNoLmNvbnN1bWluZwpwYXJzZShlbnVtZXJhdG9yMykKYGBgCk91dHB1dDoKYGBgClsi RnJvbTogenZlcm9rLm9mZmxpbmVAZ21haWwuY29tIiwgIlRvOyBidWdzQHJ1YnktbGFuZy5vcmci LCAiU3ViamVjdDogQ29uc3VtaW5nIEVudW1lcmF0b3JzIl0KWyJIZXJlLCBJIGFtIHByZXNlbnRp bmcgdGhlIGZvbGxvd2luZyBwcm9wb3NhbC4iLCAiTGV0J3MgdGFsayBhYm91dCBjb25zdW1pbmcg ZW51bWVyYXRvcnMuLi4iXQpgYGAKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoK VW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJq ZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWls bWFuL29wdGlvbnMvcnVieS1jb3JlPgo=