Actions
Bug #12382
closedDeprecated constants will not print out warning when accessed directly
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
Description
Hi,
the current behavior of deprecate_constant
is a little confusing:
module Namespace
module Deprecated
end
deprecate_constant :Deprecated
end
puts "Referenced access:"
Namespace::Deprecated # warning: constant Namespace::Deprecated is deprecated
puts
puts "Direct access (from Object):"
include Namespace
Deprecated # warning: constant ::Deprecated is deprecated
puts
puts "Direct access (from inside namespace):"
module Namespace
Deprecated # no warning
end
I would also expect a warning in the third case.
Updated by nobu (Nobuyoshi Nakada) about 8 years ago
- Status changed from Open to Closed
Applied in changeset r55005.
vm_insnhelper.c: deprecated constant in class
- vm_insnhelper.c (vm_get_ev_const): warn deprecated constant even
in the class context. [ruby-core:75505] [Bug #12382]
Updated by nobu (Nobuyoshi Nakada) about 8 years ago
- Description updated (diff)
- Backport changed from 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN to 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED
Updated by nagachika (Tomoyuki Chikanaga) almost 8 years ago
- Backport changed from 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED to 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONE
ruby_2_3 r55425 merged revision(s) 55005.
Actions
Like0
Like0Like0Like0