Boost C++ Libraries: Ticket #10236: C1202 compilation error on long set_formatter( ) expressions for MSVC 2013 https://svn.boost.org/trac10/ticket/10236 <p> I am attaching a minimal program to reproduce a compile error on MSVC 2013. The entire error message is to long to paste here, but it begins with: fatal error C1202: recursive type or function dependency context too complex </p> <p> This program does not actually attach or set any attributes to the logger, but I paired this program down to demonstrate the compilcation error. Actual attributes do not need to be created. </p> <p> If I comment out or remove lines from the formatter expression, the compilation succeeds. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10236 Trac 1.4.3 Kent Knox <kent.knox@…> Wed, 23 Jul 2014 21:03:09 GMT attachment set https://svn.boost.org/trac10/ticket/10236 https://svn.boost.org/trac10/ticket/10236 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">boostLogger.cpp</span> </li> </ul> <p> Minimal program to demonstrate compilation error </p> Ticket Andrey Semashev Sun, 27 Jul 2014 11:51:13 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/10236#comment:1 https://svn.boost.org/trac10/ticket/10236#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">wontfix</span> </li> </ul> <p> Apparently, you're hitting a compiler limit. To construct the formatter Boost.Phoenix is used, and I'm not sure what I can do in Boost.Log to avoid that limit (except to rewrite the filters and formatters framework to not use Boost.Phoenix, which I'd like to avoid). You can try filing a ticket to Boost.Phoenix developers but personally I don't see what can be done there either to completely remove the limitation. </p> <p> If you really need such large expressions you can try implementing it as a regular function, which you can set as a filter or formatter. </p> Ticket Andrey Semashev Sun, 27 Jul 2014 11:57:19 GMT attachment set https://svn.boost.org/trac10/ticket/10236 https://svn.boost.org/trac10/ticket/10236 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">phoenix_error.7z</span> </li> </ul> <p> Compiler error </p> Ticket