Closed
Description
Bugzilla Link | 40465 |
Version | trunk |
OS | Linux |
Reporter | LLVM Bugzilla Contributor |
CC | @zygoloid |
Extended Description
template <typename = void>
struct Foo {};
int main() {
Foo f; // everyone accepts
Foo (g); // clang rejects
// gcc accepts, edg accepts, msvc accepts
}
clang says:
error: cannot use parentheses when declaring variable with deduced class template specialization type
This seems to be a highly specific error message but I can't see why this would be disallowed. [dcl.type.class.deduct] seems to allow g
, but again since the message is so specific, I don't know. The other three compilers accept the code.