-
Notifications
You must be signed in to change notification settings - Fork 10.8k
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
CTAD for alias templates: implement the "is_deducible" constrain #84492
Comments
@llvm/issue-subscribers-clang-frontend Author: Haojian Wu (hokein)
We have an initial support at #77890 now.
However, the feature is not fully implemented yet, the |
@llvm/issue-subscribers-c-20 Author: Haojian Wu (hokein)
We have an initial support at #77890 now.
However, the feature is not fully implemented yet, the |
Added to the LLVM 19 release milestone as we probably don't want to release without this. Not having this feature would allow writing code that will break in future releases of Clang. We currently completely ignore constraints written in template aliases if the template arguments for it were deduced via CTAD. |
…templates. Fixes llvm#85192 Fixes llvm#84492
…templates. Fixes llvm#85192 Fixes llvm#84492
…templates. Fixes llvm#85192 Fixes llvm#84492
…templates. Fixes llvm#85192 Fixes llvm#84492
…templates. Fixes llvm#85192 Fixes llvm#84492 - rebase to main - add release note for __is_deducible - implement diagnostics for bad argument types for __is_deducible Don't expose __is_deducible trait. Refine the implementation of hiding __is_deducible type trait. Apply approach 3.
…templates. Fixes llvm#85192 Fixes llvm#84492 - rebase to main - add release note for __is_deducible - implement diagnostics for bad argument types for __is_deducible Don't expose __is_deducible trait. Refine the implementation of hiding __is_deducible type trait. Apply approach 3.
We have an initial support at #77890 now.
However, the feature is not fully implemented yet, the
is_deducible
constrain is missing, see the FIXME at https://github.com/llvm/llvm-project/blob/main/clang/lib/Sema/SemaTemplate.cpp#L2909-L2914, and related testcase at https://github.com/llvm/llvm-project/blob/main/clang/test/SemaCXX/cxx20-ctad-type-alias.cpp#L188-L200We should have this fixed before the next clang 19 release.
The text was updated successfully, but these errors were encountered: