________________________________________
Fletcher, John P wrote:
This action is breaking some code, in particular bind_interoperation_test on boost phoenix develop for non-C++11 test cases
Would you be so kind as to distill this failure into a minimal test case that doesn't depend on Phoenix, so that I can add it to the Bind test suite? In this way we'll make sure that regressions are caught earlier in the pipeline.
Never mind, no need.
I'd argue that the problem is actually in phoenix::bind, it takes its arguments by const reference (as opposed to boost::bind by value and std::bind by &&+decay) and consequently fails cases like f.ex.
int * g( int * p ) { return p; } int main() { int v[ 5 ] = { 0 }; boost::phoenix::bind( g, v )(); }
but a regression is still a regression.
Thank you for this diagnosis. I will look into a smaller example. I will look into it further. The intention of the design of phoenix is to be compatible with bind, This is not completely achieved anyway. John