Skip to main content

Module unord

Module unord 

Source
Expand description

This module contains collection types that don’t expose their internal ordering. This is a useful property for deterministic computations, such as required by the query system.

Re-exportsΒ§

use std::borrow::Borrow; πŸ”’
use std::borrow::BorrowMut; πŸ”’
use std::collections::hash_map::Entry; πŸ”’
use std::collections::hash_map::OccupiedError; πŸ”’ Experimental
use std::hash::Hash; πŸ”’
use std::hash::Hash; πŸ”’
use std::iter::Product; πŸ”’
use std::iter::Sum; πŸ”’
use std::ops::Index; πŸ”’
use rustc_macros::Decodable_NoContext; πŸ”’
use rustc_macros::Encodable_NoContext; πŸ”’
use crate::fingerprint::Fingerprint; πŸ”’
use crate::fx::FxBuildHasher; πŸ”’
use crate::fx::FxHashMap; πŸ”’
use crate::fx::FxHashSet; πŸ”’
use crate::stable_hash::StableCompare; πŸ”’
use crate::stable_hash::StableHash; πŸ”’
use crate::stable_hash::StableHashCtxt; πŸ”’
use crate::stable_hash::StableHasher; πŸ”’
use crate::stable_hash::ToStableHashKey; πŸ”’

StructsΒ§

UnordBag
This is a collection type that tries very hard to not expose any internal iteration. This is a useful property when trying to uphold the determinism invariants imposed by the query system.
UnordItems
UnordItems is the order-less version of Iterator. It only contains methods that don’t (easily) expose an ordering of the underlying items.
UnordMap
This is a map collection type that tries very hard to not expose any internal iteration. This is a useful property when trying to uphold the determinism invariants imposed by the query system.
UnordSet
This is a set collection type that tries very hard to not expose any internal iteration. This is a useful property when trying to uphold the determinism invariants imposed by the query system.

TraitsΒ§

ExtendUnord
UnordCollection πŸ”’
A marker trait specifying that Self can consume UnordItems<_> without exposing any internal ordering.

FunctionsΒ§

hash_iter_order_independent πŸ”’
to_sorted_vec πŸ”’