[#119637] Behavior of raising from rescue blocks when multiple rescue blocks exist — Rodrigo Rosenfeld Rosas via ruby-core <ruby-core@...>
Hello, I couldn't find any documentation about the subject, so I thought
3 messages
2024/10/29
[ruby-core:119608] [Ruby master Feature#20812] Proposal for Safe Include Method in Ruby
From:
"rogerconsul (Roger Consul) via ruby-core" <ruby-core@...>
Date:
2024-10-24 13:19:43 UTC
List:
ruby-core #119608
SXNzdWUgIzIwODEyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgcm9nZXJjb25zdWwgKFJvZ2VyIENvbnN1 bCkuDQoNCg0KamVyZW15ZXZhbnMwIChKZXJlbXkgRXZhbnMpIHdyb3RlIGluICNub3RlLTE6DQo+ IHJvZ2VyY29uc3VsIChSb2dlciBDb25zdWwpIHdyb3RlOg0KPiA+IFRoZSBjdXJyZW50IGBpbmNs dWRlP2AgbWV0aG9kIHJhaXNlcyBhbiBlcnJvciB3aGVuIHBhc3NlZCBgbmlsYCBhcyBhbiBhcmd1 bWVudC4NCj4gDQo+IEFyZSB5b3Ugc3VyZT8NCj4gDQo+IGBgYHJ1YnkNCj4gIyBObyBFcnJvcg0K PiBbMSwgMl0uaW5jbHVkZT8obmlsKQ0KPiBbT2JqZWN0Lm5ld10uaW5jbHVkZT8obmlsKQ0KPiAN Cj4gIyBFcnJvciwgYnV0IGR1ZSB0byBjdXN0b20gPT0sIG5vdCBpbmNsdWRlPw0KPiBvID0gT2Jq ZWN0Lm5ldw0KPiBkZWYgby49PSh2KSA9IChyYWlzZSB1bmxlc3MgdikNCj4gW29dLmluY2x1ZGU/ KG5pbCkNCj4gYGBgDQo+IA0KPiBNYXliZSB5b3UgYXJlIHVzaW5nIHNvbWUgY29yZSBleHRlbnNp b24gdGhhdCBjYXVzZXMgYGluY2x1ZGU/YCB0byByYWlzZSBhbiBlcnJvciBpZiBnaXZlbiBgbmls YD8gQ2FuIHlvdSBwcm92aWRlIGEgc2VsZi1jb250YWluZWQgcmVwcm9kdWNpYmxlIGV4YW1wbGUg dGhhdCBzaG93cyBgaW5jbHVkZT9gIHJhaXNpbmcgaWYgdGhlIGFyZ3VtZW50IGlzIGBuaWxgPw0K DQpXZWxsLi4uIEFmdGVyIHlvdSBtZW50aW9uZWQgaXQsIEkgcmVhbGl6ZWQgd2Ugd2VyZSB1c2lu ZyB2ZXJzaW9uIDIuNy41IPCfpbINCkVycm9yIGRpZG4ndCByZXByb2R1Y2Ugb24gbmV3ZXIgdmVy c2lvbnMuIFdlIGNhbiBjbG9zZSB0aGlzIHRocmVhZC4NCg0KVGhhbmtzIGZvciB5b3VyIHRpbWUs IEplcmVteSA8Mw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpG ZWF0dXJlICMyMDgxMjogUHJvcG9zYWwgZm9yIFNhZmUgSW5jbHVkZSBNZXRob2QgaW4gUnVieQ0K aHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwODEyI2NoYW5nZS0xMTAyMjkNCg0K KiBBdXRob3I6IHJvZ2VyY29uc3VsIChSb2dlciBDb25zdWwpDQoqIFN0YXR1czogT3Blbg0KLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcm9wb3NhbCBmb3IgU2Fm ZSBJbmNsdWRlIE1ldGhvZCBpbiBSdWJ5DQoNCiMjIERlc2NyaXB0aW9uDQoNCkFkZCBhIG5ldyBt ZXRob2QgYGluY2x1ZGVfc2FmZT9gIHRvIFJ1YnkncyBgRW51bWVyYWJsZWAgbW9kdWxlIHRoYXQg c2FmZWx5IGhhbmRsZXMgbmlsIGFyZ3VtZW50cyBpbiBpbmNsdXNpb24gY2hlY2tzLg0KDQojIyBQ cm9ibGVtIFN0YXRlbWVudA0KDQpUaGUgY3VycmVudCBgaW5jbHVkZT9gIG1ldGhvZCByYWlzZXMg YW4gZXJyb3Igd2hlbiBwYXNzZWQgYG5pbGAgYXMgYW4gYXJndW1lbnQuIFRoaXMgcmVxdWlyZXMg ZGV2ZWxvcGVycyB0byB3cml0ZSBkZWZlbnNpdmUgY29kZSB3aXRoIGV4cGxpY2l0IG5pbCBjaGVj a3MsIGxlYWRpbmcgdG8gbGVzcyByZWFkYWJsZSBhbmQgbW9yZSBlcnJvci1wcm9uZSBjb2RlLg0K DQpgYGBydWJ5DQojIEN1cnJlbnQgcHJvYmxlbWF0aWMgc2NlbmFyaW9zOg0KY29sbGVjdGlvbi5p bmNsdWRlPyhuaWwpICAgICAgICAjIFdvcmtzLCBjaGVja3MgZm9yIG5pbCBpbiBjb2xsZWN0aW9u DQpjb2xsZWN0aW9uLmluY2x1ZGU/KHZhbHVlKSAgICAgICMgUmFpc2VzIGVycm9yIGlmIHZhbHVl IGlzIG5pbA0KDQojIEN1cnJlbnQgd29ya2Fyb3VuZHM6DQp2YWx1ZSAmJiBjb2xsZWN0aW9uLmlu Y2x1ZGU/KHZhbHVlKQ0KY29sbGVjdGlvbi5pbmNsdWRlPyh2YWx1ZS50b19zKQ0KYGBgDQoNCiMj IFByb3Bvc2VkIFNvbHV0aW9uDQoNCkFkZCBgaW5jbHVkZV9zYWZlP2AgbWV0aG9kIHRoYXQgcmV0 dXJucyBgZmFsc2VgIHdoZW4gdGhlIGFyZ3VtZW50IGlzIGBuaWxgOg0KDQpgYGBydWJ5DQptb2R1 bGUgRW51bWVyYWJsZQ0KICBkZWYgaW5jbHVkZV9zYWZlPyhvYmopDQogICAgcmV0dXJuIGZhbHNl IGlmIG9iai5uaWw/DQogICAgaW5jbHVkZT8ob2JqKQ0KICBlbmQNCmVuZA0KYGBgDQoNCiMjIyBV c2FnZSBFeGFtcGxlcw0KDQpgYGBydWJ5DQpudW1iZXJzID0gWzEsIDIsIDNdDQpkb2N1bWVudF9p ZCA9IG5pbA0KDQojIEN1cnJlbnQgYXBwcm9hY2gNCmRvY3VtZW50X2lkICYmIG51bWJlcnMuaW5j bHVkZT8oZG9jdW1lbnRfaWQpICAjIGZhbHNlDQoNCiMgUHJvcG9zZWQgYXBwcm9hY2gNCm51bWJl cnMuaW5jbHVkZV9zYWZlPyhkb2N1bWVudF9pZCkgICAgICAgICAgICAjIGZhbHNlDQoNCiMgV29y a3Mgbm9ybWFsbHkgZm9yIG5vbi1uaWwgdmFsdWVzDQpudW1iZXJzLmluY2x1ZGVfc2FmZT8oMikg ICAgICAgICAgICAgICAgICAgICAgIyB0cnVlDQpudW1iZXJzLmluY2x1ZGVfc2FmZT8oNCkgICAg ICAgICAgICAgICAgICAgICAgIyBmYWxzZQ0KDQojIEVkZ2UgY2FzZXMgaGFuZGxlZA0KW25pbF0u aW5jbHVkZV9zYWZlPyhuaWwpICAgICAgICAgICAgICAgICAgICAgICMgZmFsc2UNCltdLmluY2x1 ZGVfc2FmZT8obmlsKSAgICAgICAgICAgICAgICAgICAgICAgICAjIGZhbHNlDQpgYGANCg0KIyMg QmVuZWZpdHMNCg0KMS4gKipJbXByb3ZlZCBTYWZldHkqKjogRWxpbWluYXRlcyBhIGNvbW1vbiBz b3VyY2Ugb2YgcnVudGltZSBlcnJvcnMNCjIuICoqQmV0dGVyIFJlYWRhYmlsaXR5Kio6IFJlbW92 ZXMgbmVlZCBmb3IgZXhwbGljaXQgbmlsIGNoZWNrcw0KMy4gKipDb25zaXN0ZW50IEJlaGF2aW9y Kio6IFByb3ZpZGVzIHByZWRpY3RhYmxlIGhhbmRsaW5nIG9mIG5pbCB2YWx1ZXMNCjQuICoqUmFp bHMgQWxpZ25tZW50Kio6IFNpbWlsYXIgdG8gUmFpbHMnIHNhZmUgbmF2aWdhdGlvbiBwYXR0ZXJu cw0KNS4gKipSZWR1Y2VkIEJvaWxlcnBsYXRlKio6IEVsaW1pbmF0ZXMgY29tbW9uIGRlZmVuc2l2 ZSBjb2RpbmcgcGF0dGVybnMNCg0KIyMgSW1wbGVtZW50YXRpb24gTm90ZXMNCg0KVGhpcyB3b3Vs ZCBiZSBpbXBsZW1lbnRlZCBpbiBDIGFzIHBhcnQgb2YgUnVieSdzIGNvcmUsIGJ1dCBoZXJlJ3Mg YSBSdWJ5IHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbjoNCg0KYGBgcnVieQ0KbW9kdWxlIEVudW1l cmFibGUNCiAgZGVmIGluY2x1ZGVfc2FmZT8ob2JqKQ0KICAgIHJldHVybiBmYWxzZSBpZiBvYmou bmlsPw0KICAgIGluY2x1ZGU/KG9iaikNCiAgZW5kDQplbmQNCmBgYA0KDQojIyBUZXN0aW5nIFN0 cmF0ZWd5DQoNCmBgYHJ1YnkNCnJlcXVpcmUgJ21pbml0ZXN0L2F1dG9ydW4nDQoNCmNsYXNzIFRl c3RJbmNsdWRlU2FmZSA8IE1pbml0ZXN0OjpUZXN0DQogIGRlZiBzZXR1cA0KICAgIEBhcnJheSA9 IFsxLCAyLCAzXQ0KICAgIEBhcnJheV93aXRoX25pbCA9IFsxLCBuaWwsIDNdDQogIGVuZA0KDQog IGRlZiB0ZXN0X2Jhc2ljX2luY2x1c2lvbg0KICAgIGFzc2VydCBAYXJyYXkuaW5jbHVkZV9zYWZl PygxKQ0KICAgIHJlZnV0ZSBAYXJyYXkuaW5jbHVkZV9zYWZlPyg0KQ0KICBlbmQNCg0KICBkZWYg dGVzdF9uaWxfaGFuZGxpbmcNCiAgICByZWZ1dGUgQGFycmF5LmluY2x1ZGVfc2FmZT8obmlsKQ0K ICAgIHJlZnV0ZSBAYXJyYXlfd2l0aF9uaWwuaW5jbHVkZV9zYWZlPyhuaWwpDQogIGVuZA0KDQog IGRlZiB0ZXN0X2VtcHR5X2NvbGxlY3Rpb24NCiAgICByZWZ1dGUgW10uaW5jbHVkZV9zYWZlPyhu aWwpDQogICAgcmVmdXRlIFtdLmluY2x1ZGVfc2FmZT8oMSkNCiAgZW5kDQplbmQNCmBgYA0KDQoj IyBBbHRlcm5hdGl2ZSBDb25zaWRlcmF0aW9ucw0KDQoxLiAqKk5hbWUgQWx0ZXJuYXRpdmVzKio6 DQogICAtIGB0cnlfaW5jbHVkZT9gDQogICAtIGBzYWZlX2luY2x1ZGU/YA0KICAgLSBgaW5jbHVk ZXNfc2FmZWx5P2ANCg0KMi4gKipBbHRlcm5hdGl2ZSBBcHByb2FjaGVzKio6DQogICAtIE1vZGlm eSBleGlzdGluZyBgaW5jbHVkZT9gIGJlaGF2aW9yIChyZWplY3RlZCBkdWUgdG8gYmFja3dhcmQg Y29tcGF0aWJpbGl0eSkNCiAgIC0gQWRkIHBhcmFtZXRlciB0byBleGlzdGluZyBgaW5jbHVkZT9g IChyZWplY3RlZCBmb3IgY2xhcml0eSkNCg0KIyMgSW1wYWN0IEFuYWx5c2lzDQoNCiMjIyBQb3Np dGl2ZSBJbXBhY3QNCi0gUmVkdWNlcyBydW50aW1lIGVycm9ycw0KLSBJbXByb3ZlcyBjb2RlIHJl YWRhYmlsaXR5DQotIEZvbGxvd3MgcHJpbmNpcGxlIG9mIGxlYXN0IHN1cnByaXNlDQoNCiMjIyBQ b3RlbnRpYWwgQ29uY2VybnMNCi0gQW5vdGhlciBtZXRob2QgdG8gbGVhcm4NCi0gUG9zc2libGUg Y29uZnVzaW9uIHdpdGggcmVndWxhciBgaW5jbHVkZT9gDQoNCiMjIFNpbWlsYXIgRmVhdHVyZXMg aW4gUnVieQ0KDQotIFNhZmUgbmF2aWdhdGlvbiBvcGVyYXRvciAoYCYuYCkNCi0gYHRyeWAgbWV0 aG9kIGluIFJhaWxzDQotIGBmZXRjaGAgbWV0aG9kIHdpdGggZGVmYXVsdCB2YWx1ZQ0KDQojIyBC YWNrd2FyZCBDb21wYXRpYmlsaXR5DQoNClRoaXMgY2hhbmdlIGlzIGZ1bGx5IGJhY2t3YXJkIGNv bXBhdGlibGUgYXMgaXQgaW50cm9kdWNlcyBhIG5ldyBtZXRob2Qgd2l0aG91dCBtb2RpZnlpbmcg ZXhpc3RpbmcgYmVoYXZpb3IuDQoNCiMjIFJlZmVyZW5jZSBJbXBsZW1lbnRhdGlvbg0KDQpBIGdl bSBpbXBsZW1lbnRpbmcgdGhpcyBmZWF0dXJlIGlzIGF2YWlsYWJsZSBhdDogW0xpbmsgdG8gZ2Vt IGlmIGNyZWF0ZWRdDQoNCiMjIFF1ZXN0aW9ucyBmb3IgQ29yZSBUZWFtDQoNCjEuIElzIGBpbmNs dWRlX3NhZmU/YCB0aGUgYmVzdCBuYW1lIGZvciB0aGlzIG1ldGhvZD8NCjIuIFNob3VsZCB0aGlz IGJlIGFkZGVkIHRvIGBBcnJheWAgc3BlY2lmaWNhbGx5IHJhdGhlciB0aGFuIGBFbnVtZXJhYmxl YD8NCjMuIFNob3VsZCB3ZSBjb25zaWRlciBhbnkgYWRkaXRpb25hbCBlZGdlIGNhc2VzPw0KDQoN Cg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1 YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRv IHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRw czovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFu Zy5vcmcv