Add a missing '__uncvref_t' to the SFINAE constraints for optional's assignment operator. Fixes PR38638. Thanks to Jonathan Wakely for the report
llvm-svn: 364574
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 954014a0fac4feb14e77eaa0b95d96f8095383b2
diff --git a/include/optional b/include/optional
index 2fad11c..a147d69 100644
--- a/include/optional
+++ b/include/optional
@@ -773,7 +773,7 @@
_And<
_IsNotSame<__uncvref_t<_Up>, optional>,
_Or<
- _IsNotSame<_Up, value_type>,
+ _IsNotSame<__uncvref_t<_Up>, value_type>,
_Not<is_scalar<value_type>>
>,
is_constructible<value_type, _Up>,