
Issue #19732 has been updated by itarato (Peter Arato). While preparing that diff I realized what happened. I'm using `clang-format` which sorts includes and ordered https://github.com/banister/debug_inspector/blob/5424c4094df30adfecd961a4e77... to: ```c #include "ruby/debug.h" #include "ruby/ruby.h" ``` in which case `ruby.h` do not have the chance to trigger the include of `stdint.h` in time. Would this count as an issue? My guess is that clang-format is pretty popular (eg default formatter in vscode) so changes are more folks would bump to this when writing new C extensions. ---------------------------------------- Bug #19732: Possible missing header (stdint.h) in event.h https://bugs.ruby-lang.org/issues/19732#change-103570 * Author: itarato (Peter Arato) * Status: Feedback * Priority: Normal * ruby -v: HEAD * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- Ruby's event.h (https://github.com/ruby/ruby/blob/813a5f4fc46a24ca1695d23c159250b9e1080ac7/i...) is using type aliases from stdint.h, however it's not directly included. An example where this causes issues is when using `rb_debug_inspector_current_depth()` https://github.com/ruby/ruby/blob/813a5f4fc46a24ca1695d23c159250b9e1080ac7/i.... In a gem using a C-extension that already includes `debug.h`, when adding the call `rb_debug_inspector_current_depth()`, the compilation fails with: ``` shell make compiling debug_inspector.c In file included from /home/itarato/.rubies/ruby-master/include/ruby-3.3.0+0/ruby/debug.h:16, from debug_inspector.c:12: /home/itarato/.rubies/ruby-master/include/ruby-3.3.0+0/ruby/internal/event.h:105:9: error: unknown type name ‘uint32_t’ 105 | typedef uint32_t rb_event_flag_t; | ^~~~~~~~ ``` This is on `ruby/ruby` latest commit (813a5f4fc46a24ca1695d23c159250b9e1080ac7), but also tried on tag 3.2 (same error). I've also proposed a fix: https://github.com/ruby/ruby/pull/7945 -- https://bugs.ruby-lang.org/