[ruby-core:78423] [Ruby trunk Feature#12979] Avoid exception for #dup on Integer (and similar cases)

From: Mike@...
Date: 2016-11-29 20:04:53 UTC
List: ruby-core #78423
SXNzdWUgIzEyOTc5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgTWlrZSBWYXN0b2xhLgoKCk5vYnV5b3No
aSBOYWthZGEgd3JvdGU6Cj4gU2hvdWxkIGBLZXJuZWwjY2xvbmVgIGJlIHNhbWU/CgpUaGUgb3Jp
Z2luYWwgY29uc2Vuc3VzIHdhcyB0aGF0IHRoZSBmaXggc2hvdWxkIGJlIGZvciBib3RoICoqYCNk
dXBgKiogYW5kICoqYCNjbG9uZWAqKiB0byBmYWlsIHNpbGVudGx5IG9uIGltbWVkaWF0ZSBvYmpl
Y3RzLiBUaGUgcGVyc29uIHdobyBjcmVhdGVkIHRoaXMgaXNzdWUgcmVuZGVyZWQgKipgI2Nsb25l
YCoqIGFzICJhbmQgc2ltaWxhciBjYXNlcyIgaW4gdGhlIHRpdGxlLCBwZXJoYXBzIGFzc3VtaW5n
IHRoZXJlIGNvdWxkIGJlIGFkZGl0aW9uYWwgcGxhY2VzIGNoYW5nZXMgd2VyZSBuZWNlc3Nhcnk/
CgpOb2J1eW9zaGkgTmFrYWRhIHdyb3RlOgo+IEkgcmVtZW1iZXIgYGNsb25lYCBoYXMgYGZyZWV6
ZWAgb3B0aW9uLgo+IFdoYXQgc2hvdWxkIGAxLmNsb25lKGZyZWV6ZTogZmFsc2UpYCBkbywgaWdu
b3JlIHRoZSBvcHRpb24sIG9yIHJhaXNlIGFuIGBBcmd1bWVudEVycm9yYD8KClRoaXMgaXMgdG90
YWxseSBiZXNpZGUgdGhlIHBvaW50LiBMb29rIGF0IGl0IHRoaXMgd2F5OgoqKmAxLmNsb25lKGZy
ZWV6ZTogZmFsc2UpYCoqIOKHlCAqKmAxLmNsb25lYCoqCioqYDEuY2xvbmUoZnJlZXplOiB0cnVl
KWAqKiDih5QgKipgMS5jbG9uZS5mcmVlemVgKioKCl8oTkI6IEknbSBub3QgZmFtaWxpYXIgd2l0
aCB0aGlzIHBhcnRpY3VsYXIgaW52b2NhdGlvbiBvZiAqKmAjY2xvbmVgKiosIHNvIGl0J3MgcG9z
c2libGUgdGhpcyBhcmd1bWVudCB0byB0aGUgbWV0aG9kIGlzIHN1cHBvc2VkIHRvIGRvIHNvbWUg
c29ydCBvZiBkZWVwICoqYCNmcmVlemVgKiosIGJ1dCBzaW5jZSB3ZSdyZSBkZWFsaW5nIG9ubHkg
d2l0aCBpbW1lZGlhdGVzIGhlcmUsIHRoaXMgc2ltcGxpZmljYXRpb24gY2FuIHN1ZmZpY2UuKV8K
CkluIHRoZSBmaXJzdCBsaW5lLCB0aGUgaGFzaCBhcmd1bWVudCBtaWdodCBhcyB3ZWxsIGJlIGFi
c2VudCwgYXMgbm90IGZyZWV6aW5nIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yLiAKSW4gdGhlIHNl
Y29uZCBsaW5lLCB5b3UncmUgYXR0ZW1wdGluZyB0byBmcmVlemUgYW4gaW1tZWRpYXRlLCB3aGlj
aCAtLSBjb250cmFyeSB0byBNYXR6J3Mgc3RhdGVtZW50IC0tIGFyZW4ndCB1bmZyZWV6YWJsZSwg
YnV0IGluIGZhY3QgKioqYWx3YXlzKioqIGZyb3plbi4gQXMgYSByZXN1bHQsIHRoZSAqKmAjZnJl
ZXplYCoqIGluc3RydWN0aW9uIGhlcmUgaXMgYWxzbyBzaWxlbnRseSBpZ25vcmVkLgoKVGhpcyBl
bnRpcmUgaXNzdWUgaXMgYWJvdXQgKipgI2R1cGAqKi8qKmAjY2xvbmVgKiouIEluIGZhY3QsIGlm
IHlvdSByZWFkIHRoZSBwYXJlbnQgaXNzdWUsIGEgbWFqb3IgcmVhc29uIHdoeSB0aGUgY3VycmVu
dCBiZWhhdmlvciBpcyBzbyB1bmludHVpdGl2ZSBpcyBwcmVjaXNlbHkgYmVjYXVzZSAqKmAjZnJl
ZXplYCoqIGZhaWxzIHNpbGVudGx5IGFuZCByZXR1cm5zIHRoZSBvYmplY3QgdW5tb2RpZmllZCwg
YnV0IHRoZSBmb3JtZXIgdHdvIG1ldGhvZHMgZG8gbm90LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxMjk3OTogQXZvaWQgZXhjZXB0aW9uIGZvciAj
ZHVwIG9uIEludGVnZXIgKGFuZCBzaW1pbGFyIGNhc2VzKQpodHRwczovL2J1Z3MucnVieS1sYW5n
Lm9yZy9pc3N1ZXMvMTI5NzkjY2hhbmdlLTYxNzk1CgoqIEF1dGhvcjogTWFydGluIETDvHJzdAoq
IFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25lZTogTm9idXlvc2hpIE5h
a2FkYQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRoaXMgaXMgYSBw
cm9wb3NhbCByZXN1bHRpbmcgZnJvbSBhIGRpc2N1c3Npb24gaW4gQnVnICMxMTkyOS4gQmVjYXVz
ZSB0aGlzIGlzIHByb3Bvc2luZyBhIGRpZmZlcmVudCBzb2x1dGlvbiBmcm9tICMxMTkyOSwgaXQg
aGFzIGEgbmV3IG51bWJlci4KCiMxMTkyOSBzaG93cyB0aGF0IHBlb3BsZSBhcmUgY29uZnVzZWQg
dGhhdCBlLmcuIDMuZHVwIHRocm93cyBhbiBleGNlcHRpb24gKGJ1dCBJbnRlZ2VyI2R1cCBpcyBh
Y3R1YWxseSBpbXBsZW1lbnRlZCwgc28gSW50ZWdlci5yZXNwb25kX3RvPyA6ZHVwID0+IHRydWUp
LgoKSW50ZWdlciNkdXAgc2hvdWxkIGZhaWwgc2lsZW50bHksIHJldHVybmluZyB0aGUgcmVjZWl2
ZXIsIGluIHRoZSBzYW1lIHdheSBhcyBJbnRlZ2VyI2ZyZWV6ZSBmYWlscyBzaWxlbnRseS4gQ2l0
aW5nIGZyb20gIzExOTI5IChjb21tZW50IGJ5IE1pa2UgVmFzdG9sYSk6ICJJZiB0aGUgb2JqZWN0
IGNhbid0IGJlIGR1cGVkL2Nsb25lZCBiZWNhdXNlIGl0J3MgYW4gaW1tZWRpYXRlLCBkdXAvY2xv
bmUgc2hvdWxkIHJldHVybiB0aGUgb2JqZWN0IGl0c2VsZi4gKFRoZXJlIHNob3VsZG4ndCBiZSBh
bnkgaGFybSBpbiBkb2luZyBzbyBzaW5jZSBub3RoaW5nIGFib3V0IHRoZSBvYmplY3QgY2FuIGJl
IGNoYW5nZWQgaW4gdGhlIGZpcnN0IHBsYWNlLikiLiBDaXRpbmcgc29tZSBtb3JlOgoKPiBJIGxp
dGVyYWxseSBjYW4ndCBpbWFnaW5lIGFueSBzY2VuYXJpbyBpbiB3aGljaCBhIGRldiwgd2hlbiwg
c2F5LCBjb2RpbmcgYSBjbGFzcyB3aXRoIHRoZSBsaW5lOgo+IAo+IHJldHVybiB2YWwuZHVwLmZy
ZWV6ZQo+IC4uIHJlYWxseSB3YW50cyBhbiBFeGNlcHRpb24gdGhyb3duIHdoZW4gdmFsIGhhcHBl
bnMgdG8gYmUgZGUtZmFjdG8gdW4tZHVwLWFibGUuIFdoYXQgdGhleSByZWFsbHkgd2FudCBpczoK
PiAKPiByZXR1cm4gdmFsLmR1cC5mcmVlemUgcmVzY3VlIHZhbAoKVGhlIHByb3Bvc2FsIGFsc28g
aGFzIHRoZSBhZHZhbnRhZ2UgdGhhdCBpdCBsZWFkcyB0byBhIG11Y2ggbW9yZSB1bmlmaWVkLCBz
dHJlYW1saW5lZCBwcm90b2NvbCwgYXZvaWRpbmcgbmVlZGxlc3MgZXhwb3NpdGlvbiBvZiBpbnRl
cm5hbHMuIEl0IHdvdWxkIGRvIGV4YWN0bHkgd2hhdCBkdXAgKGFuZCBjbG9uZSkgYXJlIGRlc2Ny
aWJlZCB0byBkbywgbmFtZWx5IChwcmV0ZW5kIHRvKSByZXR1cm4gYSBzaGFsbG93IGNvcHkuCgoK
Ci0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1
YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6
Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K

In This Thread

Prev Next