From 055f7219bc4ace48270b09630626305784d5a87e Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Thu, 6 Jul 2023 16:34:28 +0200 Subject: [PATCH] Improve ArgumentError message for Module#set_temporary_name --- spec/ruby/core/module/set_temporary_name_spec.rb | 8 ++++---- variable.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/spec/ruby/core/module/set_temporary_name_spec.rb b/spec/ruby/core/module/set_temporary_name_spec.rb index 93a02a4143..f5886a3398 100644 --- a/spec/ruby/core/module/set_temporary_name_spec.rb +++ b/spec/ruby/core/module/set_temporary_name_spec.rb @@ -29,14 +29,14 @@ ruby_version_is "3.3" do it "can't assign a constant name as a temporary name" do m = Module.new - -> { m.set_temporary_name("Object") }.should raise_error(ArgumentError, "name must not be valid constant path") + -> { m.set_temporary_name("Object") }.should raise_error(ArgumentError, "the temporary name must not be a constant path to avoid confusion") end it "can't assign a constant path as a temporary name" do m = Module.new - -> { m.set_temporary_name("A::B") }.should raise_error(ArgumentError, "name must not be valid constant path") - -> { m.set_temporary_name("::A") }.should raise_error(ArgumentError, "name must not be valid constant path") - -> { m.set_temporary_name("::A::B") }.should raise_error(ArgumentError, "name must not be valid constant path") + -> { m.set_temporary_name("A::B") }.should raise_error(ArgumentError, "the temporary name must not be a constant path to avoid confusion") + -> { m.set_temporary_name("::A") }.should raise_error(ArgumentError, "the temporary name must not be a constant path to avoid confusion") + -> { m.set_temporary_name("::A::B") }.should raise_error(ArgumentError, "the temporary name must not be a constant path to avoid confusion") end it "can't assign name to permanent module" do diff --git a/variable.c b/variable.c index 79ff8c459c..750ff04e1d 100644 --- a/variable.c +++ b/variable.c @@ -230,7 +230,7 @@ rb_mod_set_temporary_name(VALUE mod, VALUE name) } if (is_constant_path(name)) { - rb_raise(rb_eArgError, "name must not be valid constant path"); + rb_raise(rb_eArgError, "the temporary name must not be a constant path to avoid confusion"); } // Set the temporary classpath to the given name: