The reference implementation does not treat a '*' character as a literal character inside brackets.
Current behavior
pattern = "ab[e*]cd.i";
// matches:
"ab[e]cd.i"
"ab[[]cd.i"
"ab[^]cd.i"
"ab[/]cd.i"
"ab[[]cd.i"
"ab[e[^/e[e]cd.i"
// does not match:
"abecd.i"
"ab*cd.i"
Expected behavior
the opposite