summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2023-07-06 16:34:28 +0200
committerBenoit Daloze <eregontp@gmail.com>2023-07-06 18:27:13 +0200
commit055f7219bc4ace48270b09630626305784d5a87e (patch)
tree08868c111f4628a8605bfcdf11dd7105d12af13e
parent9ee1877e4ab535253b4f61302b9102d20e11db5a (diff)
Improve ArgumentError message for Module#set_temporary_name
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/8035
-rw-r--r--spec/ruby/core/module/set_temporary_name_spec.rb8
-rw-r--r--variable.c2
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: