
Issue #21338 has been updated by alanwu (Alan Wu). Yes, we intentionally move the implementation for `block_given?` to C. Again, a method can move between C and Ruby between versions. I just tested rb_tracepoint_new() with RUBY_EVENT_C_CALL and `block_given?`, and an event definitely fires. This feels like you have a bug in your code. Are there any other behavior change you're seeing? ---------------------------------------- Bug #21338: TracePoint Not Triggered for Kernel#block_given? https://bugs.ruby-lang.org/issues/21338#change-113297 * Author: cfis (Charlie Savage) * Status: Rejected * ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- When updating ruby-prof for Ruby 3.4, various tests now fail because a method enter/leave tracepoint is not triggered for `Kernel#block_given?` For example: https://github.com/ruby-prof/ruby-prof/blob/master/test/line_number_test.rb#... In 3.3 a tracepoint was triggered but not in earlier Ruby versions. -- https://bugs.ruby-lang.org/