[ruby-core:77676] [Ruby trunk Bug#11929] No programatic way to check ability to dup/clone an object

From: Mike@...
Date: 2016-10-20 04:03:05 UTC
List: ruby-core #77676
SXNzdWUgIzExOTI5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgTWlrZSBWYXN0b2xhLgoKU3ViamVjdCBj
aGFuZ2VkIGZyb20gZHVwIHNob3VsZCBiZSB1bmRlZmluZWQgaW4gRml4bnVtIHRvIE5vIHByb2dy
YW1hdGljIHdheSB0byBjaGVjayBhYmlsaXR5IHRvIGR1cC9jbG9uZSBhbiBvYmplY3QKCipELkUu
Kiwgd2hpbGUgeW91J3JlIHRlY2huaWNhbGx5IG5vdCB3cm9uZywgSU1ITywgdGhlIG5lZWQgdG8g
KipgdW5kZWZgKiogdGhlIG1ldGhvZCBpcyBvbmx5IGFiYXRlZCBpbiB0aGUgc3RyaWN0ZXN0IG9m
IHNlbnNlczogdGhlIHNhbml0eSBjaGVjayBhdmVydHMgd2hhdCBtaWdodCBvdGhlcndpc2UgYmUg
YSBzZWdmYXVsdCBvciBtZW1vcnkgbGVhayBvciBzb21lIG90aGVyIGFiZXJyYXRpb24sIGFuZCBt
YWtlcyB0aGluZ3MgJ3NhZmUnLCBidXQgaXQncyBuZWl0aGVyIHN0cmFpZ2h0Zm9yd2FyZCBub3Ig
aW50dWl0aXZlIGZvciB0aGUgcHJvZ3JhbW1lciwgbm9yIGNvbnNpc3RlbnQgd2l0aCB0aGUgaW1w
bGVtZW50YXRpb24gb2Ygc2ltaWxhciBmdW5jdGlvbnMgaW4gcnVieS4gCgpGb3IgaW5zdGFuY2Us
ICoqYGZyZWV6ZWAqKiBkb2Vzbid0IHRocm93IGFueSBzb3J0IG9mIHNpbWlsYXIgZXJyb3Igd2hl
biB5b3UgY2FsbCBpdCBvbiBhbiBhbHJlYWR5IGZyb3plbiBvYmplY3QsIG9yIGV2ZW4gZm9yIHRo
ZSBpbW1lZGlhdGUgKGFuZCB0aGVyZWZvcmUgaW5oZXJlbnRseSBpbW11dGFibGUpIG9iamVjdHMg
eW91IHVzZWQgaW4geW91ciBkZW1vbnN0cmF0aW9uLiAKCkkgdGhpbmsgdGhlIGNvcmUgaXNzdWUg
WGF2aWVyIGlzIGdldHRpbmcgYXQgaGVyZSAoYW5kIEkgdG9vayB0aGUgbGliZXJ0eSBvZiB1cGRh
dGluZyB0aGUgc3ViamVjdCB0aHVzbHk7IFhhdmllciwgaWYgeW91IGRvbid0IGZlZWwgaXQncyBh
IGZhaXIgcmVwcmVzZW50YXRpb24gb2YgdGhlIGlzc3VlLCBwbGVhc2UgZmVlbCBmcmVlIHRvIGNo
YW5nZSBpdCBiYWNrKSBpcyB0aGF0IGEgc2VsZWN0IGZldyBvYmplY3QgdHlwZXMgaW4gUnVieSBh
cmUgaW1tZWRpYXRlIHZhcmlhYmxlcyBhbmQgdGhlcmVmb3JlIGNhbm5vdCBiZSAqKmBkdXBgKipl
ZC8qKmBjbG9uZWAqKmQsIHlldCB0aGVyZSBpcyBubyBncmFjZWZ1bC9yb2J1c3QgbWV0aG9kIG9m
IGF2ZXJ0aW5nIHRoZSBlcnJvciB0aHJvd24gYnkgdGhpcyBzYW5pdHkgY2hlY2sgd2hlbiB5b3Ug
YXR0ZW1wdCB0byAqKmBkdXBgKiovKipgY2xvbmVgKiogdGhlbS4gKEluIHRoZSBzb3VyY2UsIGJv
dGggKipgcmJfb2JqX2R1cGAqKiBhbmQgKipgcmJfb2JqX2Nsb25lYCoqIGlmIHRoZSBvYmplY3Qg
dG8gYmUgKipgZHVwYCoqZWQvKipgY2xvbmVgKipkIGlzIGEgKipgcmJfc3BlY2lhbF9jb25zdF9w
YCoqLiBBcyBmYXIgYXMgSSBjYW4gdGVsbCwgdGhpcyBtZXRob2Qgbm9yIGFueXRoaW5nIGVxdWl2
YWxlbnQgaXMgZXhwb3NlZCBpbiB0aGUgcnVieSBsYW5ndWFnZSwgaG93ZXZlci4pCgpJIGxpdGVy
YWxseSBjYW4ndCBpbWFnaW5lIGFueSBzY2VuYXJpbyBpbiB3aGljaCBhIGRldiwgd2hlbiwgc2F5
LCBjb2RpbmcgYSBjbGFzcyB3aXRoIHRoZSBsaW5lOgoKfn5+IHJ1YnkKcmV0dXJuIHZhbC5kdXAu
ZnJlZXplCn5+fgoKLi4gcmVhbGx5IHdhbnRzIGFuICoqYEV4Y2VwdGlvbmAqKiB0aHJvd24gd2hl
biAqKmB2YWxgKiogaGFwcGVucyB0byBiZSBkZS1mYWN0byB1bi0qKmBkdXBgKiotYWJsZS4gV2hh
dCB0aGV5IHJlYWxseSB3YW50IGlzOgoKfn5+IHJ1YnkKcmV0dXJuIHZhbC5kdXAuZnJlZXplIHJl
c2N1ZSB2YWwKfn5+CgpUbyBtZSBpdCBzZWVtcyB0aGVyZSBhcmUgdGhyZWUgcG9zc2libGUgc29s
dXRpb25zIHRvIHRoaXMgKG9mIHdoaWNoIGFueSB0d28gY2FuIGJlIGltcGxlbWVudGVkKToKCiog
QXMgWGF2aWVyIHN1Z2dlc3RlZCwgb25seSBkZWZpbmUgdGhlIGZ1bmN0aW9ucyBmb3Igb2JqZWN0
cyB0aGF0IHdpbGwgYWN0dWFsbHkgKipgZHVwYCoqLyoqYGNsb25lYCoqLiAoVGhpcyB3aWxsIGlt
cGxpY2l0bHkgYWxsb3cgKipgcmVzcG9uZF90bz9gKiogY2hlY2tzIGFzIHdlbGwgYXMgbm90IGlu
dGVyZmVyZSB3aXRoIGV4aXN0aW5nIGNvZGUgdGhhdCBtYXkgYXR0ZW1wdCB0byAqKmByZXNjdWVg
KiogZmFpbGVkIGF0dGVtcHRzIC0tIHRoYXQgaXMgdW5sZXNzICoqYFR5cGVFcnJvcmAqKiB3YXMg
c3BlY2lmaWVkLCBhbmQgZXZlbiB0aGF0IGNvdWxkIGJlIHdvcmtlZCBhcm91bmQgd2l0aCBhIGJp
dCBtb3JlIGNvZGUuKQoqIEFkZCBhZGRpdGlvbmFsIG1ldGhvZHMgdG8gYWxsIG9iamVjdHMgbmFt
ZWQgKipgZHVwYWJsZT9gKiogYW5kICoqYGNsb25hYmxlP2AqKiB0aGF0IHJldHVybiB2YWx1ZXMg
Y29uc2lzdGVudCB3aXRoIGV4YWN0bHkgd2hhdCB0aGVpciBuYW1lcyBzdWdnZXN0LgoqIEhhdmUg
dGhlc2UgbWV0aG9kcyBmdW5jdGlvbiBleGFjdGx5IHRoZSB3YXkgKipgZnJlZXplYCoqIGRvZXM6
IGZhaWwgc2lsZW50bHkuIElmIHRoZSBvYmplY3QgY2FuJ3QgYmUgKipgZHVwYCoqZWQvKipgY2xv
bmVgKipkIGJlY2F1c2UgaXQncyBhbiBpbW1lZGlhdGUsICoqYGR1cGAqKi8qKmBjbG9uZWAqKiBz
aG91bGQgcmV0dXJuIHRoZSBvYmplY3QgaXRzZWxmLiAoVGhlcmUgc2hvdWxkbid0IGJlIGFueSBo
YXJtIGluIGRvaW5nIHNvIHNpbmNlIG5vdGhpbmcgYWJvdXQgdGhlIG9iamVjdCBjYW4gYmUgY2hh
bmdlZCBpbiB0aGUgZmlyc3QgcGxhY2UuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQpCdWcgIzExOTI5OiBObyBwcm9ncmFtYXRpYyB3YXkgdG8gY2hlY2sgYWJpbGl0
eSB0byBkdXAvY2xvbmUgYW4gb2JqZWN0Cmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vl
cy8xMTkyOSNjaGFuZ2UtNjA5NTkKCiogQXV0aG9yOiB4YXZpZXIgbmF5cmFjCiogU3RhdHVzOiBP
cGVuCiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2lnbmVlOiAKKiBydWJ5IC12OiBydWJ5IDIuMy4w
ZGV2ICgyMDE1LTEyLTA2IHRydW5rIDUyOTA0KSBbaTY4Ni1saW51eF0KKiBCYWNrcG9ydDogMi4w
LjA6IFVOS05PV04sIDIuMTogVU5LTk9XTiwgMi4yOiBVTktOT1dOLCAyLjM6IFVOS05PV04KLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpXZSBjYW4ndCBkdXAgYSBGaXhu
dW0sIGFuZCBpdCdzIG9rLiBCdXQgSSdtIHdvbmRlcmluZyDCq3doeSBpcyBGaXhudW0gc2F5aW5n
IGl0IGNhbiBkdXA/wrsKCn5+fgoxLnJlc3BvbmRfdG8/KDpkdXApICM9PiB0cnVlCn5+fgoKRG9u
J3QgeW91IHRoaW5rIHRoYXQgdGhlIGBkdXBgIG1ldGhvZCBzaG91bGQgYmUgdW5kZWZpbmVkIGlu
IHRoZSBjbGFzcyBGaXhudW0/CgpDdXJyZW50bHkgSSBjYW4gZG8gYGNsYXNzIEZpeG51bTsgdW5k
ZWYgOmR1cDsgZW5kYCwgYnV0IHRoYXQgc2hvdWxkIGJlIGluIHRoZSBjb3JlIFJ1YnksIGlzbid0
IGl0PwoKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxt
YWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJl
Pgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVi
eS1jb3JlPgo=

In This Thread

Prev Next