diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2024-02-17 23:28:00 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2024-02-17 23:28:00 +0900 |
commit | 3dccb716daaee74d2ae00a5766fe1779fe220a81 (patch) | |
tree | 00cd2aeea7706eebaff32c2729e83dba4c29376b /kernel.rb | |
parent | df63e5bef67ff74216834f61748aa6ea8b0de22e (diff) |
Use `defined?(yield)` and `SIZED_ENUMERATOR`
Prefer built-in features over method calls that may be overridden.
Diffstat (limited to 'kernel.rb')
-rw-r--r-- | kernel.rb | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -129,7 +129,7 @@ module Kernel # def then Primitive.attr! :inline_block - unless block_given? + unless defined?(yield) return Primitive.cexpr! 'SIZED_ENUMERATOR(self, 0, 0, rb_obj_size)' end yield(self) @@ -145,7 +145,7 @@ module Kernel # def yield_self Primitive.attr! :inline_block - unless block_given? + unless defined?(yield) return Primitive.cexpr! 'SIZED_ENUMERATOR(self, 0, 0, rb_obj_size)' end yield(self) @@ -182,8 +182,8 @@ module Kernel # } #=> :ok def loop Primitive.attr! :inline_block - unless block_given? - return enum_for(:loop) { Float::INFINITY } + unless defined?(yield) + return Primitive.cexpr! 'SIZED_ENUMERATOR(self, 0, 0, rb_f_loop_size)' end begin |