1#![allow(unused_imports)]
18
19pub(crate) use std::{
20 cmp::{Ordering, Reverse},
21 collections::{BinaryHeap, HashSet},
22 fmt::{self, Debug},
23 future::Future,
24 marker::PhantomData,
25 mem::{self, size_of},
26 panic::{AssertUnwindSafe, catch_unwind},
27 pin::Pin,
28 sync::{Arc, Mutex, MutexGuard, PoisonError, Weak},
29};
30
31pub(crate) use futures::{
32 FutureExt as _, Sink, SinkExt as _, Stream, StreamExt as _,
33 channel::mpsc,
34 stream::FusedStream,
35 task::{Spawn, SpawnError},
36};
37
38pub(crate) use std::task::Waker;
39
40pub(crate) use {
41 derive_deftly::{Deftly, define_derive_deftly, derive_deftly_adhoc},
42 derive_more::{Constructor, Deref, DerefMut},
43 dyn_clone::DynClone,
44 educe::Educe,
45 extend::ext,
46 itertools::chain,
47 paste::paste,
48 pin_project::pin_project,
49 serde::{Deserialize, Serialize},
50 slotmap_careful::SlotMap,
51 static_assertions::assert_not_impl_any,
52 thiserror::Error,
53 tracing::{debug, error, info},
54 void::{ResultVoidExt as _, Void},
55};
56
57pub(crate) use {
58 tor_async_utils::mpsc_channel_no_memquota,
59 tor_async_utils::stream_peek::StreamUnobtrusivePeeker,
60 tor_basic_utils::ByteQty as Qty,
61 tor_config::{ConfigBuildError, ExplicitOrAuto, ReconfigureError},
62 tor_error::{Bug, ErrorKind, HasKind, error_report, internal, into_internal, trace_report},
63 tor_log_ratelim::log_ratelim,
64 tor_rtcompat::{CoarseInstant, CoarseTimeProvider, DynTimeProvider, SpawnExt as _},
65};
66
67pub(crate) use crate::{
68 EnabledToken,
69 config::{Config, ConfigInner},
70 drop_bomb::{DropBomb, DropBombCondition},
71 drop_reentrancy,
72 error::{Error, ReclaimCrashed, StartupError, TrackerCorrupted},
73 if_enabled::IfEnabled,
74 memory_cost::{HasMemoryCost, HasTypedMemoryCost, TypedParticipation},
75 mtracker::{self, Account, IsParticipant, MemoryQuotaTracker, Participation},
76 private::Sealed,
77 refcount,
78 utils::DefaultExtTake,
79};