http_type/any/type.rs
1use crate::*;
2
3/// A type alias for a boxed `Any` trait object.
4///
5/// This represents a dynamically dispatched trait object that owns its data.
6pub type BoxAny = Box<dyn Any>;
7
8/// A type alias for an `Rc` wrapped `Any` trait object.
9///
10/// This represents a reference-counted trait object that can be shared across threads.
11pub type RcAny = Rc<dyn Any>;
12
13/// A type alias for an `Arc` wrapped `Any` trait object.
14///
15/// This represents an atomically reference-counted trait object that can be shared across threads.
16pub type ArcAny = Arc<dyn Any>;
17
18/// A type alias for a boxed `Any + Send` trait object.
19///
20/// This represents a dynamically dispatched trait object that owns its data and is safe to send across threads.
21pub type BoxAnySend = Box<dyn Any + Send>;
22
23/// A type alias for an `Rc` wrapped `Any + Send` trait object.
24///
25/// This represents a reference-counted trait object that can be shared across threads and is safe to send.
26pub type RcAnySend = Rc<dyn Any + Send>;
27
28/// A type alias for an `Arc` wrapped `Any + Send` trait object.
29///
30/// This represents an atomically reference-counted trait object that can be shared across threads and is safe to send.
31pub type ArcAnySend = Arc<dyn Any + Send>;
32
33/// A type alias for a boxed `Any + Sync` trait object.
34///
35/// This represents a dynamically dispatched trait object that owns its data and is safe to share across threads.
36pub type BoxAnySync = Box<dyn Any + Sync>;
37
38/// A type alias for an `Rc` wrapped `Any + Sync` trait object.
39///
40/// This represents a reference-counted trait object that can be shared across threads and is safe to share.
41pub type RcAnySync = Rc<dyn Any + Sync>;
42
43/// A type alias for an `Arc` wrapped `Any + Sync` trait object.
44///
45/// This represents an atomically reference-counted trait object that can be shared across threads and is safe to share.
46pub type ArcAnySync = Arc<dyn Any + Sync>;
47
48/// A type alias for a boxed `Any + Send + Sync` trait object.
49///
50/// This represents a dynamically dispatched trait object that owns its data and is safe to send and share across threads.
51pub type BoxAnySendSync = Box<dyn Any + Send + Sync>;
52
53/// A type alias for an `Rc` wrapped `Any + Send + Sync` trait object.
54///
55/// This represents a reference-counted trait object that can be shared across threads and is safe to send and share.
56pub type RcAnySendSync = Rc<dyn Any + Send + Sync>;
57
58/// A type alias for an `Arc` wrapped `Any + Send + Sync` trait object.
59///
60/// This represents an atomically reference-counted trait object that can be shared across threads and is safe to send and share.
61pub type ArcAnySendSync = Arc<dyn Any + Send + Sync>;