macro_rules! reexport_utils { ($($name:ident,)*) => { $( pub mod $name { #[allow(unused_imports)] pub use jay_utils::$name::*; } )* }; } reexport_utils! { array, array_to_tuple, asyncevent, atomic_enum, binary_search_map, bitfield, bitflags, buf, cell_ext, compat, copyhashmap, double_buffered, errorfmt, fdcloser, free_list, geometric_decay, hash_map_ext, log_on_drop, mmap, nice, nonblock, num_cpus, numcell, on_change, on_drop_event, once, opaque, opaque_cell, opt, option_ext, ordered_float, oserror, page_size, pid_info, pidfd_send_signal, pipe, process_name, ptr_ext, queue, rc_eq, refcounted, smallmap, stack, static_text, string_ext, syncqueue, threshold_counter, tri, unlink_on_drop, vec_ext, vecdeque_ext, vecset, vecstorage, windows, xrd, } pub mod bindings; pub mod buffd; pub mod bufio; pub mod clone3; pub mod double_click_state; pub mod event_listener; pub mod linkedlist; pub mod line_logger; pub mod object_drop_queue; pub mod pending_serial; pub mod run_toplevel; pub mod scroller; pub mod timer; pub mod clonecell { pub use jay_utils::clonecell::*; unsafe impl UnsafeCellCloneSafe for crate::utils::linkedlist::NodeRef {} unsafe impl UnsafeCellCloneSafe for crate::tree::NodeId {} }