From 47a6e7b518bf5bebd293519ee89b77c06830f21d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?= Date: Mon, 19 Dec 2022 10:28:51 +0900 Subject: Note about Regexp.linera_time? [ci skip] --- re.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 're.c') 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) -- cgit v1.2.1