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
//!
//! Defines experimental traits and historical traits.
//!
//! Active traits in use in the current release.
//!
//! - [`AsifBytes`] converts a reference to a variable or a slice into
//! a transmuted reference to a slice of bytes without copying data.
//!
//! - [`PushBulk`] defines a method to extend a vector whose
//! additional slots are filled by the specified closure.
//!
//! Historical traits not in use in the recent releases. (They will
//! be removed when the version number is bumped up to 0.2.)
//!
//! - [`EncastArg`] and [`DecastArg`] provide some older versions of
//! APIs of this crate.
//!
//! - [`FlipUnsized`] provides method `flip_var` for a slice and
//! a tuple.
//!
//! - [`Deslice`], [`Enslice`] and [`Reslice`] are general-purpose
//! ancestors of [`AsifBytes`]. They convert a reference to a
//! variable or a slice into a transmuted reference to a slice or a
//! variable of the specified type without copying data. Although
//! it is useful in certain situations, its use cases will be
//! limited because its methods are considered unsafe.
//!
//! - [`AsBytes`] is an older version of [`AsifBytes`]. It is
//! deprecated because one of its method names is conflicted with
//! the one of `mem::MaybeUninit`. In order to support method
//! `as_bytes_mut` for `mem::MaybeUninit`, and to avoid possible
//! other name conflict, [`AsBytes`] is renamed to [`AsifBytes`].
//!
// Modules in use.
// Modules not in use.
// Traits in use.
pub use AsifBytes;
pub use PushBulk;
// Traits not in use.
pub use Deslice;
pub use Enslice;
pub use Reslice;
pub use DecastArg;
pub use EncastArg;
pub use FlipUnsized;
pub use AsBytes;