[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110368] [Ruby master Feature#17576] Partial Functions (procs, lambdas)
From:
"pyromaniac (Arkadiy Zabazhanov)" <noreply@...>
Date:
2022-10-17 16:12:37 UTC
List:
ruby-core #110368
SXNzdWUgIzE3NTc2IGhhcyBiZWVuIHVwZGF0ZWQgYnkgcHlyb21hbmlhYyAoQXJrYWRpeSBaYWJh emhhbm92KS4KCgpJc24ndCB0aGUgdG9waWMgc3RhcnRlciB0YWxraW5nIGFib3V0IHBhdHRlcm4g YXJndW1lbnRzIGZvciBmdW5jdGlvbj8gVGhpcyBpcyBzb21ldGhpbmcgSSdtIHBlcnNvbmFsbHkg bG9va2luZyBmcm93YXJkIHRvLiBJdCBpcyBzaW1pbGFyIHRvIEVsaXhpcidzIGZ1bmN0aW9ucyBw YXR0ZXJuIG1hdGNoaW5nIGFuZCBpbmNyZWFzZXMgdGhlIGV4cHJlc3NpdmVuZXNzIG9mIHRoZSBs YW5ndWFnZSBieSBvcmRlciBvZiBtYWduaXR1ZGUuCgpGb3IgZXhhbXBsZSwgSSBoYXZlIHNvbWUg Y29tcGxleCBlbnRpdHkgYW5kIGhhdmUgYSBoYW5kbGVyIHRoYXQgZG9lcyBzb21ldGhpbmcgd2l0 aCBpdHMgYXR0cmlidXRlczoKCmBgYCBydWJ5CkRpc2NvdW50ID0gRGF0YS5kZWZpbmUoOm5hbWUs IDpjb2RlLCA6cGVyY2VudGFnZSkKUHJvZHVjdCA9IERhdGEuZGVmaW5lKDp0aXRsZSwgOnByaWNl KQoKZGVmIGNhbGN1bGF0ZV9kaXNjb3VudCh7IHByaWNlOiBNb25leSAmIDAuLiB9LCB7IHBlcmNl bnRhZ2U6IEJpZ0RlY2ltYWwgJiAwLi4xMDAgfSkKICBwcmljZSAqIHBlcmNlbnRhZ2UKZW5kCmBg YAoKTm93IEkgaGF2ZSBhIGxvb3NlbHkgY291cGxlZCBoYW5kbGVyIHRoYXQgb25seSBzcGVjaWZp ZXMgdGhlIHJlcXVpcmVtZW50cyBmb3IgdGhlIHBhc3NlZCBvYmplY3Qgd2l0aCBhIHBhdHRlcm4u IFlvdSBjYW4gZXZlbiB0aGluayBvZiBpdCBhcyBvZiBhIHNpbXBsZSB0eXBlIHN5c3RlbS4KCmBg YCBydWJ5CmNhbGN1bGF0ZV9kaXNjb3VudChwcm9kdWN0LCBkaXNjb3VudCkKYGBgCgpCdHcsIHdo aWxlIGltYWdpbmluZyB0aGlzIGV4YW1wbGUgSSBhbHNvIHRob3VnaHQgbWF5YmUgaXQgaXMgcG9z c2libGUgdG8gdXNlIGJvb2xlYW4tbGlrZSBwYXR0ZXJuIGNvbWJpbmF0aW9ucywgd2UgaGF2ZSBg fGAgdXNlciB0aGVyZSBhbHJlYWR5IHRvIGFsdGVybmF0ZSBwYXR0ZXJucywgc28gd2h5IGRvbid0 IGNvbWJpbmUgdGhlbSB3aXRoIGAmYD8KClRoaXMgaW1wbGVtZW50YXRpb24gaXMgYW4gZXF1aXZh bGVudCBvZjoKCmBgYHJ1YnkKZGVmIGNhbGN1bGF0ZV9kaXNjb3VudChwcm9kdWN0LCBkaXNjb3Vu dCkKICBwcm9kdWN0ID0+IHsgcHJpY2U6IE1vbmV5ICYgMC4uIH0KICBkaXNjb3VudCA9PiB7IHBl cmNlbnRhZ2U6IEJpZ0RlY2ltYWwgJiAwLi4xMDAgfQoKICBwcmljZSAqIHBlcmNlbnRhZ2UKZW5k IApgYGAKCldoZW4gYW5kIGlmIHRoZXJlIHdpbGwgYmUgYSB3YXkgb2YgcHV0dGluZyBhIHBhdHRl cm4gaW50byBhIHZhcmlhYmxlIHNvbWVob3csIEkgd291bGQgZG8gc29tZXRoaW5nIGxpa2U6Cgpg YGBydWJ5CmRlZiBzZWxmLmRlZnBtKG1ldGhvZF9uYW1lLCBwYXR0ZXJuLCAmYmxvY2spCiAgQG1l dGhvZF9wYXR0ZXJucyB8fD0ge30KICBAbWV0aG9kX3BhdHRlcm5zW21ldGhvZF9uYW1lXSB8fD0g e30KICBAbWV0aG9kX3BhdHRlcm5zW21ldGhvZF9uYW1lXVtwYXR0ZXJuXSA9IGJsb2NrCgogIHVu bGVzcyBtZXRob2RfZGVmaW5lZD8obWV0aG9kX25hbWUpCiAgICBkZWZpbmVfbWV0aG9kKG1ldGhv ZF9uYW1lLCAqYXJncykgZG8KICAgICAgcGF0dGVybiwgYmxvY2sgPSBzZWxmLmNsYXNzLm1ldGhv ZF9wYXR0ZXJuW21ldGhvZF9uYW1lXS5kZXRlY3QgZG8gfHBhdHRlcm4sIGJsb2NrfAogICAgICAg IGFyZ3MgaW4gcGF0dGVybgogICAgICBlbmQKICAgICAgYmxvY2suY2FsbCgqYXJncykKICAgIGVu ZAogIGVuZAplbmQKYGBgCgpUaGlzIGNvZGUgd291bGQgbm90IGRvIHRoZSB0cmljayBieSBJIGhv cGUgeW91IGdvdCB0aGUgaWRlYTogd2UgZGVmaW5lIG11bHRpcGxlIG1ldGhvZHMgd2l0aCB0aGUg c2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgYXJndW1lbnQgcGF0dGVybnMgdXNpbmcgdGhlIERTTCBh bmQgdGhlbiB0aGUgZmlyc3QgbWF0Y2hpbmcgcGF0dGVybiBhbmQgaXRzIGNvcnJlc3BvbmRpbmcg YmxvY2sgaXMgdXNlZCB3aGVuIHRoZSBtZXRob2QgaXMgY2FsbGVkLiBXZSBtaWdodCBhbHNvIG5l ZWQgc29tZSBwYXR0ZXJuIG1hdGNoIHJlc3VsdCBvYmplY3QgbGlrZSB3ZSBoYXZlIGZvciByZWdl eHAgbWF0Y2guIExhdGVyLCB0aGlzIGNhbiBiZSB0dXJuZWQgZnJvbSBhIERTTCB0byBhIGZpcnN0 LWNsYXNzIHN5bnRheCBsaWtlOgoKYGBgCmRlZnBtIGZvbyh7IGJhcjogMC4uIH0pCgplbmQKYGBg CgpUaGUgYm90dG9tIGxpbmUgaXMgdGhhdCBpbiBFbGl4aXIgdGhpcyBwYXR0ZXJuIG1hdGNoaW5n IGZvciBtZXRob2Qgc2lnbmF0dXJlIGlzIHZlcnkgZXhwcmVzc2l2ZSBhbmQgbWFrZXMgY29kZSB3 cml0aW5nIGFuZCBzdXBwb3J0IGEgd2F5IG1vcmUgam95ZnVsIHByb2Nlc3MuCgotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE3NTc2OiBQYXJ0aWFsIEZ1 bmN0aW9ucyAocHJvY3MsIGxhbWJkYXMpCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vl cy8xNzU3NiNjaGFuZ2UtOTk2NjIKCiogQXV0aG9yOiB0ZW1hYm9sc2hha292IChUZW1hIEJvbHNo YWtvdikKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KV2UgYWxyZWFkeSBoYXZlIHBhdHRlcm4gbWF0Y2hpbmcg YW5kIGZ1bmN0aW9ucy4gTGV0J3MgY29tYmluZSB0aGVtIGFuZCBpbnRyb2R1Y2UgYSAicGFydGlh bCBwcm9jcyIgYXMgZmlyc3QtY2xhc3MgY2l0aXplbnMuIAoKV2hhdCBhcmUgcGFydGlhbCBwcm9j cz8gVGhpcyBpcyBhIGZ1bmN0aW9uIHRoYXQgd29ya3Mgb24gYSBzdWJzZXQgb2YgYXJndW1lbnRz LiBUaGUgcGFydGlhbCBwcm9jJ3MgbWFpbiBhZHZhbnRhZ2UgaXMgdGhhdCBhIGNhbGxlciBtYXkg ZGVjaWRlIGluIGFkdmFuY2UgaWYgdGhpcyBwcm9jIGNhbiBhY2NlcHQgYW4gYXJndW1lbnQgb3Ig bm90IGFuZCBkbyBzb21ldGhpbmcgZGlmZmVyZW50IHJhdGhlciB0aGFuIGNhbGxpbmcgaXQuCgoK VGhhdCdzIGhvdyBpdCBtYXkgbG9vayBsaWtlOgoKCmBgYHJ1YnkKcGFydGlhbF9wcm9jID0gcHJv YyBkbyB8YXJnfAppbiB4IGlmIHgub2RkPwogICIje3h9IGlzIG9kZCIKZW5kCmBgYAoKT25lIGNh biBjaGVjayBpZiBhIHByb2MgaXMgZGVmaW5lZCBvbiB0aGUgYXJndW1lbnQgCgpgYGBydWJ5IApw YXJ0aWFsX3Byb2MuZGVmaW5lZD8oNDIpICM9PiBmYWxzZQpwYXJ0aWFsX3Byb2MuZGVmaW5lZD8o NDEpICM9PiB0cnVlCmBgYAoKWW91IGNhbiBjYWxsIHN1Y2ggYSBwYXJ0aWFsIHByb2MgYW5kIGl0 IHJhaXNlcyBhbiBlcnJvciB3aGVuIGl0J3Mgbm90IGRlZmluZWQgb24gdGhpcyBhcmd1bWVudDoK CgpgYGBydWJ5CnBhcnRpYWxfcHJvYy5jYWxsKDQyKSAjPT4gcmFpc2VzIE5vTWF0Y2hpbmdQYXR0 ZXJuRXJyb3IgKDQyKQpwYXJ0aWFsX3Byb2MuY2FsbCg0MSkgIz0+IDQxIGlzIG9kZApgYGAKCkFu ZCBmaW5hbGx5LCB3ZSBjYW4gY2FsbCBvciBmYWxsYmFjayB0byBhIGRlZmF1bHQgdmFsdWU6CgoK YGBgcnVieQpwYXJ0aWFsX3Byb2MuY2FsbF9vcl9lbHNlKDQyKSB7ICJmYWxsYmFjayB2YWx1ZSIg fSAjPT4gJ2ZhbGxiYWNrIHZhbHVlJwpwYXJ0aWFsX3Byb2MuY2FsbF9vcl9lbHNlKDQxKSB7ICJm YWxsYmFjayB2YWx1ZSIgfSAjPT4gNDEgaXMgb2RkCmBgYAoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1 YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5 LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9y Zy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==