From 9d04183ce146f78394a7168e48106d4468cd56af Mon Sep 17 00:00:00 2001 From: dearblue Date: Sun, 6 Mar 2022 13:43:31 +0900 Subject: [PATCH] Small improvements to `Module#{include,prepend}` Array objects obtained as splat arguments are generated within the method. Therefore, it is safe to perform destructive operations. --- mrblib/00class.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mrblib/00class.rb b/mrblib/00class.rb index d7a718ba1..5bef3f126 100644 --- a/mrblib/00class.rb +++ b/mrblib/00class.rb @@ -22,7 +22,8 @@ class Module # 15.2.2.4.27 def include(*args) - args.reverse.each do |m| + args.reverse! + args.each do |m| m.append_features(self) m.included(self) end @@ -30,7 +31,8 @@ class Module end def prepend(*args) - args.reverse.each do |m| + args.reverse! + args.each do |m| m.prepend_features(self) m.prepended(self) end