[ruby-core:114014] [Ruby master Feature#19057] Hide implementation of `rb_io_t`.
From:
kamil-gwozdz via ruby-core <ruby-core@...>
Date:
2023-06-23 10:36:06 UTC
List:
ruby-core #114014
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHVwZGF0ZWQgYnkga2FtaWwtZ3dvemR6IChLYW1pbCBHd8Oz xbpkxbopLg0NCg0NCg0NCmJ5cm9vdCAoSmVhbiBCb3Vzc2llcikgd3JvdGUgaW4gI25vdGUtMTc6 DQ0KPiBAaW9xdWF0aXggSSdtIG5vdCBzdXJlIHdoaWNoIGNoYW5nZSBleGFjdGx5IGlzIHRoZSBj YXVzZSwgYnV0IGl0IGFwcGVhcnMgdGhhdCB0aGUgcmVjZW50IGByYl9pb190YCBjaGFuZ2VzIGJy b2tlIGByYWluZHJvcHNgDQ0KDQ0KDQ0KSSd2ZSBub3RpY2VkIHRoZSBzYW1lIHRoaW5nIHdoaWxl IHRyeWluZyB0byBpbnN0YWxsIGBrZ2lvYCB3aXRoIHRoZSBsYXRlc3QgcnVieSBIRUFELg0NCg0N Cnt7Y29sbGFwc2UNDQpgYGANDQptYWtlIERFU1RESVJcPSBzaXRlYXJjaGRpclw9Li8uZ2VtLjIw MjMwNjIzLTEwMjAzMC1nMnZjeWggc2l0ZWxpYmRpclw9Li8uZ2VtLjIwMjMwNjIzLTEwMjAzMC1n MnZjeWgNDQpjb21waWxpbmcgYWNjZXB0LmMNDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gYWNjZXB0 LmM6NzoNDQpteV9maWxlbm8uaDo5Ojc6IHdhcm5pbmc6ICJIQVZFX1JCX0lPX1QiIGlzIG5vdCBk ZWZpbmVkLCBldmFsdWF0ZXMgdG8gMCBbLVd1bmRlZl0NDQogICAgOSB8ICNpZiAhIEhBVkVfUkJf SU9fVA0NCiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn5+DQ0KbXlfZmlsZW5vLmg6MTY6ODogd2Fy bmluZzogIkhBVkVfUkJfSU9fVCIgaXMgbm90IGRlZmluZWQsIGV2YWx1YXRlcyB0byAwIFstV3Vu ZGVmXQ0NCiAgIDE2IHwgIyAgaWYgIUhBVkVfUkJfSU9fVCB8fCAoUlVCWV9WRVJTSU9OX01BSk9S ID09IDEgJiYgUlVCWV9WRVJTSU9OX01JTk9SID09IDgpDQ0KICAgICAgfCAgICAgICAgXn5+fn5+ fn5+fn5+DQ0KbXlfZmlsZW5vLmg6IEluIGZ1bmN0aW9uIOKAmG15X2ZpbGVub+KAmToNDQpteV9m aWxlbm8uaDoxMDoxOTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lIOKAmE9wZW5GaWxl4oCZOyBk aWQgeW91IG1lYW4g4oCYR2V0T3BlbkZpbGXigJk/DQ0KICAgMTAgfCAjICBkZWZpbmUgcmJfaW9f dCBPcGVuRmlsZQ0NCiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn4NDQpteV9maWxl bm8uaDoyNToyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYcmJfaW9fdOKAmQ0NCiAg IDI1IHwgIHJiX2lvX3QgKmZwdHI7DQ0KICAgICAgfCAgXn5+fn5+fg0NCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSBrZ2lvLmg6NiwNDQogICAgICAgICAgICAgICAgIGZyb20gYWNjZXB0LmM6NDoNDQov d29ya3NwYWNlcy9wcm9qZWN0L3ZlbmRvci9ydWJ5LzMwYzFmYzQwODc3NDRkYTRkY2MxMTM4ZTIz Y2Y0MzExOGUxMGY1YWYvaW5jbHVkZS9ydWJ5LTMuMy4wKzAvcnVieS9pby5oOjM5NTo1NTogd2Fy bmluZzogYXNzaWdubWVudCB0byDigJhpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVy IHR5cGUg4oCYc3RydWN0IHJiX2lvICrigJkgWy1XaW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNd DQ0KICAzOTUgfCAjZGVmaW5lIFJCX0lPX1BPSU5URVIob2JqLGZwKSByYl9pb19jaGVja19jbG9z ZWQoKGZwKSA9IFJGSUxFKHJiX2lvX3RhaW50X2NoZWNrKG9iaikpLT5mcHRyKQ0NCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0N Ci93b3Jrc3BhY2VzL3Byb2plY3QvdmVuZG9yL3J1YnkvMzBjMWZjNDA4Nzc0NGRhNGRjYzExMzhl MjNjZjQzMTE4ZTEwZjVhZi9pbmNsdWRlL3J1YnktMy4zLjArMC9ydWJ5L2lvLmg6NDAxOjIxOiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUkJfSU9fUE9JTlRFUuKAmQ0NCiAgNDAxIHwg I2RlZmluZSBHZXRPcGVuRmlsZSBSQl9JT19QT0lOVEVSDQ0KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn4NDQpteV9maWxlbm8uaDozMDoyOiBub3RlOiBpbiBleHBhbnNp b24gb2YgbWFjcm8g4oCYR2V0T3BlbkZpbGXigJkNDQogICAzMCB8ICBHZXRPcGVuRmlsZShpbywg ZnB0cik7DQ0KICAgICAgfCAgXn5+fn5+fn5+fn4NDQovd29ya3NwYWNlcy9wcm9qZWN0L3ZlbmRv ci9ydWJ5LzMwYzFmYzQwODc3NDRkYTRkY2MxMTM4ZTIzY2Y0MzExOGUxMGY1YWYvaW5jbHVkZS9y dWJ5LTMuMy4wKzAvcnVieS9pby5oOjM5NTo1NTogd2FybmluZzogcGFzc2luZyBhcmd1bWVudCAx IG9mIOKAmHJiX2lvX2NoZWNrX2Nsb3NlZOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5 cGUgWy1XaW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdDQ0KICAzOTUgfCAjZGVmaW5lIFJCX0lP X1BPSU5URVIob2JqLGZwKSByYl9pb19jaGVja19jbG9zZWQoKGZwKSA9IFJGSUxFKHJiX2lvX3Rh aW50X2NoZWNrKG9iaikpLT5mcHRyKQ0NCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fg0NCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfA0NCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoNDQovd29ya3NwYWNlcy9wcm9qZWN0L3Zl bmRvci9ydWJ5LzMwYzFmYzQwODc3NDRkYTRkY2MxMTM4ZTIzY2Y0MzExOGUxMGY1YWYvaW5jbHVk ZS9ydWJ5LTMuMy4wKzAvcnVieS9pby5oOjQwMToyMTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1h Y3JvIOKAmFJCX0lPX1BPSU5URVLigJkNDQogIDQwMSB8ICNkZWZpbmUgR2V0T3BlbkZpbGUgUkJf SU9fUE9JTlRFUg0NCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+DQ0K bXlfZmlsZW5vLmg6MzA6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEdldE9wZW5G aWxl4oCZDQ0KICAgMzAgfCAgR2V0T3BlbkZpbGUoaW8sIGZwdHIpOw0NCiAgICAgIHwgIF5+fn5+ fn5+fn5+DQ0KL3dvcmtzcGFjZXMvcHJvamVjdC92ZW5kb3IvcnVieS8zMGMxZmM0MDg3NzQ0ZGE0 ZGNjMTEzOGUyM2NmNDMxMThlMTBmNWFmL2luY2x1ZGUvcnVieS0zLjMuMCswL3J1YnkvaW8uaDo2 Mzg6MzQ6IG5vdGU6IGV4cGVjdGVkIOKAmHJiX2lvX3QgKuKAmSB7YWthIOKAmHN0cnVjdCByYl9p byAq4oCZfSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhpbnQgKuKAmQ0NCiAgNjM4IHwgdm9p ZCByYl9pb19jaGVja19jbG9zZWQocmJfaW9fdCAqZnB0cik7DQ0KICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICB+fn5+fn5+fn5efn5+DQ0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGFjY2Vw dC5jOjc6DQ0KbXlfZmlsZW5vLmg6MTc6NDE6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg4oCY ZuKAmSBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uDQ0KICAgMTcgfCAjICAg IGRlZmluZSBGUFRSX1RPX0ZEKGZwdHIpIGZpbGVubyhmcHRyLT5mKQ0NCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+DQ0KbXlfZmlsZW5vLmg6MzE6Nzog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEZQVFJfVE9fRkTigJkNDQogICAzMSB8ICBm ZCA9IEZQVFJfVE9fRkQoZnB0cik7DQ0KICAgICAgfCAgICAgICBefn5+fn5+fn5+DQ0KYWNjZXB0 LmM6IEF0IHRvcCBsZXZlbDoNDQpjYzE6IG5vdGU6IHVucmVjb2duaXplZCBjb21tYW5kLWxpbmUg b3B0aW9uIOKAmC1Xbm8tc2VsZi1hc3NpZ27igJkgbWF5IGhhdmUgYmVlbiBpbnRlbmRlZCB0byBz aWxlbmNlIGVhcmxpZXIgZGlhZ25vc3RpY3MNDQpjYzE6IG5vdGU6IHVucmVjb2duaXplZCBjb21t YW5kLWxpbmUgb3B0aW9uIOKAmC1Xbm8tcGFyZW50aGVzZXMtZXF1YWxpdHnigJkgbWF5IGhhdmUg YmVlbiBpbnRlbmRlZCB0byBzaWxlbmNlIGVhcmxpZXIgZGlhZ25vc3RpY3MNDQpjYzE6IG5vdGU6 IHVucmVjb2duaXplZCBjb21tYW5kLWxpbmUgb3B0aW9uIOKAmC1Xbm8tY29uc3RhbnQtbG9naWNh bC1vcGVyYW5k4oCZIG1heSBoYXZlIGJlZW4gaW50ZW5kZWQgdG8gc2lsZW5jZSBlYXJsaWVyIGRp YWdub3N0aWNzDQ0KbWFrZTogKioqIFtNYWtlZmlsZToyNDg6IGFjY2VwdC5vXSBFcnJvciAxDQ0K DQ0KbWFrZSBmYWlsZWQsIGV4aXQgY29kZSAyDQ0KYGBgDQ0KfX0NDQoNDQoNDQoNDQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQ0KRmVhdHVyZSAjMTkwNTc6IEhpZGUg aW1wbGVtZW50YXRpb24gb2YgYHJiX2lvX3RgLg0NCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn L2lzc3Vlcy8xOTA1NyNjaGFuZ2UtMTAzNjc1DQ0KDQ0KKiBBdXRob3I6IGlvcXVhdGl4IChTYW11 ZWwgV2lsbGlhbXMpDQ0KKiBTdGF0dXM6IEFzc2lnbmVkDQ0KKiBQcmlvcml0eTogTm9ybWFsDQ0K KiBBc3NpZ25lZTogaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFtcykNDQotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQ0KSW4gb3JkZXIgdG8gbWFrZSBpbXByb3ZlbWVudHMg dG8gdGhlIElPIGltcGxlbWVudGF0aW9uIGxpa2UgPGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn L2lzc3Vlcy8xODQ1NT4sIHdlIG5lZWQgdG8gYWRkIG5ldyBmaWVsZHMgdG8gYHN0cnVjdCByYl9p b190YC4NDQoNDQpCeSB0aGUgd2F5LCBlbmRpbmcgdHlwZXMgaW4gYF90YCBpcyBub3QgcmVjb21t ZW5kZWQgYnkgUE9TSVgsIHNvIEknbSBhbHNvIHRyeWluZyB0byByZW5hbWUgdGhlIGludGVybmFs IGltcGxlbWVudGF0aW9uIHRvIGRyb3AgYF90YCB3aGVyZSBwb3NzaWJsZSBkdXJpbmcgdGhpcyBj b252ZXJzaW9uLg0NCg0NCkFueXdheSwgd2Ugc2hvdWxkIHRyeSB0byBoaWRlIHRoZSBpbXBsZW1l bnRhdGlvbiBvZiBgc3RydWN0IHJiX2lvYC4gSWRlYWxseSwgd2UgZG9uJ3QgZXhwb3NlIGFueSBv ZiBpdCwgYnV0IHRoZSBwcm9ibGVtIGlzIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5Lg0NCg0NClNv LCBpbiBvcmRlciB0byByZW1haW4gYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHdlIHNob3VsZCBl eHBvc2Ugc29tZSBmaWVsZHMgb2YgYHN0cnVjdCByYl9pb2AsIHRoZSBtb3N0IGNvbW1vbmx5IHVz ZWQgb25lIGlzIGBmZGAgYW5kIGBtb2RlYCwgYnV0IHNldmVyYWwgb3RoZXJzIGFyZSBjb21tb25s eSB1c2VkLg0NCg0NClRoZXJlIGFyZSBtYW55IGZpZWxkcyB3aGljaCBzaG91bGQgbm90IGJlIGV4 cG9zZWQgYmVjYXVzZSB0aGV5IGFyZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLg0NCg0NCiMjIEN1 cnJlbnQgcHJvcG9zYWwNDQoNDQpUaGUgY3VycmVudCBwcm9wb3NlZCBjaGFuZ2UgPGh0dHBzOi8v Z2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC82NTExPiBjcmVhdGVzIHR3byBzdHJ1Y3RzOg0NCg0N CmBgYGMNDQovLyBpbmNsdWRlL3J1YnkvaW8uaA0NCiNpZm5kZWYgUkJfSU9fVA0NCnN0cnVjdCBy Yl9pbyB7DQ0KICBpbnQgZmQ7DQ0KICAvLyAuLi4gcHVibGljIGZpZWxkcyAuLi4NDQp9Ow0NCiNl bHNlDQ0Kc3RydWN0IHJiX2lvOw0NCiNlbmRpZg0NCg0NCi8vIGludGVybmFsL2lvLmgNDQojZGVm aW5lIFJCX0lPX1QNDQpzdHJ1Y3QgcmJfaW8gew0NCiAgaW50IGZkOw0NCiAgLy8gLi4uIHB1Ymxp YyBmaWVsZHMgLi4uDQ0KICAvLyAuLi4gcHJpdmF0ZSBmaWVsZHMgLi4uDQ0KfTsNDQpgYGANDQoN DQpIb3dldmVyLCB3ZSBhcmUgbm90IDEwMCUgY29uZmlkZW50IHRoaXMgaXMgc2FmZSBhY2NvcmRp bmcgdG8gdGhlIEMgc3BlY2lmaWNhdGlvbi4gTXkgZXhwZXJpZW5jZSBpcyBub3Qgc3VmZmljaWVu dGx5IHdpZGUgdG8gc2F5IHRoaXMgaXMgc2FmZSBpbiBwcmFjdGljZSwgYnV0IGl0IGRvZXMgbG9v ayBva2F5IHRvIGJvdGggbXlzZWxmLCBhbmQgQEVyZWdvbiArIEB0ZW5kZXJsb3ZlbWFraW5nIGhh dmUgYm90aCBnaXZlbiBzb21lIGtpbmQgb2YgYXBwcm92YWwuDQ0KDQ0KVGhhdCBiZWluZyBzYWlk LCBtYXliZSBpdCdzIG5vdCBzYWZlLg0NCg0NClRoZXJlIGFyZSB0d28gYWx0ZXJuYXRpdmVzOg0N Cg0NCiMjIEhpZGUgYWxsIGRldGFpbHMNDQoNDQpXZSBjYW4gbWFrZSBwdWJsaWMgYHN0cnVjdCBy Yl9pb2AgY29tcGxldGVseSBpbnZpc2libGUuDQ0KDQ0KYGBgYw0NCi8vIGluY2x1ZGUvcnVieS9p by5oDQ0KI2RlZmluZSBSQl9JT19ISURERU4NDQpzdHJ1Y3QgcmJfaW87DQ0KaW50IHJiX2lvcHRy X2Rlc2NyaXB0b3Ioc3RydWN0IHJiX2lvICppb3B0cik7IC8vIGFjY2Vzc29yIGZvciBwcmV2aW91 c2x5IHZpc2libGUgc3RhdGUuDQ0KDQ0KLy8gaW50ZXJuYWwvaW8uaA0NCnN0cnVjdCByYl9pbyB7 DQ0KICAvLyAuLi4gYWxsIGZpZWxkcyAuLi4NDQp9Ow0NCmBgYA0NCg0NClRoaXMgd291bGQgb25s eSBiZSBmb3J3YXJkcyBjb21wYXRpYmxlLCBhbmQgY29kZSB3b3VsZCBuZWVkIHRvIGZlYXR1cmUg ZGV0ZWN0IGxpa2UgdGhpczoNDQoNDQpgYGBjDQ0KI2lmZGVmIFJCX0lPX0hJRERFTg0NCiNkZWZp bmUgUkJfSU9QVFJfREVTQ1JJUFRPUiByYl9pb3B0cl9kZXNjcmlwdG9yDQ0KI2Vsc2UNDQojZGVm aW5lIFJCX0lPUFRSX0RFU0NSSVBUT1IoaW9wdHIpIHJiX2lvcHRyX2Rlc2NyaXB0b3IoaW9wdHIp DQ0KI2VuZGlmDQ0KYGBgDQ0KDQ0KIyMgTmVzdGVkIHB1YmxpYyBpbnRlcmZhY2UNDQoNDQpBbHRl cm5hdGl2ZWx5LCB3ZSBjYW4gbmVzdCB0aGUgcHVibGljIGZpZWxkcyBpbnRvIHRoZSBwcml2YXRl IHN0cnVjdDoNDQoNDQpgYGBjDQ0KLy8gaW5jbHVkZS9ydWJ5L2lvLmgNDQpzdHJ1Y3QgcmJfaW9f cHVibGljIHsNDQogIGludCBmZDsNDQogIC8vIC4uLiBwdWJsaWMgZmllbGRzIC4uLg0NCn07DQ0K DQ0KLy8gaW50ZXJuYWwvaW8uaA0NCiNkZWZpbmUgUkJfSU9fVA0NCnN0cnVjdCByYl9pbyB7DQ0K ICBzdHJ1Y3QgcmJfaW9fcHVibGljIHB1YmxpYzsNDQogIC8vIC4uLiBwcml2YXRlIGZpZWxkcyAu Li4NDQp9Ow0NCmBgYA0NCg0NCiMjIENvbnNpZGVyYXRpb25zDQ0KDQ0KSSBwZXJzb25hbGx5IHRo aW5rIHRoZSAiSGlkZSBhbGwgZGV0YWlscyIgaW1wbGVtZW50YXRpb24gaXMgdGhlIGJlc3QsIGJ1 dCBpdCdzIGFsc28gdGhlIGxlc3QgY29tcGF0aWJsZS4gVGhpcyBpcyBhbHNvIHdoYXQgd2UgYXJl IHVsdGltYXRlbHkgYWltaW5nIGZvciwgd2hldGhlciB3ZSBkZWNpZGUgdG8gdGFrZSBhbiBpbnRl cm1lZGlhdGUgImNvbXBhdGliaWxpdHkgc3RlcCIgaXMgdXAgdG8gdXMuDQ0KDQ0KSSB0aGluayAi TmVzdGVkIHB1YmxpYyBpbnRlcmZhY2UiIGlzIG1lc3N5IGFuZCBpbnRyb2R1Y2VzIG1vcmUgY29t cGxleGl0eSwgYnV0IGl0IG1pZ2h0IGJlIHNsaWdodGx5IGJldHRlciBkZWZpbmVkIHRoYW4gdGhl ICJDdXJyZW50IHByb3Bvc2FsIiB3aGljaCBtaWdodCBjcmVhdGUgdW5kZWZpbmVkIGJlaGF2aW91 ci4gVGhhdCBiZWluZyBzYWlkLCBhbGwgdGhlIHRlc3RzIGFyZSBwYXNzaW5nLg0NCg0NCg0NCg0N Cg0NCg0NCi0tIA0NCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0NCiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0 IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVt YWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAt LSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvcG9zdG9yaXVzL2xpc3RzL3J1Ynkt Y29yZS5tbC5ydWJ5LWxhbmcub3JnLw==