[ruby-core:89500] [Ruby trunk Bug#15240] Set operations check for is_a?(Set), rather than allowing duck typing

From: knuckles@...
Date: 2018-10-21 19:45:45 UTC
List: ruby-core #89500
SXNzdWUgIzE1MjQwIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGl2b2Fuam8gKEl2byBBbmpvKS4KCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQnVnICMxNTI0MDogU2V0IG9w
ZXJhdGlvbnMgY2hlY2sgZm9yIGlzX2E/KFNldCksIHJhdGhlciB0aGFuIGFsbG93aW5nIGR1Y2sg
dHlwaW5nCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNTI0MAoKKiBBdXRob3I6
IGl2b2Fuam8gKEl2byBBbmpvKQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKKiBB
c3NpZ25lZTogCiogVGFyZ2V0IHZlcnNpb246IAoqIHJ1YnkgLXY6IHJ1YnkgMi41LjNwMTA1ICgy
MDE4LTEwLTE4IHJldmlzaW9uIDY1MTU2KSBbeDg2XzY0LWxpbnV4XQoqIEJhY2twb3J0OiAyLjM6
IFVOS05PV04sIDIuNDogVU5LTk9XTiwgMi41OiBVTktOT1dOCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KSGVsbG8gdGhlcmUg8J+RiwoKUnVieSdzIGBTZXRgLCB1bmxp
a2UgYEFycmF5YCBvciBgSGFzaGAsIGNhbm5vdCBlYXNpbHkgaW50ZXJvcGVyYXRlIHdpdGggdXNl
ci1jcmVhdGVkIGNsYXNzZXMgYXMgc2V2ZXJhbCBvcGVyYXRpb25zIChgIz09YCwgYCNmbGF0dGVu
YCwgYCNmbGF0dGVuIWAsIGAjaW50ZXJzZWN0P2AsIGAjZGlzam9pbnQ/YCwgYCNzdWJzZXQ/YCwg
YCNwcm9wZXJfc3Vic2V0P2AsIGAjc3VwZXJzZXQ/YCwgYCNwcm9wZXJfc3VwZXJzZXQ/YCkgY2hl
Y2sgdGhhdCB0aGUgb3RoZXIgY2xhc3MgYGlzX2E/KFNldClgLCByYXRoZXIgdGhhbiBhbGxvd2lu
ZyBkdWNrLXR5cGluZy4KCkV4YW1wbGU6CgpgYGBydWJ5CnJlcXVpcmUgJ3NldCcKY2xhc3MgTXlT
ZXQKICBpbmNsdWRlIEVudW1lcmFibGUKICBkZWYgZWFjaCgmYmxvY2spIFs6bXksIDpzZXRdLmVh
Y2goJmJsb2NrKSBlbmQKICBkZWYgc2l6ZSgpIHRvX2Euc2l6ZSBlbmQKZW5kCnB1dHMgU2V0Wzpz
ZXRdLnN1YnNldD8oTXlTZXQubmV3KQoKPT4gVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxh
c3QpOgogICAgICAgIDE6IGZyb20gdGVzdGNhc2UucmI6ODppbiBgPG1haW4+JwpzZXQucmI6Mjky
OmluIGBzdWJzZXQ/JzogdmFsdWUgbXVzdCBiZSBhIHNldCAoQXJndW1lbnRFcnJvcikKYGBgCgpU
aGUgb25seSB3YXkgSSd2ZSBmb3VuZCBvZiBnb2luZyBhcm91bmQgdGhpcyBpc3N1ZSBhbmQgbG9v
a2luZyBhdCB0aGUgUnVieSBzb3VyY2VzLCBpcyB0byBmYWtlIGEgcmVzcG9uc2UgdG8gYGlzX2E/
YDoKCmBgYHJ1YnkKcmVxdWlyZSAnc2V0JwpjbGFzcyBNeVNldAogIGluY2x1ZGUgRW51bWVyYWJs
ZQogIGRlZiBlYWNoKCZibG9jaykgWzpteSwgOnNldF0uZWFjaCgmYmxvY2spIGVuZAogIGRlZiBz
aXplKCkgdG9fYS5zaXplIGVuZAogIGRlZiBpc19hPyhrbGFzcykgc3VwZXIgfHwga2xhc3MgPT0g
U2V0IGVuZCAjIDw9PSBIYWNrISDwn5itCmVuZApwdXRzIFNldFs6c2V0XS5zdWJzZXQ/KE15U2V0
Lm5ldykKCj0+IHRydWUKYGBgCgpUaGlzIGlzIGEgdmVyeSB1Z2x5IGhhY2ssIGFuZCBpbnN0ZWFk
IGl0IHdvdWxkIGJlIG5pY2UgaWYsIGluc3RlYWQsIEkgY291bGQganVzdCBwcm92aWRlIGEgYHRv
X3NldGAgbWV0aG9kIHRoYXQgYFNldGAgY291bGQgY2FsbCB0byBhbGxvdyBkdWNrIHR5cGluZy4K
CkknbSB3aWxsaW5nIHRvIHdvcmsgb24gYSBwYXRjaCB0byBzb2x2ZSB0aGlzICh3b3VsZCBiZSBw
cmV0dHkgbmljZSB0byBkbyBteSBmaXJzdCBjb250cmlidXRpb24gdG8gUnVieSBjb3JlISksIHNv
IGhvcGVmdWxseSB3ZSBjYW4gZGlzY3VzcyBob3cgdGhpcyBwcm9ibGVtIGNhbiBiZSB0YWNrbGVk
LgoKLS0tCgojIyMgQmFja2dyb3VuZCAvIFRMO0RSCgpUaGlzIGlzc3VlIGNhbWUgYWJvdXQgYXMg
SSBhbSB0aGUgY3JlYXRvciBvZiBhIGdlbSBjYWxsZWQgW3BlcnNpc3RlbnQt8J+Sjl0oaHR0cHM6
Ly9naXRsYWIuY29tL2l2b2Fuam8vcGVyc2lzdGVudC1kbW5kLykuIFRoaXMgZ2VtIHByb3ZpZGVz
IGltbXV0YWJsZSBhcnJheXMsIGhhc2hlcyBhbmQgc2V0cy4gTW9zdCBvZiB0aGUgaGFyZCB3b3Jr
IGlzIGRlbGVnYXRlZCB0byBhbm90aGVyIGdlbSAoW2hhbXN0ZXJdKGh0dHBzOi8vZ2l0aHViLmNv
bS9oYW1zdGVyZ2VtL2hhbXN0ZXIpKSwgYnV0IEkndmUgYWRkZWQgYSBudW1iZXIgb2YgdHdlYWtz
IHRvIGFsbG93IHRoZSBwZXJzaXN0ZW50LfCfko4gdmFyaWFudHMgdG8gZWFzaWx5IGludGVyb3Bl
cmF0ZSB3aXRoIHRoZWlyIFJ1YnkgY291bnRlcnBhcnRzLgoKQmVjYXVzZSBJIHdhbnRlZCB0byBh
bGxvdyBgUGVyc2lzdGVudPCfko46OlNldGAgaW5zdGFuY2VzIHRvIGJlIHVzZWQgdG9nZXRoZXIg
d2l0aCBSdWJ5J3MgYFNldGAsIEkgc3R1ZGllZCB0aGUgYHNldC5yYmAgaW1wbGVtZW50YXRpb24g
YW5kIGNhbWUgdXAgd2l0aCB0aGUgYGlzX2E/KFNldClgIGhhY2sgYWJvdmUuIFRoaXMgd29ya3Mg
b24gYWxsIFJ1YnkgdmVyc2lvbnMgdGhlIGdlbSBzdXBwb3J0cyAoMS45LT4yLjYpLCBidXQgYnJv
a2Ugb24gSlJ1YnkgOS4yIHdoZW4gYSBuZXcgb3B0aW1pemVkIGBTZXRgIGltcGxlbWVudGF0aW9u
IHdhcyBhZGRlZCwgdGhhdCBkaWQgbm90IGRvIHRoZSBgaXNfYT8oU2V0KWAgY2hlY2sgYW5kIHRo
dXMgYnJva2UgdGhlIGhhY2suCgpJJ3ZlIGJyb3VnaHQgdXAgdGhpcyBpc3N1ZSB3aXRoIHRoZSBK
UnVieSBkZXZlbG9wZXJzIC0tIDxodHRwczovL2dpdGh1Yi5jb20vanJ1YnkvanJ1YnkvaXNzdWVz
LzUyMjc+IC0tIGFuZCBmcm9tIHRoZXJlIHdlIG1vdmVkIHRoZSBkaXNjdXNzaW9uIHRvIHJ1Ynkv
c3BlYyAtLSA8aHR0cHM6Ly9naXRodWIuY29tL3J1Ynkvc3BlYy9wdWxsLzYyOT4uCgpXZSBlbmRl
ZCB1cCBjb25jbHVkaW5nIHRoYXQgaXQgd291bGQgbWFrZSBzZW5zZSB0byByYWlzZSB0aGlzIG9u
IHRoZSBSdWJ5IHRyYWNrZXIgYXMgc29tZXRoaW5nIHRoYXQgc2hvdWxkIGJlIGZpeGVkIG9uIGBT
ZXRgIGl0c2VsZiwgcmF0aGVyIHRoYW4gY29kaWZ5aW5nIHRoaXMgaGFjayBhcyBzb21ldGhpbmcg
dGhhdCBSdWJ5IGlzIGV4cGVjdGVkIHRvIHN1cHBvcnQuCgpTaW5jZSBSdWJ5IHNldHMgYWxyZWFk
eSBzdXBwb3J0IGFuIGltcGxpY2l0IGNvbnZlcnNpb24gbWV0aG9kIC0tIGB0b19zZXRgIC0tIGl0
IHNlZW1zIG5hdHVyYWwgdG8gcmVwbGFjZSB0aGUgYGlzX2E/KFNldClgIHdpdGggc29tZSBraW5k
IG9mIGBvdGhlci5yZXNwb25kX3RvPyg6dG9fc2V0KSAmJiBvdGhlciA9IG90aGVyLnRvX3NldGAg
aW4gYWxsIHBsYWNlcyB3aGVyZSB0aGUgYGlzX2E/KFNldClgIHdhcyBiZWluZyB1c2VkLiBOb3Rl
IHRoYXQgaGlzIHdvdWxkIGJlIGFsbCB0aGF0J3MgbmVlZGVkIHRvIGJlIGFibGUgdG8gdXNlIGEg
YFNldGAgZHVjay10eXBlIC0tLSB0aGUgW2BQZXJzaXN0ZW508J+Sjjo6U2V0YCBzcGVjc10oaHR0
cHM6Ly9naXRsYWIuY29tL2l2b2Fuam8vcGVyc2lzdGVudC1kbW5kL2Jsb2IvbWFzdGVyL3NwZWMv
dW5pdC9zZXRfc3BlYy5yYikgYXJlIGEgcHJldHR5IGdvb2QgcHJvb2Ygb2YgaXQuCgpUaGFua3Mg
Zm9yIHRoZSB0aW1lIPCfmY8sIGFuZCByb2NrIG9uIPCfkqohCgoKCi0tIApodHRwczovL2J1Z3Mu
cnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1
YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcu
b3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K

In This Thread

Prev Next