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
use std::fmt::Debug;
use apple_quant_core::log::error;
pub trait VolumeConstruct<
T,
E: Debug,
> {
fn new_checked(
t: impl Into<T>,
) -> Result<Self, E>
where
Self: Sized;
fn new_unchecked(
t: impl Into<T>,
) -> Self;
fn new_unchecked_release(
t: impl Into<T>,
) -> Self
where
Self: Sized,
{
#[cfg(debug_assertions)]
match Self::new_checked(t) {
Ok(
volume,
) => volume,
Err(e) => {
error!("{e:?}");
panic!();
},
}
#[cfg(not(debug_assertions))]
Self::new_unchecked(t)
}
}