[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110462] [Ruby master Feature#19061] Proposal: make a concept of "consuming enumerator" explicit
From:
"zverok (Victor Shepelev)" <noreply@...>
Date:
2022-10-21 12:05:00 UTC
List:
ruby-core #110462
SXNzdWUgIzE5MDYxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgenZlcm9rIChWaWN0b3IgU2hlcGVsZXYp LgoKCkBtYW1lIAoKPiBUbyBiZSBob25lc3QsIEknbSBub3Qgc3VyZSB3aGljaCBvbmVzIGFyZSBj b25zdW1pbmcgYW5kIHdoaWNoIG9uZXMgYXJlIG5vdC4KCldoaWNoIGlzIG9uZSBvZiB0aGUgcG9p bnRzIG9mIHRoaXMgdGlja2V0ISBUaGUgZGlzdGluY3Rpb24gaXMgaW50ZXJuYWxseSBwcmVzZW50 IChhcyBkaXNwbGF5ZWQgaW4gb3JpZ2luYWwgY29kZSBzYW1wbGVzKSBidXQgbmV2ZXIgc3BlbGxl ZCBvdXQgYW5kIGNhbid0IGJlIGludHJvc3BlY3RlZC4gSSBiZWxpZXZlIHRoYXQgaW50cm9kdWNp bmcgdGhlIGV4cGxpY2l0IGNvbmNlcHQgd2lsbCBtYWtlIGl0IG11Y2ggbW9yZSBvYnZpb3VzIGFu ZCBtYWtlIHBlb3BsZSBhd2FyZSBvZiBpdC4KCj4gTm90ZSB0aGF0IHRoZSBFbnVtZXJhdG9yIGlu IHRoZSBtaWRkbGUgb2YgYCNuZXh0YCB3aWxsIG5vdCBiZSBhYmxlIHRvIHJldHVybiBgI2NvbnN1 bWluZ2AuIElzIHRoaXMgb2theT8KCkkgdGhpbmsgaXQgaXMgdG90YWxseSBPayBmb3IgdGhlIGZp cnN0IGltcGxlbWVudGF0aW9uLCBlc3BlY2lhbGx5IGlmIGAjY29uc3VtaW5nYCB3aWxsIHJhaXNl IGEgYml0IG1vcmUgZnJpZW5kbHkgZXJyb3IgbGlrZSAiVGhlIGVudW1lcmF0b3IgaXMgbWlkLWVu dW1lcmF0aW9uIGFuZCBjYW4ndCBiZSB0dXJuZWQgaW50byBjb25zdW1pbmciIG9yIHNvbWV0aGlu Zy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTkw NjE6IFByb3Bvc2FsOiBtYWtlIGEgY29uY2VwdCBvZiAiY29uc3VtaW5nIGVudW1lcmF0b3IiIGV4 cGxpY2l0Cmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xOTA2MSNjaGFuZ2UtOTk3 ODIKCiogQXV0aG9yOiB6dmVyb2sgKFZpY3RvciBTaGVwZWxldikKKiBTdGF0dXM6IE9wZW4KKiBQ cmlvcml0eTogTm9ybWFsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KipUaGUgcHJvYmxlbSoqCgpMZXQncyBpbWFnaW5lIHRoaXMgc3ludGhldGljIGRhdGE6CmBgYHJ1 YnkKbGluZXMgPSBbCiAgIi0tRU1BSUwtLSIsCiAgIkZyb206IHp2ZXJvay5vZmZsaW5lQGdtYWls LmNvbSIsCiAgIlRvOyBidWdzQHJ1YnktbGFuZy5vcmciLAogICJTdWJqZWN0OiBDb25zdW1pbmcg RW51bWVyYXRvcnMiLAogICIiLAogICJIZXJlLCBJIGFtIHByZXNlbnRpbmcgdGhlIGZvbGxvd2lu ZyBwcm9wb3NhbC4iLAogICJMZXQncyB0YWxrIGFib3V0IGNvbnN1bWluZyBlbnVtZXJhdG9ycy4u LiIKXQpgYGAKVGhlIGxvZ2ljIG9mIHBhcnNpbmcgaXQgaXMgbW9yZSBvciBsZXNzIGNsZWFyOgoq IHNraXAgdGhlIGZpcnN0IGxpbmUKKiB0YWtlIGxpbmVzIHVudGlsIG1lZXQgZW1wdHksIHRvIHJl YWQgdGhlIGhlYWRlcgoqIHRha2UgdGhlIHJlc3Qgb2YgdGhlIGxpbmVzIHRvIHJlYWQgdGhlIGJv ZHkKCkl0IGNhbiBiZSBlYXNpbHkgdHJhbnNsYXRlZCBpbnRvIFJ1YnkgY29kZSwgYWxtb3N0IGxp dGVyYWxseToKYGBgcnVieQpkZWYgcGFyc2UoZW51bWVyYXRvcikKICBwdXRzICJUZXN0aW5nOiAj e2VudW1lcmF0b3IuaW5zcGVjdH0iCiAgZW51bWVyYXRvci5uZXh0CiAgcCBlbnVtZXJhdG9yLnRh a2Vfd2hpbGUgeyAhXzEuZW1wdHk/IH0KICBwIGVudW1lcmF0b3IudG9fYQplbmQKYGBgCgpOb3cs IGxldCdzIHRyeSB0aGlzIGNvZGUgd2l0aCB0d28gZGlmZmVyZW50IGVudW1lcmF0b3JzIG9uIHRo b3NlIGxpbmVzOgpgYGBydWJ5CnJlcXVpcmUgJ3N0cmluZ2lvJwoKZW51bWVyYXRvcjEgPSBsaW5l cy5lYWNoCmVudW1lcmF0b3IyID0gU3RyaW5nSU8ubmV3KGxpbmVzLmpvaW4oIlxuIikpLmVhY2hf bGluZShjaG9tcDogdHJ1ZSkKCnB1dHMgIkFycmF5I2VhY2giCnBhcnNlKGVudW1lcmF0b3IxKQoK cHV0cwpwdXRzICJTdHJpbmdJTyNlYWNoX2xpbmUiCnBhcnNlKGVudW1lcmF0b3IyKQpgYGAKT3V0 cHV0IChhcyB5b3UgcHJvYmFibHkgYWxyZWFkeSBndWVzc2VkKToKYGBgCkFycmF5I2VhY2gKVGVz dGluZzogIzxFbnVtZXJhdG9yOiBbLi4uXTplYWNoPgpbIi0tRU1BSUwtLSIsICJGcm9tOiB6dmVy b2sub2ZmbGluZUBnbWFpbC5jb20iLCAiVG87IGJ1Z3NAcnVieS1sYW5nLm9yZyIsICJTdWJqZWN0 OiBDb25zdW1pbmcgRW51bWVyYXRvcnMiXQpbIi0tRU1BSUwtLSIsICJGcm9tOiB6dmVyb2sub2Zm bGluZUBnbWFpbC5jb20iLCAiVG87IGJ1Z3NAcnVieS1sYW5nLm9yZyIsICJTdWJqZWN0OiBDb25z dW1pbmcgRW51bWVyYXRvcnMiLCAiIiwgIkhlcmUsIEkgYW0gcHJlc2VudGluZyB0aGUgZm9sbG93 aW5nIHByb3Bvc2FsLiIsICJMZXQncyB0YWxrIGFib3V0IGNvbnN1bWluZyBlbnVtZXJhdG9ycy4u LiJdCgpTdHJpbmdJTyNlYWNoX2xpbmUKVGVzdGluZzogIzxFbnVtZXJhdG9yOiAjPFN0cmluZ0lP OjB4MDAwMDU1ODEwMThjNTBhMD46ZWFjaF9saW5lKGNob21wOiB0cnVlKT4KWyJGcm9tOiB6dmVy b2sub2ZmbGluZUBnbWFpbC5jb20iLCAiVG87IGJ1Z3NAcnVieS1sYW5nLm9yZyIsICJTdWJqZWN0 OiBDb25zdW1pbmcgRW51bWVyYXRvcnMiXQpbIkhlcmUsIEkgYW0gcHJlc2VudGluZyB0aGUgZm9s bG93aW5nIHByb3Bvc2FsLiIsICJMZXQncyB0YWxrIGFib3V0IGNvbnN1bWluZyBlbnVtZXJhdG9y cy4uLiJdCmBgYAoKT25seSB0aGUgc2Vjb25kIGVudW1lcmF0b3IgYmVoYXZlcyB0aGUgd2F5IHdl IHdhbnRlZCBpdCB0by4KVGhpbmdzIHRvIG5vdGljZSBoZXJlOgoxLiBCb3RoIGVudW1lcmF0b3Jz IGFyZSBvZiB0aGUgc2FtZSBjbGFzcywgImp1c3QgZW51bWVyYXRvciwiIGJ1dCB0aGV5IGJlaGF2 ZSBkaWZmZXJlbnRseTogb25lIG9mIHRoZW0gaXMgKipjb25zdW1pbmcqKiBkYXRhIG9uIGVhY2gg aXRlcmF0aW9uIG1ldGhvZCwgdGhlIG90aGVyIGRvZXMgbm90OyBidXQgdGhlcmUgaXMgbm8gcHJv Z3JhbW1hdGljIHdheSB0byB0ZWxsIHdoZXRoZXIgc29tZSBlbnVtZXJhdG9yIGluc3RhbmNlIGlz IGNvbnN1bWluZwoyLiBUaGVyZSBpcyBubyBlYXN5IHdheSB0byAqKm1ha2UgYSBub24tY29uc3Vt aW5nIGVudW1lcmF0b3IgYmVoYXZlIGluIGEgY29uc3VtaW5nIHdheSoqLCB0byBvcGVuIGEgcG9z c2liaWxpdHkgb2YgYSBzZXF1ZW5jZSBvZiBwcm9jZXNzaW5nICJza2lwIHRoaXMsIHRha2UgdGhh dCwgdGFrZSB0aGUgcmVzdCIKCioqQ29uY3JldGUgcHJvcG9zYWwqKgoKMS4gSW50cm9kdWNlIGFu IGBFbnVtZXJhdG9yI2NvbnN1bWluZz9gIG1ldGhvZCB0aGF0IHdpbGwgYWxsb3cgdGVsbGluZyBv bmUgb2YgdGhlIG90aGVyIChhbmQgbWFrZSBjb3JlIGVudW1lcmF0b3JzIGxpa2UgYCNlYWNoX2xp bmVgIHByb3Blcmx5IHJlcG9ydCB0aGV5IGFyZSBjb25zdW1pbmcpLgoyLiBJbnRyb2R1Y2UgYGNv bnN1bWluZzogdHJ1ZWAgcGFyYW1ldGVyIGZvciBgRW51bWVyYXRvci5uZXdgIHNvIGl0IHdvdWxk IGJlIGVhc3kgZm9yIHVzZXIncyBjb2RlIHRvIHNwZWNpZnkgdGhlIGZsYWcKMy4gSW50cm9kdWNl IGBFbnVtZXJhdG9yI2NvbnN1bWluZ2AgbWV0aG9kIHRvIHByb2R1Y2UgYSBjb25zdW1pbmcgZW51 bWVyYXRvciBmcm9tIGEgbm9uLWNvbnN1bWluZyBvbmU6CmBgYHJ1YnkKIyByZWZlcmVuY2UgaW1w bGVtZW50YXRpb24gaXMgdHJpdmlhbDoKY2xhc3MgRW51bWVyYXRvcgogIGRlZiBjb25zdW1pbmcK ICAgIHNvdXJjZSA9IHNlbGYKICAgIEVudW1lcmF0b3IubmV3IHsgfHl8IGxvb3AgeyB5IDw8IHNv dXJjZS5uZXh0IH0gfQogIGVuZAplbmQKCmVudW1lcmF0b3IzID0gbGluZXMuZWFjaC5jb25zdW1p bmcKcGFyc2UoZW51bWVyYXRvcjMpCmBgYApPdXRwdXQ6CmBgYApbIkZyb206IHp2ZXJvay5vZmZs aW5lQGdtYWlsLmNvbSIsICJUbzsgYnVnc0BydWJ5LWxhbmcub3JnIiwgIlN1YmplY3Q6IENvbnN1 bWluZyBFbnVtZXJhdG9ycyJdClsiSGVyZSwgSSBhbSBwcmVzZW50aW5nIHRoZSBmb2xsb3dpbmcg cHJvcG9zYWwuIiwgIkxldCdzIHRhbGsgYWJvdXQgY29uc3VtaW5nIGVudW1lcmF0b3JzLi4uIl0K YGBgCgoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFp bHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4K PGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1Ynkt Y29yZT4K