[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110470] [Ruby master Feature#19061] Proposal: make a concept of "consuming enumerator" explicit
From:
"zverok (Victor Shepelev)" <noreply@...>
Date:
2022-10-21 20:28:04 UTC
List:
ruby-core #110470
SXNzdWUgIzE5MDYxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgenZlcm9rIChWaWN0b3IgU2hlcGVsZXYp LgoKCj4gSSB0aGluayBpdCBpcyBpbXBvc3NpYmxlIHRvIGltcGxlbWVudCB0aGUgbWV0aG9kIGV2 ZW4gaW4gdGhlIGZ1dHVyZSBiZWNhdXNlIGEgRmliZXIgY2Fubm90IGJlIGR1cGxpY2F0ZWQuCgpP ZiBjb3Vyc2UsIGl0IGlzIGltcG9zc2libGUgZGlyZWN0bHkuIApJIGp1c3QgbWlnaHQgaW1hZ2lu ZSB0aGF0IF9pZl8gaXQgd291bGQgYmUgYSBjb21tb24gc3R1bWJsaW5nIHF1ZXN0aW9uIGZvciBj b25zdW1pbmcgZW51bWVyYXRvcnMgKGhhcmRseSBzbywgYnV0IHdobyBrbm93cyksIHRoZXJlIG1p Z2h0IGJlIHNvbWUgd29ya2Fyb3VuZHMsIGxpa2UsIElESywgdHJ5aW5nIHRvIGR1cGxpY2F0ZSB0 aGUgaW5pdGlhbCBzdGF0ZSBhbmQgbWFrZSBjb25zdW1pbmcgZW51bWVyYXRvciBzdGFydCBmcm9t IHRoZSBzdGFydCBpZiBwb3NzaWJsZSwgb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4KCkFueXdheSwg aXQgaXMgb3V0IG9mIHRoZSBzY29wZSBvZiB0aGUgY3VycmVudCBwcm9wb3NhbCA6KQoKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxOTA2MTogUHJvcG9z YWw6IG1ha2UgYSBjb25jZXB0IG9mICJjb25zdW1pbmcgZW51bWVyYXRvciIgZXhwbGljaXQKaHR0 cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE5MDYxI2NoYW5nZS05OTc4OQoKKiBBdXRo b3I6IHp2ZXJvayAoVmljdG9yIFNoZXBlbGV2KQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBO b3JtYWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqKlRoZSBwcm9i bGVtKioKCkxldCdzIGltYWdpbmUgdGhpcyBzeW50aGV0aWMgZGF0YToKYGBgcnVieQpsaW5lcyA9 IFsKICAiLS1FTUFJTC0tIiwKICAiRnJvbTogenZlcm9rLm9mZmxpbmVAZ21haWwuY29tIiwKICAi VG87IGJ1Z3NAcnVieS1sYW5nLm9yZyIsCiAgIlN1YmplY3Q6IENvbnN1bWluZyBFbnVtZXJhdG9y cyIsCiAgIiIsCiAgIkhlcmUsIEkgYW0gcHJlc2VudGluZyB0aGUgZm9sbG93aW5nIHByb3Bvc2Fs LiIsCiAgIkxldCdzIHRhbGsgYWJvdXQgY29uc3VtaW5nIGVudW1lcmF0b3JzLi4uIgpdCmBgYApU aGUgbG9naWMgb2YgcGFyc2luZyBpdCBpcyBtb3JlIG9yIGxlc3MgY2xlYXI6Ciogc2tpcCB0aGUg Zmlyc3QgbGluZQoqIHRha2UgbGluZXMgdW50aWwgbWVldCBlbXB0eSwgdG8gcmVhZCB0aGUgaGVh ZGVyCiogdGFrZSB0aGUgcmVzdCBvZiB0aGUgbGluZXMgdG8gcmVhZCB0aGUgYm9keQoKSXQgY2Fu IGJlIGVhc2lseSB0cmFuc2xhdGVkIGludG8gUnVieSBjb2RlLCBhbG1vc3QgbGl0ZXJhbGx5Ogpg YGBydWJ5CmRlZiBwYXJzZShlbnVtZXJhdG9yKQogIHB1dHMgIlRlc3Rpbmc6ICN7ZW51bWVyYXRv ci5pbnNwZWN0fSIKICBlbnVtZXJhdG9yLm5leHQKICBwIGVudW1lcmF0b3IudGFrZV93aGlsZSB7 ICFfMS5lbXB0eT8gfQogIHAgZW51bWVyYXRvci50b19hCmVuZApgYGAKCk5vdywgbGV0J3MgdHJ5 IHRoaXMgY29kZSB3aXRoIHR3byBkaWZmZXJlbnQgZW51bWVyYXRvcnMgb24gdGhvc2UgbGluZXM6 CmBgYHJ1YnkKcmVxdWlyZSAnc3RyaW5naW8nCgplbnVtZXJhdG9yMSA9IGxpbmVzLmVhY2gKZW51 bWVyYXRvcjIgPSBTdHJpbmdJTy5uZXcobGluZXMuam9pbigiXG4iKSkuZWFjaF9saW5lKGNob21w OiB0cnVlKQoKcHV0cyAiQXJyYXkjZWFjaCIKcGFyc2UoZW51bWVyYXRvcjEpCgpwdXRzCnB1dHMg IlN0cmluZ0lPI2VhY2hfbGluZSIKcGFyc2UoZW51bWVyYXRvcjIpCmBgYApPdXRwdXQgKGFzIHlv dSBwcm9iYWJseSBhbHJlYWR5IGd1ZXNzZWQpOgpgYGAKQXJyYXkjZWFjaApUZXN0aW5nOiAjPEVu dW1lcmF0b3I6IFsuLi5dOmVhY2g+ClsiLS1FTUFJTC0tIiwgIkZyb206IHp2ZXJvay5vZmZsaW5l QGdtYWlsLmNvbSIsICJUbzsgYnVnc0BydWJ5LWxhbmcub3JnIiwgIlN1YmplY3Q6IENvbnN1bWlu ZyBFbnVtZXJhdG9ycyJdClsiLS1FTUFJTC0tIiwgIkZyb206IHp2ZXJvay5vZmZsaW5lQGdtYWls LmNvbSIsICJUbzsgYnVnc0BydWJ5LWxhbmcub3JnIiwgIlN1YmplY3Q6IENvbnN1bWluZyBFbnVt ZXJhdG9ycyIsICIiLCAiSGVyZSwgSSBhbSBwcmVzZW50aW5nIHRoZSBmb2xsb3dpbmcgcHJvcG9z YWwuIiwgIkxldCdzIHRhbGsgYWJvdXQgY29uc3VtaW5nIGVudW1lcmF0b3JzLi4uIl0KClN0cmlu Z0lPI2VhY2hfbGluZQpUZXN0aW5nOiAjPEVudW1lcmF0b3I6ICM8U3RyaW5nSU86MHgwMDAwNTU4 MTAxOGM1MGEwPjplYWNoX2xpbmUoY2hvbXA6IHRydWUpPgpbIkZyb206IHp2ZXJvay5vZmZsaW5l QGdtYWlsLmNvbSIsICJUbzsgYnVnc0BydWJ5LWxhbmcub3JnIiwgIlN1YmplY3Q6IENvbnN1bWlu ZyBFbnVtZXJhdG9ycyJdClsiSGVyZSwgSSBhbSBwcmVzZW50aW5nIHRoZSBmb2xsb3dpbmcgcHJv cG9zYWwuIiwgIkxldCdzIHRhbGsgYWJvdXQgY29uc3VtaW5nIGVudW1lcmF0b3JzLi4uIl0KYGBg CgpPbmx5IHRoZSBzZWNvbmQgZW51bWVyYXRvciBiZWhhdmVzIHRoZSB3YXkgd2Ugd2FudGVkIGl0 IHRvLgpUaGluZ3MgdG8gbm90aWNlIGhlcmU6CjEuIEJvdGggZW51bWVyYXRvcnMgYXJlIG9mIHRo ZSBzYW1lIGNsYXNzLCAianVzdCBlbnVtZXJhdG9yLCIgYnV0IHRoZXkgYmVoYXZlIGRpZmZlcmVu dGx5OiBvbmUgb2YgdGhlbSBpcyAqKmNvbnN1bWluZyoqIGRhdGEgb24gZWFjaCBpdGVyYXRpb24g bWV0aG9kLCB0aGUgb3RoZXIgZG9lcyBub3Q7IGJ1dCB0aGVyZSBpcyBubyBwcm9ncmFtbWF0aWMg d2F5IHRvIHRlbGwgd2hldGhlciBzb21lIGVudW1lcmF0b3IgaW5zdGFuY2UgaXMgY29uc3VtaW5n CjIuIFRoZXJlIGlzIG5vIGVhc3kgd2F5IHRvICoqbWFrZSBhIG5vbi1jb25zdW1pbmcgZW51bWVy YXRvciBiZWhhdmUgaW4gYSBjb25zdW1pbmcgd2F5KiosIHRvIG9wZW4gYSBwb3NzaWJpbGl0eSBv ZiBhIHNlcXVlbmNlIG9mIHByb2Nlc3NpbmcgInNraXAgdGhpcywgdGFrZSB0aGF0LCB0YWtlIHRo ZSByZXN0IgoKKipDb25jcmV0ZSBwcm9wb3NhbCoqCgoxLiBJbnRyb2R1Y2UgYW4gYEVudW1lcmF0 b3IjY29uc3VtaW5nP2AgbWV0aG9kIHRoYXQgd2lsbCBhbGxvdyB0ZWxsaW5nIG9uZSBvZiB0aGUg b3RoZXIgKGFuZCBtYWtlIGNvcmUgZW51bWVyYXRvcnMgbGlrZSBgI2VhY2hfbGluZWAgcHJvcGVy bHkgcmVwb3J0IHRoZXkgYXJlIGNvbnN1bWluZykuCjIuIEludHJvZHVjZSBgY29uc3VtaW5nOiB0 cnVlYCBwYXJhbWV0ZXIgZm9yIGBFbnVtZXJhdG9yLm5ld2Agc28gaXQgd291bGQgYmUgZWFzeSBm b3IgdXNlcidzIGNvZGUgdG8gc3BlY2lmeSB0aGUgZmxhZwozLiBJbnRyb2R1Y2UgYEVudW1lcmF0 b3IjY29uc3VtaW5nYCBtZXRob2QgdG8gcHJvZHVjZSBhIGNvbnN1bWluZyBlbnVtZXJhdG9yIGZy b20gYSBub24tY29uc3VtaW5nIG9uZToKYGBgcnVieQojIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlv biBpcyB0cml2aWFsOgpjbGFzcyBFbnVtZXJhdG9yCiAgZGVmIGNvbnN1bWluZwogICAgc291cmNl ID0gc2VsZgogICAgRW51bWVyYXRvci5uZXcgeyB8eXwgbG9vcCB7IHkgPDwgc291cmNlLm5leHQg fSB9CiAgZW5kCmVuZAoKZW51bWVyYXRvcjMgPSBsaW5lcy5lYWNoLmNvbnN1bWluZwpwYXJzZShl bnVtZXJhdG9yMykKYGBgCk91dHB1dDoKYGBgClsiRnJvbTogenZlcm9rLm9mZmxpbmVAZ21haWwu Y29tIiwgIlRvOyBidWdzQHJ1YnktbGFuZy5vcmciLCAiU3ViamVjdDogQ29uc3VtaW5nIEVudW1l cmF0b3JzIl0KWyJIZXJlLCBJIGFtIHByZXNlbnRpbmcgdGhlIGZvbGxvd2luZyBwcm9wb3NhbC4i LCAiTGV0J3MgdGFsayBhYm91dCBjb25zdW1pbmcgZW51bWVyYXRvcnMuLi4iXQpgYGAKCgoKLS0g Cmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1j b3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xp c3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=