[PRISM] Make prism compiler warning experimental

This commit is contained in:
Kevin Newton 2024-02-14 10:32:09 -05:00
Родитель f5801e2bf4
Коммит 8414c26f0d
2 изменённых файлов: 11 добавлений и 5 удалений

14
ruby.c
Просмотреть файл

@ -1408,10 +1408,6 @@ proc_long_options(ruby_cmdline_options_t *opt, const char *s, long argc, char **
else if (is_option_with_arg("parser", Qfalse, Qtrue)) {
if (strcmp("prism", s) == 0) {
(*rb_ruby_prism_ptr()) = true;
rb_warn("The compiler based on the Prism parser is currently experimental and "
"compatibility with the compiler based on parse.y "
"is not yet complete. Please report any issues you "
"find on the `ruby/prism` issue tracker.");
}
else if (strcmp("parse.y", s) == 0) {
// default behavior
@ -2089,6 +2085,16 @@ prism_script(ruby_cmdline_options_t *opt, pm_parse_result_t *result)
{
ruby_opt_init(opt);
if (rb_warning_category_enabled_p(RB_WARN_CATEGORY_EXPERIMENTAL)) {
rb_category_warn(
RB_WARN_CATEGORY_EXPERIMENTAL,
"The compiler based on the Prism parser is currently experimental "
"and compatibility with the compiler based on parse.y is not yet "
"complete. Please report any issues you find on the `ruby/prism` "
"issue tracker."
);
}
memset(result, 0, sizeof(*result));
result->options.line = 1;

Просмотреть файл

@ -302,7 +302,7 @@ class TestRubyOptions < Test::Unit::TestCase
assert_in_out_err(%w(--parser=notreal -e) + ["puts :hi"], "", [], /unknown parser notreal/)
assert_in_out_err(%w(--parser=prism --version), "", /\+PRISM/, warning)
assert_in_out_err(%w(--parser=prism --version), "", /\+PRISM/, [])
end
def test_eval