https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61260
Bug ID: 61260 Summary: Issue with instantiates of variadic templates inside other templates (possibly name lookup problem) Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: delong.j at fb dot com Created attachment 32833 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=32833&action=edit Example source snippets Calling a variadic function template that returns an instantiation of a variadic class template seems to sometimes incorrectly fail to find member functions of the class. In the attached, error.cc says: error: ‘Hey::str() [with Blah = {const char (&)[7], const char*&}; std::string = std::basic_string]’ is not a member of ‘Hey’ Modifying it to fixed.cc compiles. If you make the strings the same length in the ternary operator, it also compiles. (fixed2.cc.) Turning the struct "A" into a non-template also leads to it compiling (fixed3.cc).