[ruby-core:123502] [Ruby Feature#21642] Introduce `IO::ConnectionResetError` and `IO::BrokenPipeError` as standardized IO-level exceptions.
From:
"mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date:
2025-10-20 04:51:10 UTC
List:
ruby-core #123502
SXNzdWUgIzIxNjQyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4NCg0K DQppb3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKSB3cm90ZSBpbiAjbm90ZS00Og0KPiAtICJDb25u ZWN0aW9uIFJlc2V0IiBvY2N1cnMgZHVyaW5nIHJlYWQsIGFuZCBpbmRpY2F0ZXMgdGhhdCB0aGUg cmVtb3RlIGVuZCBoYXMgZHJvcHBlZCB0aGUgY29ubmVjdGlvbiwgYW5kIGl0J3MgbGlrZWx5IHRo YXQgd2UgYXJlIG1pc3NpbmcgZGF0YSAoYXMgb3Bwb3NlZCB0byByZWFjaGluZyBlbmQgb2Ygc3Ry ZWFtKS4NCg0KSSBzZWUsIHNvIGl0J3Mgc3RpbGwgcG9zc2libGUgdG8gIndyaXRlIiBhcyB3ZWxs IGFzICJjbG9zZSIuDQoNCj4gU28gdGhlcmUgYXJlIHN1YnRsZSBkaWZmZXJlbmNlcy4gTW9kdWxl cyBsaWtlIGBJTzo6QnJva2VuUGlwZWAgYW5kIGBJTzo6Q29ubmVjdGlvblJlc2V0YCBtaWdodCBi ZSBzdWl0YWJsZSwgYnV0IG1heWJlIHRoZXkgYXJlIHRvbyBzcGVjaWZpYz8NCg0KQm90aCBgQnJv a2VuUGlwZWAgYW5kIGBDb25uZWN0aW9uUmVzZXRgIG9ubHkgY29udmV5IHRoZSBudWFuY2Ugb2Yg Im5vIGZ1cnRoZXIgSS9PIHBvc3NpYmxlIiB0byBtZSwgc28gSSBjb3VsZG4ndCB1bmRlcnN0YW5k IHRoZSBkaWZmZXJlbmNlLg0KV2hpbGUgbm90IHVzZXItYWN0aW9uLWJhc2VkIG5hbWVzLCBzb21l dGhpbmcgbGlrZSBgSU86OlJlYWRFcnJvcmAgYW5kIGBJTzo6V3JpdGVFcnJvcmAgd291bGQgYmUg Y2xlYXJlciB0byBtZSwgdGhvdWdoIEknbSB1bnN1cmUgaWYgdGhleSdyZSBhcHByb3ByaWF0ZS4N Cg0KQXMgSSByZWNhbGwsIEBha3IgcHJvcG9zZWQgYW5kIGludHJvZHVjZWQgYElPOjpXYWl0UmVh ZGFibGVgLiBJIHdvdWxkIGxpa2UgdG8gaGVhciBoaXMgb3Bpbmlvbi4NCg0KPiBSZWdhcmRpbmcg T3BlblNTTCwgdGhlcmUgYXJlIG1hbnkgcGxhY2VzIGluIE9wZW5TU0wgdGhhdCByYWlzZSBgU1NM RXJyb3JgLCBzbyBJIHRoaW5rIHdoYXQgeW91IGFyZSBzdWdnZXN0aW5nIGlzIHRoaXM6DQo+IA0K PiBgYGBydWJ5DQo+IGNsYXNzIFNTTFJlYWRFcnJvciA8IFNTTEVycm9yDQo+ICAgaW5jbHVkZSBJ Tzo6Q29ubmVjdGlvblJlc2V0DQo+IGVuZA0KPiBgYGANCj4gDQo+IElzIGl0IHN1ZmZpY2llbnRs eSBjb21wYXRpYmxlPw0KDQpMb29rcyBnb29kIHRvIG1lLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMyMTY0MjogSW50cm9kdWNlIGBJTzo6Q29u bmVjdGlvblJlc2V0RXJyb3JgIGFuZCBgSU86OkJyb2tlblBpcGVFcnJvcmAgYXMgc3RhbmRhcmRp emVkIElPLWxldmVsIGV4Y2VwdGlvbnMuDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1 ZXMvMjE2NDIjY2hhbmdlLTExNDg3Mw0KDQoqIEF1dGhvcjogaW9xdWF0aXggKFNhbXVlbCBXaWxs aWFtcykNCiogU3RhdHVzOiBPcGVuDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQpDdXJyZW50bHksIGRpZmZlcmVudCBJTyBpbXBsZW1lbnRhdGlvbnMgaW4gUnVieSBy YWlzZSBpbmNvbnNpc3RlbnQgZXhjZXB0aW9uIHR5cGVzIHdoZW4gYSBjb25uZWN0aW9uIGlzIHJl c2V0IG9yIGJyb2tlbi4NCg0KRm9yIGV4YW1wbGU6DQoNCmBgYHJ1YnkNCiMgUGxhaW4gVENQIHNv Y2tldDoNCnNvY2tldC5yZWFkX25vbmJsb2NrKDEwMjQpDQojID0+IEVycm5vOjpFQ09OTlJFU0VU DQoNCiMgU1NMIHNvY2tldDoNCnNzbF9zb2NrZXQucmVhZF9ub25ibG9jaygxMDI0KQ0KIyA9PiBP cGVuU1NMOjpTU0w6OlNTTEVycm9yOiBTU0xfcmVhZDogdW5leHBlY3RlZCBlb2Ygd2hpbGUgcmVh ZGluZw0KYGBgDQoNCkJvdGggcmVwcmVzZW50IGEgKmNvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcios IGJ1dCB0aGUgZXJyb3JzIGRpZmZlciBzaWduaWZpY2FudGx5IGluIHR5cGUgYW5kIG1lc3NhZ2Uu DQpUaGlzIGluY29uc2lzdGVuY3kgbWFrZXMgaXQgZGlmZmljdWx0IHRvIGhhbmRsZSBjb25uZWN0 aW9uLWxldmVsIGVycm9ycyBnZW5lcmljYWxseSBhY3Jvc3MgSU8gdHlwZXMuDQoNClNpbWlsYXJs eSwgYEVQSVBFYCBpcyB1c2VkIGluIHNvbWUgY29udGV4dHMgdG8gc2lnbmFsIGEgKmJyb2tlbiBj b25uZWN0aW9uKiwgYnV0IGFnYWluLCB0aGUgcmVwcmVzZW50YXRpb24gYW5kIG1lc3NhZ2UgZGlm ZmVyIGJldHdlZW4gSU8gY2xhc3Nlcy4NCg0KIyMjIFByb3Bvc2FsDQoNCkludHJvZHVjZSBleHBs aWNpdCBzdWJjbGFzc2VzIG9mIHRoZSBjb3JyZXNwb25kaW5nIHN5c3RlbSBlcnJvcnMgYXMgcGFy dCBvZiBSdWJ54oCZcyBzdGFuZGFyZCBJTyBpbnRlcmZhY2U6DQoNCmBgYHJ1YnkNCmNsYXNzIElP DQogIGNsYXNzIENvbm5lY3Rpb25SZXNldEVycm9yIDwgRXJybm86OkVDT05OUkVTRVQ7IGVuZA0K ICBjbGFzcyBCcm9rZW5QaXBlRXJyb3IgPCBFcnJubzo6RVBJUEU7IGVuZA0KZW5kDQpgYGANCg0K VGhlbiwgc3RhbmRhcmRpemUgdGhlIFJ1YnkgSS9PIGVjb3N5c3RlbSAoaW5jbHVkaW5nIE9wZW5T U0wpIHRvIHJhaXNlIHRoZXNlIHN1YmNsYXNzZXMgaW5zdGVhZCBvZiByYXcgc3lzdGVtIGVycm9y cyBvciBsaWJyYXJ5LXNwZWNpZmljIGVycm9yIHdyYXBwZXJzLg0KDQpUaGlzIHdvdWxkIGVzdGFi bGlzaCBhIGNvbnNpc3RlbnQsIHdlbGwtZGVmaW5lZCBwdWJsaWMgaW50ZXJmYWNlIGZvciBoYW5k bGluZyBjb25uZWN0aW9uLWxldmVsIGZhaWx1cmVzLg0KDQojIyMgTW90aXZhdGlvbg0KDQoqICoq Q29uc2lzdGVuY3k6KiogVXNlcnMgY2FuIGhhbmRsZSBgSU86OkNvbm5lY3Rpb25SZXNldEVycm9y YCBhY3Jvc3MgYElPYCwgYFRDUFNvY2tldGAsIGBPcGVuU1NMOjpTU0w6OlNTTFNvY2tldGAsIGFu ZCBvdGhlciBJTy1saWtlIG9iamVjdHMuDQoqICoqQ2xhcml0eToqKiBUaGUgbmFtZSBjbGVhcmx5 IGV4cHJlc3NlcyBhIGhpZ2gtbGV2ZWwgc2VtYW50aWMgKOKAnGNvbm5lY3Rpb24gcmVzZXTigJ0p IHJhdGhlciB0aGFuIGEgbG93LWxldmVsIHN5c3RlbSBlcnJvci4NCiogKipFeHRlbnNpYmlsaXR5 OioqIE90aGVyIFJ1YnkgSU8gaW1wbGVtZW50YXRpb25zIChjdXN0b20gc29ja2V0cywgcGlwZXMs IGV0Yy4pIGNhbiBmb2xsb3cgdGhlIHNhbWUgY29udmVudGlvbi4NCiogKipCYWNrd2FyZHMgQ29t cGF0aWJpbGl0eToqKiBCZWNhdXNlIGBJTzo6Q29ubmVjdGlvblJlc2V0RXJyb3IgPCBFcnJubzo6 RUNPTk5SRVNFVGAsIGV4aXN0aW5nIHJlc2N1ZSBjbGF1c2VzIGNvbnRpbnVlIHRvIHdvcms6DQoN CiAgYGBgcnVieQ0KICByZXNjdWUgRXJybm86OkVDT05OUkVTRVQNCiAgICAjIHN0aWxsIGNhdGNo ZXMgaXQNCiAgZW5kDQogIGBgYA0KDQojIyMgRXhhbXBsZXMNCg0KYGBgcnVieQ0KYmVnaW4NCiAg aW8ucmVhZF9ub25ibG9jaygxMDI0KQ0KcmVzY3VlIElPOjpDb25uZWN0aW9uUmVzZXRFcnJvcg0K ICBwdXRzICJDb25uZWN0aW9uIHdhcyByZXNldCBieSBwZWVyLiINCmVuZA0KYGBgDQoNCiMjIyBJ bXBhY3Qgb24gZXhpc3RpbmcgY29kZQ0KDQoqIE1pbmltYWwgdG8gbm9uZS4NCiogRXhpc3Rpbmcg Y29kZSB0aGF0IHJlc2N1ZXMgYEVycm5vOjpFQ09OTlJFU0VUYCBvciBgRXJybm86OkVQSVBFYCB3 aWxsIGNvbnRpbnVlIHRvIGZ1bmN0aW9uLg0KKiBGdXR1cmUgY29kZSBnYWlucyBhIG1vcmUgc2Vt YW50aWMgYW5kIHBvcnRhYmxlIHdheSB0byBoYW5kbGUgdGhlc2UgY29tbW9uIGZhaWx1cmUgbW9k ZXMuDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBs aXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFu IGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5m byAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlzdHMvcnVieS1jb3JlLm1s LnJ1YnktbGFuZy5vcmcvCg==