llvm-project
88b78bce - [libc++] Short-cut constraints of single-argument `any` constructor (#177082)

Commit
79 days ago
[libc++] Short-cut constraints of single-argument `any` constructor (#177082) When a default template argument of a function template uses `std::is_copy_constructible<T>::value` and `T` is convertible from and to `any`, the changes in 21dc73f6a46cd786394f10f5aef46ec4a2d26175 would introduce constraint meta-recursion when compiling with Clang. This patch short-cuts constraints of the related constructor to avoid computing `is_copy_constructible<T>` when `decay_t<T>` is `any`, which gets rid of constraint meta-recursion in the overload resolution of copy construction of `T`. Fixes #176877. (cherry picked from commit aa5428864e86f8e38806fc92d14cadc68b3d0667)
Committer
Parents
Loading