In this simple C++20 program

```
#define _SILENCE_CXX20_U8PATH_DEPRECATION_WARNING //suppress VS warning
#include <filesystem>

int main()
{
    auto p = std::filesystem::u8path(u8"a");
}

```

I get the error from Visual Studio 2019 16.10.0 in `stdcpplatest` mode:

```
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\filesystem(279,13): error C2338: invalid value_type, see N4810 D.17 [depr.fs.path.factory]/1
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\filesystem(346): message : see reference to function template instantiation 'std::wstring std::filesystem::_Convert_stringoid_to_wide<_Conversion>(const std::basic_string_view<char8_t,std::char_traits<char8_t>>,_Conversion)' being compiled
1>        with
1>        [
1>            _Conversion=std::filesystem::_Utf8_conversion
1>        ]
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\filesystem(1442): message : see reference to function template instantiation 'std::wstring std::filesystem::_Convert_Source_to_wide<char8_t[2],std::filesystem::_Utf8_conversion>(const _Src (&),_Conversion)' being compiled
1>        with
1>        [
1>            _Src=char8_t [2],
1>            _Conversion=std::filesystem::_Utf8_conversion
1>        ]
1>test.cpp(298): message : see reference to function template instantiation 'std::filesystem::path std::filesystem::u8path<char8_t[2],0>(const _Src (&))' being compiled
1>        with
1>        [
1>            _Src=char8_t [2]
1>        ]

```

Except of deprecation of `u8path` function in c++20, I do not see anything wrong here, and the code compiles fine in gcc 11 and clang 12 with the options `-std=c++20 -Wall`, without any warnings. Please help to find what is wrong here.