http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54987
Bug #: 54987 Summary: missed ambiguity in template function call Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: afa...@xakep.ru Created attachment 28491 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28491 minimal test-case Call to 'foo' is really ambiguous, both versions need for cast. Tested with: 1) gcc-4.4.7, gcc-4.6.3, gcc-4.8.0 (r192610) - no errors or warnings 2) clang-3.1, MS C compiler 8.0 - "error: call to 'foo' is ambiguous" If make_type is not template - gcc error's with ambiguity.