[ruby-core:95704] [Ruby master Feature#16295] Chainable aliases for String#-@ and String#+@

From: shevegen@...
Date: 2019-11-05 16:33:52 UTC
List: ruby-core #95704
SXNzdWUgIzE2Mjk1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgc2hldmVnZW4gKFJvYmVydCBBLiBIZWls
ZXIpLg0KDQoNCkkgYWdyZWUgdGhhdCArIGFuZCAtIGFyZSBub3QgdmVyeSBlbGVnYW50LiBUaGV5
IGFyZSBzaG9ydCwgc28gdXNlZnVsLCBidXQgdGhpcyBpcyBhY3R1YWxseQ0KdGhlIG1haW4gcmVh
c29uIHdoeSBJIHByZWZlciB0aGUgbXVjaCBsb25nZXIgLmR1cCBpbnN0ZWFkLCBhbmQgZG9uJ3Qg
dXNlICsgYW5kIC0uDQoNCkkgb2Z0ZW4gcHJlZmVyIHNob3J0IGVuZ2xpc2ggd29yZHMvbmFtZXMs
IHdpdGhpbiByZWFzb24uIEl0IGlzIGFsd2F5cyBhIHRyYWRlIG9mZiBvZiBjb3Vyc2UuDQpSdWJ5
IG9mdGVuIGFsbG93cyAiYm90aCIgc3R5bGVzLg0KDQo+IFRoZXkgdmVyeSBvZnRlbiBmb3JjZSB0
byB1c2UgcGFyZW50aGVzZXMsIHdoaWNoIGlzIGFubm95aW5nDQoNCkkgYWdyZWUgaW4gZ2VuZXJh
bC4gQmVpbmcgYWJsZSB0byBvbWl0IHBhcmVucyBpcyBncmVhdC4gSSBwZXJzb25hbGx5IHVzZSBw
YXJlbnMgaW4NCm1ldGhvZCBkZWZpbml0aW9ucyBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgYXJn
dW1lbnQ7IG90aGVyIHJ1YnkgdXNlcnMgb21pdCB0aGUgcGFyZW5zDQpjb21wbGV0ZWx5LCB3aGlj
aCBJIGNhbiB1bmRlcnN0YW5kLCBldmVuIGlmIEkgZG9uJ3QgdXNlIHRoYXQgc3R5bGUuIEJ1dCBt
b3JlIGltcG9ydGFudGx5DQpJIGFncmVlIHRoYXQgYmVpbmcgYWJsZSB0byBkZWNpZGUgd2hldGhl
ciB0byB1c2UgcGFyZW5zIG9yIG5vdCBpcyBHUkVBVC4gSW4gcHl0aG9uIHlvdQ0KYXJlIGZvcmNl
ZCB0byB1c2UgdGhlbSwgYW5kIEkgZmluZCB0aGlzIGFubm95aW5nLiAoSSByZWFsbHkgdGhpbmsg
cnVieSBpcyBiZXR0ZXIgdGhhbg0KcHl0aG9uIGluIG1hbnkgd2F5cy4pDQoNClRvIHRoZSBzdWdn
ZXN0aW9uIGl0c2VsZiBmb3IgdGhlIG5hbWVzOg0KDQpJIHRoaW5rIGFsbCBvZiBkZWR1cCwgZGVk
dXBsaWNhdGUsIG11dGFibGUgb3IgbXV0IGFyZSBhIGJpdCAuLi4gY2x1bXN5Lg0KDQpJRiB0aGUg
cXVlc3Rpb24gd2VyZSBTT0xFTFkgYmV0d2VlbjoNCg0KICAgIGRlZHVwIHZlcnN1cyBkZWR1cGxp
Y2F0ZQ0KDQphbmQNCg0KICAgIG11dCB2ZXJzdXMgbXV0YWJsZQ0KDQpUaGVuIEkgdGhpbmsgdGhl
IHNob3J0ZXIgbmFtZXMgd291bGQgYmUgYSB0aW55IGJpdCBiZXR0ZXIuIEJ1dCAuZGVkdXAgaXMg
bm90IGEgZ3JlYXQgbmFtZSwNCmFuZCAubXV0IGlzIGEgYml0IGNvbmZ1c2luZy4gLmRlZHVwbGlj
YXRlIHNlZW1zIHRvbyBsb25nLCBJIGFjdHVhbGx5IHR5cG9lZCB3aGVuIEkgdHJpZWQNCnRvIHdy
aXRlIGl0IGp1c3Qgbm93IDopIC0gLm11dGFibGUgaXMgLi4uIGhtbS4gVGhlIG5hbWUgc2VlbXMg
YSBiaXQgbW9yZSBsaWtlIC5tdXRhYmxlPw0KdG8gbWUsIGFzIGEgcXVlcnkgbWV0aG9kLg0KDQpJ
IGFtIG5vdCBzdXJlIHRoYXQgdGhlc2UgbmFtZXMgYXJlIGdyZWF0Lg0KDQpQZXJoYXBzIHdlIGNh
biBjb21lIHVwIHdpdGggbmFtZXMgdGhhdCBkZXNjcmliZSB0aGUgYmVoYXZpb3VyLCB3aXRob3V0
DQpoYXZpbmcgdG8gZm9jdXMgb24gKyBvciAtLg0KDQpJZiBJIHVuZGVyc3RhbmQgdGhlIHByb2Js
ZW0gY29ycmVjdGx5IHRoZW4gdGhlIHByaW1hcnkgaXNzdWUgaXMgdG8gZmluZCBnb29kIG5hbWUN
CmNhbmRpZGF0ZXM/IElmIHNvIHBlcmhhcHMgcGVvcGxlIGNhbiBnaXZlIHNvbWUgc3VnZ2VzdGlv
bnMuDQoNClBlcmhhcHMgc29tZSBuYW1lIHdpdGggLmZyZWV6ZV8qIG9yIHNvbWV0aGluZyBsaWtl
IHRoYXQsIG9yIC51bmZyZWV6ZSAobm90IHN1cmUNCmhlcmUsIEkgdGhpbmsgd2UgY2FuIG5vdCB1
bmZyZWV6ZSwgb25seSBmcmVlemUsIHNvIHN1Y2ggYSBuYW1lIG1heSBjYXVzZQ0KY29uZnVzaW9u
KS4NCg0KQWN0dWFsbHkgd2UgYWxyZWFkeSBoYXZlIC5kdXAgd2hpY2ggSSBhc3N1bWUgaXMgc2hv
cnQgZm9yIC5kdXBsaWNhdGUuIFNvIHBlcmhhcHMNCnRoZSBtZXRob2RzIGNvdWxkIGJlIGNlbnRl
cmVkIGFyb3VuZCAuZHVwLg0KDQogICAgLmRlX2R1cA0KICAgIC51bl9kdXANCiAgICAuZHVwKw0K
ICAgIC5kdXAtICAgICAgICMgb2sgb2sgdGhhdCBkb2VzIG5vdCB3b3JrIGJ1dCAuLi4NCiAgICAu
ZHVwX3BsdXMNCiAgICAuZHVwX21pbnVzICAjIGNsdW1zeSB0b28gLi4uDQogICAgLmNoYWluX2R1
cCAgIyB1aG0gLi4uDQogICAgLmR1cF9jaGFpbiAgIyBzb3VuZHMgbGlrZSBhIG11c2ljIHNvbmcN
CiAgICAuZnJlZXplX2R1cCAjIG5vIGlkZWEgd2h5IHRoaXMgZXZlbiBjYW1lIHVwIC4uLg0KICAg
IC5kdXBwaXR5ICAgICMganVzdCBzb3VuZHMgZ29vZA0KDQpXZWxsIC0gc2hvcnQgYnJlYWsgZnJv
bSBmaW5kaW5nIHNpbGx5IG5hbWVzIC4uLg0KDQpJZiB3ZSBsb29rIGF0IHRoZSBkb2N1bWVudGF0
aW9uLCB3ZSBoYXZlOg0KDQotLS0tLQ0KDQogK3N0ciDihpIgc3RyIChtdXRhYmxlKQ0KDQpJZiB0
aGUgc3RyaW5nIGlzIGZyb3plbiwgdGhlbiByZXR1cm4gZHVwbGljYXRlZCBtdXRhYmxlIHN0cmlu
Zy4NCg0KSWYgdGhlIHN0cmluZyBpcyBub3QgZnJvemVuLCB0aGVuIHJldHVybiB0aGUgc3RyaW5n
IGl0c2VsZi4NCg0KLXN0ciDihpIgc3RyIChmcm96ZW4pDQoNClJldHVybnMgYSBmcm96ZW4sIHBv
c3NpYmx5IHByZS1leGlzdGluZyBjb3B5IG9mIHRoZSBzdHJpbmcuDQoNClRoZSBzdHJpbmcgd2ls
bCBiZSBkZWR1cGxpY2F0ZWQgYXMgbG9uZyBhcyBpdCBpcyBub3QgdGFpbnRlZCwgb3IgaGFzIGFu
eSBpbnN0YW5jZSB2YXJpYWJsZXMgc2V0IG9uIGl0Lg0KDQotLS0tLQ0KDQpTbyBob3cgYWJvdXQg
Li4uDQoNCiAgIC5mcm96ZW5fY29weQ0KICAgLmZyb3plbl9vcl9jb3B5DQoNCkFjdHVhbGx5LCBy
ZWFkaW5nIHRoZSBkb2N1bWVudGF0aW9uLCAuZGVkdXAgc2VlbXMgdG8gYmUgb2s6DQoNCiAgICAu
ZGVkdXANCg0KRXZlbiBpZiB0aGUgbmFtZSBpcyBub3QgcGVyZmVjdCwgaXQgbWF5IGJlIGJldHRl
ciB0aGFuIG5vdA0KaGF2aW5nIGFuIGFsdGVybmF0aXZlLg0KDQpJIGNhbid0IHJlYWxseSB0aGlu
ayBvZiBhIGdyZWF0IG5hbWUgdGhvdWdoLiBQZXJoYXBzIG90aGVycyBjYW4NCmdpdmUgc29tZSBt
b3JlIGlkZWFzLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpG
ZWF0dXJlICMxNjI5NTogQ2hhaW5hYmxlIGFsaWFzZXMgZm9yIFN0cmluZyMtQCBhbmQgU3RyaW5n
IytADQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTYyOTUjY2hhbmdlLTgyNDkw
DQoNCiogQXV0aG9yOiBieXJvb3QgKEplYW4gQm91c3NpZXIpDQoqIFN0YXR1czogT3Blbg0KKiBQ
cmlvcml0eTogTm9ybWFsDQoqIEFzc2lnbmVlOiANCiogVGFyZ2V0IHZlcnNpb246IA0KLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KT3JpZ2luYWwgZGlzY3Vzc2lvbiBo
dHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTYxNTA/bmV4dF9pc3N1ZV9pZD0xNjE0
NyZwcmV2X2lzc3VlX2lkPTE2MTUzI25vdGUtNDANCg0KSW4gIzE2MTUwLCBAaGVhZGl1cyByYWlz
ZWQgdGhlIGZvbGxvd2luZyBjb25jZXJuIGFib3V0IGBTdHJpbmcjLUBgIGFuZCBgU3RyaW5nIytA
YDoNCg0KaGVhZGl1cyAoQ2hhcmxlcyBOdXR0ZXIpIHdyb3RlOg0KPiA+IE5vdCBleGFjdGx5LCAt
QCBhbmQgK0AgbWFrZXMgdGhpcyBtdWNoIHNpbXBsZXINCj4gDQo+IEkgZG8gbGlrZSB0aGUgdW5h
cnkgb3BlcmF0b3JzLCBidXQgdGhleSBhbHNvIGhhdmUgc29tZSBwcmVjZWRlbmNlIG9kZGl0aWVz
Og0KPiANCj4gYGBgDQo+ID4+IC0iZm9vIi5zaXplDQo+ID0+IC0zDQo+ID4+ICgtImZvbyIpLnNp
emUNCj4gPT4gMw0KPiBgYGANCj4gDQo+IEFuZCBpdCBkb2Vzbid0IHdvcmsgYXQgYWxsIGlmIHlv
dSdyZSBjaGFpbmluZyBtZXRob2QgY2FsbHM6DQo+IA0KPiBgYGANCj4gPj4gK2FyeS50b19zLmZy
b3plbj8NCj4gTm9NZXRob2RFcnJvcjogdW5kZWZpbmVkIG1ldGhvZCBgK0AnIGZvciBmYWxzZTpG
YWxzZUNsYXNzDQo+IAlmcm9tIChpcmIpOjgNCj4gCWZyb20gL3Vzci9iaW4vaXJiOjExOmluIGA8
bWFpbj4nDQo+IGBgYA0KPiANCj4gQnV0IHlvdSBhcmUgcmlnaHQsIGluc3RlYWQgb2YgdGhlIGV4
cGxpY2l0IGBkdXBgIHdpdGggcG9zc2libGUgZnJlZXplIHlvdSBjb3VsZCB1c2UgYC1gIG9yIGAr
YCBvbiB0aGUgcmVzdWx0IG9mIGB0b19zYC4gSG93ZXZlciBpdCdzIHN0aWxsIG5vdCBzYWZlIHRv
IG1vZGlmeSBpdCBzaW5jZSBpdCB3b3VsZCBtb2RpZnkgdGhlIG9yaWdpbmFsIHN0cmluZyB0b28u
DQoNCkFmdGVyIHdvcmtpbmcgZm9yIHF1aXRlIGEgd2hpbGUgd2l0aCB0aG9zZSwgSSBoYXZlIHRv
IHNheSBJIGFncmVlLiBUaGV5IHZlcnkgb2Z0ZW4gZm9yY2UgdG8gdXNlIHBhcmVudGhlc2VzLCB3
aGljaCBpcyBhbm5veWluZywgYW5kIGFuIGluZGljYXRpb24gdGhhdCByZWd1bGFyIG1ldGhvZHMg
d291bGQgYmUgcHJlZmVyYWJsZSB0byB1bmFyeSBvcGVyYXRvcnMuDQoNCg0KSW4gcmVzcG9uc2Ug
QG1hdHogcHJvcG9zZWQgdG8gYWxpYXMgdGhlbSBhcyBgU3RyaW5nIytgIGFuZCBgU3RyaW5nIy1g
IHdpdGhvdXQgYXJndW1lbnRzOg0KDQo+ICBIb3cgYWJvdXQgbWFraW5nIFN0cmluZyMrIGFuZCAj
LSB3aXRob3V0IGFyZ3VtZW50IGJlaGF2ZSBsaWtlICMrQCBhbmQgIy1AIHJlc3BlY3RpdmVseSwg
c28gdGhhdCB3ZSBjYW4gd3JpdGU6DQo+ICANCj4gIGBgYA0KPiAgImZvbyIuLS5zaXplDQo+ICBh
cnkuKy50b19zLmZyb3plbj8NCj4gIGBgYA0KDQoNCk15IHBlcnNvbmFsIG9waW5pb24gaXMgdGhh
dCBkZXNjcmlwdGl2ZSBtZXRob2QgbmFtZXMgd291bGQgYmUgcHJlZmVyYWJsZSB0byBgKy8tYDoN
Cg0KPiBJTUhPIGAuLWAgYW5kIGAuK2AgaXMgbm90IHZlcnkgZWxlZ2FudC4gUHJvcGVyIG1ldGhv
ZCBuYW1lcyBleHBsYWluaW5nIHRoZSBpbnRlbnQgd291bGQgYmUgcHJlZmVyYWJsZS4NCj4gDQo+
ICAgLSBgLUBgIGNvdWxkIGJlIGBkZWR1cGAsIG9yIGBkZWR1cGxpY2F0ZWAuDQo+ICAgLSBgK0Bg
IGNvdWxkIGJlIGBtdXRhYmxlYCBvciBgbXV0YC4NCg0KDQoNCg0KDQotLSANCmh0dHBzOi8vYnVn
cy5ydWJ5LWxhbmcub3JnLw0KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0
QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxh
bmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K

In This Thread

Prev Next