Permalink
Browse files

variable.c: top-level constant look-up

* variable.c (rb_const_search): [EXPERIMENTAL] remove top-level
  constant look-up.  [Feature #11547]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information...
1 parent 46454b5 commit 44a2576f798b07139adde2d279e48fdbe71a0148 @nobu nobu committed Jan 1, 2017
Showing with 6 additions and 0 deletions.
  1. +2 −0 NEWS
  2. +4 −0 variable.c
View
@@ -14,6 +14,8 @@ with all sufficient information, see the ChangeLog file or Redmine
=== Language changes
+* Top-level constant look-up is removed. [Feature #11547]
+
=== Core classes updates (outstanding ones only)
=== Stdlib updates (outstanding ones only)
View
@@ -2273,8 +2273,12 @@ rb_const_search(VALUE klass, ID id, int exclude, int recurse, int visibility)
continue;
}
if (exclude && tmp == rb_cObject && klass != rb_cObject) {
+#if 0
rb_warn("toplevel constant %"PRIsVALUE" referenced by %"PRIsVALUE"::%"PRIsVALUE"",
QUOTE_ID(id), rb_class_name(klass), QUOTE_ID(id));
+#else
+ return Qundef;
+#endif
}
return value;
}

0 comments on commit 44a2576

Please sign in to comment.