Why does tracing's with_default require Send + Sync?

According to with_default's docs, it only sets the default subscriber for the current thread for the duration of a closure, so why does it require it to be Send and Sync?

Part of the reason is because it's built on the Dispatch type, which constrains the subscriber with Send + Sync: tracing/tracing-core/src/dispatcher.rs at tracing-core-0.1.33 ยท tokio-rs/tracing