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;
33pub mod cgroup;
34#[cfg_attr(nightly_doc_features, doc(cfg(feature = "async")))]
35#[cfg(feature = "async")]
36pub mod channel;
37#[cfg_attr(nightly_doc_features, doc(cfg(feature = "cli")))]
38#[cfg(feature = "cli")]
39pub mod cli;
40pub mod collections;
41pub mod env;
42pub mod error;
43pub mod fmt;
44#[cfg_attr(nightly_doc_features, doc(cfg(feature = "async")))]
45#[cfg(feature = "async")]
46pub mod future;
47pub mod graph;
48pub mod hash;
49pub mod hint;
50#[cfg(feature = "id_gen")]
51pub mod id_gen;
52pub mod iter;
53pub mod lex;
54pub mod memory;
55#[cfg_attr(nightly_doc_features, doc(cfg(feature = "metrics")))]
56#[cfg(feature = "metrics")]
57pub mod metrics;
58#[cfg_attr(nightly_doc_features, doc(cfg(feature = "network")))]
59#[cfg(feature = "network")]
60pub mod netio;
61pub mod now;
62pub mod num;
63pub mod option;
64#[cfg_attr(nightly_doc_features, doc(cfg(feature = "overflowing")))]
65#[cfg(feature = "overflowing")]
66pub mod overflowing;
67#[cfg_attr(nightly_doc_features, doc(cfg(all(feature = "pager", unix))))]
68#[cfg(all(feature = "pager", unix))]
69pub mod pager;
70#[cfg(not(target_family = "wasm"))]
71#[cfg(feature = "panic")]
72pub mod panic;
73pub mod path;
74pub mod permutations;
75#[cfg_attr(nightly_doc_features, doc(cfg(all(feature = "pool", unix))))]
76#[cfg(all(feature = "pool", unix))]
77pub mod pool;
78#[cfg(feature = "process")]
79pub mod process;
80#[cfg(feature = "region")]
81pub mod region;
82#[cfg_attr(nightly_doc_features, doc(cfg(feature = "process")))]
83pub mod result;
84#[cfg_attr(nightly_doc_features, doc(cfg(feature = "async")))]
85#[cfg(feature = "async")]
86pub mod retry;
87pub mod secure;
88pub mod serde;
89pub mod sql;
90#[cfg_attr(nightly_doc_features, doc(cfg(feature = "stack")))]
91#[cfg(feature = "stack")]
92pub mod stack;
93pub mod stats;
94pub mod str;
95#[cfg_attr(nightly_doc_features, doc(cfg(feature = "async")))]
96#[cfg(feature = "async")]
97pub mod task;
98#[cfg_attr(nightly_doc_features, doc(cfg(any(test, feature = "test"))))]
99#[cfg(any(test, feature = "test"))]
100pub mod test;
101pub mod thread;
102pub mod time;
103#[cfg_attr(nightly_doc_features, doc(cfg(feature = "tracing")))]
104#[cfg(feature = "tracing")]
105pub mod tracing;
106pub mod treat_as_equal;
107pub mod url;
108pub mod vec;
109
110pub use mz_ore_proc::{instrument, static_list, test};
111
112#[cfg_attr(nightly_doc_features, doc(cfg(feature = "overflowing")))]
113#[cfg(feature = "overflowing")]
114pub use overflowing::Overflowing;
115
116#[doc(hidden)]
117pub mod __private {
118    #[cfg(feature = "tracing")]
119    pub use tracing;
120}
121
122// Epoch: 1
123//
124// Bump this whenever we need to change the hash of a build without changing any code.