[#122973] [PATCH] Add Gem.default_install — Felipe Contreras via ruby-core <ruby-core@...>
We need a way to enable user installs by default so that tools like
3 messages
2025/08/17
[ruby-core:123089] [Ruby Feature#21550] Ractor.sharable_proc/sharable_lambda to make sharable Proc object
From:
"Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>
Date:
2025-08-27 20:06:56 UTC
List:
ruby-core #123089
SXNzdWUgIzIxNTUwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4N Cg0KDQprbzEgKEtvaWNoaSBTYXNhZGEpIHdyb3RlIGluICNub3RlLTk6DQo+IE9wdGlvbiAyIChh bGxvdyBhY2Nlc3NlcyBvbmx5IG9uIGxleGljYWwgYmxvY2tzKSBpcyByZWplY3RlZCBieSBNYXR6 LCBzbyBJIHdhbnQgdG8gaW50cm9kdWNlIDEgb3IgMy4NCg0KV2hlcmUgZGlkIG1hdHogc2F5IHRo YXQ/IEluIGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMTU1MCNub3RlLTUgaGUg c2FpZDoNCj4gSSdkIGFjY2VwdCBjb25mdXNpb24gaGVyZSAob3B0aW9uIDEpIHRvIGF2b2lkIGNv bXBsZXggc2VtYW50aWNzIGFuZCBpbXBsZW1lbnRhdGlvbi4NCg0KYEknZCBhY2NlcHRgIHNvdW5k cyBsaWtlIGEgcHJlZmVyZW5jZSwgbm90IHJlamVjdGlvbi4NCkFzIEkgY2xhcmlmaWVkIGluIG15 IGNvbW1lbnQgYWZ0ZXIgdGhhdCwgSSBzZWUgbm8gY29uY2VybiBhYm91dCBjb21wbGV4IGltcGxl bWVudGF0aW9uLCBpdCdzIHRoZSBzYW1lIGVmZm9ydCBhbnl3YXk6DQo+IEl0IHNob3VsZCBiZSBl YXN5IHRvIGltcGxlbWVudCwgYmVjYXVzZSBpZiBnaXZlbiBhIFByb2MgaXQncyB0aGUgc2FtZSBz ZW1hbnRpY3MgYXMgYFJhY3Rvci5uZXcocHJvY19vYmplY3QpYCwgYW5kIHdoZW4gZ2l2ZW4gYSBs aXRlcmFsIGJsb2NrIGl0J3MgdGhlIGRlc2lyZWQgbW9yZSBmbGV4aWJsZSBzZW1hbnRpY3Mgd2hp Y2ggYW55d2F5IGJvdGggb3B0aW9ucyB3YW50Lg0KDQpBbmQgcmVnYXJkaW5nIGNvbXBsZXggc2Vt YW50aWNzIChkdWUgdG8gZGlmZmVyZW50IGJlaGF2aW9yIHdpdGggbGl0ZXJhbCB2cyBub24tbGl0 ZXJhbCBibG9jaykgaXQncyBuZWNlc3NhcnkgdG8gYXZvaWQgYnJlYWtpbmcgYmxvY2sgc2VtYW50 aWNzLCB3aGljaCBhcmUgd2F5IG1vcmUgZnVuZGFtZW50YWwgdGhhbiBgUmFjdG9yLnNoYXJlYWJs ZV9wcm9jYCBzZW1hbnRpY3MuDQpgS2VybmVsI2xhbWJkYWAgYWxyZWFkeSBoYWQgc3VjaCBzZW1h bnRpY3MgQlRXIChubyBlZmZlY3QgaWYgbm90IGEgbGl0ZXJhbCBibG9jayksIGFuZCBpbiBmYWN0 IGZvciBzaW1pbGFyIHJlYXNvbnMgYW5kIGNvbmNlcm5zIChkb24ndCBicmVhayB0aGUgYXV0aG9y IG9mIHRoZSBibG9jaydzIGludGVudCkuDQpTbyB0aGVyZSBpcyBwcmVjZWRlbnQgZm9yIGRvaW5n IGV4YWN0bHkgdGhpcyBraW5kIG9mIHN3aXRjaGluZyBvbiBsaXRlcmFsIGJsb2NrIHZzIFByb2Mu DQoNCk9wdGlvbiAyIHNlZW1zIHRoZSBvYnZpb3VzIGFuZCBjb3JyZWN0IHNvbHV0aW9uIGZvciB0 aGUgb3N0cnVjdCBjYXNlLg0KDQpUaG91Z2ggaXQgc2VlbXMgdGhhdCBgZGVmaW5lX21ldGhvZGAg aXMgYSBmcmVxdWVudCBpc3N1ZSB0aGF0IGtlZXBzIGNvbWluZyB1cCB3aXRoIFJhY3RvciwgYW5k IHRoYXQncyBxdWl0ZSBhIHNwZWNpZmljIGNhc2Ugd2hlcmUgd2Uga25vdyB0aGUgUHJvYyBgc2Vs ZmAgd2lsbCBiZSBjaGFuZ2VkIGFueXdheS4NClNvIEkgdGhpbmsgYGRlZmluZV9tZXRob2QobmFt ZSkgeyBAdGFibGVbbmFtZV0gfWAgLyBgZGVmaW5lX3NpbmdsZXRvbl9tZXRob2QobmFtZSkgeyBA dGFibGVbbmFtZV0gfWAgc2hvdWxkIGp1c3Qgd29yaywgd2l0aCBhbmQgd2l0aG91dCBSYWN0b3Jz Lg0KVGhhdCB3b3VsZCBtZWFuIHRoYXQgYGRlZmluZV9tZXRob2RgIHdvdWxkIGF1dG9tYXRpY2Fs bHkgc2hhbGxvdy1jb3B5IHRoZSBlbnZpcm9ubWVudCwgUmFjdG9yIG9yIG5vdCwgZm9yIGNvbnNp c3RlbmN5LiBUaGF0J3MgYSBzZW1hbnRpYyBjaGFuZ2UgYnV0IGl0IHNlZW1zIHZlcnkgY29tcGF0 aWJsZS4NCkFuZCBgZGVmaW5lX21ldGhvZGAga25vd3MgYHNlbGZgIHdpbGwgYmUgdGhlIGluc3Rh bmNlIHNvIG5vIG5lZWQgdG8gY2hlY2sgaWYgYHNlbGZgIGlzIHNoYXJlYWJsZS4NCkFuZCB0aGUg ZGVmaW5lZCBtZXRob2Qgd291bGQgYXV0b21hdGljYWxseSBiZSBhdmFpbGFibGUgdG8gUmFjdG9y cywgYXMgbG9uZyBhcyB0aGUgY2FwdHVyZWQgdmFyaWFibGVzIHZhbHVlcyBhcmUgc2hhcmVhYmxl Lg0KSWYgdGhleSBhcmUgbm90LCB0aGVuIHRoZSBtZXRob2QgY2FuJ3QgYmUgY2FsbGVkIG9uIGEg UmFjdG9yLCB0aGF0J3MgaW1wb3NzaWJsZSBhbnl3YXksIHNhbWUgZXJyb3IgYXMgY3VycmVudGx5 Lg0KDQpUaGF0IHdvdWxkIG1lYW4gYGRlZmluZV9tZXRob2RgIHdvdWxkIGp1c3Qgd29yayB3aXRo IFJhY3RvciwgdnMgbmVlZGluZyBwcmV0dHkgbWVzc3kgY29kZSBhcyBpbiB5b3VyIGV4YW1wbGUu ICJpZiBSYWN0b3IiIGNvZGUgc2hvdWxkIGJlIGF2b2lkZWQgYXMgbXVjaCBhcyBwb3NzaWJsZS4N Cg0KSWYgd2UgYXJlIHRvbyBjb25jZXJuZWQgYWJvdXQgY2hhbmdpbmcgYGRlZmluZV9tZXRob2Rg IHNlbWFudGljcyB3ZSBjb3VsZCBpbnN0ZWFkIG1ha2UgdGhhdCBiZWhhdmlvciBvcHQtaW4gZS5n LiB2aWEgYSBrZXl3b3JkIGFyZ3VtZW50IHRvIGBkZWZpbmVfbWV0aG9kYCBsaWtlIGBkZWZpbmVf bWV0aG9kKG5hbWUsIHJhY3Rvci9zaGFyZWFibGUvbWFrZV9zaGFyZWFibGU6IHRydWUpIHsgQHRh YmxlW25hbWVdIH1gLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQpGZWF0dXJlICMyMTU1MDogUmFjdG9yLnNoYXJhYmxlX3Byb2Mvc2hhcmFibGVfbGFtYmRhIHRv IG1ha2Ugc2hhcmFibGUgUHJvYyBvYmplY3QNCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lz c3Vlcy8yMTU1MCNjaGFuZ2UtMTE0NDAzDQoNCiogQXV0aG9yOiBrbzEgKEtvaWNoaSBTYXNhZGEp DQoqIFN0YXR1czogT3Blbg0KKiBBc3NpZ25lZToga28xIChLb2ljaGkgU2FzYWRhKQ0KKiBUYXJn ZXQgdmVyc2lvbjogMy41DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQpMZXQncyBpbnRyb2R1Y2UgYSB3YXkgdG8gbWFrZSBhIHNoYXJhYmxlIFByb2MuDQoNCiogYFJh Y3Rvci5zaGFyZWFibGVfcHJvYyhzZWxmOiBuaWwsICZibG9jaylgIG1ha2VzIHByb2MuDQoqIGBS YWN0b3Iuc2hhcmVhYmxlX2xhbWJkYShzZWxmOiBuaWwsICZibG9jaylgIG1ha2VzIGxhbWJkYS4N Cg0KU2VlIGFsc286IGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMTAzOQ0KDQoj IyBCYWNrZ3JvdW5kDQoNCiMjIyBNb3RpdmF0aW9uDQoNCkJlaW5nIGFibGUgdG8gY3JlYXRlIGEg c2hhcmVhYmxlIFByb2MgaXMgaW1wb3J0YW50IGZvciBSYWN0b3JzLiBGb3IgZXhhbXBsZSwgd2Ug b2Z0ZW4gd2FudCB0byBzZW5kIGEgdGFzayB0byBhbm90aGVyIFJhY3RvcjoNCg0KYGBgcnVieQ0K d29ya2VyID0gUmFjdG9yLm5ldyBkbw0KICB3aGlsZSB0YXNrID0gUmFjdG9yLnJlY2VpdmUNCiAg ICB0YXNrLmNhbGwoLi4uKQ0KICBlbmQNCmVuZA0KDQp0YXNrID0gKHNoYXJhYmxlX3Byb2MpDQp3 b3JrZXIgPDwgdGFzaw0KDQp0YXNrID0gKHNoYXJhYmxlX3Byb2MpDQp3b3JrZXIgPDwgdGFzaw0K DQp0YXNrID0gKHNoYXJhYmxlX3Byb2MpDQp3b3JrZXIgPDwgdGFzaw0KYGBgDQoNClRoZXJlIGFy ZSB2YXJpb3VzIHdheXMgdG8gcmVwcmVzZW50IGEgdGFzaywgYnV0IHVzaW5nIGEgUHJvYyBpcyBz dHJhaWdodGZvcndhcmQuDQoNCkhvd2V2ZXIsIHRvIG1ha2UgYSBQcm9jIHNoYXJlYWJsZSB0b2Rh eSwgc2VsZiBtdXN0IGFsc28gYmUgc2hhcmVhYmxlLCB3aGljaCBsZWFkcyB0byBwYXR0ZXJucyBs aWtlOg0KDQpgYGBydWJ5DQogIG5pbC5pbnN0YW5jZV9ldmFseyBQcm9jLm5ld3sgLi4uIH0gfQ0K YGBgDQoNClRoaXMgaXMgbm9pc3kgYW5kIGNyeXB0aWMuIFdlIHByb3Bvc2UgZGVkaWNhdGVkIG1l dGhvZHMgdG8gY3JlYXRlIHNoYXJlYWJsZSBQcm9jIG9iamVjdHMgZGlyZWN0bHkuDQoNCg0KIyMg U3BlY2lmaWNhdGlvbg0KDQoqIGBSYWN0b3Iuc2hhcmVhYmxlX3Byb2Moc2VsZjogbmlsLCAmYmxv Y2spYCBtYWtlcyBhIHByb2MuDQoqIGBSYWN0b3Iuc2hhcmVhYmxlX2xhbWJkYShzZWxmOiBuaWws ICZibG9jaylgIG1ha2VzIGEgbGFtYmRhLg0KDQpCb3RoIG1ldGhvZHMgY3JlYXRlIHRoZSBQcm9j L2xhbWJkYSB3aXRoIHRoZSBnaXZlbiBzZWxmIGFuZCBtYWtlIHRoZSByZXN1bHRpbmcgb2JqZWN0 IHNoYXJlYWJsZS4NCg0KKGNoYW5nZWQpIEFjY2Vzc2luZyBvdXRlciB2YXJpYWJsZXMgYXJlIG5v dCBhbGxvd2VkLiBBbiBlcnJvciBpcyByYWlzZWQgYXQgdGhlIGNyZWF0aW9uLg0KDQpNb3JlIGFi b3V0IG91dGVyLXZhcmlhYmxlIGhhbmRsaW5nIGFyZSBkaXNjdXNzZWQgYmVsb3cuDQoNCkluIG90 aGVyIHdvcmRzLCBmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiBhIHNoYXJlYWJsZSBQcm9jLCBjYXB0 dXJlZCBvdXRlciBsb2NhbHMgYXJlIHJlYWTigJFvbmx5IGNvbnN0YW50cy4NCg0KVGhpcyBwcm9w b3NhbCBkb2VzIG5vdCBjaGFuZ2UgdGhlIHNlbWFudGljcyBvZiBSYWN0b3IubWFrZV9zaGFyZWFi bGUoKSBpdHNlbGYuDQoNCiMjIERpc2N1c3Npb24gYWJvdXQgb3V0ZXIgbG9jYWwgdmFyaWFibGVz DQoNCltGZWF0dXJlICMyMTAzOV0gZGlzY3Vzc2VzIGhvdyBjYXB0dXJlZCB2YXJpYWJsZXMgc2hv dWxkIGJlIGhhbmRsZWQuDQpJIHByb3Bvc2UgdHdvIG9wdGlvbnMuDQoNCiMjIyAwLiBEaXNhbGxv dyBhY2Nlc3NpbmcgdG8gdGhlIG91dGVyLXZhcmlhYmxlcw0KDQpJdCBpcyBzaW1wbGUgYW5kIG5v IGNvbmZ1c2lvbi4NCg0KIyMjIDEuIE5vIHByb2JsZW0gdG8gY2hhbmdlIHRoZSBvdXRlci12YXJp YWJsZSBzZW1hbnRpY3MNCg0KQEVyZWdvbiBub3RlZCB0aGF0IHRoZSBjdXJyZW50IGJlaGF2aW9y IG9mIGBSYWN0b3IubWFrZV9zaGFyZWFibGUocHJvY19vYmopYCBjYW4gc3VycHJpc2UgdXNlcnMu IFdoaWxlIHRoYXQgaXMgdW5kZXJzdGFuZGFibGUsIFJ1YnkgYWxyZWFkeSBoYXMgc2ltaWxhciAq c3VycHJpc2VzKi4NCg0KRm9yIGluc3RhbmNlOg0KDQpgYGBydWJ5DQpSU3BlYy5kZXNjcmliZSAn Zm9vJyBkbw0KICBwIHNlbGYgIz0+IFJTcGVjOjpFeGFtcGxlR3JvdXBzOjpGb28NCmVuZA0KYGBg DQoNCkhlcmUsIGBzZWxmYCBpcyBpbXBsaWNpdGx5IHJlcGxhY2VkLCBsaWtlbHkgdmlhIGBpbnN0 YW5jZV9leGVjYC4NClRoaXMgY2FuIGJlIHN1cnByaXNpbmcgaWYgb25lIGRvZXMgbm90IGtub3cg c2VsZiBjYW4gY2hhbmdlLCB5ZXQgaXQgaXMgYWNjZXB0ZWQgaW4gUnVieS4NCldlIHZpZXcgdGhl IGN1cnJlbnQgc2l0dWF0aW9uIGFzIGEgc2ltaWxhciBraW5kIG9mIHN1cnByaXNlLg0KDQoNCiMj IyAyLiBFbmZvcmNlIGEgc3RyaWN0IHJ1bGUgZm9yIG5vbuKAkWxleGljYWwgdXNhZ2UNCg0KVGhl IGRpZmZpY3VsdHkgaXMgdGhhdCBpdCBpcyBoYXJkIHRvIGtub3cgd2hpY2ggYmxvY2sgd2lsbCBi ZWNvbWUgc2hhcmVhYmxlIHVubGVzcyBpdCBpcyBsZXhpY2FsbHkgdXNhZ2UuDQoNCmBgYHJ1YnkN CiMgKDEpIE9uIHRoaXMgY29kZSwgaXQgaXMgY2xlYXIgdGhhdCB0aGUgYmxvY2sgd2lsbCBiZSBz aGFyZWFibGUgYmxvY2s6DQoNCmEgPSA0Mg0KUmFjdG9yLnNoYXJhYmxlX3Byb2N7DQogIHAgYQ0K fQ0KDQojICgyKSBPbiB0aGlzIGNvZGUsIGl0IGlzIG5vdCBjbGVhciB0aGF0IHRoZSBibG9jayBi ZWNvbWVzIHNoYXJhYmxlIG9yIG5vdA0KZ2V0IHBhdGggZG8NCiAgcCBhDQplbmQNCg0KIyAoMykg T24gdGhpcyBjb2RlLCBpdCBoYXMgbm8gcHJvYmxlbSBiZWNhdXNlDQpnZXQgJy9oZWxsbycgZG8N CiAgIndvcmxkIg0KZW5kDQpgYGANCg0KVGhlIGlkZWEgaXMgdG8gYWxsb3cgYWNjZXNzaW5nIGNh cHR1cmVkIG91dGVyIHZhcmlhYmxlcyBvbmx5IGZvciBsZXhpY2FsbHkgZXhwbGljaXQgdXNlcyBv ZiBgUmFjdG9yLnNoYXJlYWJsZV9wcm9jYCBhcyBpbiAoMSksIGFuZCB0byByYWlzZSBhbiBlcnJv ciBmb3Igbm9u4oCRbGV4aWNhbCBjYXNlcyBhcyBpbiAoMikuDQpTbyB0aGUgZXhhbXBsZSAoMykg aXMgYWxsb3dlZCBpZiB0aGUgYmxvY2sgYmVjb21lcyBzaGFyYWJsZSBvciBub3QuDQoNClRoZSBz dHJpY3QgcnVsZSBpcyBzYW1lIGFzIGBSYWN0b3IubmV3YCBibG9jayBydWxlLiANCg0KIyMjIDMu IEFkZGluZyBuZXcgcnVsZXMNCg0KKHF1b3RlZCBmcm9tIGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcu b3JnL2lzc3Vlcy8yMTU1MCNub3RlLTcpDQoNClJldHVybmluZyB0byB0aGUgaXNzdWU6IHdlIHdh bnQgYSB3YXkgdG8gZXhwcmVzcyB0aGF0LCB3aXRoaW4gYSBibG9jaywgYW4gb3V0ZXIgdmFyaWFi bGUgaXMgc2hhZG93ZWQgd2hpbGUgcHJlc2VydmluZyBpdHMgY3VycmVudCB2YWx1ZS4NCg0KV2Ug YWxyZWFkeSBoYXZlIHN5bnRheCB0byBzaGFkb3cgYW4gb3V0ZXIgdmFyaWFibGUgdXNpbmcgYHxp OyBhfGAsIHdoZXJlIGBhYCBpcyBzaGFkb3dlZCBpbiB0aGUgYmxvY2sgYW5kIGluaXRpYWxpemVk IHRvIGBuaWxgIChqdXN0IGxpa2UgYSBub3JtYWwgbG9jYWwgdmFyaWFibGUpLg0KDQpgYGBydWJ5 DQphID0gNDINCnByID0gcHJvY3t8O2F8IHAgYX0NCmEgPSA0Mw0KcHIuY2FsbCAjPT4gbmlsDQpg YGANCg0KV2hhdCBpZiB3ZSBpbnN0ZWFkIGluaXRpYWxpemVkIHRoZSBzaGFkb3dlZCB2YXJpYWJs ZSB0byB0aGUgb3V0ZXIgdmFyaWFibGUncyBjdXJyZW50IHZhbHVlPw0KDQpgYGBydWJ5DQphID0g NDINCnByID0gcHJvY3t8O2F8IHAgYX0NCmEgPSA0Mw0KcHIuY2FsbCAjPT4gNDINCmBgYA0KDQpG b3IgZXhhbXBsZSwgd2UgY2FuIHdyaXRlIHRoZSBwb3J0IGV4YW1wbGUgbGlrZSB0aGF0Og0KDQpg YGBydWJ5DQoNCnBvcnQgPSBSYWN0b3I6OlBvcnQubmV3DQpSYWN0b3IubmV3IGRvIHw7cG9ydHwN CiAgcG9ydCA8PCAuLi4NCmVuZA0KYGBgDQoNCmFuZCBpdCBpcyBiZXR0ZXIgKHNob3J0ZXIpLg0K DQpNYXliZSBvbmx5IGZldyBwZW9wbGUga25vdyB0aGlzIHNwZWMgYW5kIEkgY2hlY2tlZCB0aGF0 IHRoZXJlIGFyZSBmZXcgbGluZXMgaW4gcnVieWdlbXMgKDc4IGNhc2VzIGluIDNNIGZpbGVzKSgq MSkuDQpTbyBJIHRoaW5rIHRoZXJlIGlzIGEgZmV3IGNvbXBhdGliaWxpdHkgaW1wYWN0Lg0KDQoN Cg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3Qg LS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1h aWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0t IGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9tYWlsbWFuMy9saXN0cy9ydWJ5LWNvcmUubWwucnVi eS1sYW5nLm9yZy8K