[ruby-core:78424] [Ruby trunk Feature#12979] Avoid exception for #dup on Integer (and similar cases)
From:
eregontp@...
Date:
2016-11-29 20:40:00 UTC
List:
ruby-core #78424
SXNzdWUgIzEyOTc5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgQmVub2l0IERhbG96ZS4KCgpNaWtlIFZh c3RvbGEgd3JvdGU6Cj4gTm9idXlvc2hpIE5ha2FkYSB3cm90ZToKPiA+IEkgcmVtZW1iZXIgYGNs b25lYCBoYXMgYGZyZWV6ZWAgb3B0aW9uLgo+ID4gV2hhdCBzaG91bGQgYDEuY2xvbmUoZnJlZXpl OiBmYWxzZSlgIGRvLCBpZ25vcmUgdGhlIG9wdGlvbiwgb3IgcmFpc2UgYW4gYEFyZ3VtZW50RXJy b3JgPwo+IAo+IFRoaXMgaXMgdG90YWxseSBiZXNpZGUgdGhlIHBvaW50LgoKYDEuY2xvbmUoZnJl ZXplOiBmYWxzZSlgIGRvZXMgbm90IGRvIHdoYXQgeW91IHNheS4KVGhlIGtleXdvcmQgOmZyZWV6 ZSBoYXMgZGVmYXVsdCB2YWx1ZSB0cnVlIGZvciAjY2xvbmUsIHdoaWNoIG1lYW5zIGlmIHRoZSBv cmlnaW5hbCBvYmplY3QgaXMgZnJvemVuIHNvIHdpbGwgYmUgdGhlIGNsb25lLgpTZWUgIzEyMzAw IGZvciBkZXRhaWxzLgoKU2luY2UgYGZyZWV6ZTogZmFsc2VgIHRoYXQgY2FuIGJlIGNvbnNpZGVy ZWQgYXMgYW4gZXhwbGljaXQgcmVxdWVzdCB0byBnZXQgYSBjbG9uZS9jb3B5LCB0byBtb2RpZnkg aXQgYW5kIHJlLWZyZWV6ZSBpdCBsYXRlciwgaXQgc2VlbXMgcmVhc29uYWJsZSB0byByYWlzZSBp biBzdWNoIGEgc3RyYW5nZSBjYXNlLiBCdXQsIG5vIGhhcm0gY291bGQgYmUgZG9uZSB0byBpbW1l ZGlhdGUgYWx3YXlzLWZyb3plbiBvYmplY3RzIGFueXdheSwgc28gaXQgd291bGQgYWxzbyBiZSBo YXJtbGVzcyB0byBpZ25vcmUgdGhlIG9wdGlvbiBJTUhPLgoKT1RPSCBJIGFncmVlIGAxLmNsb25l KGZyZWV6ZTogZmFsc2UpYCBpcyBjb25mdXNpbmcgYW5kIHRoZSBiZWhhdmlvciBub3QgaW50dWl0 aXZlIGZyb20gdGhlIHN5bnRheC9uYW1lcy4KTWF5YmUgYDEuY2xvbmUoZnJlZXplX2Nsb25lOiBm YWxzZSlgIG9yIGAxLmNsb25lKHByb3BhZ2F0ZV9mcmVlemU6IGZhbHNlKWAgb3Igc28gd291bGQg YmUgY2xlYXJlci4gQnV0IHRoaXMgc2hvdWxkIGJlIGRpc2N1c3NlZCBpbiAjMTIzMDAgdGhlbi4K Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTI5Nzk6 IEF2b2lkIGV4Y2VwdGlvbiBmb3IgI2R1cCBvbiBJbnRlZ2VyIChhbmQgc2ltaWxhciBjYXNlcykK aHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzEyOTc5I2NoYW5nZS02MTc5NgoKKiBB dXRob3I6IE1hcnRpbiBEw7xyc3QKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCiog QXNzaWduZWU6IE5vYnV5b3NoaSBOYWthZGEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQpUaGlzIGlzIGEgcHJvcG9zYWwgcmVzdWx0aW5nIGZyb20gYSBkaXNjdXNzaW9u IGluIEJ1ZyAjMTE5MjkuIEJlY2F1c2UgdGhpcyBpcyBwcm9wb3NpbmcgYSBkaWZmZXJlbnQgc29s dXRpb24gZnJvbSAjMTE5MjksIGl0IGhhcyBhIG5ldyBudW1iZXIuCgojMTE5Mjkgc2hvd3MgdGhh dCBwZW9wbGUgYXJlIGNvbmZ1c2VkIHRoYXQgZS5nLiAzLmR1cCB0aHJvd3MgYW4gZXhjZXB0aW9u IChidXQgSW50ZWdlciNkdXAgaXMgYWN0dWFsbHkgaW1wbGVtZW50ZWQsIHNvIEludGVnZXIucmVz cG9uZF90bz8gOmR1cCA9PiB0cnVlKS4KCkludGVnZXIjZHVwIHNob3VsZCBmYWlsIHNpbGVudGx5 LCByZXR1cm5pbmcgdGhlIHJlY2VpdmVyLCBpbiB0aGUgc2FtZSB3YXkgYXMgSW50ZWdlciNmcmVl emUgZmFpbHMgc2lsZW50bHkuIENpdGluZyBmcm9tICMxMTkyOSAoY29tbWVudCBieSBNaWtlIFZh c3RvbGEpOiAiSWYgdGhlIG9iamVjdCBjYW4ndCBiZSBkdXBlZC9jbG9uZWQgYmVjYXVzZSBpdCdz IGFuIGltbWVkaWF0ZSwgZHVwL2Nsb25lIHNob3VsZCByZXR1cm4gdGhlIG9iamVjdCBpdHNlbGYu IChUaGVyZSBzaG91bGRuJ3QgYmUgYW55IGhhcm0gaW4gZG9pbmcgc28gc2luY2Ugbm90aGluZyBh Ym91dCB0aGUgb2JqZWN0IGNhbiBiZSBjaGFuZ2VkIGluIHRoZSBmaXJzdCBwbGFjZS4pIi4gQ2l0 aW5nIHNvbWUgbW9yZToKCj4gSSBsaXRlcmFsbHkgY2FuJ3QgaW1hZ2luZSBhbnkgc2NlbmFyaW8g aW4gd2hpY2ggYSBkZXYsIHdoZW4sIHNheSwgY29kaW5nIGEgY2xhc3Mgd2l0aCB0aGUgbGluZToK PiAKPiByZXR1cm4gdmFsLmR1cC5mcmVlemUKPiAuLiByZWFsbHkgd2FudHMgYW4gRXhjZXB0aW9u IHRocm93biB3aGVuIHZhbCBoYXBwZW5zIHRvIGJlIGRlLWZhY3RvIHVuLWR1cC1hYmxlLiBXaGF0 IHRoZXkgcmVhbGx5IHdhbnQgaXM6Cj4gCj4gcmV0dXJuIHZhbC5kdXAuZnJlZXplIHJlc2N1ZSB2 YWwKClRoZSBwcm9wb3NhbCBhbHNvIGhhcyB0aGUgYWR2YW50YWdlIHRoYXQgaXQgbGVhZHMgdG8g YSBtdWNoIG1vcmUgdW5pZmllZCwgc3RyZWFtbGluZWQgcHJvdG9jb2wsIGF2b2lkaW5nIG5lZWRs ZXNzIGV4cG9zaXRpb24gb2YgaW50ZXJuYWxzLiBJdCB3b3VsZCBkbyBleGFjdGx5IHdoYXQgZHVw IChhbmQgY2xvbmUpIGFyZSBkZXNjcmliZWQgdG8gZG8sIG5hbWVseSAocHJldGVuZCB0bykgcmV0 dXJuIGEgc2hhbGxvdyBjb3B5LgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpV bnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1Ympl Y3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxt YW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==