[clangd] Attempt to fix compilation with MSVC.

llvm-svn: 315028
This commit is contained in:
Ilya Biryukov 2017-10-05 22:15:15 +00:00
parent 0d0325606b
commit e81b76253d
1 changed files with 5 additions and 2 deletions

View File

@ -50,6 +50,9 @@ typedef std::string VFSTag;
/// FileSystemProvider when this value was computed. /// FileSystemProvider when this value was computed.
template <class T> class Tagged { template <class T> class Tagged {
public: public:
// MSVC requires future<> arguments to be default-constructible.
Tagged() = default;
template <class U> template <class U>
Tagged(U &&Value, VFSTag Tag) Tagged(U &&Value, VFSTag Tag)
: Value(std::forward<U>(Value)), Tag(std::move(Tag)) {} : Value(std::forward<U>(Value)), Tag(std::move(Tag)) {}
@ -61,8 +64,8 @@ public:
Tagged(Tagged<U> &&Other) Tagged(Tagged<U> &&Other)
: Value(std::move(Other.Value)), Tag(std::move(Other.Tag)) {} : Value(std::move(Other.Value)), Tag(std::move(Other.Tag)) {}
T Value; T Value = T();
VFSTag Tag; VFSTag Tag = VFSTag();
}; };
template <class T> template <class T>