
On Mon, 30 May 2016 11:52:09 +1000
Jess Morecroft
Hi Lee,
We actually noticed that by changing the tuple to a (fusion) vector, it just works. This was unexpected as we'd thought/read in the boost doc that tuple was just effectively an alias for a vector, but apparently not. This is good enough for us so no solution required beyond this.
Regards Jess
Yes I noticed this as well during my testing for a patch. In C++03 and C++11 `fusion::tuple` inherits from `fusion::vector`, so they are functionally identical but unique types. So copying/moving from tuple to vector (or vice-versa) triggers the "copy from another sequence type" code. You found a bug in that code for C++11, and while trying to identify a fix I found a similar bug in the C++03 version, and issues with the C++11 list too. Joel has [merged my fix][0] for your particular use case, and I hope to continue working on a fixes for the other cases too. Lee [0] https://github.com/boostorg/fusion/pull/132