mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
merge revision(s) 8dfae85adb
: [Backport #17575]
Warn the defined location as deprecation as well as the main message [Bug #17575] --- test/ruby/test_defined.rb | 17 +++++++++++++++++ vm_method.c | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-)
This commit is contained in:
parent
d370cb62d2
commit
fb6cb226a0
3 changed files with 20 additions and 2 deletions
|
@ -258,6 +258,23 @@ class TestDefined < Test::Unit::TestCase
|
|||
assert_separately([], "assert_nil(defined?(super))")
|
||||
end
|
||||
|
||||
def test_respond_to
|
||||
obj = "#{self.class.name}##{__method__}"
|
||||
class << obj
|
||||
def respond_to?(mid)
|
||||
true
|
||||
end
|
||||
end
|
||||
assert_warn(/deprecated method signature.*\n.*respond_to\? is defined here/) do
|
||||
Warning[:deprecated] = true
|
||||
defined?(obj.foo)
|
||||
end
|
||||
assert_warn('') do
|
||||
Warning[:deprecated] = false
|
||||
defined?(obj.foo)
|
||||
end
|
||||
end
|
||||
|
||||
class ExampleRespondToMissing
|
||||
attr_reader :called
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
# define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR
|
||||
#define RUBY_VERSION_TEENY 0
|
||||
#define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
|
||||
#define RUBY_PATCHLEVEL 27
|
||||
#define RUBY_PATCHLEVEL 28
|
||||
|
||||
#define RUBY_RELEASE_YEAR 2021
|
||||
#define RUBY_RELEASE_MONTH 2
|
||||
|
|
|
@ -2493,7 +2493,8 @@ vm_respond_to(rb_execution_context_t *ec, VALUE klass, VALUE obj, ID id, int pri
|
|||
VALUE path = RARRAY_AREF(location, 0);
|
||||
VALUE line = RARRAY_AREF(location, 1);
|
||||
if (!NIL_P(path)) {
|
||||
rb_compile_warn(RSTRING_PTR(path), NUM2INT(line),
|
||||
rb_category_compile_warn(RB_WARN_CATEGORY_DEPRECATED,
|
||||
RSTRING_PTR(path), NUM2INT(line),
|
||||
"respond_to? is defined here");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue