The "loading in progress, circular require considered harmful" warning prints the caller backtrace directly to stderr:
if(RTEST(ruby_verbose)){rb_warning("loading in progress, circular require considered harmful - %s",ftptr);rb_backtrace_print_to(rb_stderr);}
This is suboptimal as rb_warning now eventually delegates to Warning.warn, which can handle the warning, but not the backtrace printed separetely to $stderr.
I think the backtrace should be sent together to Warning.warn so the entire warning can be treated/filtered/etc correctly in Warning.warn.