On 24/08/16 12:48 -0700, Tim Shen wrote:
On Wed, Aug 24, 2016 at 1:41 AM, Jonathan Wakely <jwak...@redhat.com> wrote:
On 24/08/16 00:18 -0700, Tim Shen wrote:
I didn't realized that we can actually escape a dash inside bracket
expression: R"([\-])", in which case the dash should be treated
literally.
With this patch applied I no longer get a match for:
regex_match("-", std::regex{"[a-]", std::regex_constants::basic})
Nice catch. I'm surprised that there is no test for it. Added one.
I wonder if we want to give _S_token_unknown an initializer with a
specific value, so it doesn't change whenever we add new tokens.
If we use -1 it would change the underlying type of
_ScannerBase::_TokenT from unsigned int to signed int, so we should
give it a fixed type too:
struct _ScannerBase
{
public:
/// Token types returned from the scanner.
enum _TokenT : unsigned
{
...
_S_token_unknown = -1u
Done.
OK for trunk, thanks.