diff --git a/re.c b/re.c index 6c60b5875f..cd0b96b9f9 100644 --- a/re.c +++ b/re.c @@ -4204,6 +4204,16 @@ rb_reg_s_union_m(VALUE self, VALUE args) * * Regexp.linear_time?(/re/) # => true * + * Note that this is a property of the ruby interpreter, not of the argument + * regular expression. Identical regexp can or cannot run in linear time + * depending on your ruby binary. Neither forward nor backward compatibility + * is guaranteed about the return value of this method. Our current algorithm + * is (*1) but this is subject to change in the future. Alternative + * implementations can also behave differently. They might always return + * false of everything. + * + * (*1): https://doi.org/10.1109/SP40001.2021.00032 + * */ static VALUE rb_reg_s_linear_time_p(int argc, VALUE *argv, VALUE self)