-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
C++17 P0522R0 (Matching template template parameters to compatible arguments) only partially implemented #55894
Comments
This bug is known and described here. |
@llvm/issue-subscribers-clang-frontend |
@llvm/issue-subscribers-c-20 |
@the-moisrex thanks, I updated the title with the info you provided. |
I worked on an implementation of this some time ago. We tried first just implementing the wording as is, without any resolution to the new issues. There was negative push back, so we reverted. I implemented a workaround, but then @zygoloid suggested a better approach, but I did not have the time to follow that up yet. |
@mizvekov Many thanks for your effort. |
Cross reference to GCC bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114841 . |
…efault In order to implement this as a DR and avoid breaking reasonable code that worked before P0522, this patch implements a provisional resolution for CWG2398: When deducing template template parameters against each other, and the argument side names a template specialization, instead of just deducing A, we instead deduce a synthesized template template parameter based on A, but with it's parameters using the template specialization's arguments as defaults. The driver flag is deprecated with a warning. With this patch, we finally mark C++17 support in clang as complete. Closes llvm#55894
…efault In order to implement this as a DR and avoid breaking reasonable code that worked before P0522, this patch implements a provisional resolution for CWG2398: When deducing template template parameters against each other, and the argument side names a template specialization, instead of just deducing A, we instead deduce a synthesized template template parameter based on A, but with it's parameters using the template specialization's arguments as defaults. The driver flag is deprecated with a warning. With this patch, we finally mark C++17 support in clang as complete. Closes llvm#55894
Closing as duplicate in favor of older issue. Duplicate of #42224 |
Duplicate of #42224 |
I encounter a commit that repaired a clang bug. This commit is from WEB++:
the-moisrex/webpp@97a5947
Looks like a clang bug?
The text was updated successfully, but these errors were encountered: