Boost logo

Boost Users :

Subject: Re: [Boost-users] Boost fusion problem
From: Lee Clagett (forum_at_[hidden])
Date: 2016-05-25 01:13:25


On Tue, 24 May 2016 19:09:02 +1000
Jess Morecroft <jess_at_[hidden]> wrote:

> Hi guys,
>
> We're trying out the latest version of Boost (1.61, migrating from
> 1.55) and have some code calling the fusion library that now doesn't
> compile and it's not obvious (to me at least) why. I've created a
> simple program (below) to demonstrate the issue. As per the
> compile/run section below, this compiles and runs with Boost 1.55,
> not with 1.61.
>
> If anyone has any idea or pointers to what is wrong here I'd really
> appreciate it. Sorry if this isn't the right forum for this kind of
> issue too - if so please let me know how best to seek help on this.
>
> Regards
> Jess

This is a regression caused by the upgrades for C++11. Compiling in
C++03 mode still works with Boost 1.61. The problem is the nested
sequence, the new C++11 version is trying to unpack the inner sequence
for a conversion move when it should be moving the entire inner
sequence. The problem is caused by the [incorrect dispatch method][0]
being selected. Little late for me to attempt a fix, but I should be
able to do a bit later this week if no one else can.

Lee

[0]https://github.com/boostorg/fusion/blob/master/include/boost/fusion/container/vector/vector.hpp#L99


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net