Fix for u8 char C++20 incompatibility

C++20 apparently doesn't allow std::string construction from u8 literals any more.
The pre-20 behavior is restored by explicitly casting the new `char_8_t` back to `char`.
pull/94/head
Peter Würtz 4 years ago committed by GitHub
parent e362ce7423
commit 2561fd182d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      peglib.h

@ -3035,7 +3035,7 @@ private:
cls("0-9a-fA-F"), cls("0-9a-fA-F")),
seq(npd(chr('\\')), dot()));
g["LEFTARROW"] <= seq(cho(lit("<-"), lit(u8"")), g["Spacing"]);
g["LEFTARROW"] <= seq(cho(lit("<-"), lit(reinterpret_cast<const char*>(u8""))), g["Spacing"]);
~g["SLASH"] <= seq(chr('/'), g["Spacing"]);
~g["PIPE"] <= seq(chr('|'), g["Spacing"]);
g["AND"] <= seq(chr('&'), g["Spacing"]);

Loading…
Cancel
Save