1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#[doc(hidden)]
pub mod reexports{
pub use std::{
ops::{Deref as __DerefTrait,DerefMut as __DerefMutTrait},
};
pub use crate::{
marker_type::ErasedObject as __ErasedObject,
pointer_trait::GetPointerKind as __GetPointerKind,
};
pub mod __sabi_re{
pub use abi_stable::{
erased_types::{
DynTrait,
GetVtable,
VTableDT,
traits::InterfaceFor,
},
marker_type::{
UnsafeIgnoredType,
SyncSend,UnsyncUnsend,UnsyncSend,SyncUnsend,
NonOwningPhantom,
},
pointer_trait::{CanTransmuteElement,TransmuteElement,OwnedPointer},
prefix_type::{PrefixRef, PrefixTypeTrait, WithMetadata},
traits::IntoInner,
sabi_types::{RRef,RMut,MovePtr},
sabi_trait::{
robject::{
RObject,
},
vtable::{
RObjectVtable_Ref, RObjectVtable, GetRObjectVTable,
VTableTO_DT,VTableTO_RO,VTableTO,
},
for_generated_code::{sabi_from_ref,sabi_from_mut},
},
std_types::RBox,
utils::{transmute_reference,transmute_mut_reference,take_manuallydrop},
extern_fn_panic_handling,
};
pub use core_extensions::{
utils::transmute_ignore_size,
TypeIdentity,
};
pub use std::{
marker::PhantomData,
mem::ManuallyDrop,
ptr,
};
}
}
pub mod prelude{
pub use crate::type_level::unerasability::{TU_Unerasable,TU_Opaque};
}
pub use crate::type_level::unerasability::{TU_Unerasable,TU_Opaque};
#[doc(hidden)]
pub mod for_generated_code;
#[cfg(any(test,feature="sabi_trait_examples"))]
pub mod examples;
pub mod doc_examples;
mod robject;
#[doc(hidden)]
pub mod vtable;
#[cfg(test)]
pub mod tests;
#[cfg(all(test,not(feature="only_new_tests")))]
pub mod test_supertraits;
use std::{
fmt::{Debug,Display},
marker::PhantomData,
};
use self::reexports::{*, __sabi_re::*};
pub use self::{
vtable::{VTableTO_DT,VTableTO_RO,VTableTO},
robject::{RObject, UneraseError, ReborrowBounds},
};
use crate::{
erased_types::{c_functions,InterfaceType},
marker_type::ErasedObject,
sabi_types::MaybeCmp,
};