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);