crossbeam-skiplist/src/lib.rs
Line | Count | Source |
1 | 1 | //! TODO//! TODO |
2 | | |
3 | | #![doc(test( |
4 | | no_crate_inject, |
5 | | attr( |
6 | | deny(warnings, rust_2018_idioms), |
7 | | allow(dead_code, unused_assignments, unused_variables) |
8 | | ) |
9 | | ))] |
10 | | #![warn( |
11 | | missing_docs, |
12 | | missing_debug_implementations, |
13 | | rust_2018_idioms, |
14 | | unreachable_pub |
15 | | )] |
16 | | #![cfg_attr(not(feature = "std"), no_std)] |
17 | | #![cfg_attr(feature = "nightly", feature(cfg_target_has_atomic))] |
18 | | // matches! requires Rust 1.42 |
19 | | #![allow(clippy::match_like_matches_macro)] |
20 | | |
21 | | use cfg_if::cfg_if; |
22 | | |
23 | | #[cfg_attr(feature = "nightly", cfg(target_has_atomic = "ptr"))] |
24 | | cfg_if! { |
25 | | if #[cfg(feature = "alloc")] { |
26 | | extern crate alloc; |
27 | | |
28 | | use crossbeam_epoch as epoch; |
29 | | use crossbeam_utils as utils; |
30 | | |
31 | | pub mod base; |
32 | | #[doc(inline)] |
33 | | pub use crate::base::SkipList; |
34 | | } |
35 | | } |
36 | | |
37 | | cfg_if! { |
38 | | if #[cfg(feature = "std")] { |
39 | | pub mod map; |
40 | | #[doc(inline)] |
41 | | pub use crate::map::SkipMap; |
42 | | |
43 | | pub mod set; |
44 | | #[doc(inline)] |
45 | | pub use crate::set::SkipSet; |
46 | | } |
47 | | } |