pub struct Set<T>(pub T);
impl<T> Set<T> {
#[inline]
pub fn into_inner(self) -> T {
self.0
}
}
pub struct Unset;
#[jacquard_common::deps::codegen::rustversion::attr(
since(1.78.0),
diagnostic::on_unimplemented(
message = "the field `{Self}` was not set, but this method requires it to be set",
label = "the field `{Self}` was not set"
)
)]
pub trait IsSet: private::Sealed {}
#[jacquard_common::deps::codegen::rustversion::attr(
since(1.78.0),
diagnostic::on_unimplemented(
message = "the field `{Self}` was already set, but this method requires it to be unset",
label = "the field `{Self}` was already set"
)
)]
pub trait IsUnset: private::Sealed {}
impl<T> IsSet for Set<T> {}
impl IsUnset for Unset {}
mod private {
pub trait Sealed {}
impl<T> Sealed for super::Set<T> {}
impl Sealed for super::Unset {}
}