[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110380] [Ruby master Feature#19061] Proposal: make a concept of "consuming enumerator" explicit
From:
"mame (Yusuke Endoh)" <noreply@...>
Date:
2022-10-18 08:06:09 UTC
List:
ruby-core #110380
SXNzdWUgIzE5MDYxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4KCgpI ZXJlIGlzIG15IHVuZGVyc3RhbmRpbmc6CgpgYGBydWJ5ClsxLCAyLCAzXS5lYWNoLmNvbnN1bWlu Zz8gICAjPT4gZmFsc2UKJHN0ZGluLmVhY2hfbGluZS5jb25zdW1pbmc/ICM9PiB0cnVlCgojIEEg dXNlciBtdXN0IGd1YXJhbnRlZSB3aGV0aGVyIGl0IGlzIGNvbnN1bWluZyBvciBub3QuCkVudW1l cmF0b3IubmV3ICAgICAgICAgICAgICAgICAge30uY29uc3VtaW5nICM9PiBmYWxzZQpFbnVtZXJh dG9yLm5ldyhjb25zdW1pbmc6IHRydWUpIHt9LmNvbnN1bWluZyAjPT4gdHJ1ZQoKZSA9IFsxLCAy LiAzXS5lYWNoLmNvbnN1bWluZwpwIGUuY29uc3VtaW5nPyAjPT4gdHJ1ZQpwIGUubmV4dCAjPT4g MQpwIGUudG9fYSAjPT4gWzIsIDNdCmBgYAoKSSB0aGluayB0aGVyZSBhcmUgdHdvIHByb2JsZW1z IG9mIHRoaXMgcHJvcG9zYWwuCgojIyBQcm9ibGVtIDE6IFRoZSBjb25zdW1pbmcgZmxhZyBkZXBl bmRzIG9uIHRoZSB1bmRlcmx5aW5nIElPCgpBbiBlbnVtZXJhdG9yIGNyZWF0ZWQgZnJvbSBhIG5v cm1hbCBmaWxlIGlzICpub3QqIGNvbnN1bWluZy4KCmBgYHJ1YnkKZSA9IEZpbGUuZm9yZWFjaCgi bm9ybWFsLWZpbGUiKQplLm5leHQgIz0+ICJmaXJzdCBsaW5lXG4iCmUudG9fYSAjPT4gWyJmaXJz dCBsaW5lXG4iLCAic2Vjb25kIGxpbmVcbiIsICJ0aGlyZCBsaW5lXG4iXQpgYGAKCkhvd2V2ZXIs IGFuIGVudW1lcmF0b3IgY3JlYXRlZCBmcm9tIGEgbmFtZWQgRklGTyAqaXMqIGNvbnN1bWluZy4K CmBgYHJ1YnkKRmlsZS5ta2ZpZm8oImZpZm8tZmlsZSIpCmZvcmsgZG8KICBbImZpcnN0IGxpbmVc biIsICJzZWNvbmQgbGluZVxuIl0uZWFjaCBkbyB8c3wKICAgIHNsZWVwIDEKICAgIEZpbGUud3Jp dGUoImZpZm8tZmlsZSIsIHMpCiAgZW5kCmVuZAoKZSA9IEZpbGUuZm9yZWFjaCgiZmlmby1maWxl IikKZS5uZXh0ICM9PiAiZmlyc3QgbGluZVxuIgplLnRvX2EgIz0+IFsic2Vjb25kIGxpbmVcbiJd CmBgYAoKSSBhbSB1bnN1cmUgaWYgdGhlcmUgaXMgYSBwb3J0YWJsZSB3YXkgdG8gZGV0ZXJtaW5l IHdoZXRoZXIgdGhlIElPIGlzIGNvbnN1bWluZyBvciBub3QuCgojIyBQcm9ibGVtIDI6IFRoZSBy ZXN1bHQgb2YgRW51bWVyYXRvciNjb25zdW1pbmcgc2hhcmVzIHRoZSBzdGF0ZSB3aXRoIHRoZSBv cmlnaW5hbCBFbnVtZXJhdG9yCgpBZnRlciBFbnVtZXJhdG9yI2NvbnN1bWluZyBpcyBjYWxsZWQs IGNhbGxpbmcgYCNuZXh0YCBhbmQvb3IgYCNyZXdpbmRgIG9uIHRoZSBvcmlnaW5hbCBFbnVtZXJh dG9yIGFmZmVjdHMgdGhlIGNvbnN1bWluZyBFbnVtZXJhdG9yIGFuZCB2aWNlIHZlcnNhLgoKYGBg cnVieQplMSA9ICgxLi41KS50b19lbnVtCmUyID0gZTEuY29uc3VtaW5nCgojIFRoaXMgY2FsbCBh ZmZlY3RzIHRoZSBzdGF0ZSBvZiBlMgpwIGUxLm5leHQgIz0+IDEKcCBlMi5uZXh0ICM9PiAyIChp cyB0aGlzIG9rYXk/KQoKIyBBbHNvLCBlMi5uZXh0IGFmZmVjdHMgdGhlIHN0YXRlIG9mIGUxIHZp Y2UgdmVyc2EKcCBlMS5uZXh0ICM9PiAzIChpcyB0aGlzIG9rYXkgYWdhaW4/KQoKIyBlMi5yZXdp bmQgaGFzIG5vIGVmZmVjdCAoYXMgaW50ZW5kZWQpLCBidXQgeW91IGNhbiBzdGlsbCByZXdpbmQg ZTIgYnkgY2FsbGluZyBlMS5yZXdpbmQKZTEucmV3aW5kCgpwIGUyLm5leHQgIz0+IDEgKHJld291 bmQ7IGlzIHRoaXMgb2theT8pCmBgYAoKSSBkb24ndCB0aGluayBpdCBpcyBpbnRlbnRpb25hbCwg YnV0IGl0IGlzIHZlcnkgZGlmZmljdWx0IHRvIGltcGxlbWVudCBpdCBjb3JyZWN0bHkuIE9uZSBw b3NzaWJsZSBzb2x1dGlvbiBJIGNhbWUgdXAgd2l0aCBpcyB0byBwcm9oaWJpdCBgI25leHRgIGFu ZCBgI3Jld2luZGAgb24gdGhlIG9yaWdpbmFsIEVudW1lcmF0b3IsIGkuZS4sIHRoZSByaWdodCB0 byBjYWxsIHRoZSBtZXRob2RzIGlzIGNvbXBsZXRlbHkgdHJhbnNmZXJyZWQgdG8gdGhlIGNvbnN1 bWluZyBvbmUuIEJ1dCBpdCBpbnRyb2R1Y2VzIHlldCBhbm90aGVyIG5ldyB0eXBlIG9mIEVudW1l cmF0b3IgKHVucmV3aW5kYWJsZSBFbnVtZXJhdG9yPyksIHdoaWNoIGlzIHZlcnkgY29tcGxpY2F0 ZWQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE5 MDYxOiBQcm9wb3NhbDogbWFrZSBhIGNvbmNlcHQgb2YgImNvbnN1bWluZyBlbnVtZXJhdG9yIiBl eHBsaWNpdApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTkwNjEjY2hhbmdlLTk5 Njc5CgoqIEF1dGhvcjogenZlcm9rIChWaWN0b3IgU2hlcGVsZXYpCiogU3RhdHVzOiBPcGVuCiog UHJpb3JpdHk6IE5vcm1hbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CioqVGhlIHByb2JsZW0qKgoKTGV0J3MgaW1hZ2luZSB0aGlzIHN5bnRoZXRpYyBkYXRhOgpgYGBy dWJ5CmxpbmVzID0gWwogICItLUVNQUlMLS0iLAogICJGcm9tOiB6dmVyb2sub2ZmbGluZUBnbWFp bC5jb20iLAogICJUbzsgYnVnc0BydWJ5LWxhbmcub3JnIiwKICAiU3ViamVjdDogQ29uc3VtaW5n IEVudW1lcmF0b3JzIiwKICAiIiwKICAiSGVyZSwgSSBhbSBwcmVzZW50aW5nIHRoZSBmb2xsb3dp bmcgcHJvcG9zYWwuIiwKICAiTGV0J3MgdGFsayBhYm91dCBjb25zdW1pbmcgZW51bWVyYXRvcnMu Li4iCl0KYGBgClRoZSBsb2dpYyBvZiBwYXJzaW5nIGl0IGlzIG1vcmUgb3IgbGVzcyBjbGVhcjoK KiBza2lwIHRoZSBmaXJzdCBsaW5lCiogdGFrZSBsaW5lcyB1bnRpbCBtZWV0IGVtcHR5LCB0byBy ZWFkIHRoZSBoZWFkZXIKKiB0YWtlIHRoZSByZXN0IG9mIHRoZSBsaW5lcyB0byByZWFkIHRoZSBi b2R5CgpJdCBjYW4gYmUgZWFzaWx5IHRyYW5zbGF0ZWQgaW50byBSdWJ5IGNvZGUsIGFsbW9zdCBs aXRlcmFsbHk6CmBgYHJ1YnkKZGVmIHBhcnNlKGVudW1lcmF0b3IpCiAgcHV0cyAiVGVzdGluZzog I3tlbnVtZXJhdG9yLmluc3BlY3R9IgogIGVudW1lcmF0b3IubmV4dAogIHAgZW51bWVyYXRvci50 YWtlX3doaWxlIHsgIV8xLmVtcHR5PyB9CiAgcCBlbnVtZXJhdG9yLnRvX2EKZW5kCmBgYAoKTm93 LCBsZXQncyB0cnkgdGhpcyBjb2RlIHdpdGggdHdvIGRpZmZlcmVudCBlbnVtZXJhdG9ycyBvbiB0 aG9zZSBsaW5lczoKYGBgcnVieQpyZXF1aXJlICdzdHJpbmdpbycKCmVudW1lcmF0b3IxID0gbGlu ZXMuZWFjaAplbnVtZXJhdG9yMiA9IFN0cmluZ0lPLm5ldyhsaW5lcy5qb2luKCJcbiIpKS5lYWNo X2xpbmUoY2hvbXA6IHRydWUpCgpwdXRzICJBcnJheSNlYWNoIgpwYXJzZShlbnVtZXJhdG9yMSkK CnB1dHMKcHV0cyAiU3RyaW5nSU8jZWFjaF9saW5lIgpwYXJzZShlbnVtZXJhdG9yMikKYGBgCk91 dHB1dCAoYXMgeW91IHByb2JhYmx5IGFscmVhZHkgZ3Vlc3NlZCk6CmBgYApBcnJheSNlYWNoClRl c3Rpbmc6ICM8RW51bWVyYXRvcjogWy4uLl06ZWFjaD4KWyItLUVNQUlMLS0iLCAiRnJvbTogenZl cm9rLm9mZmxpbmVAZ21haWwuY29tIiwgIlRvOyBidWdzQHJ1YnktbGFuZy5vcmciLCAiU3ViamVj dDogQ29uc3VtaW5nIEVudW1lcmF0b3JzIl0KWyItLUVNQUlMLS0iLCAiRnJvbTogenZlcm9rLm9m ZmxpbmVAZ21haWwuY29tIiwgIlRvOyBidWdzQHJ1YnktbGFuZy5vcmciLCAiU3ViamVjdDogQ29u c3VtaW5nIEVudW1lcmF0b3JzIiwgIiIsICJIZXJlLCBJIGFtIHByZXNlbnRpbmcgdGhlIGZvbGxv d2luZyBwcm9wb3NhbC4iLCAiTGV0J3MgdGFsayBhYm91dCBjb25zdW1pbmcgZW51bWVyYXRvcnMu Li4iXQoKU3RyaW5nSU8jZWFjaF9saW5lClRlc3Rpbmc6ICM8RW51bWVyYXRvcjogIzxTdHJpbmdJ TzoweDAwMDA1NTgxMDE4YzUwYTA+OmVhY2hfbGluZShjaG9tcDogdHJ1ZSk+ClsiRnJvbTogenZl cm9rLm9mZmxpbmVAZ21haWwuY29tIiwgIlRvOyBidWdzQHJ1YnktbGFuZy5vcmciLCAiU3ViamVj dDogQ29uc3VtaW5nIEVudW1lcmF0b3JzIl0KWyJIZXJlLCBJIGFtIHByZXNlbnRpbmcgdGhlIGZv bGxvd2luZyBwcm9wb3NhbC4iLCAiTGV0J3MgdGFsayBhYm91dCBjb25zdW1pbmcgZW51bWVyYXRv cnMuLi4iXQpgYGAKCk9ubHkgdGhlIHNlY29uZCBlbnVtZXJhdG9yIGJlaGF2ZXMgdGhlIHdheSB3 ZSB3YW50ZWQgaXQgdG8uClRoaW5ncyB0byBub3RpY2UgaGVyZToKMS4gQm90aCBlbnVtZXJhdG9y cyBhcmUgb2YgdGhlIHNhbWUgY2xhc3MsICJqdXN0IGVudW1lcmF0b3IsIiBidXQgdGhleSBiZWhh dmUgZGlmZmVyZW50bHk6IG9uZSBvZiB0aGVtIGlzICoqY29uc3VtaW5nKiogZGF0YSBvbiBlYWNo IGl0ZXJhdGlvbiBtZXRob2QsIHRoZSBvdGhlciBkb2VzIG5vdDsgYnV0IHRoZXJlIGlzIG5vIHBy b2dyYW1tYXRpYyB3YXkgdG8gdGVsbCB3aGV0aGVyIHNvbWUgZW51bWVyYXRvciBpbnN0YW5jZSBp cyBjb25zdW1pbmcKMi4gVGhlcmUgaXMgbm8gZWFzeSB3YXkgdG8gKiptYWtlIGEgbm9uLWNvbnN1 bWluZyBlbnVtZXJhdG9yIGJlaGF2ZSBpbiBhIGNvbnN1bWluZyB3YXkqKiwgdG8gb3BlbiBhIHBv c3NpYmlsaXR5IG9mIGEgc2VxdWVuY2Ugb2YgcHJvY2Vzc2luZyAic2tpcCB0aGlzLCB0YWtlIHRo YXQsIHRha2UgdGhlIHJlc3QiCgoqKkNvbmNyZXRlIHByb3Bvc2FsKioKCjEuIEludHJvZHVjZSBh biBgRW51bWVyYXRvciNjb25zdW1pbmc/YCBtZXRob2QgdGhhdCB3aWxsIGFsbG93IHRlbGxpbmcg b25lIG9mIHRoZSBvdGhlciAoYW5kIG1ha2UgY29yZSBlbnVtZXJhdG9ycyBsaWtlIGAjZWFjaF9s aW5lYCBwcm9wZXJseSByZXBvcnQgdGhleSBhcmUgY29uc3VtaW5nKS4KMi4gSW50cm9kdWNlIGBj b25zdW1pbmc6IHRydWVgIHBhcmFtZXRlciBmb3IgYEVudW1lcmF0b3IubmV3YCBzbyBpdCB3b3Vs ZCBiZSBlYXN5IGZvciB1c2VyJ3MgY29kZSB0byBzcGVjaWZ5IHRoZSBmbGFnCjMuIEludHJvZHVj ZSBgRW51bWVyYXRvciNjb25zdW1pbmdgIG1ldGhvZCB0byBwcm9kdWNlIGEgY29uc3VtaW5nIGVu dW1lcmF0b3IgZnJvbSBhIG5vbi1jb25zdW1pbmcgb25lOgpgYGBydWJ5CiMgcmVmZXJlbmNlIGlt cGxlbWVudGF0aW9uIGlzIHRyaXZpYWw6CmNsYXNzIEVudW1lcmF0b3IKICBkZWYgY29uc3VtaW5n CiAgICBzb3VyY2UgPSBzZWxmCiAgICBFbnVtZXJhdG9yLm5ldyB7IHx5fCBsb29wIHsgeSA8PCBz b3VyY2UubmV4dCB9IH0KICBlbmQKZW5kCgplbnVtZXJhdG9yMyA9IGxpbmVzLmVhY2guY29uc3Vt aW5nCnBhcnNlKGVudW1lcmF0b3IzKQpgYGAKT3V0cHV0OgpgYGAKWyJGcm9tOiB6dmVyb2sub2Zm bGluZUBnbWFpbC5jb20iLCAiVG87IGJ1Z3NAcnVieS1sYW5nLm9yZyIsICJTdWJqZWN0OiBDb25z dW1pbmcgRW51bWVyYXRvcnMiXQpbIkhlcmUsIEkgYW0gcHJlc2VudGluZyB0aGUgZm9sbG93aW5n IHByb3Bvc2FsLiIsICJMZXQncyB0YWxrIGFib3V0IGNvbnN1bWluZyBlbnVtZXJhdG9ycy4uLiJd CmBgYAoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1h aWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+ CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5 LWNvcmU+Cg==