title: Why doesn't basic_regex support char8_t?
body: <p>As the title says, the following code snippet generates C2027:</p>
  <pre class="lang-cpp prettyprint-override"><code>#include&lt;regex&gt;
  
  using namespace std;
  
  int main() {
  
      basic_regex&lt;char8_t&gt; r;
      return 0;
  }
  </code></pre>
  <p>And the error msg was:</p>
  <pre><code>error C2027: use of undefined type 'std::regex_traits&lt;char8_t&gt;'
  message : see declaration of 'std::regex_traits&lt;char8_t&gt;'
  message : see reference to class template instantiation 'std::basic_regex&lt;char8_t,std::regex_traits&lt;char8_t&gt;&gt;' being compiled
  error C2061: syntax error: identifier 'locale_type'
  error C2027: use of undefined type 'std::regex_traits&lt;char8_t&gt;'
  message : see declaration of 'std::regex_traits&lt;char8_t&gt;'
  error C2061: syntax error: identifier 'string_type'
  error C3646: 'imbue': unknown override specifier
  error C2059: syntax error: '('
  error C2334: unexpected token(s) preceding '{'; skipping apparent function body
  error C3646: 'getloc': unknown override specifier
  error C2059: syntax error: '('
  error C2334: unexpected token(s) preceding '{'; skipping apparent function body
  error C2079: 'std::basic_regex&lt;char8_t,std::regex_traits&lt;char8_t&gt;&gt;::_Traits' uses undefined class 'std::regex_traits&lt;char8_t&gt;'  
  </code></pre>
  <p>But <code>basic_regex&lt;char&gt;</code> works</p>
  <p>Can someone tell me why?</p>
  <p>char and char8_t look like the same type in terms of their usage...</p>
  <p>I'm using VS2021</p>