Skip to content

Commit 0b72692

Browse files
committed
Show the removal version
1 parent 8118d43 commit 0b72692

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

error.c

+7-5
Original file line numberDiff line numberDiff line change
@@ -493,11 +493,13 @@ deprecation_warning_enabled(void)
493493
}
494494

495495
static void
496-
warn_deprecated(VALUE mesg, bool removal, const char *suggest)
496+
warn_deprecated(VALUE mesg, const char *removal, const char *suggest)
497497
{
498498
rb_str_set_len(mesg, RSTRING_LEN(mesg) - 1);
499499
rb_str_cat_cstr(mesg, " is deprecated");
500-
if (removal) rb_str_cat_cstr(mesg, ", and is planned for removal");
500+
if (removal) {
501+
rb_str_catf(mesg, " and will be removed in Ruby %s", removal);
502+
}
501503
if (suggest) rb_str_catf(mesg, "; use %s instead", suggest);
502504
rb_str_cat_cstr(mesg, "\n");
503505
rb_warn_category(mesg, ID2SYM(id_deprecated));
@@ -513,11 +515,11 @@ rb_warn_deprecated(const char *fmt, const char *suggest, ...)
513515
VALUE mesg = warning_string(0, fmt, args);
514516
va_end(args);
515517

516-
warn_deprecated(mesg, false, suggest);
518+
warn_deprecated(mesg, NULL, suggest);
517519
}
518520

519521
void
520-
rb_warn_deprecated_to_remove(const char *fmt, const char *suggest, ...)
522+
rb_warn_deprecated_to_remove(const char *removal, const char *fmt, const char *suggest, ...)
521523
{
522524
if (!deprecation_warning_enabled()) return;
523525

@@ -526,7 +528,7 @@ rb_warn_deprecated_to_remove(const char *fmt, const char *suggest, ...)
526528
VALUE mesg = warning_string(0, fmt, args);
527529
va_end(args);
528530

529-
warn_deprecated(mesg, true, suggest);
531+
warn_deprecated(mesg, removal, suggest);
530532
}
531533

532534
static inline int

internal/error.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ NORETURN(void rb_async_bug_errno(const char *,int));
4949
const char *rb_builtin_type_name(int t);
5050
const char *rb_builtin_class_name(VALUE x);
5151
PRINTF_ARGS(void rb_warn_deprecated(const char *fmt, const char *suggest, ...), 1, 3);
52-
PRINTF_ARGS(void rb_warn_deprecated_to_remove(const char *fmt, const char *suggest, ...), 1, 3);
52+
PRINTF_ARGS(void rb_warn_deprecated_to_remove(const char *removal, const char *fmt, const char *suggest, ...), 2, 4);
5353
#if RUBY_DEBUG && (RBIMPL_HAS_ATTRIBUTE(diagnose_if) || defined(__OPTIMIZE__))
5454
# include "ruby/version.h"
5555

@@ -88,10 +88,10 @@ void rb_deprecated_method_to_be_removed(const char *);
8888
# endif
8989
# define rb_warn_deprecated_to_remove_at(removal, ...) \
9090
(rb_deprecated_method_to_be_removed(removal), \
91-
rb_warn_deprecated_to_remove(__VA_ARGS__))
91+
rb_warn_deprecated_to_remove(removal, __VA_ARGS__))
9292
#else
9393
# define rb_warn_deprecated_to_remove_at(removal, ...) \
94-
rb_warn_deprecated_to_remove(__VA_ARGS__)
94+
rb_warn_deprecated_to_remove(removal, __VA_ARGS__)
9595
#endif
9696
VALUE rb_syntax_error_append(VALUE, VALUE, int, int, rb_encoding*, const char*, va_list);
9797
PRINTF_ARGS(void rb_enc_warn(rb_encoding *enc, const char *fmt, ...), 2, 3);

0 commit comments

Comments
 (0)