Fix filesystem::path assignment from {}

Adding `path::operator=(string_type&&)` made the expression `p = {}`
ambiguous. This path fixes that ambiguity by making the `string&&`
overload a template so it ranks lower during overload resolution.

llvm-svn: 292345
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 337a7c542d57d936159681178d476dc0e82027f8
diff --git a/include/experimental/filesystem b/include/experimental/filesystem
index 739918b..f934f7b 100644
--- a/include/experimental/filesystem
+++ b/include/experimental/filesystem
@@ -720,6 +720,7 @@
         return *this;
     }
 
+    template <class = void>
     _LIBCPP_INLINE_VISIBILITY
     path& operator=(string_type&& __s) _NOEXCEPT {
         __pn_ = _VSTD::move(__s);