https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63198

--- Comment #6 from Thomas Bernard <thomas at famillebernardgouriou dot fr> ---
The assignment operator is an operator which always has side effects. That is
why it is considered dependent during template definitions to prevent early
instanciations of code. 

By adding a typename before the decltype, everything is fine. Trying to add the
typename implicitly works well to solve this small test case. However, using
the Spirit X3 code, it only moves the problem.

The template function overload doesn't get resolved correctly, so there must be
some other solution that is more appropriate.

Figuring out what exactly is going wrong was above my capacities, so I'll leave
this to the pros.

Reply via email to