#![recursion_limit = "512"]
#![warn(future_incompatible, rust_2018_idioms)]
#![allow(clippy::needless_doctest_main, clippy::type_complexity)]
#![forbid(unsafe_code)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#[macro_use]
pub mod ext;
#[macro_use]
pub mod error;
#[macro_use]
pub mod arguments;
#[macro_use]
pub mod pool;
pub mod connection;
#[macro_use]
pub mod transaction;
#[macro_use]
pub mod encode;
#[macro_use]
pub mod decode;
#[macro_use]
pub mod types;
#[macro_use]
pub mod query;
#[macro_use]
pub mod acquire;
#[macro_use]
pub mod column;
#[macro_use]
pub mod statement;
pub mod common;
pub mod database;
pub mod describe;
pub mod executor;
pub mod from_row;
pub mod fs;
pub mod io;
pub mod logger;
pub mod net;
pub mod query_as;
pub mod query_builder;
pub mod query_scalar;
pub mod raw_sql;
pub mod row;
pub mod rt;
pub mod sync;
pub mod type_checking;
pub mod type_info;
pub mod value;
#[cfg(feature = "migrate")]
pub mod migrate;
#[cfg(feature = "any")]
pub mod any;
#[cfg(feature = "migrate")]
pub mod testing;
pub use error::{Error, Result};
pub use either::Either;
pub use hashbrown::{hash_map, HashMap};
pub use indexmap::IndexMap;
pub use percent_encoding;
pub use smallvec::SmallVec;
pub use url::{self, Url};
pub use bytes;
pub mod driver_prelude {
pub use crate::{
acquire, common, decode, describe, encode, executor, ext, from_row, fs, io, logger, net,
pool, query, query_as, query_builder, query_scalar, rt, sync,
};
pub use crate::error::{Error, Result};
pub use crate::{hash_map, HashMap};
pub use either::Either;
}