Skip to main content

mz_ore/
lib.rs

1// Copyright Materialize, Inc. and contributors. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License in the LICENSE file at the
6// root of this repository, or online at
7//
8//     http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16//! Internal utility libraries for Materialize.
17//!
18//! **ore** (_n_): the raw material from which more valuable materials are extracted.
19//! Modules are included in this crate when they are broadly useful but too
20//! small to warrant their own crate.
21
22#![warn(missing_docs, missing_debug_implementations)]
23#![cfg_attr(nightly_doc_features, feature(doc_cfg))]
24
25#[cfg_attr(nightly_doc_features, doc(cfg(feature = "assert-no-tracing")))]
26#[cfg(feature = "assert-no-tracing")]
27pub mod assert;
28pub mod bits;
29#[cfg_attr(nightly_doc_features, doc(cfg(feature = "bytes")))]
30#[cfg(feature = "bytes")]
31pub mod bytes;
32pub mod cast;
33#[cfg_attr(nightly_doc_features, doc(cfg(feature = "async")))]
34#[cfg(feature = "async")]
35pub mod channel;
36#[cfg_attr(nightly_doc_features, doc(cfg(feature = "cli")))]
37#[cfg(feature = "cli")]
38pub mod cli;
39pub mod collections;
40pub mod env;
41pub mod error;
42pub mod fmt;
43#[cfg_attr(nightly_doc_features, doc(cfg(feature = "async")))]
44#[cfg(feature = "async")]
45pub mod future;
46pub mod graph;
47pub mod hash;
48pub mod hint;
49#[cfg(feature = "id_gen")]
50pub mod id_gen;
51pub mod iter;
52pub mod lex;
53pub mod memory;
54#[cfg_attr(nightly_doc_features, doc(cfg(feature = "metrics")))]
55#[cfg(feature = "metrics")]
56pub mod metrics;
57#[cfg_attr(nightly_doc_features, doc(cfg(feature = "network")))]
58#[cfg(feature = "network")]
59pub mod netio;
60pub mod now;
61pub mod num;
62pub mod option;
63#[cfg_attr(nightly_doc_features, doc(cfg(feature = "overflowing")))]
64#[cfg(feature = "overflowing")]
65pub mod overflowing;
66#[cfg_attr(nightly_doc_features, doc(cfg(all(feature = "pager", unix))))]
67#[cfg(all(feature = "pager", unix))]
68pub mod pager;
69#[cfg(not(target_family = "wasm"))]
70#[cfg(feature = "panic")]
71pub mod panic;
72pub mod path;
73pub mod permutations;
74#[cfg_attr(nightly_doc_features, doc(cfg(all(feature = "pool", unix))))]
75#[cfg(all(feature = "pool", unix))]
76pub mod pool;
77#[cfg(feature = "process")]
78pub mod process;
79#[cfg(feature = "region")]
80pub mod region;
81#[cfg_attr(nightly_doc_features, doc(cfg(feature = "process")))]
82pub mod result;
83#[cfg_attr(nightly_doc_features, doc(cfg(feature = "async")))]
84#[cfg(feature = "async")]
85pub mod retry;
86pub mod secure;
87pub mod serde;
88pub mod sql;
89#[cfg_attr(nightly_doc_features, doc(cfg(feature = "stack")))]
90#[cfg(feature = "stack")]
91pub mod stack;
92pub mod stats;
93pub mod str;
94#[cfg_attr(nightly_doc_features, doc(cfg(feature = "async")))]
95#[cfg(feature = "async")]
96pub mod task;
97#[cfg_attr(nightly_doc_features, doc(cfg(any(test, feature = "test"))))]
98#[cfg(any(test, feature = "test"))]
99pub mod test;
100pub mod thread;
101pub mod time;
102#[cfg_attr(nightly_doc_features, doc(cfg(feature = "tracing")))]
103#[cfg(feature = "tracing")]
104pub mod tracing;
105pub mod treat_as_equal;
106pub mod url;
107pub mod vec;
108
109pub use mz_ore_proc::{instrument, static_list, test};
110
111#[cfg_attr(nightly_doc_features, doc(cfg(feature = "overflowing")))]
112#[cfg(feature = "overflowing")]
113pub use overflowing::Overflowing;
114
115#[doc(hidden)]
116pub mod __private {
117    #[cfg(feature = "tracing")]
118    pub use tracing;
119}
120
121// Epoch: 1
122//
123// Bump this whenever we need to change the hash of a build without changing any code.