
Eric Niebler wrote:
Joel de Guzman wrote:
Michael Marcin wrote:
Or maybe I still don't understand. Are these forward declaration partial specializations strictly necessary? Yes. It's a means to prevent unwanted ODR violation. Fusion is modular. The support for boost::array comes when you include a header. Imagine a case where a TU does not include the header and another that does. Without the forward declaration, the second TU will pick up the default (non-specialized) implementation, which might or might not compile, but will certainly be a violation of ODR.
Agreed. But we certainly need workarounds for compilers that can't handle an incomplete partial specialization. On head, xpressive doesn't compile on cw-9.4 because of this problem, and that's a regression from 1.34.
Agreed. I intend to go back to the Mac anyway, after a long trek into Wintel. Sorry if this may be OT but is virtualization really working well for developers? I'd love to get, say, VisualC++ along side CW. Also, is CW not a dead-end? It's a pity that they no longer have the Windows version. Regards, -- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net