diff options
author | Dylan Thacker-Smith <Dylan.Smith@shopify.com> | 2019-11-06 01:47:32 -0500 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-11-13 15:36:58 +0900 |
commit | ac112f2b5dc7e16ccde8f048be80946187a033b0 (patch) | |
tree | 5ad84ea663becd04e7a77fd6f6cf5f4ea3678a86 /iseq.h | |
parent | a5b6d7bca84fce6e13c68e8753893c4697960e3a (diff) |
Avoid top-level search for nested constant reference from nil in defined?
Fixes [Bug #16332]
Constant access was changed to no longer allow top-level constant access
through `nil`, but `defined?` wasn't changed at the same time to stay
consistent.
Use a separate defined type to distinguish between a constant
referenced from the current lexical scope and one referenced from
another namespace.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/2657
Diffstat (limited to 'iseq.h')
-rw-r--r-- | iseq.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -300,7 +300,8 @@ enum defined_type { DEFINED_EXPR, DEFINED_IVAR2, DEFINED_REF, - DEFINED_FUNC + DEFINED_FUNC, + DEFINED_CONST_FROM }; VALUE rb_iseq_defined_string(enum defined_type type); |