Ref: https://bugs.ruby-lang.org/issues/17593. Because `__FILE__` is currently considered a static literal, it's entirely evaluated during compilation. The problem is that ISeqs can be serialized and reloaded later, but since `__FILE__`...byroot (Jean Boussier)
@matheusrich I considered a keyword argument, but went with positional for consistency. This isn't yet in a released version, so feel free to come forward with a proposal to make these keyword arguments before the final 4.1 release. ...byroot (Jean Boussier)
I believe this would be a very valuable feature (we discussed that ~1 year ago), particularly for testing environments. Right now testing that a given API is Ractor-compatible is very hard, an API like the one described would make it ...byroot (Jean Boussier)
GCC was emitting a warning, because it couldn't understand that `search->needles_count` was assumed not to be 0: ``` string.c:9673:36: warning: ‘matches’ may be used uninitialized [-Wmaybe-uninitialized] 9673 | const in...byroot (Jean Boussier)
* `tr_trans_pair` is now responsible for consuming the matches, akin to the ERB change in 4ca48a192c225b887ac2e5d6d30486bb6850887f. This makes it impossible to shift by 64 or more, hence removes a branch in `next_match`. Also ensure `s` ...byroot (Jean Boussier)
It's failing compilation on `rmv7a-linux-androideabi30-clang`: ``` escape.c:223:34: error: call to undeclared function 'vqtbl1q_u8'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 223...byroot (Jean Boussier)
Now the caller is responsible for consuming the match using `consume_match`, which means the undefined behavior `matches_bitmap >>= 64` is no longer a concern, eliminating a condition. https://github.com/ruby/erb/commit/40a8edea18byroot (Jean Boussier)