[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110333] [Ruby master Feature#19063] Hash.new with non-value objects should be less confusing
From:
"austin (Austin Ziegler)" <noreply@...>
Date:
2022-10-17 03:16:20 UTC
List:
ruby-core #110333
SXNzdWUgIzE5MDYzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYXVzdGluIChBdXN0aW4gWmllZ2xlciku DQoNCg0Kc2F3YSAoVHN1eW9zaGkgU2F3YWRhKSB3cm90ZSBpbiAjbm90ZS0yOg0KPiA+IFdoZW4g cGVvcGxlIHVzZSBIYXNoLm5ldyhbXSkgdGhleSBtZWFuIEhhc2gubmV3IHsgfGgsIGt8IGhba10g PSBbXSB9Lg0KPiBJIGRvbid0IHRoaW5rIHNvLiBDYW4geW91IHByb3ZlIGl0PyBGb3Igbm90ZSwg Y29taW5nIHVwIHdpdGggYSBsb3Qgb2YgZXhhbXBsZXMgcG9pbnRpbmcgdG93YXJkcyB0aGF0IGlz IG5vdCBhIHByb29mLg0KDQpJdCBwYXJ0aWFsbHkgY29tZXMgZnJvbSBub3QgbmVjZXNzYXJpbHkg dW5kZXJzdGFuZGluZyBgZGVmYXVsdF92YWx1ZWAgaW4gdGhlIEhhc2ggZG9jdW1lbnRhdGlvbi4g VGhlIGRvY3VtZW50YXRpb24NCm9ubHkgdXNlcyB2YWx1ZSBvYmplY3RzLCBub3QgbXV0YWJsZSBv YmplY3RzLCB3aGljaCBsZWF2ZXMgb3Bwb3J0dW5pdGllcyBmb3IgdGhpcyB0byBiZSBhIG1pc3Rh a2UuDQoNCkl0IG1heSBub3QgbWF0dGVyIGluIHNob3J0LWxpdmVkIHNjcmlwdHMgd2hlcmUgdGhl IGFtb3VudCBvZiBidWNrZXRpbmcgaW4gdGhlIEhhc2ggaXMgc21hbGwsIGJ1dCBhbnl0aGluZyBs YXJnZXIgb3IgbG9uZ2VyLWxpdmVkIGlzIGxpa2VseSB0byBzZWUgdW5leHBlY3RlZCBiZWhhdmlv dXIuIEluIHRoZSBleGFtcGxlcyB0aGF0IEkgZm91bmQgb24gR2l0SHViLCBub25lIG9mIHRoZSBw bGFjZXMgd2hlcmUgdGhpcyB3YXMgdXNlZCBzZWVtZWQgdG8gYmUgKmludGVuZGluZyogdGhpcyB0 byByZXN1bHQgaW4gYSBzaW5nbGUgdmFsdWUsIGFuZCBub25lIG9mIHRoZW0gd2VyZSBkb2luZyBg aGFzaFtrZXldID0gW11gIGV4cGxpY2l0bHkgdG8gb3ZlcnJpZGUgdGhlIHVzZSBvZiB0aGUgZGVm YXVsdCB2YWx1ZS4NCg0KPiA+ICBpdCBpcyBhIGtub3duIGJ1Zw0KPiBUaGlzIGNvbnRyYWRpY3Rz IHdpdGggd2hhdCB5b3UgaGF2ZSBhZG1pdHRlZDoNCj4gPiBAaHNidCAoSGlyb3NoaSBTSElCQVRB KSBoYXMgc2FpZCBpbiB0aGUgcGFzdCwgdGhpcyBpcyBiZWhhdmluZyBhcyBpbnRlbmRlZA0KDQpU aGlzIGlzIG5vdCBhIGNvbnRyYWRpY3Rpb24uIEV2ZXJ5IHRpbWUgSSBoYXZlIHNlZW4gdGhpcyB1 c2VkLCBpdCBpcyBhICpidWcqIGluIHRoZSBzeXN0ZW0gd2hlcmUgdGhlIGNvZGUgd2FzIHdyaXR0 ZW4uDQoNCkl04oCZcyBub3QgYSBidWcgaW4gUnVieeKApmJ1dCBwZXJoYXBzIGl0ICpzaG91bGQq IGJlLiBJ4oCZbSBpbiBmYXZvdXIgb2YgbWFraW5nIGl0IGEgd2FybmluZywgYnV0IGl0IHNob3Vs ZCBiZSBlYXN5IHRvIHR1cm4gb2ZmIGZvciB0aGUgcmFyZSBjYXNlIHdoZW4gaXQgaXMgaW50ZW5k ZWQuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUg IzE5MDYzOiBIYXNoLm5ldyB3aXRoIG5vbi12YWx1ZSBvYmplY3RzIHNob3VsZCBiZSBsZXNzIGNv bmZ1c2luZw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE5MDYzI2NoYW5nZS05 OTYyNQ0KDQoqIEF1dGhvcjogYmF3ZWF2ZXIgKEJyYW5kb24gV2VhdmVyKQ0KKiBTdGF0dXM6IE9w ZW4NCiogUHJpb3JpdHk6IE5vcm1hbA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KUmVsYXRlZCB0byAjMTA3MTMgYW5kICMyNzY0Lg0KDQpSdWJ5J3MgYEhhc2gubmV3 YCBhY2NlcHRzIGVpdGhlciBhIGJsb2NrIG9yIGEgcGFyYW0gZm9yIGl0cyBkZWZhdWx0IHZhbHVl LiBJbiB0aGUgY2FzZSBvZiBub24tdmFsdWUgb2JqZWN0cyB0aGlzIGxlYWRzIHRvIHVuZXhwZWN0 ZWQgYmVoYXZpb3JzOg0KDQpgYGBydWJ5DQpiYWRfaGFzaF93aXRoX2FycmF5X3ZhbHVlcyA9IEhh c2gubmV3KFtdKQ0KZ29vZF9oYXNoX3dpdGhfYXJyYXlfdmFsdWVzID0gSGFzaC5uZXcgeyB8aCwg a3wgaFtrXSA9IFtdIH0NCmBgYA0KDQpXaGlsZSwgYXMgQGhzYnQgaGFzIHNhaWQgaW4gdGhlIHBh c3QsIHRoaXMgaXMgYmVoYXZpbmcgYXMgaW50ZW5kZWQgZm9yIHRoZSBSdWJ5IGxhbmd1YWdlIGl0 IGhhcyBjYXVzZWQgYSBsb3Qgb2YgY29uZnVzaW9uIGluIHRoZSBjb21tdW5pdHkgb3ZlciB0aGUg eWVhcnMgYW5kIGlzIGEga25vd24gc2hhcnAtZWRnZS4NCg0KTXkgYXNzZXJ0aW9uIGlzIHRoYXQg dGhpcyBpcyBub3QgdGhlIGludGVuZGVkIGJlaGF2aW9yLCBhbmQgSSBjYW5ub3QgZmluZCBhIGxl Z2l0aW1hdGUgdXNlY2FzZSBpbiB3aGljaCBzb21lb25lIGludGVuZHMgZm9yIHRoaXMgdG8gaGFw cGVuLiBNb3JlIG9mdGVuIG5ldyB1c2VycyB0byBSdWJ5IGFyZSBjb25mdXNlZCBieSB0aGlzIGJl aGF2aW9yIGFuZCBzcGVuZCBhIGxvdCBvZiB0aW1lIGRlYnVnZ2luZy4NCg0KV2UgbXVzdCBjb25z aWRlciB0aGUgaW1wYWN0IHRvIFJ1YnkgdXNlcnMsIGRlc3BpdGUgd2hhdCB0aGUgaW50ZW50IG9m IHRoZSBsYW5ndWFnZSBpcywgYW5kIG1ha2UgdGhlIGxhbmd1YWdlIG1vcmUgY2xlYXIgd2hlcmUg cG9zc2libGUuDQoNCkdpdmVuIHRoYXQsIEkgaGF2ZSBhIGZldyBwb3RlbnRpYWwgcHJvcG9zYWxz IGZvciBSdWJ5IGNvbW1pdHRlcnMuDQoNCiMjIyBQcm9wb3NhbCAxOiBEbyBXaGF0IFRoZXkgTWVh bnQNCg0KV2hlbiBwZW9wbGUgdXNlIGBIYXNoLm5ldyhbXSlgIHRoZXkgbWVhbiBgSGFzaC5uZXcg eyB8aCwga3wgaFtrXSA9IFtdIH1gLiBDYW4gd2UgbWFrZSB0aGF0IHRoZSBjYXNlIHRoYXQgaWYg eW91IHBhc3MgYSBtdXRhYmxlIG9yIG5vbi12YWx1ZSBvYmplY3QgdGhhdCB0aGUgYmVoYXZpb3Ig d2lsbCBiZSBhcyBpbnRlbmRlZCB1c2luZyBgZHVwYCBvciBvdGhlciB0ZWNobmlxdWVzPw0KDQpX aGVuIHVzZWQgaW4gdGhlIGFib3ZlIGluY29ycmVjdCB3YXkgaXQgaXMgbGlrZWx5IGlmIG5vdCBh bHdheXMgYnJva2VuIGNvZGUuDQoNCiMjIyBQcm9wb3NhbCAyOiBXYXJuIEFib3V0IFVuZXhwZWN0 ZWQgQmVoYXZpb3INCg0KQXMgbWVudGlvbmVkIGFib3ZlLCBJIGRvIG5vdCBiZWxpZXZlIHRoZXJl IGFyZSBsZWdpdGltYXRlIHVzYWdlcyBvZiBgSGFzaC5uZXcoW10pYCwgYW5kIGl0IGlzIGEga25v d24gYnVnIHRvIG1hbnkgdXNlcnMgYXMgdGhleSBkbyBub3QgaW50ZW5kIGZvciB0aGF0IGJlaGF2 aW9yLiBJdCBtYXkgYmUgd29ydGh3aGlsZSB0byB3YXJuIHBlb3BsZSBpZiB0aGV5IGRvIHVzZSBp dC4NCg0KIyMjIFByb3Bvc2FsIDM6IFJlcXVpcmUgRnJvemVuIG9yIFZhbHVlcw0KDQpUaGlzIGlz IG1vcmUgYnJlYWtpbmcgdGhhbiB0aGUgYWJvdmUsIGJ1dCBpdCBtYXkgbWFrZSBzZW5zZSB0byBy ZXF1aXJlIGFueSB2YWx1ZSBwYXNzZWQgdG8gYEhhc2gubmV3YCB0byBlaXRoZXIgYmUgYGZyb3pl bmAgb3IgYSB2YWx1ZSBvYmplY3QgKGUuZy4gYDFgIG9yIGB0cnVlYCkNCg0KIyMgVXBkYXRpbmcg UnVib0NvcA0KDQpGYWlsaW5nIHRoaXMsIEkgYW0gY29uc2lkZXJpbmcgYWR2b2NhdGluZyBmb3Ig UnVib0NvcCBhbmQgc2ltaWxhciBsaW50ZXJzIHRvIHdhcm4gcGVvcGxlIGFnYWluc3QgdGhpcyBi ZWhhdmlvciBhcyBpdCBpcyBub3QgaW50ZW5kZWQgaW4gbW9zdCB0byBhbGwgY2FzZXM6DQoNCmh0 dHBzOi8vZ2l0aHViLmNvbS9ydWJvY29wL3J1Ym9jb3AvaXNzdWVzLzExMDEzDQoNCi4uLmJ1dCBh cyBAaW9xdWF0aXggaGFzIG1lbnRpb25lZCBvbiB0aGUgaXNzdWUgaXQgd291bGQgbWFrZSBtb3Jl IHNlbnNlIHRvIGZpeCBSdWJ5IHJhdGhlciB0aGFuIHB1dCBhIHBhdGNoIG9uIHRvcCBvZiBpdC4g SSB3b3VsZCBiZSBpbmNsaW5lZCB0byBhZ3JlZSB3aXRoIGhpcyBhc3Nlc3NtZW50LCBhbmQgd291 bGQgcmF0aGVyIGZpeCB0aGlzIGF0IGEgbGFuZ3VhZ2UgbGV2ZWwgYXMgaXQgaXMgYSBrbm93biBw b2ludCBvZiBjb25mdXNpb24uDQoNCiMjIEZpbmFsIFRob3VnaHRzDQoNCkkgd291bGQgYXNrIHRo YXQgbWFpbnRhaW5lcnMgY29uc2lkZXIgdGhlIGNvbmZ1c2lvbiB0aGF0IHRoaXMgaGFzIGNhdXNl ZCBpbiB0aGUgY29tbXVuaXR5LCByYXRoZXIgdGhhbiBhc3NlcnRpbmcgdGhpcyAid29ya3MgYXMg aW50ZW5kZWQuIiBJdCBkb2VzIHdvcmsgYXMgaW50ZW5kZWQsIGJ1dCB0aGUgaW50ZW5kZWQgZnVu Y3Rpb25hbGl0eSBjYW4gbWFrZSBSdWJ5IG1vcmUgZGlmZmljdWx0IGZvciBiZWdpbm5lcnMuIFdl IHNob3VsZCBrZWVwIHRoaXMgaW4gbWluZC4NCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1Ynkt bGFuZy5vcmcvDQoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1s YW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcv Y2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=