summaryrefslogtreecommitdiff
path: root/namespace.c
diff options
context:
space:
mode:
authorSatoshi Tagomori <[email protected]>2025-05-09 00:32:30 +0900
committerSatoshi Tagomori <[email protected]>2025-05-11 23:32:50 +0900
commit8199e6e1a621f928e7e08261047c224eb49d3128 (patch)
tree945bf378ccad20caadf80d138b959e4eaea61e46 /namespace.c
parent8ecc04dc042d2dc24379dec34ae33fa483faa267 (diff)
Show experimental warning when namespace is enabled
Diffstat (limited to 'namespace.c')
-rw-r--r--namespace.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/namespace.c b/namespace.c
index b3b71da5f5..1b0e300dde 100644
--- a/namespace.c
+++ b/namespace.c
@@ -3,6 +3,7 @@
#include "internal.h"
#include "internal/class.h"
#include "internal/eval.h"
+#include "internal/error.h"
#include "internal/file.h"
#include "internal/gc.h"
#include "internal/hash.h"
@@ -960,6 +961,8 @@ rb_namespace_require_relative(VALUE namespace, VALUE fname)
return rb_ensure(rb_require_relative_entrypoint, fname, namespace_both_pop, (VALUE)&arg);
}
+static int namespace_experimental_warned = 0;
+
void
rb_initialize_main_namespace(void)
{
@@ -968,6 +971,13 @@ rb_initialize_main_namespace(void)
rb_thread_t *th = GET_THREAD();
VALUE main_ns;
+ if (!namespace_experimental_warned) {
+ rb_category_warn(RB_WARN_CATEGORY_EXPERIMENTAL,
+ "Namespace is experimental, and the behavior may change in the future!\n"
+ "See doc/namespace.md for know issues, etc.");
+ namespace_experimental_warned = 1;
+ }
+
main_ns = rb_class_new_instance_pass_kw(0, NULL, rb_cNamespace);
ns = rb_get_namespace_t(main_ns);
ns->ns_object = main_ns;