Discovered by #322.
This seems to be an outright incorrect behaviour in the JIT, and it's not an extreme edge case.
re> /(1|)b*1/
data> (1|)b*1
No match
data> (1|)b*1\=no_jit
0: 1
1:
Note that the following cases operate as expected:
re> /1?a*1/
data> 1
0: 1
data>
re> /(1?)a*1/
data> 1
0: 1
1:
data> 1\=no_jit
0: 1
1: