Issue 163716
Summary [libc++] `make_optional(initializer_list<_Up> __il, _Args&&... __args)` is underconstrained
Labels new issue
Assignees
Reporter hewillk
    ```cpp
#include <optional>

int main() {
  struct S { int x; int y; };
  auto a = std::make_optional<S>({1, 2});
}
```
https://godbolt.org/z/TEn9eT359

This function is equivalent to: `return optional<T>(in_place, il, std​::​forward<Args>(args)...)`;
So it shouldn't participate in overload resolution because the `optional`'s constructor constraint is not satisfied?

_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to