use dispatch::Queue;
use objc2_foundation::MainThreadMarker;
pub(crate) fn run_on_main_async(f: impl FnOnce(MainThreadMarker) + Send + 'static) {
Queue::main().exec_async(move || {
let mtm = unsafe { MainThreadMarker::new_unchecked() };
f(mtm);
});
}