merge revision(s) dc146babf47a84bbd1f176d766637d4a40327019,f23d5028059078a346efc977287b669d494a5a3f,a0f7de814ae5c299d6ce99bed5fb308a05d50ba0: [Backport #20296]

[Bug #20296] Clear errinfo when `exception: false`

	[Bug #20296] Refine the test

	[Bug #20296] Fix the default assertion message
This commit is contained in:
Takashi Kokubun 2024-05-29 11:00:27 -07:00
parent 22c1e5f126
commit 8f1084db9b
3 changed files with 24 additions and 25 deletions

View file

@ -2321,8 +2321,11 @@ nucomp_convert(VALUE klass, VALUE a1, VALUE a2, int raise)
return a1;
/* should raise exception for consistency */
if (!k_numeric_p(a1)) {
if (!raise)
return rb_protect(to_complex, a1, NULL);
if (!raise) {
a1 = rb_protect(to_complex, a1, NULL);
rb_set_errinfo(Qnil);
return a1;
}
return to_complex(a1);
}
}