[ruby-core:112875] [Ruby master Bug#19530] `Array#sum` and `Enumerable#sum` sometimes show different behaviours
From:
"byroot (Jean Boussier) via ruby-core" <ruby-core@...>
Date:
2023-03-14 08:51:12 UTC
List:
ruby-core #112875
SXNzdWUgIzE5NTMwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4N DQoNDQoNDQpMb29raW5nIGF0IGBBcnJheSNzdW1gIGltcGxlbWVudGF0aW9uLCBpdCB2ZXJ5IGNs ZWFybHkgaGFzIGEgZmFzdCBwYXRoIGZvciB3aGVuIGFsbCB0aGUgZWxlbWVudHMgb2YgdGhlIGFy cmF5IGFyZSBuYXRpdmUgbnVtZXJpYyB0eXBlcywgd2l0aCBhIGZhbGxiYWNrIGZvciBvdGhlciBv YmplY3RzLiBCdXQgaXQgYWxzbyBkb2Vzbid0IGNoZWNrIHRoZSBpbml0aWFsIHZhbHVlIHR5cGUg YmVmb3JlIGdvaW5nIGluIHRoZSBmYXN0IHBhdGguDQ0KDQ0KVGhhdCBzaG91bGQgYmUgZWFzeSBl bm91Z2ggdG8gZml4Lg0NCg0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NDQpCdWcgIzE5NTMwOiBgQXJyYXkjc3VtYCBhbmQgYEVudW1lcmFibGUjc3VtYCBzb21ldGlt ZXMgc2hvdyBkaWZmZXJlbnQgYmVoYXZpb3Vycw0NCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn L2lzc3Vlcy8xOTUzMCNjaGFuZ2UtMTAyMzg4DQ0KDQ0KKiBBdXRob3I6IGRzdG9zaWsgKERhdmlk IFN0b3NpaykNDQoqIFN0YXR1czogT3Blbg0NCiogUHJpb3JpdHk6IE5vcm1hbA0NCiogcnVieSAt djogcnVieSAzLjIuMSAoMjAyMy0wMi0wOCByZXZpc2lvbiAzMTgxOWU4MmM4KSBbYXJtNjQtZGFy d2luMjJdDQ0KKiBCYWNrcG9ydDogMi43OiBVTktOT1dOLCAzLjA6IFVOS05PV04sIDMuMTogVU5L Tk9XTiwgMy4yOiBVTktOT1dODQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0NCkhpIGV2ZXJ5b25lLiDwn5GL8J+Puw0NCg0NCldlIHJlY2VudGx5IGRpc2NvdmVyZWQg dGhhdCBgQXJyYXkjc3VtYCBhbmQgYEVudW1lcmFibGUjc3VtYCB3aWxsIG91dHB1dCBkaWZmZXJl bnQgcmVzdWx0cyBpbiBzb21lIGVkZ2UgY2FzZXMuDQ0KDQ0KSGVyZSdzIHRoZSBzbWFsbGVzdCBz Y3JpcHQgSSBtYW5hZ2VkIHRvIHdyaXRlIHRvIHJlcHJvZHVjZSB0aGUgaXNzdWU6DQ0KDQ0KYGBg IHJ1YnkNDQpjbGFzcyBNb25leQ0NCiAgZGVmIGluaXRpYWxpemUoYW1vdW50KQ0NCiAgICBAYW1v dW50ID0gYW1vdW50LnRvX2YNDQogIGVuZA0NCg0NCiAgZGVmICsob3RoZXIpDQ0KICAgIHNlbGYu Y2xhc3MubmV3KEBhbW91bnQgKyBvdGhlci50b19mKQ0NCiAgZW5kDQ0KDQ0KICBkZWYgdG9fZg0N CiAgICBAYW1vdW50DQ0KICBlbmQNDQplbmQNDQoNDQpwIFs3LjBdLmVhY2guc3VtKE1vbmV5Lm5l dygwKSkgICAjPT4gIzxNb25leToweDAwMDAwMDAxMDA1YjM1ZjAgQGFtb3VudD03LjA+DQ0KcCBb Ny4wXSAgICAgLnN1bShNb25leS5uZXcoMCkpICAgIz0+IDcuMCDwn5KlDQ0KYGBgDQ0KDQ0KSSB1 bmRlcnN0YW5kIHRoYXQgaXQgaXMgZXhwZWN0ZWQgdGhhdCBgI3N1bWAgbWF5IG5vdCBob25vciBj dXN0b20gZGVmaW5pdGlvbnMgb2YgdGhlIGAjK2AgbWV0aG9kIChwYXJ0aWN1bGFybHkgd2hlbiB0 aGUgc3VtbWVkIHZhbHVlcyBhcmUgYEZsb2F0YCkuDQ0KDQ0KSG93ZXZlciwgSSB3b3VsZCBsaWtl IHRvIGJyaW5nIHlvdXIgYXR0ZW50aW9uIHRvIHRoZSBmYWN0IHRoYXQsIGluIHRoZSBleGFtcGxl IGFib3ZlLCBjYWxsaW5nIGAjc3VtYCBvbiBhbiBgQXJyYXlgIG9mIGBGbG9hdGAgdmFsdWVzIGFu ZCBjYWxsaW5nIGAjc3VtYCBvbiBhbiBgRW51bWVyYWJsZWAgdGhhdCB5aWVsZHMgdGhlIHNhbWUg YEZsb2F0YCB2YWx1ZXMgd2lsbCByZXR1cm4gcmVzdWx0cyBvZiBkaWZmZXJlbnQgdHlwZXMuDQ0K DQ0KSSd2ZSByZXByb2R1Y2VkIHRoZSBzYW1lIGJlaGF2aW91ciB3aXRoIG11bHRpcGxlIHZlcnNp b25zIG9mIFJ1YnkgZ29pbmcgZnJvbSAyLjYuNSB0byAzLjIuMS4NDQoNDQpJZGVhbGx5LCBJIHdv dWxkIGV4cGVjdCBgWzcuMF0uc3VtKE1vbmV5Lm5ldygwKSlgIHRvIHJldHVybiBhIGBNb25leWAg b2JqZWN0IGlkZW50aWNhbCB0byB0aGUgb25lIHJldHVybmVkIGJ5IGBbNy4wXS5lYWNoLnN1bShN b25leS5uZXcoMCkpYC4NDQpJIHRoaW5rIGl0IHdvdWxkIG1ha2Ugc2Vuc2UgaWYgYXQgbGVhc3Qg dGhleSByZXR1cm5lZCBhbiBpZGVudGljYWwgdmFsdWUgKGV2ZW4gaWYgaXQgaXMgYSBgRmxvYXRg KS4NDQoNDQoNDQpBZGRlbmR1bTogSSBmb3Jnb3QgdG8gbWVudGlvbiBbdGhpcyBleHRyYWN0XSho dHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2Jsb2IvZGE5Yzg0Zjg1OWRiMjkyYWIxMTI3Zjdj YTliNzc0MWZmZjA2NTU3Yi9hcnJheS5jI0w4MTMzLUw4MTM3KSBvZiB0aGUgYEFycmF5I3N1bWAg ZG9jdW1lbnRhdGlvbjoNDQoNDQo+IFdoZW4gbm8gYmxvY2sgaXMgZ2l2ZW4sIHJldHVybnMgdGhl IG9iamVjdCBlcXVpdmFsZW50IHRvOg0NCj4NDQo+IGBgYCBydWJ5DQ0KPiBzdW0gPSBpbml0DQ0K PiBhcnJheS5lYWNoIHt8ZWxlbWVudHwgc3VtICs9IGVsZW1lbnQgfQ0NCj4gc3VtDQ0KPiBgYGAN DQoNDQpXaXRoIHRoZSBleGFtcGxlIGFib3ZlLCBpdCB3b3VsZCBpbmRlZWQgcmV0dXJuIGEgYE1v bmV5YCBvYmplY3QuDQ0KDQ0KDQ0KDQ0KLS0gDQ0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcv DQ0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KIHJ1Ynkt Y29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5vcmcKIFRvIHVuc3Vi c2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1YnktbGFuZy5vcmcK IHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9tYWlsbWFuMy9wb3N0 b3JpdXMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcv