-
Notifications
You must be signed in to change notification settings - Fork 15.1k
Closed
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillac++20clang:frontendLanguage frontend issues, e.g. anything involving "Sema"Language frontend issues, e.g. anything involving "Sema"conceptsC++20 conceptsC++20 conceptsconfirmedVerified by a second partyVerified by a second party
Description
Bugzilla Link | 51831 |
Version | 12.0 |
OS | Windows NT |
Reporter | LLVM Bugzilla Contributor |
CC | @zygoloid |
Extended Description
Wrong code as follows is accepted by Clang:
#include <iostream>
template<> //#1
void foo(auto x) { std::cout << x; };
template<> //#2
void foo(int) requires(false) { std::cout << "int"; };
int main() { foo(1); }
In #1, we have a template specialization, while no template function was defined before.
In #2 we have requires
-clause for not-template function.
Both #1 and #2 must be rejected.
Metadata
Metadata
Assignees
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillac++20clang:frontendLanguage frontend issues, e.g. anything involving "Sema"Language frontend issues, e.g. anything involving "Sema"conceptsC++20 conceptsC++20 conceptsconfirmedVerified by a second partyVerified by a second party
Type
Projects
Status
No status