[ruby-core:112876] [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 09:15:12 UTC
List:
ruby-core #112876
SXNzdWUgIzE5NTMwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4N DQoNDQoNDQpQcm9wb3NlZCBwYXRjaDogaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxs Lzc1MTkNDQoNDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQ0KQnVn ICMxOTUzMDogYEFycmF5I3N1bWAgYW5kIGBFbnVtZXJhYmxlI3N1bWAgc29tZXRpbWVzIHNob3cg ZGlmZmVyZW50IGJlaGF2aW91cnMNDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMv MTk1MzAjY2hhbmdlLTEwMjM4OQ0NCg0NCiogQXV0aG9yOiBkc3Rvc2lrIChEYXZpZCBTdG9zaWsp DQ0KKiBTdGF0dXM6IE9wZW4NDQoqIFByaW9yaXR5OiBOb3JtYWwNDQoqIHJ1YnkgLXY6IHJ1Ynkg My4yLjEgKDIwMjMtMDItMDggcmV2aXNpb24gMzE4MTllODJjOCkgW2FybTY0LWRhcndpbjIyXQ0N CiogQmFja3BvcnQ6IDIuNzogVU5LTk9XTiwgMy4wOiBVTktOT1dOLCAzLjE6IFVOS05PV04sIDMu MjogVU5LTk9XTg0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NDQpI aSBldmVyeW9uZS4g8J+Ri/Cfj7sNDQoNDQpXZSByZWNlbnRseSBkaXNjb3ZlcmVkIHRoYXQgYEFy cmF5I3N1bWAgYW5kIGBFbnVtZXJhYmxlI3N1bWAgd2lsbCBvdXRwdXQgZGlmZmVyZW50IHJlc3Vs dHMgaW4gc29tZSBlZGdlIGNhc2VzLg0NCg0NCkhlcmUncyB0aGUgc21hbGxlc3Qgc2NyaXB0IEkg bWFuYWdlZCB0byB3cml0ZSB0byByZXByb2R1Y2UgdGhlIGlzc3VlOg0NCg0NCmBgYCBydWJ5DQ0K Y2xhc3MgTW9uZXkNDQogIGRlZiBpbml0aWFsaXplKGFtb3VudCkNDQogICAgQGFtb3VudCA9IGFt b3VudC50b19mDQ0KICBlbmQNDQoNDQogIGRlZiArKG90aGVyKQ0NCiAgICBzZWxmLmNsYXNzLm5l dyhAYW1vdW50ICsgb3RoZXIudG9fZikNDQogIGVuZA0NCg0NCiAgZGVmIHRvX2YNDQogICAgQGFt b3VudA0NCiAgZW5kDQ0KZW5kDQ0KDQ0KcCBbNy4wXS5lYWNoLnN1bShNb25leS5uZXcoMCkpICAg Iz0+ICM8TW9uZXk6MHgwMDAwMDAwMTAwNWIzNWYwIEBhbW91bnQ9Ny4wPg0NCnAgWzcuMF0gICAg IC5zdW0oTW9uZXkubmV3KDApKSAgICM9PiA3LjAg8J+SpQ0NCmBgYA0NCg0NCkkgdW5kZXJzdGFu ZCB0aGF0IGl0IGlzIGV4cGVjdGVkIHRoYXQgYCNzdW1gIG1heSBub3QgaG9ub3IgY3VzdG9tIGRl ZmluaXRpb25zIG9mIHRoZSBgIytgIG1ldGhvZCAocGFydGljdWxhcmx5IHdoZW4gdGhlIHN1bW1l ZCB2YWx1ZXMgYXJlIGBGbG9hdGApLg0NCg0NCkhvd2V2ZXIsIEkgd291bGQgbGlrZSB0byBicmlu ZyB5b3VyIGF0dGVudGlvbiB0byB0aGUgZmFjdCB0aGF0LCBpbiB0aGUgZXhhbXBsZSBhYm92ZSwg Y2FsbGluZyBgI3N1bWAgb24gYW4gYEFycmF5YCBvZiBgRmxvYXRgIHZhbHVlcyBhbmQgY2FsbGlu ZyBgI3N1bWAgb24gYW4gYEVudW1lcmFibGVgIHRoYXQgeWllbGRzIHRoZSBzYW1lIGBGbG9hdGAg dmFsdWVzIHdpbGwgcmV0dXJuIHJlc3VsdHMgb2YgZGlmZmVyZW50IHR5cGVzLg0NCg0NCkkndmUg cmVwcm9kdWNlZCB0aGUgc2FtZSBiZWhhdmlvdXIgd2l0aCBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBS dWJ5IGdvaW5nIGZyb20gMi42LjUgdG8gMy4yLjEuDQ0KDQ0KSWRlYWxseSwgSSB3b3VsZCBleHBl Y3QgYFs3LjBdLnN1bShNb25leS5uZXcoMCkpYCB0byByZXR1cm4gYSBgTW9uZXlgIG9iamVjdCBp ZGVudGljYWwgdG8gdGhlIG9uZSByZXR1cm5lZCBieSBgWzcuMF0uZWFjaC5zdW0oTW9uZXkubmV3 KDApKWAuDQ0KSSB0aGluayBpdCB3b3VsZCBtYWtlIHNlbnNlIGlmIGF0IGxlYXN0IHRoZXkgcmV0 dXJuZWQgYW4gaWRlbnRpY2FsIHZhbHVlIChldmVuIGlmIGl0IGlzIGEgYEZsb2F0YCkuDQ0KDQ0K DQ0KQWRkZW5kdW06IEkgZm9yZ290IHRvIG1lbnRpb24gW3RoaXMgZXh0cmFjdF0oaHR0cHM6Ly9n aXRodWIuY29tL3J1YnkvcnVieS9ibG9iL2RhOWM4NGY4NTlkYjI5MmFiMTEyN2Y3Y2E5Yjc3NDFm ZmYwNjU1N2IvYXJyYXkuYyNMODEzMy1MODEzNykgb2YgdGhlIGBBcnJheSNzdW1gIGRvY3VtZW50 YXRpb246DQ0KDQ0KPiBXaGVuIG5vIGJsb2NrIGlzIGdpdmVuLCByZXR1cm5zIHRoZSBvYmplY3Qg ZXF1aXZhbGVudCB0bzoNDQo+DQ0KPiBgYGAgcnVieQ0NCj4gc3VtID0gaW5pdA0NCj4gYXJyYXku ZWFjaCB7fGVsZW1lbnR8IHN1bSArPSBlbGVtZW50IH0NDQo+IHN1bQ0NCj4gYGBgDQ0KDQ0KV2l0 aCB0aGUgZXhhbXBsZSBhYm92ZSwgaXQgd291bGQgaW5kZWVkIHJldHVybiBhIGBNb25leWAgb2Jq ZWN0Lg0NCg0NCg0NCg0NCi0tIA0NCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0NCiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFp bGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBz ZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNv cmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvcG9zdG9yaXVzL2xp c3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==