Boost logo

Boost :

Subject: [boost] [fusion] change on trunk breaking proto
From: Eric Niebler (eric_at_[hidden])
Date: 2009-12-10 04:15:51


Hi Fusion gurus. I'm chasing an elusive bug that the following Proto
test has exposed:

http://beta.boost.org/development/tests/trunk/developer/output/RW_WinXP_VC-boost-bin-v2-libs-proto-test-examples-test-msvc-9-0-debug-link-static-threading-multi.html

All is well on the release branch, but on trunk, Proto's examples.cpp
test is failing -- but only on MSVC! I suspect Fusion because if I
replace the version of Fusion on trunk with the one on release all is
well. (Caveat: when I do this, I also need to make a corresponding
change to the as_callable function object in proto/transform/fold.hpp to
accommodate the changed argument order of fusion::fold's functor.) It
seems something is causing MSVC to prematurely instantiate a template
used in a Proto transform, but I can't see what.

I first suspected the recent changes to fusion::fold, but that seems not
to be the case. If I just take the release version of fusion::fold, the
problem still manifests. The problem must be elsewhere.

Does anyone from Fusion team want to give this a crack? I'll be happy to
help.

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk