use crate::{ErrorUnion, SendSyncError};
pub enum AnyError {}
impl<A> From<A> for ErrorUnion<AnyError>
where
A: SendSyncError,
{
#[cfg_attr(feature = "location", track_caller)]
fn from(value: A) -> Self {
ErrorUnion::new(value)
}
}
impl<T, A> From<T> for ErrorUnion<(A,)>
where
T: SendSyncError + Into<A>,
A: SendSyncError,
{
#[cfg_attr(feature = "location", track_caller)]
fn from(value: T) -> Self {
ErrorUnion::new(value.into())
}
}
impl<A> From<ErrorUnion<(A,)>> for ErrorUnion<AnyError>
where
A: SendSyncError,
{
fn from(value: ErrorUnion<(A,)>) -> Self {
ErrorUnion::erase(value)
}
}
impl<A, B> From<ErrorUnion<(A, B)>> for ErrorUnion<AnyError>
where
A: SendSyncError,
B: SendSyncError,
{
fn from(value: ErrorUnion<(A, B)>) -> Self {
ErrorUnion::erase(value)
}
}
impl<A, B, C> From<ErrorUnion<(A, B, C)>> for ErrorUnion<AnyError>
where
A: SendSyncError,
B: SendSyncError,
C: SendSyncError,
{
fn from(value: ErrorUnion<(A, B, C)>) -> Self {
ErrorUnion::erase(value)
}
}
impl<A, B, C, D> From<ErrorUnion<(A, B, C, D)>> for ErrorUnion<AnyError>
where
A: SendSyncError,
B: SendSyncError,
C: SendSyncError,
D: SendSyncError,
{
fn from(value: ErrorUnion<(A, B, C, D)>) -> Self {
ErrorUnion::erase(value)
}
}
impl<A, B, C, D, E> From<ErrorUnion<(A, B, C, D, E)>> for ErrorUnion<AnyError>
where
A: SendSyncError,
B: SendSyncError,
C: SendSyncError,
D: SendSyncError,
E: SendSyncError,
{
fn from(value: ErrorUnion<(A, B, C, D, E)>) -> Self {
ErrorUnion::erase(value)
}
}
impl<A, B, C, D, E, F> From<ErrorUnion<(A, B, C, D, E, F)>> for ErrorUnion<AnyError>
where
A: SendSyncError,
B: SendSyncError,
C: SendSyncError,
D: SendSyncError,
E: SendSyncError,
F: SendSyncError,
{
fn from(value: ErrorUnion<(A, B, C, D, E, F)>) -> Self {
ErrorUnion::erase(value)
}
}
impl<A, B, C, D, E, F, G> From<ErrorUnion<(A, B, C, D, E, F, G)>> for ErrorUnion<AnyError>
where
A: SendSyncError,
B: SendSyncError,
C: SendSyncError,
D: SendSyncError,
E: SendSyncError,
F: SendSyncError,
G: SendSyncError,
{
fn from(value: ErrorUnion<(A, B, C, D, E, F, G)>) -> Self {
ErrorUnion::erase(value)
}
}
impl<A, B, C, D, E, F, G, H> From<ErrorUnion<(A, B, C, D, E, F, G, H)>> for ErrorUnion<AnyError>
where
A: SendSyncError,
B: SendSyncError,
C: SendSyncError,
D: SendSyncError,
E: SendSyncError,
F: SendSyncError,
G: SendSyncError,
H: SendSyncError,
{
fn from(value: ErrorUnion<(A, B, C, D, E, F, G, H)>) -> Self {
ErrorUnion::erase(value)
}
}
impl<A, B, C, D, E, F, G, H, I> From<ErrorUnion<(A, B, C, D, E, F, G, H, I)>>
for ErrorUnion<AnyError>
where
A: SendSyncError,
B: SendSyncError,
C: SendSyncError,
D: SendSyncError,
E: SendSyncError,
F: SendSyncError,
G: SendSyncError,
H: SendSyncError,
I: SendSyncError,
{
fn from(value: ErrorUnion<(A, B, C, D, E, F, G, H, I)>) -> Self {
ErrorUnion::erase(value)
}
}