diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /servo/components/style/hash.rs | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | servo/components/style/hash.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/servo/components/style/hash.rs b/servo/components/style/hash.rs new file mode 100644 index 0000000000..197c5c1283 --- /dev/null +++ b/servo/components/style/hash.rs @@ -0,0 +1,31 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +//! Reexports of hashglobe types in Gecko mode, and stdlib hashmap shims in Servo mode +//! +//! Can go away when the stdlib gets fallible collections +//! https://github.com/rust-lang/rfcs/pull/2116 + +use fxhash; + +#[cfg(feature = "gecko")] +pub use hashglobe::hash_map::HashMap; +#[cfg(feature = "gecko")] +pub use hashglobe::hash_set::HashSet; + +#[cfg(feature = "servo")] +pub use hashglobe::fake::{HashMap, HashSet}; + +/// Appropriate reexports of hash_map types +pub mod map { + #[cfg(feature = "gecko")] + pub use hashglobe::hash_map::{Entry, Iter}; + #[cfg(feature = "servo")] + pub use std::collections::hash_map::{Entry, Iter}; +} + +/// Hash map that uses the Fx hasher +pub type FxHashMap<K, V> = HashMap<K, V, fxhash::FxBuildHasher>; +/// Hash set that uses the Fx hasher +pub type FxHashSet<T> = HashSet<T, fxhash::FxBuildHasher>; |