id summary reporter owner description type status milestone component version severity resolution keywords cc 2407 [Proto] Error while using operator<< and iostream Joel Falcou Eric Niebler "Bug found in the ""[Boost-users] [Proto] Strange behavior with semantic action and custom tag function"" threads. Quoting Eric : ""The operator<< in the output expression can potentially match either the ostream inserter we've defined above or Proto's operator<<. Proto's operator overload *should* be disabled with SFINAE because the resulting expression type doesn't match the domain's grammar. But the failure happens before we get that far. Before checking the return type against the grammar, Proto first calculates the return type, which first involves Protofying std::cout, resulting in e::type>. This is where the failure occurs because this simple terminal expression *also* doesn't match the grammar. That triggers the static assertion failure in e<>."" " Bugs closed Boost 1.37.0 proto Boost Development Trunk Problem fixed Proto