#[allow(missing_docs, non_camel_case_types)]
pub mod tag {
pub struct Boolean;
pub struct I8;
pub struct I16;
pub struct I32;
pub struct I64;
pub struct U8;
pub struct U16;
pub struct U32;
pub struct U64;
pub struct F32;
pub struct F64;
pub struct Text;
pub struct VarChar;
pub struct Binary;
pub struct Blob;
pub struct Timestamp;
pub struct Date;
pub struct Time;
pub struct DateTime;
}
#[diagnostic::on_unimplemented(
message = "field type `{Self}` is not compatible with the requested column storage `{Storage}`",
label = "incompatible Rust type for `#[column(type = ...)]`",
note = "see `toasty::codegen_support::storage` for the compatibility table"
)]
pub trait CompatibleWith<Storage> {}
impl<T, S> CompatibleWith<S> for Option<T> where T: CompatibleWith<S> {}
impl CompatibleWith<tag::Boolean> for bool {}
impl CompatibleWith<tag::I8> for i8 {}
impl CompatibleWith<tag::I16> for i16 {}
impl CompatibleWith<tag::I32> for i32 {}
impl CompatibleWith<tag::I64> for i64 {}
impl CompatibleWith<tag::U8> for u8 {}
impl CompatibleWith<tag::U16> for u16 {}
impl CompatibleWith<tag::U32> for u32 {}
impl CompatibleWith<tag::U64> for u64 {}
impl CompatibleWith<tag::F32> for f32 {}
impl CompatibleWith<tag::F64> for f64 {}
impl CompatibleWith<tag::F32> for f64 {}
impl CompatibleWith<tag::F64> for f32 {}
impl CompatibleWith<tag::Text> for String {}
impl CompatibleWith<tag::VarChar> for String {}
impl CompatibleWith<tag::Binary> for Vec<u8> {}
impl CompatibleWith<tag::Blob> for Vec<u8> {}
impl CompatibleWith<tag::Text> for uuid::Uuid {}
impl CompatibleWith<tag::VarChar> for uuid::Uuid {}
impl CompatibleWith<tag::Blob> for uuid::Uuid {}
impl CompatibleWith<tag::Binary> for uuid::Uuid {}
#[cfg(feature = "rust_decimal")]
impl CompatibleWith<tag::Text> for rust_decimal::Decimal {}
#[cfg(feature = "rust_decimal")]
impl CompatibleWith<tag::VarChar> for rust_decimal::Decimal {}
#[cfg(feature = "bigdecimal")]
impl CompatibleWith<tag::Text> for bigdecimal::BigDecimal {}
#[cfg(feature = "bigdecimal")]
impl CompatibleWith<tag::VarChar> for bigdecimal::BigDecimal {}
#[cfg(feature = "jiff")]
mod jiff_impls {
use super::{CompatibleWith, tag};
impl CompatibleWith<tag::Timestamp> for jiff::Timestamp {}
impl CompatibleWith<tag::Date> for jiff::civil::Date {}
impl CompatibleWith<tag::Time> for jiff::civil::Time {}
impl CompatibleWith<tag::DateTime> for jiff::civil::DateTime {}
impl CompatibleWith<tag::Text> for jiff::Timestamp {}
impl CompatibleWith<tag::VarChar> for jiff::Timestamp {}
impl CompatibleWith<tag::Text> for jiff::civil::Date {}
impl CompatibleWith<tag::VarChar> for jiff::civil::Date {}
impl CompatibleWith<tag::Text> for jiff::civil::Time {}
impl CompatibleWith<tag::VarChar> for jiff::civil::Time {}
impl CompatibleWith<tag::Text> for jiff::civil::DateTime {}
impl CompatibleWith<tag::VarChar> for jiff::civil::DateTime {}
}