-
Koichi ITO authored
## Summary This following is a behavior from CRuby 1.8.7 to 3.1.0. ```console % ruby -ve "p ['a', 'b', 'c']*''" ruby 1.8.7 (2013-12-22 patchlevel 375) [i686-darwin13.0.2] "abc" % ruby -ve "p ['a', 'b', 'c']*''" ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-darwin19] "abc" ``` ### Before (mruby 3.0.0) mruby unexpectedly gives the TypeError. ```ruby ['a', 'b', 'c']*'' #=> String cannot be converted to Integer (TypeError) ``` ### After This PR makes mruby behave compatible with CRuby. ```ruby ['a', 'b', 'c']*'' #=> 'abc' ``` As far as I checked, the behavior is unspecified when `Array#*`'s argument is not an instance of Integer class in X 3017 : 2013 (ISO/IEC 30170 : 2012). ## Additional Information I noticed this difference by the following idiom when writing ASCII art code using Ruby. ```ruby %w(foo bar baz)*'' ``` e.g. TRICK (https://github.com/tric)
182096d8