Description
Check duplicate issues.
- Checked for duplicates
Description
In (Py)ROOT 6.30.06 one can properly += (iadd) an array.array to an std.vector. In the current master, this operation changes the type from (in my test case) cppyy.gbl.std.vector to cppyy.gbl.__gnu_cxx.__normal_iterator<unsigned short*,vector >, which is not compatible with the standard vector.
+= with nested list of arrays was the only way known to me to assign values to a nested std::vector with ROOT 6.30.06. It seems that now .assign(nested pure list) works. So, detecting the user's ROTO version, I can easily make my code work (however dirty the hack with the ROTO version is). Still, I wanted to report the regression and also the fact, that += nested list doesn't work (while the assign() does).
Reproducer
import ROOT
import array
d = ROOT.vector("unsigned short")()
a = array.array('H', [0, 1])
d+=a
print(type(d))
ROOT version
heads/master@v6-37-01-6541-g9a9e7697e4
Installation method
Self compilation
Operating system
Fedora 42
Additional context
No response