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>,