-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
The CTAD of the standard container is still instantiated when Alloc does not satisfy Allocator. #4060
Comments
The errors are from the Line 848 in 4751057
and Line 621 in 4751057
These definitions ( Lines 442 to 458 in 4751057
encourage the compiler to deduce Do we want to block deduction through all |
In libc++, the constructors are constrained to make CTAD SFINAE-friendly (LLVM-D114311). In libstdc++, It seems better to me to file an LWG issue to standardize libc++'s strategy. On the other hand, we may make |
We talked about this at the weekly maintainer meeting and agree that an LWG issue is needed for this. We believe that the right strategy will involve either constraining all affected constructors, or adding global wording that affects container constructors (similar to the global wording that already exists for ordered/unordered deduction guides, N4958 [associative.reqmts.general]/181 and [unord.req.general]/248). Due to previous LWG issues, a couple of Finally, we already have targeted changes in at least one Line 870 in 04742ec
|
The change was done in #2032 (WG21-P1518R2). The paper was technically a change in C++23, but we treated it as a DR and applied it to old modes. |
Not sure if this is a language bug or a library bug:
https://godbolt.org/z/EY6K9eKP9
The text was updated successfully, but these errors were encountered: