mongodb/
lib.rs

1#![doc = include_str!("../README.md")]
2#![warn(missing_docs)]
3#![warn(rustdoc::missing_crate_level_docs)]
4#![warn(clippy::cast_possible_truncation)]
5#![warn(clippy::cast_possible_wrap)]
6#![allow(
7    clippy::unreadable_literal,
8    clippy::cognitive_complexity,
9    clippy::float_cmp,
10    clippy::match_like_matches_macro,
11    clippy::derive_partial_eq_without_eq
12)]
13#![cfg_attr(docsrs, feature(doc_auto_cfg))]
14#![cfg_attr(test, type_length_limit = "80000000")]
15#![doc(html_root_url = "https://docs.rs/mongodb/3.2.3")]
16
17#[macro_use]
18pub mod options;
19
20pub use ::bson;
21#[cfg(feature = "in-use-encryption")]
22pub use ::mongocrypt;
23
24pub mod action;
25mod bson_util;
26pub mod change_stream;
27pub(crate) mod checked;
28mod client;
29mod cmap;
30mod coll;
31mod collation;
32mod compression;
33mod concern;
34mod cursor;
35mod db;
36pub mod error;
37pub mod event;
38pub mod gridfs;
39mod hello;
40pub(crate) mod id_set;
41mod index;
42mod operation;
43pub mod results;
44pub(crate) mod runtime;
45mod sdam;
46mod search_index;
47mod selection_criteria;
48mod serde_util;
49mod srv;
50#[cfg(feature = "sync")]
51pub mod sync;
52#[cfg(test)]
53mod test;
54#[cfg(feature = "tracing-unstable")]
55mod trace;
56pub(crate) mod tracking_arc;
57
58#[cfg(feature = "in-use-encryption")]
59pub use crate::client::csfle::client_encryption;
60pub use crate::{
61    client::{session::ClientSession, Client},
62    coll::Collection,
63    cursor::{
64        session::{SessionCursor, SessionCursorStream},
65        Cursor,
66    },
67    db::Database,
68};
69
70pub use client::session::ClusterTime;
71pub use coll::Namespace;
72pub use index::IndexModel;
73pub use sdam::public::*;
74pub use search_index::{SearchIndexModel, SearchIndexType};
75
76/// A boxed future.
77pub type BoxFuture<'a, T> = std::pin::Pin<Box<dyn std::future::Future<Output = T> + Send + 'a>>;
78
79#[cfg(not(feature = "compat-3-0-0"))]
80compile_error!(
81    "The feature 'compat-3-0-0' must be enabled to ensure forward compatibility with future \
82     versions of this crate."
83);