From bea095ef08cce1d315bf8381ee36347d5c0b857c Mon Sep 17 00:00:00 2001 From: korken89 Date: Mon, 17 Jan 2022 07:18:16 +0000 Subject: [PATCH] deploy: 7546c64e791e7d8f67d12b0a9fc74031ec1b8cba --- heapless/all.html | 2 +- heapless/histbuf/struct.OldestOrdered.html | 11 + heapless/index.html | 1 + heapless/sidebar-items.js | 2 +- heapless/struct.HistoryBuffer.html | 31 ++- heapless/struct.OldestOrdered.html | 134 ++++++++++ implementors/core/clone/trait.Clone.js | 2 +- .../iter/traits/iterator/trait.Iterator.js | 2 +- implementors/core/marker/trait.Freeze.js | 2 +- implementors/core/marker/trait.Send.js | 2 +- implementors/core/marker/trait.Sync.js | 2 +- implementors/core/marker/trait.Unpin.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 2 +- .../panic/unwind_safe/trait.UnwindSafe.js | 2 +- search-index.js | 2 +- src/heapless/histbuf.rs.html | 232 ++++++++++++++++++ src/heapless/lib.rs.html | 2 +- 17 files changed, 411 insertions(+), 22 deletions(-) create mode 100644 heapless/histbuf/struct.OldestOrdered.html create mode 100644 heapless/struct.OldestOrdered.html diff --git a/heapless/all.html b/heapless/all.html index b7b2ada5..7b29596b 100644 --- a/heapless/all.html +++ b/heapless/all.html @@ -1,5 +1,5 @@ List of all items in this crate

List of all items[] -

Structs

Enums

Traits

Typedefs

+

Structs

Enums

Traits

Typedefs

\ No newline at end of file diff --git a/heapless/histbuf/struct.OldestOrdered.html b/heapless/histbuf/struct.OldestOrdered.html new file mode 100644 index 00000000..5f3824b4 --- /dev/null +++ b/heapless/histbuf/struct.OldestOrdered.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../heapless/struct.OldestOrdered.html...

+ + + \ No newline at end of file diff --git a/heapless/index.html b/heapless/index.html index 7f3fa550..b1f8ad51 100644 --- a/heapless/index.html +++ b/heapless/index.html @@ -71,6 +71,7 @@ objects in the list will not cause a performance hit.

Fixed capacity IndexMap

Fixed capacity IndexSet.

A fixed capacity map / dictionary that performs lookups via linear search

+

An iterator on the underlying buffer ordered from oldest data to newest

A fixed capacity String

A fixed capacity Vec

Type Definitions

diff --git a/heapless/sidebar-items.js b/heapless/sidebar-items.js index eb918643..6d924ab4 100644 --- a/heapless/sidebar-items.js +++ b/heapless/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"mod":[["binary_heap","A priority queue implemented with a binary heap."],["mpmc","A fixed capacity Multiple-Producer Multiple-Consumer (MPMC) lock-free queue"],["pool","A heap-less, interrupt-safe, lock-free memory pool (*)"],["sorted_linked_list","A fixed sorted priority linked list, similar to `BinaryHeap` but with different properties on `push`, `pop`, etc. For example, the sorting of the list will never `memcpy` the underlying value, so having large objects in the list will not cause a performance hit."],["spsc","Fixed capacity Single Producer Single Consumer (SPSC) queue"]],"struct":[["Deque","A fixed capacity double-ended queue."],["HistoryBuffer","A “history buffer”, similar to a write-only ring buffer of fixed length."],["IndexMap","Fixed capacity `IndexMap`"],["IndexSet","Fixed capacity `IndexSet`."],["LinearMap","A fixed capacity map / dictionary that performs lookups via linear search"],["String","A fixed capacity `String`"],["Vec","A fixed capacity `Vec`"]],"type":[["FnvIndexMap","A `heapless::IndexMap` using the default FNV hasher"],["FnvIndexSet","A `heapless::IndexSet` using the default FNV hasher. A list of all Methods and Traits available for `FnvIndexSet` can be found in the `heapless::IndexSet` documentation."]]}); \ No newline at end of file +initSidebarItems({"mod":[["binary_heap","A priority queue implemented with a binary heap."],["mpmc","A fixed capacity Multiple-Producer Multiple-Consumer (MPMC) lock-free queue"],["pool","A heap-less, interrupt-safe, lock-free memory pool (*)"],["sorted_linked_list","A fixed sorted priority linked list, similar to `BinaryHeap` but with different properties on `push`, `pop`, etc. For example, the sorting of the list will never `memcpy` the underlying value, so having large objects in the list will not cause a performance hit."],["spsc","Fixed capacity Single Producer Single Consumer (SPSC) queue"]],"struct":[["Deque","A fixed capacity double-ended queue."],["HistoryBuffer","A “history buffer”, similar to a write-only ring buffer of fixed length."],["IndexMap","Fixed capacity `IndexMap`"],["IndexSet","Fixed capacity `IndexSet`."],["LinearMap","A fixed capacity map / dictionary that performs lookups via linear search"],["OldestOrdered","An iterator on the underlying buffer ordered from oldest data to newest"],["String","A fixed capacity `String`"],["Vec","A fixed capacity `Vec`"]],"type":[["FnvIndexMap","A `heapless::IndexMap` using the default FNV hasher"],["FnvIndexSet","A `heapless::IndexSet` using the default FNV hasher. A list of all Methods and Traits available for `FnvIndexSet` can be found in the `heapless::IndexSet` documentation."]]}); \ No newline at end of file diff --git a/heapless/struct.HistoryBuffer.html b/heapless/struct.HistoryBuffer.html index c500658a..900c9ae8 100644 --- a/heapless/struct.HistoryBuffer.html +++ b/heapless/struct.HistoryBuffer.html @@ -1,4 +1,4 @@ -HistoryBuffer in heapless - Rust

Struct heapless::HistoryBuffer[][src]

pub struct HistoryBuffer<T, const N: usize> { /* fields omitted */ }
Expand description

A “history buffer”, similar to a write-only ring buffer of fixed length.

+HistoryBuffer in heapless - Rust

Struct heapless::HistoryBuffer[][src]

pub struct HistoryBuffer<T, const N: usize> { /* fields omitted */ }
Expand description

A “history buffer”, similar to a write-only ring buffer of fixed length.

This buffer keeps a fixed number of elements. On write, the oldest element is overwritten. Thus, the buffer is useful to keep a history of values with some desired depth, and for example calculate a rolling average.

@@ -43,7 +43,7 @@ type T.

// All elements are four assert_eq!(x.as_slice(), [4; 16]);

Clears the buffer, replacing every element with the given value.

-

Returns the current fill level of the buffer.

+

Returns the current fill level of the buffer.

Returns the capacity of the buffer, which is the length of the underlying backing array.

Writes an element to the buffer, overwriting the oldest value.

@@ -60,16 +60,27 @@ elements will actually be stored.

assert_eq!(x.recent(), Some(&10));

Returns the array slice backing the buffer, without keeping track of the write position. Therefore, the element order is unspecified.

-

Trait Implementations

Performs the conversion.

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

The resulting type after dereferencing.

-

Dereferences the value.

-

Executes the destructor for this type. Read more

-

Extends a collection with the contents of an iterator. Read more

+

Returns an iterator for iterating over the buffer from oldest to newest.

+
Examples
+
use heapless::HistoryBuffer;
+
+let mut buffer: HistoryBuffer<u8, 6> = HistoryBuffer::new();
+buffer.extend([0, 0, 0, 1, 2, 3, 4, 5, 6]);
+let expected = [1, 2, 3, 4, 5, 6];
+for (x, y) in buffer.oldest_ordered().zip(expected.iter()) {
+    assert_eq!(x, y)
+}
+
+

Trait Implementations

Performs the conversion.

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

The resulting type after dereferencing.

+

Dereferences the value.

+

Executes the destructor for this type. Read more

+

Extends a collection with the contents of an iterator. Read more

🔬 This is a nightly-only experimental API. (extend_one)

Extends a collection with exactly one element.

🔬 This is a nightly-only experimental API. (extend_one)

Reserves capacity in a collection for the given number of additional elements. Read more

-

Extends a collection with the contents of an iterator. Read more

+

Extends a collection with the contents of an iterator. Read more

🔬 This is a nightly-only experimental API. (extend_one)

Extends a collection with exactly one element.

🔬 This is a nightly-only experimental API. (extend_one)

Reserves capacity in a collection for the given number of additional elements. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

diff --git a/heapless/struct.OldestOrdered.html b/heapless/struct.OldestOrdered.html new file mode 100644 index 00000000..bf519fd0 --- /dev/null +++ b/heapless/struct.OldestOrdered.html @@ -0,0 +1,134 @@ +OldestOrdered in heapless - Rust

Struct heapless::OldestOrdered[][src]

pub struct OldestOrdered<'a, T, const N: usize> { /* fields omitted */ }
Expand description

An iterator on the underlying buffer ordered from oldest data to newest

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

The type of the elements being iterated over.

+

Advances the iterator and returns the next value. Read more

+

Returns the bounds on the remaining length of the iterator. Read more

+

Consumes the iterator, counting the number of iterations and returning it. Read more

+

Consumes the iterator, returning the last element. Read more

+
🔬 This is a nightly-only experimental API. (iter_advance_by)

recently added

+

Advances the iterator by n elements. Read more

+

Returns the nth element of the iterator. Read more

+

Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more

+

Takes two iterators and creates a new iterator over both in sequence. Read more

+

‘Zips up’ two iterators into a single iterator of pairs. Read more

+
🔬 This is a nightly-only experimental API. (iter_intersperse)

recently added

+

Creates a new iterator which places a copy of separator between adjacent +items of the original iterator. Read more

+
🔬 This is a nightly-only experimental API. (iter_intersperse)

recently added

+

Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more

+

Takes a closure and creates an iterator which calls that closure on each +element. Read more

+

Calls a closure on each element of an iterator. Read more

+

Creates an iterator which uses a closure to determine if an element +should be yielded. Read more

+

Creates an iterator that both filters and maps. Read more

+

Creates an iterator which gives the current iteration count as well as +the next value. Read more

+

Creates an iterator which can use the peek and peek_mut methods +to look at the next element of the iterator without consuming it. See +their documentation for more information. Read more

+

Creates an iterator that skips elements based on a predicate. Read more

+

Creates an iterator that yields elements based on a predicate. Read more

+

Creates an iterator that both yields elements based on a predicate and maps. Read more

+

Creates an iterator that skips the first n elements. Read more

+

Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more

+

An iterator adapter similar to fold that holds internal state and +produces a new iterator. Read more

+

Creates an iterator that works like map, but flattens nested structure. Read more

+

Creates an iterator that flattens nested structure. Read more

+

Creates an iterator which ends after the first None. Read more

+

Does something with each element of an iterator, passing the value on. Read more

+

Borrows an iterator, rather than consuming it. Read more

+

Transforms an iterator into a collection. Read more

+

Consumes an iterator, creating two collections from it. Read more

+
🔬 This is a nightly-only experimental API. (iter_partition_in_place)

new API

+

Reorders the elements of this iterator in-place according to the given predicate, +such that all those that return true precede all those that return false. +Returns the number of true elements found. Read more

+
🔬 This is a nightly-only experimental API. (iter_is_partitioned)

new API

+

Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more

+

An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more

+

An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more

+

Folds every element into an accumulator by applying an operation, +returning the final result. Read more

+

Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more

+

Tests if every element of the iterator matches a predicate. Read more

+

Tests if any element of the iterator matches a predicate. Read more

+

Searches for an element of an iterator that satisfies a predicate. Read more

+

Applies function to the elements of iterator and returns +the first non-none result. Read more

+
🔬 This is a nightly-only experimental API. (try_find)

new API

+

Applies function to the elements of iterator and returns +the first true result or the first error. Read more

+

Searches for an element in an iterator, returning its index. Read more

+

Searches for an element in an iterator from the right, returning its +index. Read more

+

Returns the maximum element of an iterator. Read more

+

Returns the minimum element of an iterator. Read more

+

Returns the element that gives the maximum value from the +specified function. Read more

+

Returns the element that gives the maximum value with respect to the +specified comparison function. Read more

+

Returns the element that gives the minimum value from the +specified function. Read more

+

Returns the element that gives the minimum value with respect to the +specified comparison function. Read more

+

Reverses an iterator’s direction. Read more

+

Converts an iterator of pairs into a pair of containers. Read more

+

Creates an iterator which copies all of its elements. Read more

+

Creates an iterator which clones all of its elements. Read more

+

Repeats an iterator endlessly. Read more

+

Sums the elements of an iterator. Read more

+

Iterates over the entire iterator, multiplying all the elements Read more

+

Lexicographically compares the elements of this Iterator with those +of another. Read more

+
🔬 This is a nightly-only experimental API. (iter_order_by)

Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more

+

Lexicographically compares the elements of this Iterator with those +of another. Read more

+
🔬 This is a nightly-only experimental API. (iter_order_by)

Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more

+

Determines if the elements of this Iterator are equal to those of +another. Read more

+
🔬 This is a nightly-only experimental API. (iter_order_by)

Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more

+

Determines if the elements of this Iterator are unequal to those of +another. Read more

+

Determines if the elements of this Iterator are lexicographically +less than those of another. Read more

+

Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more

+

Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more

+

Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more

+
🔬 This is a nightly-only experimental API. (is_sorted)

new API

+

Checks if the elements of this iterator are sorted. Read more

+
🔬 This is a nightly-only experimental API. (is_sorted)

new API

+

Checks if the elements of this iterator are sorted using the given comparator function. Read more

+
🔬 This is a nightly-only experimental API. (is_sorted)

new API

+

Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Performs the conversion.

+

The type of the elements being iterated over.

+

Which kind of iterator are we turning this into?

+

Creates an iterator from a value. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index c7b8bdeb..ead258c3 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; implementors["byteorder"] = [{"text":"impl Clone for BigEndian","synthetic":false,"types":["byteorder::BigEndian"]},{"text":"impl Clone for LittleEndian","synthetic":false,"types":["byteorder::LittleEndian"]}]; implementors["hash32"] = [{"text":"impl<H> Clone for BuildHasherDefault<H> where
    H: Default + Hasher
","synthetic":false,"types":["hash32::BuildHasherDefault"]}]; -implementors["heapless"] = [{"text":"impl<T, const N: usize> Clone for Deque<T, N> where
    T: Clone
","synthetic":false,"types":["heapless::deque::Deque"]},{"text":"impl<K, V, S, const N: usize> Clone for IndexMap<K, V, S, N> where
    K: Eq + Hash + Clone,
    V: Clone,
    S: Clone
","synthetic":false,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> Clone for IndexSet<T, S, N> where
    T: Eq + Hash + Clone,
    S: Clone
","synthetic":false,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> Clone for LinearMap<K, V, N> where
    K: Eq + Clone,
    V: Clone
","synthetic":false,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> Clone for String<N>","synthetic":false,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> Clone for Vec<T, N> where
    T: Clone
","synthetic":false,"types":["heapless::vec::Vec"]},{"text":"impl<T, K, const N: usize> Clone for BinaryHeap<T, K, N> where
    K: Kind,
    T: Ord + Clone
","synthetic":false,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<P> Clone for Arc<P> where
    P: Pool
","synthetic":false,"types":["heapless::pool::singleton::arc::Arc"]},{"text":"impl Clone for LinkedIndexU8","synthetic":false,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl Clone for LinkedIndexU16","synthetic":false,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl Clone for LinkedIndexUsize","synthetic":false,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<T, const N: usize> Clone for Queue<T, N> where
    T: Clone
","synthetic":false,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> Clone for Iter<'a, T, N>","synthetic":false,"types":["heapless::spsc::Iter"]}]; +implementors["heapless"] = [{"text":"impl<T, const N: usize> Clone for Deque<T, N> where
    T: Clone
","synthetic":false,"types":["heapless::deque::Deque"]},{"text":"impl<'a, T: Clone, const N: usize> Clone for OldestOrdered<'a, T, N>","synthetic":false,"types":["heapless::histbuf::OldestOrdered"]},{"text":"impl<K, V, S, const N: usize> Clone for IndexMap<K, V, S, N> where
    K: Eq + Hash + Clone,
    V: Clone,
    S: Clone
","synthetic":false,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> Clone for IndexSet<T, S, N> where
    T: Eq + Hash + Clone,
    S: Clone
","synthetic":false,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> Clone for LinearMap<K, V, N> where
    K: Eq + Clone,
    V: Clone
","synthetic":false,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> Clone for String<N>","synthetic":false,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> Clone for Vec<T, N> where
    T: Clone
","synthetic":false,"types":["heapless::vec::Vec"]},{"text":"impl<T, K, const N: usize> Clone for BinaryHeap<T, K, N> where
    K: Kind,
    T: Ord + Clone
","synthetic":false,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<P> Clone for Arc<P> where
    P: Pool
","synthetic":false,"types":["heapless::pool::singleton::arc::Arc"]},{"text":"impl Clone for LinkedIndexU8","synthetic":false,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl Clone for LinkedIndexU16","synthetic":false,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl Clone for LinkedIndexUsize","synthetic":false,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<T, const N: usize> Clone for Queue<T, N> where
    T: Clone
","synthetic":false,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> Clone for Iter<'a, T, N>","synthetic":false,"types":["heapless::spsc::Iter"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/iter/traits/iterator/trait.Iterator.js b/implementors/core/iter/traits/iterator/trait.Iterator.js index e959b2f3..24455518 100644 --- a/implementors/core/iter/traits/iterator/trait.Iterator.js +++ b/implementors/core/iter/traits/iterator/trait.Iterator.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["heapless"] = [{"text":"impl<'a, T, Idx, K, const N: usize> Iterator for Iter<'a, T, Idx, K, N> where
    T: Ord,
    Idx: SortedLinkedListIndex,
    K: Kind
","synthetic":false,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, const N: usize> Iterator for Iter<'a, T, N>","synthetic":false,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> Iterator for IterMut<'a, T, N>","synthetic":false,"types":["heapless::spsc::IterMut"]}]; +implementors["heapless"] = [{"text":"impl<'a, T, const N: usize> Iterator for OldestOrdered<'a, T, N>","synthetic":false,"types":["heapless::histbuf::OldestOrdered"]},{"text":"impl<'a, T, Idx, K, const N: usize> Iterator for Iter<'a, T, Idx, K, N> where
    T: Ord,
    Idx: SortedLinkedListIndex,
    K: Kind
","synthetic":false,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, const N: usize> Iterator for Iter<'a, T, N>","synthetic":false,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> Iterator for IterMut<'a, T, N>","synthetic":false,"types":["heapless::spsc::IterMut"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index 61c90cb4..a8051421 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -1,7 +1,7 @@ (function() {var implementors = {}; implementors["byteorder"] = [{"text":"impl Freeze for BigEndian","synthetic":true,"types":["byteorder::BigEndian"]},{"text":"impl Freeze for LittleEndian","synthetic":true,"types":["byteorder::LittleEndian"]}]; implementors["hash32"] = [{"text":"impl Freeze for Hasher","synthetic":true,"types":["hash32::fnv::Hasher"]},{"text":"impl Freeze for Hasher","synthetic":true,"types":["hash32::murmur3::Hasher"]},{"text":"impl<H> Freeze for BuildHasherDefault<H>","synthetic":true,"types":["hash32::BuildHasherDefault"]}]; -implementors["heapless"] = [{"text":"impl<T, const N: usize> Freeze for Deque<T, N> where
    T: Freeze, 
","synthetic":true,"types":["heapless::deque::Deque"]},{"text":"impl<T, const N: usize> Freeze for HistoryBuffer<T, N> where
    T: Freeze, 
","synthetic":true,"types":["heapless::histbuf::HistoryBuffer"]},{"text":"impl<K, V, S, const N: usize> Freeze for IndexMap<K, V, S, N> where
    K: Freeze,
    S: Freeze,
    V: Freeze, 
","synthetic":true,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> Freeze for IndexSet<T, S, N> where
    S: Freeze,
    T: Freeze, 
","synthetic":true,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> Freeze for LinearMap<K, V, N> where
    K: Freeze,
    V: Freeze, 
","synthetic":true,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> Freeze for String<N>","synthetic":true,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> Freeze for Vec<T, N> where
    T: Freeze, 
","synthetic":true,"types":["heapless::vec::Vec"]},{"text":"impl Freeze for Min","synthetic":true,"types":["heapless::binary_heap::Min"]},{"text":"impl Freeze for Max","synthetic":true,"types":["heapless::binary_heap::Max"]},{"text":"impl<T, K, const N: usize> Freeze for BinaryHeap<T, K, N> where
    T: Freeze, 
","synthetic":true,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<'a, T, K, const N: usize> Freeze for PeekMut<'a, T, K, N>","synthetic":true,"types":["heapless::binary_heap::PeekMut"]},{"text":"impl<T, const N: usize> !Freeze for MpMcQueue<T, N>","synthetic":true,"types":["heapless::mpmc::MpMcQueue"]},{"text":"impl<P> Freeze for Arc<P>","synthetic":true,"types":["heapless::pool::singleton::arc::Arc"]},{"text":"impl<T> !Freeze for ArcInner<T>","synthetic":true,"types":["heapless::pool::singleton::arc::ArcInner"]},{"text":"impl<POOL, STATE> Freeze for Box<POOL, STATE>","synthetic":true,"types":["heapless::pool::singleton::Box"]},{"text":"impl<T> !Freeze for Node<T>","synthetic":true,"types":["heapless::pool::stack::Node"]},{"text":"impl<T> !Freeze for Pool<T>","synthetic":true,"types":["heapless::pool::Pool"]},{"text":"impl<T, STATE> Freeze for Box<T, STATE>","synthetic":true,"types":["heapless::pool::Box"]},{"text":"impl Freeze for Uninit","synthetic":true,"types":["heapless::pool::Uninit"]},{"text":"impl Freeze for Init","synthetic":true,"types":["heapless::pool::Init"]},{"text":"impl Freeze for Min","synthetic":true,"types":["heapless::sorted_linked_list::Min"]},{"text":"impl Freeze for Max","synthetic":true,"types":["heapless::sorted_linked_list::Max"]},{"text":"impl<T, Idx> Freeze for Node<T, Idx> where
    Idx: Freeze,
    T: Freeze, 
","synthetic":true,"types":["heapless::sorted_linked_list::Node"]},{"text":"impl<T, Idx, K, const N: usize> Freeze for SortedLinkedList<T, Idx, K, N> where
    Idx: Freeze,
    T: Freeze, 
","synthetic":true,"types":["heapless::sorted_linked_list::SortedLinkedList"]},{"text":"impl Freeze for LinkedIndexU8","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl Freeze for LinkedIndexU16","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl Freeze for LinkedIndexUsize","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<'a, T, Idx, K, const N: usize> Freeze for Iter<'a, T, Idx, K, N> where
    Idx: Freeze, 
","synthetic":true,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, Idx, K, const N: usize> Freeze for FindMut<'a, T, Idx, K, N> where
    Idx: Freeze, 
","synthetic":true,"types":["heapless::sorted_linked_list::FindMut"]},{"text":"impl<T, const N: usize> !Freeze for Queue<T, N>","synthetic":true,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> Freeze for Iter<'a, T, N>","synthetic":true,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> Freeze for IterMut<'a, T, N>","synthetic":true,"types":["heapless::spsc::IterMut"]},{"text":"impl<'a, T, const N: usize> Freeze for Consumer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Consumer"]},{"text":"impl<'a, T, const N: usize> Freeze for Producer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Producer"]}]; +implementors["heapless"] = [{"text":"impl<T, const N: usize> Freeze for Deque<T, N> where
    T: Freeze, 
","synthetic":true,"types":["heapless::deque::Deque"]},{"text":"impl<T, const N: usize> Freeze for HistoryBuffer<T, N> where
    T: Freeze, 
","synthetic":true,"types":["heapless::histbuf::HistoryBuffer"]},{"text":"impl<'a, T, const N: usize> Freeze for OldestOrdered<'a, T, N>","synthetic":true,"types":["heapless::histbuf::OldestOrdered"]},{"text":"impl<K, V, S, const N: usize> Freeze for IndexMap<K, V, S, N> where
    K: Freeze,
    S: Freeze,
    V: Freeze, 
","synthetic":true,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> Freeze for IndexSet<T, S, N> where
    S: Freeze,
    T: Freeze, 
","synthetic":true,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> Freeze for LinearMap<K, V, N> where
    K: Freeze,
    V: Freeze, 
","synthetic":true,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> Freeze for String<N>","synthetic":true,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> Freeze for Vec<T, N> where
    T: Freeze, 
","synthetic":true,"types":["heapless::vec::Vec"]},{"text":"impl Freeze for Min","synthetic":true,"types":["heapless::binary_heap::Min"]},{"text":"impl Freeze for Max","synthetic":true,"types":["heapless::binary_heap::Max"]},{"text":"impl<T, K, const N: usize> Freeze for BinaryHeap<T, K, N> where
    T: Freeze, 
","synthetic":true,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<'a, T, K, const N: usize> Freeze for PeekMut<'a, T, K, N>","synthetic":true,"types":["heapless::binary_heap::PeekMut"]},{"text":"impl<T, const N: usize> !Freeze for MpMcQueue<T, N>","synthetic":true,"types":["heapless::mpmc::MpMcQueue"]},{"text":"impl<P> Freeze for Arc<P>","synthetic":true,"types":["heapless::pool::singleton::arc::Arc"]},{"text":"impl<T> !Freeze for ArcInner<T>","synthetic":true,"types":["heapless::pool::singleton::arc::ArcInner"]},{"text":"impl<POOL, STATE> Freeze for Box<POOL, STATE>","synthetic":true,"types":["heapless::pool::singleton::Box"]},{"text":"impl<T> !Freeze for Node<T>","synthetic":true,"types":["heapless::pool::stack::Node"]},{"text":"impl<T> !Freeze for Pool<T>","synthetic":true,"types":["heapless::pool::Pool"]},{"text":"impl<T, STATE> Freeze for Box<T, STATE>","synthetic":true,"types":["heapless::pool::Box"]},{"text":"impl Freeze for Uninit","synthetic":true,"types":["heapless::pool::Uninit"]},{"text":"impl Freeze for Init","synthetic":true,"types":["heapless::pool::Init"]},{"text":"impl Freeze for Min","synthetic":true,"types":["heapless::sorted_linked_list::Min"]},{"text":"impl Freeze for Max","synthetic":true,"types":["heapless::sorted_linked_list::Max"]},{"text":"impl<T, Idx> Freeze for Node<T, Idx> where
    Idx: Freeze,
    T: Freeze, 
","synthetic":true,"types":["heapless::sorted_linked_list::Node"]},{"text":"impl<T, Idx, K, const N: usize> Freeze for SortedLinkedList<T, Idx, K, N> where
    Idx: Freeze,
    T: Freeze, 
","synthetic":true,"types":["heapless::sorted_linked_list::SortedLinkedList"]},{"text":"impl Freeze for LinkedIndexU8","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl Freeze for LinkedIndexU16","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl Freeze for LinkedIndexUsize","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<'a, T, Idx, K, const N: usize> Freeze for Iter<'a, T, Idx, K, N> where
    Idx: Freeze, 
","synthetic":true,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, Idx, K, const N: usize> Freeze for FindMut<'a, T, Idx, K, N> where
    Idx: Freeze, 
","synthetic":true,"types":["heapless::sorted_linked_list::FindMut"]},{"text":"impl<T, const N: usize> !Freeze for Queue<T, N>","synthetic":true,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> Freeze for Iter<'a, T, N>","synthetic":true,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> Freeze for IterMut<'a, T, N>","synthetic":true,"types":["heapless::spsc::IterMut"]},{"text":"impl<'a, T, const N: usize> Freeze for Consumer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Consumer"]},{"text":"impl<'a, T, const N: usize> Freeze for Producer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Producer"]}]; implementors["lock_api"] = [{"text":"impl<R, T> !Freeze for Mutex<R, T>","synthetic":true,"types":["lock_api::mutex::Mutex"]},{"text":"impl<'a, R, T: ?Sized> Freeze for MutexGuard<'a, R, T>","synthetic":true,"types":["lock_api::mutex::MutexGuard"]},{"text":"impl<'a, R, T: ?Sized> Freeze for MappedMutexGuard<'a, R, T>","synthetic":true,"types":["lock_api::mutex::MappedMutexGuard"]},{"text":"impl<R, G> !Freeze for RawReentrantMutex<R, G>","synthetic":true,"types":["lock_api::remutex::RawReentrantMutex"]},{"text":"impl<R, G, T> !Freeze for ReentrantMutex<R, G, T>","synthetic":true,"types":["lock_api::remutex::ReentrantMutex"]},{"text":"impl<'a, R, G, T: ?Sized> Freeze for ReentrantMutexGuard<'a, R, G, T>","synthetic":true,"types":["lock_api::remutex::ReentrantMutexGuard"]},{"text":"impl<'a, R, G, T: ?Sized> Freeze for MappedReentrantMutexGuard<'a, R, G, T>","synthetic":true,"types":["lock_api::remutex::MappedReentrantMutexGuard"]},{"text":"impl<R, T> !Freeze for RwLock<R, T>","synthetic":true,"types":["lock_api::rwlock::RwLock"]},{"text":"impl<'a, R, T: ?Sized> Freeze for RwLockReadGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::RwLockReadGuard"]},{"text":"impl<'a, R, T: ?Sized> Freeze for RwLockWriteGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::RwLockWriteGuard"]},{"text":"impl<'a, R, T: ?Sized> Freeze for RwLockUpgradableReadGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::RwLockUpgradableReadGuard"]},{"text":"impl<'a, R, T: ?Sized> Freeze for MappedRwLockReadGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::MappedRwLockReadGuard"]},{"text":"impl<'a, R, T: ?Sized> Freeze for MappedRwLockWriteGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::MappedRwLockWriteGuard"]},{"text":"impl Freeze for GuardSend","synthetic":true,"types":["lock_api::GuardSend"]},{"text":"impl Freeze for GuardNoSend","synthetic":true,"types":["lock_api::GuardNoSend"]}]; implementors["scopeguard"] = [{"text":"impl Freeze for Always","synthetic":true,"types":["scopeguard::Always"]},{"text":"impl<T, F, S> Freeze for ScopeGuard<T, F, S> where
    F: Freeze,
    T: Freeze, 
","synthetic":true,"types":["scopeguard::ScopeGuard"]}]; implementors["spin"] = [{"text":"impl<R = Spin> !Freeze for Barrier<R>","synthetic":true,"types":["spin::barrier::Barrier"]},{"text":"impl Freeze for BarrierWaitResult","synthetic":true,"types":["spin::barrier::BarrierWaitResult"]},{"text":"impl<T, F = fn() -> T, R = Spin> !Freeze for Lazy<T, F, R>","synthetic":true,"types":["spin::lazy::Lazy"]},{"text":"impl<T, R = Spin> !Freeze for SpinMutex<T, R>","synthetic":true,"types":["spin::mutex::spin::SpinMutex"]},{"text":"impl<'a, T: ?Sized> Freeze for SpinMutexGuard<'a, T>","synthetic":true,"types":["spin::mutex::spin::SpinMutexGuard"]},{"text":"impl<T, R = Spin> !Freeze for Mutex<T, R>","synthetic":true,"types":["spin::mutex::Mutex"]},{"text":"impl<'a, T: ?Sized> Freeze for MutexGuard<'a, T>","synthetic":true,"types":["spin::mutex::MutexGuard"]},{"text":"impl<T = (), R = Spin> !Freeze for Once<T, R>","synthetic":true,"types":["spin::once::Once"]},{"text":"impl<T, R = Spin> !Freeze for RwLock<T, R>","synthetic":true,"types":["spin::rwlock::RwLock"]},{"text":"impl<'a, T: ?Sized> Freeze for RwLockReadGuard<'a, T>","synthetic":true,"types":["spin::rwlock::RwLockReadGuard"]},{"text":"impl<'a, T: ?Sized, R> Freeze for RwLockWriteGuard<'a, T, R>","synthetic":true,"types":["spin::rwlock::RwLockWriteGuard"]},{"text":"impl<'a, T: ?Sized, R> Freeze for RwLockUpgradableGuard<'a, T, R>","synthetic":true,"types":["spin::rwlock::RwLockUpgradableGuard"]},{"text":"impl Freeze for Spin","synthetic":true,"types":["spin::relax::Spin"]},{"text":"impl Freeze for Loop","synthetic":true,"types":["spin::relax::Loop"]}]; diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index 77a6d4fe..e341aba6 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -1,7 +1,7 @@ (function() {var implementors = {}; implementors["byteorder"] = [{"text":"impl Send for BigEndian","synthetic":true,"types":["byteorder::BigEndian"]},{"text":"impl Send for LittleEndian","synthetic":true,"types":["byteorder::LittleEndian"]}]; implementors["hash32"] = [{"text":"impl Send for Hasher","synthetic":true,"types":["hash32::fnv::Hasher"]},{"text":"impl Send for Hasher","synthetic":true,"types":["hash32::murmur3::Hasher"]},{"text":"impl<H> Send for BuildHasherDefault<H> where
    H: Send
","synthetic":true,"types":["hash32::BuildHasherDefault"]}]; -implementors["heapless"] = [{"text":"impl<T, const N: usize> Send for Deque<T, N> where
    T: Send
","synthetic":true,"types":["heapless::deque::Deque"]},{"text":"impl<T, const N: usize> Send for HistoryBuffer<T, N> where
    T: Send
","synthetic":true,"types":["heapless::histbuf::HistoryBuffer"]},{"text":"impl<K, V, S, const N: usize> Send for IndexMap<K, V, S, N> where
    K: Send,
    S: Send,
    V: Send
","synthetic":true,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> Send for IndexSet<T, S, N> where
    S: Send,
    T: Send
","synthetic":true,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> Send for LinearMap<K, V, N> where
    K: Send,
    V: Send
","synthetic":true,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> Send for String<N>","synthetic":true,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> Send for Vec<T, N> where
    T: Send
","synthetic":true,"types":["heapless::vec::Vec"]},{"text":"impl Send for Min","synthetic":true,"types":["heapless::binary_heap::Min"]},{"text":"impl Send for Max","synthetic":true,"types":["heapless::binary_heap::Max"]},{"text":"impl<T, K, const N: usize> Send for BinaryHeap<T, K, N> where
    K: Send,
    T: Send
","synthetic":true,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<'a, T, K, const N: usize> Send for PeekMut<'a, T, K, N> where
    K: Send,
    T: Send
","synthetic":true,"types":["heapless::binary_heap::PeekMut"]},{"text":"impl<T, const N: usize> Send for MpMcQueue<T, N> where
    T: Send
","synthetic":true,"types":["heapless::mpmc::MpMcQueue"]},{"text":"impl<T> Send for ArcInner<T> where
    T: Send
","synthetic":true,"types":["heapless::pool::singleton::arc::ArcInner"]},{"text":"impl<T> !Send for Node<T>","synthetic":true,"types":["heapless::pool::stack::Node"]},{"text":"impl Send for Uninit","synthetic":true,"types":["heapless::pool::Uninit"]},{"text":"impl Send for Init","synthetic":true,"types":["heapless::pool::Init"]},{"text":"impl Send for Min","synthetic":true,"types":["heapless::sorted_linked_list::Min"]},{"text":"impl Send for Max","synthetic":true,"types":["heapless::sorted_linked_list::Max"]},{"text":"impl<T, Idx> Send for Node<T, Idx> where
    Idx: Send,
    T: Send
","synthetic":true,"types":["heapless::sorted_linked_list::Node"]},{"text":"impl<T, Idx, K, const N: usize> Send for SortedLinkedList<T, Idx, K, N> where
    Idx: Send,
    K: Send,
    T: Send
","synthetic":true,"types":["heapless::sorted_linked_list::SortedLinkedList"]},{"text":"impl Send for LinkedIndexU8","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl Send for LinkedIndexU16","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl Send for LinkedIndexUsize","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<'a, T, Idx, K, const N: usize> Send for Iter<'a, T, Idx, K, N> where
    Idx: Send + Sync,
    K: Sync,
    T: Sync
","synthetic":true,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, Idx, K, const N: usize> Send for FindMut<'a, T, Idx, K, N> where
    Idx: Send,
    K: Send,
    T: Send
","synthetic":true,"types":["heapless::sorted_linked_list::FindMut"]},{"text":"impl<T, const N: usize> Send for Queue<T, N> where
    T: Send
","synthetic":true,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> !Send for Iter<'a, T, N>","synthetic":true,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> Send for IterMut<'a, T, N> where
    T: Send
","synthetic":true,"types":["heapless::spsc::IterMut"]},{"text":"impl<P> Send for Arc<P> where
    P: Pool,
    P::Data: Sync + Send
","synthetic":false,"types":["heapless::pool::singleton::arc::Arc"]},{"text":"impl<P, S> Send for Box<P, S> where
    P: Pool,
    P::Data: Send
","synthetic":false,"types":["heapless::pool::singleton::Box"]},{"text":"impl<T> Send for Pool<T>","synthetic":false,"types":["heapless::pool::Pool"]},{"text":"impl<T, S> Send for Box<T, S> where
    T: Send
","synthetic":false,"types":["heapless::pool::Box"]},{"text":"impl<'a, T, const N: usize> Send for Consumer<'a, T, N> where
    T: Send
","synthetic":false,"types":["heapless::spsc::Consumer"]},{"text":"impl<'a, T, const N: usize> Send for Producer<'a, T, N> where
    T: Send
","synthetic":false,"types":["heapless::spsc::Producer"]}]; +implementors["heapless"] = [{"text":"impl<T, const N: usize> Send for Deque<T, N> where
    T: Send
","synthetic":true,"types":["heapless::deque::Deque"]},{"text":"impl<T, const N: usize> Send for HistoryBuffer<T, N> where
    T: Send
","synthetic":true,"types":["heapless::histbuf::HistoryBuffer"]},{"text":"impl<'a, T, const N: usize> Send for OldestOrdered<'a, T, N> where
    T: Sync
","synthetic":true,"types":["heapless::histbuf::OldestOrdered"]},{"text":"impl<K, V, S, const N: usize> Send for IndexMap<K, V, S, N> where
    K: Send,
    S: Send,
    V: Send
","synthetic":true,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> Send for IndexSet<T, S, N> where
    S: Send,
    T: Send
","synthetic":true,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> Send for LinearMap<K, V, N> where
    K: Send,
    V: Send
","synthetic":true,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> Send for String<N>","synthetic":true,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> Send for Vec<T, N> where
    T: Send
","synthetic":true,"types":["heapless::vec::Vec"]},{"text":"impl Send for Min","synthetic":true,"types":["heapless::binary_heap::Min"]},{"text":"impl Send for Max","synthetic":true,"types":["heapless::binary_heap::Max"]},{"text":"impl<T, K, const N: usize> Send for BinaryHeap<T, K, N> where
    K: Send,
    T: Send
","synthetic":true,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<'a, T, K, const N: usize> Send for PeekMut<'a, T, K, N> where
    K: Send,
    T: Send
","synthetic":true,"types":["heapless::binary_heap::PeekMut"]},{"text":"impl<T, const N: usize> Send for MpMcQueue<T, N> where
    T: Send
","synthetic":true,"types":["heapless::mpmc::MpMcQueue"]},{"text":"impl<T> Send for ArcInner<T> where
    T: Send
","synthetic":true,"types":["heapless::pool::singleton::arc::ArcInner"]},{"text":"impl<T> !Send for Node<T>","synthetic":true,"types":["heapless::pool::stack::Node"]},{"text":"impl Send for Uninit","synthetic":true,"types":["heapless::pool::Uninit"]},{"text":"impl Send for Init","synthetic":true,"types":["heapless::pool::Init"]},{"text":"impl Send for Min","synthetic":true,"types":["heapless::sorted_linked_list::Min"]},{"text":"impl Send for Max","synthetic":true,"types":["heapless::sorted_linked_list::Max"]},{"text":"impl<T, Idx> Send for Node<T, Idx> where
    Idx: Send,
    T: Send
","synthetic":true,"types":["heapless::sorted_linked_list::Node"]},{"text":"impl<T, Idx, K, const N: usize> Send for SortedLinkedList<T, Idx, K, N> where
    Idx: Send,
    K: Send,
    T: Send
","synthetic":true,"types":["heapless::sorted_linked_list::SortedLinkedList"]},{"text":"impl Send for LinkedIndexU8","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl Send for LinkedIndexU16","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl Send for LinkedIndexUsize","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<'a, T, Idx, K, const N: usize> Send for Iter<'a, T, Idx, K, N> where
    Idx: Send + Sync,
    K: Sync,
    T: Sync
","synthetic":true,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, Idx, K, const N: usize> Send for FindMut<'a, T, Idx, K, N> where
    Idx: Send,
    K: Send,
    T: Send
","synthetic":true,"types":["heapless::sorted_linked_list::FindMut"]},{"text":"impl<T, const N: usize> Send for Queue<T, N> where
    T: Send
","synthetic":true,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> !Send for Iter<'a, T, N>","synthetic":true,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> Send for IterMut<'a, T, N> where
    T: Send
","synthetic":true,"types":["heapless::spsc::IterMut"]},{"text":"impl<P> Send for Arc<P> where
    P: Pool,
    P::Data: Sync + Send
","synthetic":false,"types":["heapless::pool::singleton::arc::Arc"]},{"text":"impl<P, S> Send for Box<P, S> where
    P: Pool,
    P::Data: Send
","synthetic":false,"types":["heapless::pool::singleton::Box"]},{"text":"impl<T> Send for Pool<T>","synthetic":false,"types":["heapless::pool::Pool"]},{"text":"impl<T, S> Send for Box<T, S> where
    T: Send
","synthetic":false,"types":["heapless::pool::Box"]},{"text":"impl<'a, T, const N: usize> Send for Consumer<'a, T, N> where
    T: Send
","synthetic":false,"types":["heapless::spsc::Consumer"]},{"text":"impl<'a, T, const N: usize> Send for Producer<'a, T, N> where
    T: Send
","synthetic":false,"types":["heapless::spsc::Producer"]}]; implementors["lock_api"] = [{"text":"impl<'a, R, T: ?Sized> Send for MutexGuard<'a, R, T> where
    R: Sync,
    T: Send,
    <R as RawMutex>::GuardMarker: Send
","synthetic":true,"types":["lock_api::mutex::MutexGuard"]},{"text":"impl<'a, R, G, T> !Send for ReentrantMutexGuard<'a, R, G, T>","synthetic":true,"types":["lock_api::remutex::ReentrantMutexGuard"]},{"text":"impl<'a, R, G, T> !Send for MappedReentrantMutexGuard<'a, R, G, T>","synthetic":true,"types":["lock_api::remutex::MappedReentrantMutexGuard"]},{"text":"impl<'a, R, T: ?Sized> Send for RwLockReadGuard<'a, R, T> where
    R: Sync,
    T: Send + Sync,
    <R as RawRwLock>::GuardMarker: Send
","synthetic":true,"types":["lock_api::rwlock::RwLockReadGuard"]},{"text":"impl<'a, R, T: ?Sized> Send for RwLockWriteGuard<'a, R, T> where
    R: Sync,
    T: Send + Sync,
    <R as RawRwLock>::GuardMarker: Send
","synthetic":true,"types":["lock_api::rwlock::RwLockWriteGuard"]},{"text":"impl<'a, R, T: ?Sized> Send for RwLockUpgradableReadGuard<'a, R, T> where
    R: Sync,
    T: Send + Sync,
    <R as RawRwLock>::GuardMarker: Send
","synthetic":true,"types":["lock_api::rwlock::RwLockUpgradableReadGuard"]},{"text":"impl Send for GuardSend","synthetic":true,"types":["lock_api::GuardSend"]},{"text":"impl !Send for GuardNoSend","synthetic":true,"types":["lock_api::GuardNoSend"]},{"text":"impl<R: RawMutex + Send, T: ?Sized + Send> Send for Mutex<R, T>","synthetic":false,"types":["lock_api::mutex::Mutex"]},{"text":"impl<'a, R: RawMutex + 'a, T: ?Sized + Send + 'a> Send for MappedMutexGuard<'a, R, T> where
    R::GuardMarker: Send
","synthetic":false,"types":["lock_api::mutex::MappedMutexGuard"]},{"text":"impl<R: RawMutex + Send, G: GetThreadId + Send> Send for RawReentrantMutex<R, G>","synthetic":false,"types":["lock_api::remutex::RawReentrantMutex"]},{"text":"impl<R: RawMutex + Send, G: GetThreadId + Send, T: ?Sized + Send> Send for ReentrantMutex<R, G, T>","synthetic":false,"types":["lock_api::remutex::ReentrantMutex"]},{"text":"impl<R: RawRwLock + Send, T: ?Sized + Send> Send for RwLock<R, T>","synthetic":false,"types":["lock_api::rwlock::RwLock"]},{"text":"impl<'a, R: RawRwLock + 'a, T: ?Sized + Sync + 'a> Send for MappedRwLockReadGuard<'a, R, T> where
    R::GuardMarker: Send
","synthetic":false,"types":["lock_api::rwlock::MappedRwLockReadGuard"]},{"text":"impl<'a, R: RawRwLock + 'a, T: ?Sized + Send + 'a> Send for MappedRwLockWriteGuard<'a, R, T> where
    R::GuardMarker: Send
","synthetic":false,"types":["lock_api::rwlock::MappedRwLockWriteGuard"]}]; implementors["scopeguard"] = [{"text":"impl Send for Always","synthetic":true,"types":["scopeguard::Always"]},{"text":"impl<T, F, S> Send for ScopeGuard<T, F, S> where
    F: Send,
    T: Send
","synthetic":true,"types":["scopeguard::ScopeGuard"]}]; implementors["spin"] = [{"text":"impl<R> Send for Barrier<R>","synthetic":true,"types":["spin::barrier::Barrier"]},{"text":"impl Send for BarrierWaitResult","synthetic":true,"types":["spin::barrier::BarrierWaitResult"]},{"text":"impl<T, F, R> Send for Lazy<T, F, R> where
    F: Send,
    T: Send
","synthetic":true,"types":["spin::lazy::Lazy"]},{"text":"impl<T: ?Sized, R> Send for SpinMutex<T, R> where
    R: Send,
    T: Send
","synthetic":true,"types":["spin::mutex::spin::SpinMutex"]},{"text":"impl<'a, T: ?Sized> Send for SpinMutexGuard<'a, T> where
    T: Send
","synthetic":true,"types":["spin::mutex::spin::SpinMutexGuard"]},{"text":"impl<'a, T: ?Sized> Send for MutexGuard<'a, T> where
    T: Send
","synthetic":true,"types":["spin::mutex::MutexGuard"]},{"text":"impl<'a, T: ?Sized> Send for RwLockReadGuard<'a, T> where
    T: Sync
","synthetic":true,"types":["spin::rwlock::RwLockReadGuard"]},{"text":"impl<'a, T: ?Sized, R> Send for RwLockWriteGuard<'a, T, R> where
    R: Send,
    T: Send + Sync
","synthetic":true,"types":["spin::rwlock::RwLockWriteGuard"]},{"text":"impl<'a, T: ?Sized, R> Send for RwLockUpgradableGuard<'a, T, R> where
    R: Send,
    T: Send + Sync
","synthetic":true,"types":["spin::rwlock::RwLockUpgradableGuard"]},{"text":"impl Send for Spin","synthetic":true,"types":["spin::relax::Spin"]},{"text":"impl Send for Loop","synthetic":true,"types":["spin::relax::Loop"]},{"text":"impl<T: ?Sized + Send> Send for SpinMutex<T>","synthetic":false,"types":["spin::mutex::spin::SpinMutex"]},{"text":"impl<T: ?Sized + Send, R> Send for Mutex<T, R>","synthetic":false,"types":["spin::mutex::Mutex"]},{"text":"impl<T: Send, R> Send for Once<T, R>","synthetic":false,"types":["spin::once::Once"]},{"text":"impl<T: ?Sized + Send, R> Send for RwLock<T, R>","synthetic":false,"types":["spin::rwlock::RwLock"]}]; diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index 485b45ef..d0c0d54c 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -1,7 +1,7 @@ (function() {var implementors = {}; implementors["byteorder"] = [{"text":"impl Sync for BigEndian","synthetic":true,"types":["byteorder::BigEndian"]},{"text":"impl Sync for LittleEndian","synthetic":true,"types":["byteorder::LittleEndian"]}]; implementors["hash32"] = [{"text":"impl Sync for Hasher","synthetic":true,"types":["hash32::fnv::Hasher"]},{"text":"impl Sync for Hasher","synthetic":true,"types":["hash32::murmur3::Hasher"]},{"text":"impl<H> Sync for BuildHasherDefault<H> where
    H: Sync
","synthetic":true,"types":["hash32::BuildHasherDefault"]}]; -implementors["heapless"] = [{"text":"impl<T, const N: usize> Sync for Deque<T, N> where
    T: Sync
","synthetic":true,"types":["heapless::deque::Deque"]},{"text":"impl<T, const N: usize> Sync for HistoryBuffer<T, N> where
    T: Sync
","synthetic":true,"types":["heapless::histbuf::HistoryBuffer"]},{"text":"impl<K, V, S, const N: usize> Sync for IndexMap<K, V, S, N> where
    K: Sync,
    S: Sync,
    V: Sync
","synthetic":true,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> Sync for IndexSet<T, S, N> where
    S: Sync,
    T: Sync
","synthetic":true,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> Sync for LinearMap<K, V, N> where
    K: Sync,
    V: Sync
","synthetic":true,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> Sync for String<N>","synthetic":true,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> Sync for Vec<T, N> where
    T: Sync
","synthetic":true,"types":["heapless::vec::Vec"]},{"text":"impl Sync for Min","synthetic":true,"types":["heapless::binary_heap::Min"]},{"text":"impl Sync for Max","synthetic":true,"types":["heapless::binary_heap::Max"]},{"text":"impl<T, K, const N: usize> Sync for BinaryHeap<T, K, N> where
    K: Sync,
    T: Sync
","synthetic":true,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<'a, T, K, const N: usize> Sync for PeekMut<'a, T, K, N> where
    K: Sync,
    T: Sync
","synthetic":true,"types":["heapless::binary_heap::PeekMut"]},{"text":"impl<T> Sync for ArcInner<T> where
    T: Sync
","synthetic":true,"types":["heapless::pool::singleton::arc::ArcInner"]},{"text":"impl<T> !Sync for Node<T>","synthetic":true,"types":["heapless::pool::stack::Node"]},{"text":"impl<T> !Sync for Pool<T>","synthetic":true,"types":["heapless::pool::Pool"]},{"text":"impl Sync for Uninit","synthetic":true,"types":["heapless::pool::Uninit"]},{"text":"impl Sync for Init","synthetic":true,"types":["heapless::pool::Init"]},{"text":"impl Sync for Min","synthetic":true,"types":["heapless::sorted_linked_list::Min"]},{"text":"impl Sync for Max","synthetic":true,"types":["heapless::sorted_linked_list::Max"]},{"text":"impl<T, Idx> Sync for Node<T, Idx> where
    Idx: Sync,
    T: Sync
","synthetic":true,"types":["heapless::sorted_linked_list::Node"]},{"text":"impl<T, Idx, K, const N: usize> Sync for SortedLinkedList<T, Idx, K, N> where
    Idx: Sync,
    K: Sync,
    T: Sync
","synthetic":true,"types":["heapless::sorted_linked_list::SortedLinkedList"]},{"text":"impl Sync for LinkedIndexU8","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl Sync for LinkedIndexU16","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl Sync for LinkedIndexUsize","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<'a, T, Idx, K, const N: usize> Sync for Iter<'a, T, Idx, K, N> where
    Idx: Sync,
    K: Sync,
    T: Sync
","synthetic":true,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, Idx, K, const N: usize> Sync for FindMut<'a, T, Idx, K, N> where
    Idx: Sync,
    K: Sync,
    T: Sync
","synthetic":true,"types":["heapless::sorted_linked_list::FindMut"]},{"text":"impl<T, const N: usize> !Sync for Queue<T, N>","synthetic":true,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> !Sync for Iter<'a, T, N>","synthetic":true,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> !Sync for IterMut<'a, T, N>","synthetic":true,"types":["heapless::spsc::IterMut"]},{"text":"impl<'a, T, const N: usize> !Sync for Consumer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Consumer"]},{"text":"impl<'a, T, const N: usize> !Sync for Producer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Producer"]},{"text":"impl<T, const N: usize> Sync for MpMcQueue<T, N> where
    T: Send
","synthetic":false,"types":["heapless::mpmc::MpMcQueue"]},{"text":"impl<P> Sync for Arc<P> where
    P: Pool,
    P::Data: Sync + Send
","synthetic":false,"types":["heapless::pool::singleton::arc::Arc"]},{"text":"impl<P, S> Sync for Box<P, S> where
    P: Pool,
    P::Data: Sync
","synthetic":false,"types":["heapless::pool::singleton::Box"]},{"text":"impl<T, S> Sync for Box<T, S> where
    T: Sync
","synthetic":false,"types":["heapless::pool::Box"]}]; +implementors["heapless"] = [{"text":"impl<T, const N: usize> Sync for Deque<T, N> where
    T: Sync
","synthetic":true,"types":["heapless::deque::Deque"]},{"text":"impl<T, const N: usize> Sync for HistoryBuffer<T, N> where
    T: Sync
","synthetic":true,"types":["heapless::histbuf::HistoryBuffer"]},{"text":"impl<'a, T, const N: usize> Sync for OldestOrdered<'a, T, N> where
    T: Sync
","synthetic":true,"types":["heapless::histbuf::OldestOrdered"]},{"text":"impl<K, V, S, const N: usize> Sync for IndexMap<K, V, S, N> where
    K: Sync,
    S: Sync,
    V: Sync
","synthetic":true,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> Sync for IndexSet<T, S, N> where
    S: Sync,
    T: Sync
","synthetic":true,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> Sync for LinearMap<K, V, N> where
    K: Sync,
    V: Sync
","synthetic":true,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> Sync for String<N>","synthetic":true,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> Sync for Vec<T, N> where
    T: Sync
","synthetic":true,"types":["heapless::vec::Vec"]},{"text":"impl Sync for Min","synthetic":true,"types":["heapless::binary_heap::Min"]},{"text":"impl Sync for Max","synthetic":true,"types":["heapless::binary_heap::Max"]},{"text":"impl<T, K, const N: usize> Sync for BinaryHeap<T, K, N> where
    K: Sync,
    T: Sync
","synthetic":true,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<'a, T, K, const N: usize> Sync for PeekMut<'a, T, K, N> where
    K: Sync,
    T: Sync
","synthetic":true,"types":["heapless::binary_heap::PeekMut"]},{"text":"impl<T> Sync for ArcInner<T> where
    T: Sync
","synthetic":true,"types":["heapless::pool::singleton::arc::ArcInner"]},{"text":"impl<T> !Sync for Node<T>","synthetic":true,"types":["heapless::pool::stack::Node"]},{"text":"impl<T> !Sync for Pool<T>","synthetic":true,"types":["heapless::pool::Pool"]},{"text":"impl Sync for Uninit","synthetic":true,"types":["heapless::pool::Uninit"]},{"text":"impl Sync for Init","synthetic":true,"types":["heapless::pool::Init"]},{"text":"impl Sync for Min","synthetic":true,"types":["heapless::sorted_linked_list::Min"]},{"text":"impl Sync for Max","synthetic":true,"types":["heapless::sorted_linked_list::Max"]},{"text":"impl<T, Idx> Sync for Node<T, Idx> where
    Idx: Sync,
    T: Sync
","synthetic":true,"types":["heapless::sorted_linked_list::Node"]},{"text":"impl<T, Idx, K, const N: usize> Sync for SortedLinkedList<T, Idx, K, N> where
    Idx: Sync,
    K: Sync,
    T: Sync
","synthetic":true,"types":["heapless::sorted_linked_list::SortedLinkedList"]},{"text":"impl Sync for LinkedIndexU8","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl Sync for LinkedIndexU16","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl Sync for LinkedIndexUsize","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<'a, T, Idx, K, const N: usize> Sync for Iter<'a, T, Idx, K, N> where
    Idx: Sync,
    K: Sync,
    T: Sync
","synthetic":true,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, Idx, K, const N: usize> Sync for FindMut<'a, T, Idx, K, N> where
    Idx: Sync,
    K: Sync,
    T: Sync
","synthetic":true,"types":["heapless::sorted_linked_list::FindMut"]},{"text":"impl<T, const N: usize> !Sync for Queue<T, N>","synthetic":true,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> !Sync for Iter<'a, T, N>","synthetic":true,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> !Sync for IterMut<'a, T, N>","synthetic":true,"types":["heapless::spsc::IterMut"]},{"text":"impl<'a, T, const N: usize> !Sync for Consumer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Consumer"]},{"text":"impl<'a, T, const N: usize> !Sync for Producer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Producer"]},{"text":"impl<T, const N: usize> Sync for MpMcQueue<T, N> where
    T: Send
","synthetic":false,"types":["heapless::mpmc::MpMcQueue"]},{"text":"impl<P> Sync for Arc<P> where
    P: Pool,
    P::Data: Sync + Send
","synthetic":false,"types":["heapless::pool::singleton::arc::Arc"]},{"text":"impl<P, S> Sync for Box<P, S> where
    P: Pool,
    P::Data: Sync
","synthetic":false,"types":["heapless::pool::singleton::Box"]},{"text":"impl<T, S> Sync for Box<T, S> where
    T: Sync
","synthetic":false,"types":["heapless::pool::Box"]}]; implementors["lock_api"] = [{"text":"impl<'a, R, T: ?Sized> Sync for RwLockReadGuard<'a, R, T> where
    R: Sync,
    T: Send + Sync,
    <R as RawRwLock>::GuardMarker: Sync
","synthetic":true,"types":["lock_api::rwlock::RwLockReadGuard"]},{"text":"impl<'a, R, T: ?Sized> Sync for RwLockWriteGuard<'a, R, T> where
    R: Sync,
    T: Send + Sync,
    <R as RawRwLock>::GuardMarker: Sync
","synthetic":true,"types":["lock_api::rwlock::RwLockWriteGuard"]},{"text":"impl Sync for GuardSend","synthetic":true,"types":["lock_api::GuardSend"]},{"text":"impl Sync for GuardNoSend","synthetic":false,"types":["lock_api::GuardNoSend"]},{"text":"impl<R: RawMutex + Sync, T: ?Sized + Send> Sync for Mutex<R, T>","synthetic":false,"types":["lock_api::mutex::Mutex"]},{"text":"impl<'a, R: RawMutex + Sync + 'a, T: ?Sized + Sync + 'a> Sync for MutexGuard<'a, R, T>","synthetic":false,"types":["lock_api::mutex::MutexGuard"]},{"text":"impl<'a, R: RawMutex + Sync + 'a, T: ?Sized + Sync + 'a> Sync for MappedMutexGuard<'a, R, T>","synthetic":false,"types":["lock_api::mutex::MappedMutexGuard"]},{"text":"impl<R: RawMutex + Sync, G: GetThreadId + Sync> Sync for RawReentrantMutex<R, G>","synthetic":false,"types":["lock_api::remutex::RawReentrantMutex"]},{"text":"impl<R: RawMutex + Sync, G: GetThreadId + Sync, T: ?Sized + Send> Sync for ReentrantMutex<R, G, T>","synthetic":false,"types":["lock_api::remutex::ReentrantMutex"]},{"text":"impl<'a, R: RawMutex + Sync + 'a, G: GetThreadId + Sync + 'a, T: ?Sized + Sync + 'a> Sync for ReentrantMutexGuard<'a, R, G, T>","synthetic":false,"types":["lock_api::remutex::ReentrantMutexGuard"]},{"text":"impl<'a, R: RawMutex + Sync + 'a, G: GetThreadId + Sync + 'a, T: ?Sized + Sync + 'a> Sync for MappedReentrantMutexGuard<'a, R, G, T>","synthetic":false,"types":["lock_api::remutex::MappedReentrantMutexGuard"]},{"text":"impl<R: RawRwLock + Sync, T: ?Sized + Send + Sync> Sync for RwLock<R, T>","synthetic":false,"types":["lock_api::rwlock::RwLock"]},{"text":"impl<'a, R: RawRwLockUpgrade + 'a, T: ?Sized + Sync + 'a> Sync for RwLockUpgradableReadGuard<'a, R, T>","synthetic":false,"types":["lock_api::rwlock::RwLockUpgradableReadGuard"]},{"text":"impl<'a, R: RawRwLock + 'a, T: ?Sized + Sync + 'a> Sync for MappedRwLockReadGuard<'a, R, T>","synthetic":false,"types":["lock_api::rwlock::MappedRwLockReadGuard"]},{"text":"impl<'a, R: RawRwLock + 'a, T: ?Sized + Sync + 'a> Sync for MappedRwLockWriteGuard<'a, R, T>","synthetic":false,"types":["lock_api::rwlock::MappedRwLockWriteGuard"]}]; implementors["scopeguard"] = [{"text":"impl Sync for Always","synthetic":true,"types":["scopeguard::Always"]},{"text":"impl<T, F, S> Sync for ScopeGuard<T, F, S> where
    T: Sync,
    F: FnOnce(T),
    S: Strategy
","synthetic":false,"types":["scopeguard::ScopeGuard"]}]; implementors["spin"] = [{"text":"impl<R> Sync for Barrier<R>","synthetic":true,"types":["spin::barrier::Barrier"]},{"text":"impl Sync for BarrierWaitResult","synthetic":true,"types":["spin::barrier::BarrierWaitResult"]},{"text":"impl<T, F = fn() -> T, R = Spin> !Sync for Lazy<T, F, R>","synthetic":true,"types":["spin::lazy::Lazy"]},{"text":"impl<T, R = Spin> !Sync for SpinMutex<T, R>","synthetic":true,"types":["spin::mutex::spin::SpinMutex"]},{"text":"impl<'a, T: ?Sized> Sync for SpinMutexGuard<'a, T> where
    T: Sync
","synthetic":true,"types":["spin::mutex::spin::SpinMutexGuard"]},{"text":"impl<'a, T: ?Sized> Sync for MutexGuard<'a, T> where
    T: Sync
","synthetic":true,"types":["spin::mutex::MutexGuard"]},{"text":"impl<'a, T: ?Sized> Sync for RwLockReadGuard<'a, T> where
    T: Sync
","synthetic":true,"types":["spin::rwlock::RwLockReadGuard"]},{"text":"impl<'a, T: ?Sized, R> Sync for RwLockWriteGuard<'a, T, R> where
    R: Sync,
    T: Send + Sync
","synthetic":true,"types":["spin::rwlock::RwLockWriteGuard"]},{"text":"impl<'a, T: ?Sized, R> Sync for RwLockUpgradableGuard<'a, T, R> where
    R: Sync,
    T: Send + Sync
","synthetic":true,"types":["spin::rwlock::RwLockUpgradableGuard"]},{"text":"impl Sync for Spin","synthetic":true,"types":["spin::relax::Spin"]},{"text":"impl Sync for Loop","synthetic":true,"types":["spin::relax::Loop"]},{"text":"impl<T, F: Send> Sync for Lazy<T, F> where
    Once<T>: Sync
","synthetic":false,"types":["spin::lazy::Lazy"]},{"text":"impl<T: ?Sized + Send> Sync for SpinMutex<T>","synthetic":false,"types":["spin::mutex::spin::SpinMutex"]},{"text":"impl<T: ?Sized + Send, R> Sync for Mutex<T, R>","synthetic":false,"types":["spin::mutex::Mutex"]},{"text":"impl<T: Send + Sync, R> Sync for Once<T, R>","synthetic":false,"types":["spin::once::Once"]},{"text":"impl<T: ?Sized + Send + Sync, R> Sync for RwLock<T, R>","synthetic":false,"types":["spin::rwlock::RwLock"]}]; diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index 5b9f5f98..ec69dd36 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -1,7 +1,7 @@ (function() {var implementors = {}; implementors["byteorder"] = [{"text":"impl Unpin for BigEndian","synthetic":true,"types":["byteorder::BigEndian"]},{"text":"impl Unpin for LittleEndian","synthetic":true,"types":["byteorder::LittleEndian"]}]; implementors["hash32"] = [{"text":"impl Unpin for Hasher","synthetic":true,"types":["hash32::fnv::Hasher"]},{"text":"impl Unpin for Hasher","synthetic":true,"types":["hash32::murmur3::Hasher"]},{"text":"impl<H> Unpin for BuildHasherDefault<H> where
    H: Unpin
","synthetic":true,"types":["hash32::BuildHasherDefault"]}]; -implementors["heapless"] = [{"text":"impl<T, const N: usize> Unpin for Deque<T, N> where
    T: Unpin
","synthetic":true,"types":["heapless::deque::Deque"]},{"text":"impl<T, const N: usize> Unpin for HistoryBuffer<T, N> where
    T: Unpin
","synthetic":true,"types":["heapless::histbuf::HistoryBuffer"]},{"text":"impl<K, V, S, const N: usize> Unpin for IndexMap<K, V, S, N> where
    K: Unpin,
    S: Unpin,
    V: Unpin
","synthetic":true,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> Unpin for IndexSet<T, S, N> where
    S: Unpin,
    T: Unpin
","synthetic":true,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> Unpin for LinearMap<K, V, N> where
    K: Unpin,
    V: Unpin
","synthetic":true,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> Unpin for String<N>","synthetic":true,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> Unpin for Vec<T, N> where
    T: Unpin
","synthetic":true,"types":["heapless::vec::Vec"]},{"text":"impl Unpin for Min","synthetic":true,"types":["heapless::binary_heap::Min"]},{"text":"impl Unpin for Max","synthetic":true,"types":["heapless::binary_heap::Max"]},{"text":"impl<T, K, const N: usize> Unpin for BinaryHeap<T, K, N> where
    K: Unpin,
    T: Unpin
","synthetic":true,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<'a, T, K, const N: usize> Unpin for PeekMut<'a, T, K, N>","synthetic":true,"types":["heapless::binary_heap::PeekMut"]},{"text":"impl<T, const N: usize> Unpin for MpMcQueue<T, N> where
    T: Unpin
","synthetic":true,"types":["heapless::mpmc::MpMcQueue"]},{"text":"impl<T> Unpin for ArcInner<T> where
    T: Unpin
","synthetic":true,"types":["heapless::pool::singleton::arc::ArcInner"]},{"text":"impl<POOL, STATE> Unpin for Box<POOL, STATE> where
    POOL: Unpin,
    STATE: Unpin
","synthetic":true,"types":["heapless::pool::singleton::Box"]},{"text":"impl<T> Unpin for Node<T> where
    T: Unpin
","synthetic":true,"types":["heapless::pool::stack::Node"]},{"text":"impl<T> Unpin for Pool<T>","synthetic":true,"types":["heapless::pool::Pool"]},{"text":"impl<T, STATE> Unpin for Box<T, STATE> where
    STATE: Unpin
","synthetic":true,"types":["heapless::pool::Box"]},{"text":"impl Unpin for Uninit","synthetic":true,"types":["heapless::pool::Uninit"]},{"text":"impl Unpin for Init","synthetic":true,"types":["heapless::pool::Init"]},{"text":"impl Unpin for Min","synthetic":true,"types":["heapless::sorted_linked_list::Min"]},{"text":"impl Unpin for Max","synthetic":true,"types":["heapless::sorted_linked_list::Max"]},{"text":"impl<T, Idx> Unpin for Node<T, Idx> where
    Idx: Unpin,
    T: Unpin
","synthetic":true,"types":["heapless::sorted_linked_list::Node"]},{"text":"impl<T, Idx, K, const N: usize> Unpin for SortedLinkedList<T, Idx, K, N> where
    Idx: Unpin,
    K: Unpin,
    T: Unpin
","synthetic":true,"types":["heapless::sorted_linked_list::SortedLinkedList"]},{"text":"impl Unpin for LinkedIndexU8","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl Unpin for LinkedIndexU16","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl Unpin for LinkedIndexUsize","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<'a, T, Idx, K, const N: usize> Unpin for Iter<'a, T, Idx, K, N> where
    Idx: Unpin
","synthetic":true,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, Idx, K, const N: usize> Unpin for FindMut<'a, T, Idx, K, N> where
    Idx: Unpin
","synthetic":true,"types":["heapless::sorted_linked_list::FindMut"]},{"text":"impl<T, const N: usize> Unpin for Queue<T, N> where
    T: Unpin
","synthetic":true,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> Unpin for Iter<'a, T, N>","synthetic":true,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> Unpin for IterMut<'a, T, N>","synthetic":true,"types":["heapless::spsc::IterMut"]},{"text":"impl<'a, T, const N: usize> Unpin for Consumer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Consumer"]},{"text":"impl<'a, T, const N: usize> Unpin for Producer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Producer"]},{"text":"impl<P> Unpin for Arc<P> where
    P: Pool
","synthetic":false,"types":["heapless::pool::singleton::arc::Arc"]}]; +implementors["heapless"] = [{"text":"impl<T, const N: usize> Unpin for Deque<T, N> where
    T: Unpin
","synthetic":true,"types":["heapless::deque::Deque"]},{"text":"impl<T, const N: usize> Unpin for HistoryBuffer<T, N> where
    T: Unpin
","synthetic":true,"types":["heapless::histbuf::HistoryBuffer"]},{"text":"impl<'a, T, const N: usize> Unpin for OldestOrdered<'a, T, N>","synthetic":true,"types":["heapless::histbuf::OldestOrdered"]},{"text":"impl<K, V, S, const N: usize> Unpin for IndexMap<K, V, S, N> where
    K: Unpin,
    S: Unpin,
    V: Unpin
","synthetic":true,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> Unpin for IndexSet<T, S, N> where
    S: Unpin,
    T: Unpin
","synthetic":true,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> Unpin for LinearMap<K, V, N> where
    K: Unpin,
    V: Unpin
","synthetic":true,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> Unpin for String<N>","synthetic":true,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> Unpin for Vec<T, N> where
    T: Unpin
","synthetic":true,"types":["heapless::vec::Vec"]},{"text":"impl Unpin for Min","synthetic":true,"types":["heapless::binary_heap::Min"]},{"text":"impl Unpin for Max","synthetic":true,"types":["heapless::binary_heap::Max"]},{"text":"impl<T, K, const N: usize> Unpin for BinaryHeap<T, K, N> where
    K: Unpin,
    T: Unpin
","synthetic":true,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<'a, T, K, const N: usize> Unpin for PeekMut<'a, T, K, N>","synthetic":true,"types":["heapless::binary_heap::PeekMut"]},{"text":"impl<T, const N: usize> Unpin for MpMcQueue<T, N> where
    T: Unpin
","synthetic":true,"types":["heapless::mpmc::MpMcQueue"]},{"text":"impl<T> Unpin for ArcInner<T> where
    T: Unpin
","synthetic":true,"types":["heapless::pool::singleton::arc::ArcInner"]},{"text":"impl<POOL, STATE> Unpin for Box<POOL, STATE> where
    POOL: Unpin,
    STATE: Unpin
","synthetic":true,"types":["heapless::pool::singleton::Box"]},{"text":"impl<T> Unpin for Node<T> where
    T: Unpin
","synthetic":true,"types":["heapless::pool::stack::Node"]},{"text":"impl<T> Unpin for Pool<T>","synthetic":true,"types":["heapless::pool::Pool"]},{"text":"impl<T, STATE> Unpin for Box<T, STATE> where
    STATE: Unpin
","synthetic":true,"types":["heapless::pool::Box"]},{"text":"impl Unpin for Uninit","synthetic":true,"types":["heapless::pool::Uninit"]},{"text":"impl Unpin for Init","synthetic":true,"types":["heapless::pool::Init"]},{"text":"impl Unpin for Min","synthetic":true,"types":["heapless::sorted_linked_list::Min"]},{"text":"impl Unpin for Max","synthetic":true,"types":["heapless::sorted_linked_list::Max"]},{"text":"impl<T, Idx> Unpin for Node<T, Idx> where
    Idx: Unpin,
    T: Unpin
","synthetic":true,"types":["heapless::sorted_linked_list::Node"]},{"text":"impl<T, Idx, K, const N: usize> Unpin for SortedLinkedList<T, Idx, K, N> where
    Idx: Unpin,
    K: Unpin,
    T: Unpin
","synthetic":true,"types":["heapless::sorted_linked_list::SortedLinkedList"]},{"text":"impl Unpin for LinkedIndexU8","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl Unpin for LinkedIndexU16","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl Unpin for LinkedIndexUsize","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<'a, T, Idx, K, const N: usize> Unpin for Iter<'a, T, Idx, K, N> where
    Idx: Unpin
","synthetic":true,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, Idx, K, const N: usize> Unpin for FindMut<'a, T, Idx, K, N> where
    Idx: Unpin
","synthetic":true,"types":["heapless::sorted_linked_list::FindMut"]},{"text":"impl<T, const N: usize> Unpin for Queue<T, N> where
    T: Unpin
","synthetic":true,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> Unpin for Iter<'a, T, N>","synthetic":true,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> Unpin for IterMut<'a, T, N>","synthetic":true,"types":["heapless::spsc::IterMut"]},{"text":"impl<'a, T, const N: usize> Unpin for Consumer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Consumer"]},{"text":"impl<'a, T, const N: usize> Unpin for Producer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Producer"]},{"text":"impl<P> Unpin for Arc<P> where
    P: Pool
","synthetic":false,"types":["heapless::pool::singleton::arc::Arc"]}]; implementors["lock_api"] = [{"text":"impl<R, T: ?Sized> Unpin for Mutex<R, T> where
    R: Unpin,
    T: Unpin
","synthetic":true,"types":["lock_api::mutex::Mutex"]},{"text":"impl<'a, R, T: ?Sized> Unpin for MutexGuard<'a, R, T> where
    <R as RawMutex>::GuardMarker: Unpin
","synthetic":true,"types":["lock_api::mutex::MutexGuard"]},{"text":"impl<'a, R, T: ?Sized> Unpin for MappedMutexGuard<'a, R, T>","synthetic":true,"types":["lock_api::mutex::MappedMutexGuard"]},{"text":"impl<R, G> Unpin for RawReentrantMutex<R, G> where
    G: Unpin,
    R: Unpin
","synthetic":true,"types":["lock_api::remutex::RawReentrantMutex"]},{"text":"impl<R, G, T: ?Sized> Unpin for ReentrantMutex<R, G, T> where
    G: Unpin,
    R: Unpin,
    T: Unpin
","synthetic":true,"types":["lock_api::remutex::ReentrantMutex"]},{"text":"impl<'a, R, G, T: ?Sized> Unpin for ReentrantMutexGuard<'a, R, G, T>","synthetic":true,"types":["lock_api::remutex::ReentrantMutexGuard"]},{"text":"impl<'a, R, G, T: ?Sized> Unpin for MappedReentrantMutexGuard<'a, R, G, T>","synthetic":true,"types":["lock_api::remutex::MappedReentrantMutexGuard"]},{"text":"impl<R, T: ?Sized> Unpin for RwLock<R, T> where
    R: Unpin,
    T: Unpin
","synthetic":true,"types":["lock_api::rwlock::RwLock"]},{"text":"impl<'a, R, T: ?Sized> Unpin for RwLockReadGuard<'a, R, T> where
    <R as RawRwLock>::GuardMarker: Unpin
","synthetic":true,"types":["lock_api::rwlock::RwLockReadGuard"]},{"text":"impl<'a, R, T: ?Sized> Unpin for RwLockWriteGuard<'a, R, T> where
    <R as RawRwLock>::GuardMarker: Unpin
","synthetic":true,"types":["lock_api::rwlock::RwLockWriteGuard"]},{"text":"impl<'a, R, T: ?Sized> Unpin for RwLockUpgradableReadGuard<'a, R, T> where
    <R as RawRwLock>::GuardMarker: Unpin
","synthetic":true,"types":["lock_api::rwlock::RwLockUpgradableReadGuard"]},{"text":"impl<'a, R, T: ?Sized> Unpin for MappedRwLockReadGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::MappedRwLockReadGuard"]},{"text":"impl<'a, R, T: ?Sized> Unpin for MappedRwLockWriteGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::MappedRwLockWriteGuard"]},{"text":"impl Unpin for GuardSend","synthetic":true,"types":["lock_api::GuardSend"]},{"text":"impl Unpin for GuardNoSend","synthetic":true,"types":["lock_api::GuardNoSend"]}]; implementors["scopeguard"] = [{"text":"impl Unpin for Always","synthetic":true,"types":["scopeguard::Always"]},{"text":"impl<T, F, S> Unpin for ScopeGuard<T, F, S> where
    F: Unpin,
    T: Unpin
","synthetic":true,"types":["scopeguard::ScopeGuard"]}]; implementors["spin"] = [{"text":"impl<R> Unpin for Barrier<R> where
    R: Unpin
","synthetic":true,"types":["spin::barrier::Barrier"]},{"text":"impl Unpin for BarrierWaitResult","synthetic":true,"types":["spin::barrier::BarrierWaitResult"]},{"text":"impl<T, F, R> Unpin for Lazy<T, F, R> where
    F: Unpin,
    R: Unpin,
    T: Unpin
","synthetic":true,"types":["spin::lazy::Lazy"]},{"text":"impl<T: ?Sized, R> Unpin for SpinMutex<T, R> where
    R: Unpin,
    T: Unpin
","synthetic":true,"types":["spin::mutex::spin::SpinMutex"]},{"text":"impl<'a, T: ?Sized> Unpin for SpinMutexGuard<'a, T>","synthetic":true,"types":["spin::mutex::spin::SpinMutexGuard"]},{"text":"impl<T: ?Sized, R> Unpin for Mutex<T, R> where
    R: Unpin,
    T: Unpin
","synthetic":true,"types":["spin::mutex::Mutex"]},{"text":"impl<'a, T: ?Sized> Unpin for MutexGuard<'a, T>","synthetic":true,"types":["spin::mutex::MutexGuard"]},{"text":"impl<T, R> Unpin for Once<T, R> where
    R: Unpin,
    T: Unpin
","synthetic":true,"types":["spin::once::Once"]},{"text":"impl<T: ?Sized, R> Unpin for RwLock<T, R> where
    R: Unpin,
    T: Unpin
","synthetic":true,"types":["spin::rwlock::RwLock"]},{"text":"impl<'a, T: ?Sized> Unpin for RwLockReadGuard<'a, T>","synthetic":true,"types":["spin::rwlock::RwLockReadGuard"]},{"text":"impl<'a, T: ?Sized, R> Unpin for RwLockWriteGuard<'a, T, R> where
    R: Unpin
","synthetic":true,"types":["spin::rwlock::RwLockWriteGuard"]},{"text":"impl<'a, T: ?Sized, R> Unpin for RwLockUpgradableGuard<'a, T, R> where
    R: Unpin
","synthetic":true,"types":["spin::rwlock::RwLockUpgradableGuard"]},{"text":"impl Unpin for Spin","synthetic":true,"types":["spin::relax::Spin"]},{"text":"impl Unpin for Loop","synthetic":true,"types":["spin::relax::Loop"]}]; diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 737f7511..b0072485 100644 --- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,7 +1,7 @@ (function() {var implementors = {}; implementors["byteorder"] = [{"text":"impl RefUnwindSafe for BigEndian","synthetic":true,"types":["byteorder::BigEndian"]},{"text":"impl RefUnwindSafe for LittleEndian","synthetic":true,"types":["byteorder::LittleEndian"]}]; implementors["hash32"] = [{"text":"impl RefUnwindSafe for Hasher","synthetic":true,"types":["hash32::fnv::Hasher"]},{"text":"impl RefUnwindSafe for Hasher","synthetic":true,"types":["hash32::murmur3::Hasher"]},{"text":"impl<H> RefUnwindSafe for BuildHasherDefault<H> where
    H: RefUnwindSafe
","synthetic":true,"types":["hash32::BuildHasherDefault"]}]; -implementors["heapless"] = [{"text":"impl<T, const N: usize> RefUnwindSafe for Deque<T, N> where
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::deque::Deque"]},{"text":"impl<T, const N: usize> RefUnwindSafe for HistoryBuffer<T, N> where
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::histbuf::HistoryBuffer"]},{"text":"impl<K, V, S, const N: usize> RefUnwindSafe for IndexMap<K, V, S, N> where
    K: RefUnwindSafe,
    S: RefUnwindSafe,
    V: RefUnwindSafe
","synthetic":true,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> RefUnwindSafe for IndexSet<T, S, N> where
    S: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> RefUnwindSafe for LinearMap<K, V, N> where
    K: RefUnwindSafe,
    V: RefUnwindSafe
","synthetic":true,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> RefUnwindSafe for String<N>","synthetic":true,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> RefUnwindSafe for Vec<T, N> where
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::vec::Vec"]},{"text":"impl RefUnwindSafe for Min","synthetic":true,"types":["heapless::binary_heap::Min"]},{"text":"impl RefUnwindSafe for Max","synthetic":true,"types":["heapless::binary_heap::Max"]},{"text":"impl<T, K, const N: usize> RefUnwindSafe for BinaryHeap<T, K, N> where
    K: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<'a, T, K, const N: usize> RefUnwindSafe for PeekMut<'a, T, K, N> where
    K: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::binary_heap::PeekMut"]},{"text":"impl<T, const N: usize> !RefUnwindSafe for MpMcQueue<T, N>","synthetic":true,"types":["heapless::mpmc::MpMcQueue"]},{"text":"impl<P> !RefUnwindSafe for Arc<P>","synthetic":true,"types":["heapless::pool::singleton::arc::Arc"]},{"text":"impl<T> RefUnwindSafe for ArcInner<T> where
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::pool::singleton::arc::ArcInner"]},{"text":"impl<POOL, STATE = Init> !RefUnwindSafe for Box<POOL, STATE>","synthetic":true,"types":["heapless::pool::singleton::Box"]},{"text":"impl<T> !RefUnwindSafe for Node<T>","synthetic":true,"types":["heapless::pool::stack::Node"]},{"text":"impl<T> !RefUnwindSafe for Pool<T>","synthetic":true,"types":["heapless::pool::Pool"]},{"text":"impl<T, STATE = Init> !RefUnwindSafe for Box<T, STATE>","synthetic":true,"types":["heapless::pool::Box"]},{"text":"impl RefUnwindSafe for Uninit","synthetic":true,"types":["heapless::pool::Uninit"]},{"text":"impl RefUnwindSafe for Init","synthetic":true,"types":["heapless::pool::Init"]},{"text":"impl RefUnwindSafe for Min","synthetic":true,"types":["heapless::sorted_linked_list::Min"]},{"text":"impl RefUnwindSafe for Max","synthetic":true,"types":["heapless::sorted_linked_list::Max"]},{"text":"impl<T, Idx> RefUnwindSafe for Node<T, Idx> where
    Idx: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::Node"]},{"text":"impl<T, Idx, K, const N: usize> RefUnwindSafe for SortedLinkedList<T, Idx, K, N> where
    Idx: RefUnwindSafe,
    K: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::SortedLinkedList"]},{"text":"impl RefUnwindSafe for LinkedIndexU8","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl RefUnwindSafe for LinkedIndexU16","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl RefUnwindSafe for LinkedIndexUsize","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<'a, T, Idx, K, const N: usize> RefUnwindSafe for Iter<'a, T, Idx, K, N> where
    Idx: RefUnwindSafe,
    K: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, Idx, K, const N: usize> RefUnwindSafe for FindMut<'a, T, Idx, K, N> where
    Idx: RefUnwindSafe,
    K: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::FindMut"]},{"text":"impl<T, const N: usize> !RefUnwindSafe for Queue<T, N>","synthetic":true,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> !RefUnwindSafe for Iter<'a, T, N>","synthetic":true,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> !RefUnwindSafe for IterMut<'a, T, N>","synthetic":true,"types":["heapless::spsc::IterMut"]},{"text":"impl<'a, T, const N: usize> !RefUnwindSafe for Consumer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Consumer"]},{"text":"impl<'a, T, const N: usize> !RefUnwindSafe for Producer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Producer"]}]; +implementors["heapless"] = [{"text":"impl<T, const N: usize> RefUnwindSafe for Deque<T, N> where
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::deque::Deque"]},{"text":"impl<T, const N: usize> RefUnwindSafe for HistoryBuffer<T, N> where
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::histbuf::HistoryBuffer"]},{"text":"impl<'a, T, const N: usize> RefUnwindSafe for OldestOrdered<'a, T, N> where
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::histbuf::OldestOrdered"]},{"text":"impl<K, V, S, const N: usize> RefUnwindSafe for IndexMap<K, V, S, N> where
    K: RefUnwindSafe,
    S: RefUnwindSafe,
    V: RefUnwindSafe
","synthetic":true,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> RefUnwindSafe for IndexSet<T, S, N> where
    S: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> RefUnwindSafe for LinearMap<K, V, N> where
    K: RefUnwindSafe,
    V: RefUnwindSafe
","synthetic":true,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> RefUnwindSafe for String<N>","synthetic":true,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> RefUnwindSafe for Vec<T, N> where
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::vec::Vec"]},{"text":"impl RefUnwindSafe for Min","synthetic":true,"types":["heapless::binary_heap::Min"]},{"text":"impl RefUnwindSafe for Max","synthetic":true,"types":["heapless::binary_heap::Max"]},{"text":"impl<T, K, const N: usize> RefUnwindSafe for BinaryHeap<T, K, N> where
    K: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<'a, T, K, const N: usize> RefUnwindSafe for PeekMut<'a, T, K, N> where
    K: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::binary_heap::PeekMut"]},{"text":"impl<T, const N: usize> !RefUnwindSafe for MpMcQueue<T, N>","synthetic":true,"types":["heapless::mpmc::MpMcQueue"]},{"text":"impl<P> !RefUnwindSafe for Arc<P>","synthetic":true,"types":["heapless::pool::singleton::arc::Arc"]},{"text":"impl<T> RefUnwindSafe for ArcInner<T> where
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::pool::singleton::arc::ArcInner"]},{"text":"impl<POOL, STATE = Init> !RefUnwindSafe for Box<POOL, STATE>","synthetic":true,"types":["heapless::pool::singleton::Box"]},{"text":"impl<T> !RefUnwindSafe for Node<T>","synthetic":true,"types":["heapless::pool::stack::Node"]},{"text":"impl<T> !RefUnwindSafe for Pool<T>","synthetic":true,"types":["heapless::pool::Pool"]},{"text":"impl<T, STATE = Init> !RefUnwindSafe for Box<T, STATE>","synthetic":true,"types":["heapless::pool::Box"]},{"text":"impl RefUnwindSafe for Uninit","synthetic":true,"types":["heapless::pool::Uninit"]},{"text":"impl RefUnwindSafe for Init","synthetic":true,"types":["heapless::pool::Init"]},{"text":"impl RefUnwindSafe for Min","synthetic":true,"types":["heapless::sorted_linked_list::Min"]},{"text":"impl RefUnwindSafe for Max","synthetic":true,"types":["heapless::sorted_linked_list::Max"]},{"text":"impl<T, Idx> RefUnwindSafe for Node<T, Idx> where
    Idx: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::Node"]},{"text":"impl<T, Idx, K, const N: usize> RefUnwindSafe for SortedLinkedList<T, Idx, K, N> where
    Idx: RefUnwindSafe,
    K: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::SortedLinkedList"]},{"text":"impl RefUnwindSafe for LinkedIndexU8","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl RefUnwindSafe for LinkedIndexU16","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl RefUnwindSafe for LinkedIndexUsize","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<'a, T, Idx, K, const N: usize> RefUnwindSafe for Iter<'a, T, Idx, K, N> where
    Idx: RefUnwindSafe,
    K: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, Idx, K, const N: usize> RefUnwindSafe for FindMut<'a, T, Idx, K, N> where
    Idx: RefUnwindSafe,
    K: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::FindMut"]},{"text":"impl<T, const N: usize> !RefUnwindSafe for Queue<T, N>","synthetic":true,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> !RefUnwindSafe for Iter<'a, T, N>","synthetic":true,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> !RefUnwindSafe for IterMut<'a, T, N>","synthetic":true,"types":["heapless::spsc::IterMut"]},{"text":"impl<'a, T, const N: usize> !RefUnwindSafe for Consumer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Consumer"]},{"text":"impl<'a, T, const N: usize> !RefUnwindSafe for Producer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Producer"]}]; implementors["lock_api"] = [{"text":"impl<R, T> !RefUnwindSafe for Mutex<R, T>","synthetic":true,"types":["lock_api::mutex::Mutex"]},{"text":"impl<'a, R, T> !RefUnwindSafe for MutexGuard<'a, R, T>","synthetic":true,"types":["lock_api::mutex::MutexGuard"]},{"text":"impl<'a, R, T: ?Sized> RefUnwindSafe for MappedMutexGuard<'a, R, T> where
    R: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["lock_api::mutex::MappedMutexGuard"]},{"text":"impl<R, G> !RefUnwindSafe for RawReentrantMutex<R, G>","synthetic":true,"types":["lock_api::remutex::RawReentrantMutex"]},{"text":"impl<R, G, T> !RefUnwindSafe for ReentrantMutex<R, G, T>","synthetic":true,"types":["lock_api::remutex::ReentrantMutex"]},{"text":"impl<'a, R, G, T> !RefUnwindSafe for ReentrantMutexGuard<'a, R, G, T>","synthetic":true,"types":["lock_api::remutex::ReentrantMutexGuard"]},{"text":"impl<'a, R, G, T> !RefUnwindSafe for MappedReentrantMutexGuard<'a, R, G, T>","synthetic":true,"types":["lock_api::remutex::MappedReentrantMutexGuard"]},{"text":"impl<R, T> !RefUnwindSafe for RwLock<R, T>","synthetic":true,"types":["lock_api::rwlock::RwLock"]},{"text":"impl<'a, R, T> !RefUnwindSafe for RwLockReadGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::RwLockReadGuard"]},{"text":"impl<'a, R, T> !RefUnwindSafe for RwLockWriteGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::RwLockWriteGuard"]},{"text":"impl<'a, R, T> !RefUnwindSafe for RwLockUpgradableReadGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::RwLockUpgradableReadGuard"]},{"text":"impl<'a, R, T: ?Sized> RefUnwindSafe for MappedRwLockReadGuard<'a, R, T> where
    R: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["lock_api::rwlock::MappedRwLockReadGuard"]},{"text":"impl<'a, R, T: ?Sized> RefUnwindSafe for MappedRwLockWriteGuard<'a, R, T> where
    R: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["lock_api::rwlock::MappedRwLockWriteGuard"]},{"text":"impl RefUnwindSafe for GuardSend","synthetic":true,"types":["lock_api::GuardSend"]},{"text":"impl RefUnwindSafe for GuardNoSend","synthetic":true,"types":["lock_api::GuardNoSend"]}]; implementors["scopeguard"] = [{"text":"impl RefUnwindSafe for Always","synthetic":true,"types":["scopeguard::Always"]},{"text":"impl<T, F, S> RefUnwindSafe for ScopeGuard<T, F, S> where
    F: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["scopeguard::ScopeGuard"]}]; implementors["spin"] = [{"text":"impl<R = Spin> !RefUnwindSafe for Barrier<R>","synthetic":true,"types":["spin::barrier::Barrier"]},{"text":"impl RefUnwindSafe for BarrierWaitResult","synthetic":true,"types":["spin::barrier::BarrierWaitResult"]},{"text":"impl<T, F = fn() -> T, R = Spin> !RefUnwindSafe for Lazy<T, F, R>","synthetic":true,"types":["spin::lazy::Lazy"]},{"text":"impl<T, R = Spin> !RefUnwindSafe for SpinMutex<T, R>","synthetic":true,"types":["spin::mutex::spin::SpinMutex"]},{"text":"impl<'a, T: ?Sized> RefUnwindSafe for SpinMutexGuard<'a, T> where
    T: RefUnwindSafe
","synthetic":true,"types":["spin::mutex::spin::SpinMutexGuard"]},{"text":"impl<T, R = Spin> !RefUnwindSafe for Mutex<T, R>","synthetic":true,"types":["spin::mutex::Mutex"]},{"text":"impl<'a, T: ?Sized> RefUnwindSafe for MutexGuard<'a, T> where
    T: RefUnwindSafe
","synthetic":true,"types":["spin::mutex::MutexGuard"]},{"text":"impl<T = (), R = Spin> !RefUnwindSafe for Once<T, R>","synthetic":true,"types":["spin::once::Once"]},{"text":"impl<T, R = Spin> !RefUnwindSafe for RwLock<T, R>","synthetic":true,"types":["spin::rwlock::RwLock"]},{"text":"impl<'a, T: ?Sized> RefUnwindSafe for RwLockReadGuard<'a, T> where
    T: RefUnwindSafe
","synthetic":true,"types":["spin::rwlock::RwLockReadGuard"]},{"text":"impl<'a, T, R = Spin> !RefUnwindSafe for RwLockWriteGuard<'a, T, R>","synthetic":true,"types":["spin::rwlock::RwLockWriteGuard"]},{"text":"impl<'a, T, R = Spin> !RefUnwindSafe for RwLockUpgradableGuard<'a, T, R>","synthetic":true,"types":["spin::rwlock::RwLockUpgradableGuard"]},{"text":"impl RefUnwindSafe for Spin","synthetic":true,"types":["spin::relax::Spin"]},{"text":"impl RefUnwindSafe for Loop","synthetic":true,"types":["spin::relax::Loop"]}]; diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index 987f9a13..485d5bf9 100644 --- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,7 +1,7 @@ (function() {var implementors = {}; implementors["byteorder"] = [{"text":"impl UnwindSafe for BigEndian","synthetic":true,"types":["byteorder::BigEndian"]},{"text":"impl UnwindSafe for LittleEndian","synthetic":true,"types":["byteorder::LittleEndian"]}]; implementors["hash32"] = [{"text":"impl UnwindSafe for Hasher","synthetic":true,"types":["hash32::fnv::Hasher"]},{"text":"impl UnwindSafe for Hasher","synthetic":true,"types":["hash32::murmur3::Hasher"]},{"text":"impl<H> UnwindSafe for BuildHasherDefault<H> where
    H: UnwindSafe
","synthetic":true,"types":["hash32::BuildHasherDefault"]}]; -implementors["heapless"] = [{"text":"impl<T, const N: usize> UnwindSafe for Deque<T, N> where
    T: UnwindSafe
","synthetic":true,"types":["heapless::deque::Deque"]},{"text":"impl<T, const N: usize> UnwindSafe for HistoryBuffer<T, N> where
    T: UnwindSafe
","synthetic":true,"types":["heapless::histbuf::HistoryBuffer"]},{"text":"impl<K, V, S, const N: usize> UnwindSafe for IndexMap<K, V, S, N> where
    K: UnwindSafe,
    S: UnwindSafe,
    V: UnwindSafe
","synthetic":true,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> UnwindSafe for IndexSet<T, S, N> where
    S: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> UnwindSafe for LinearMap<K, V, N> where
    K: UnwindSafe,
    V: UnwindSafe
","synthetic":true,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> UnwindSafe for String<N>","synthetic":true,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> UnwindSafe for Vec<T, N> where
    T: UnwindSafe
","synthetic":true,"types":["heapless::vec::Vec"]},{"text":"impl UnwindSafe for Min","synthetic":true,"types":["heapless::binary_heap::Min"]},{"text":"impl UnwindSafe for Max","synthetic":true,"types":["heapless::binary_heap::Max"]},{"text":"impl<T, K, const N: usize> UnwindSafe for BinaryHeap<T, K, N> where
    K: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<'a, T, K, const N: usize> !UnwindSafe for PeekMut<'a, T, K, N>","synthetic":true,"types":["heapless::binary_heap::PeekMut"]},{"text":"impl<T, const N: usize> UnwindSafe for MpMcQueue<T, N> where
    T: UnwindSafe
","synthetic":true,"types":["heapless::mpmc::MpMcQueue"]},{"text":"impl<P> !UnwindSafe for Arc<P>","synthetic":true,"types":["heapless::pool::singleton::arc::Arc"]},{"text":"impl<T> UnwindSafe for ArcInner<T> where
    T: UnwindSafe
","synthetic":true,"types":["heapless::pool::singleton::arc::ArcInner"]},{"text":"impl<POOL, STATE = Init> !UnwindSafe for Box<POOL, STATE>","synthetic":true,"types":["heapless::pool::singleton::Box"]},{"text":"impl<T> !UnwindSafe for Node<T>","synthetic":true,"types":["heapless::pool::stack::Node"]},{"text":"impl<T> !UnwindSafe for Pool<T>","synthetic":true,"types":["heapless::pool::Pool"]},{"text":"impl<T, STATE = Init> !UnwindSafe for Box<T, STATE>","synthetic":true,"types":["heapless::pool::Box"]},{"text":"impl UnwindSafe for Uninit","synthetic":true,"types":["heapless::pool::Uninit"]},{"text":"impl UnwindSafe for Init","synthetic":true,"types":["heapless::pool::Init"]},{"text":"impl UnwindSafe for Min","synthetic":true,"types":["heapless::sorted_linked_list::Min"]},{"text":"impl UnwindSafe for Max","synthetic":true,"types":["heapless::sorted_linked_list::Max"]},{"text":"impl<T, Idx> UnwindSafe for Node<T, Idx> where
    Idx: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::Node"]},{"text":"impl<T, Idx, K, const N: usize> UnwindSafe for SortedLinkedList<T, Idx, K, N> where
    Idx: UnwindSafe,
    K: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::SortedLinkedList"]},{"text":"impl UnwindSafe for LinkedIndexU8","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl UnwindSafe for LinkedIndexU16","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl UnwindSafe for LinkedIndexUsize","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<'a, T, Idx, K, const N: usize> UnwindSafe for Iter<'a, T, Idx, K, N> where
    Idx: UnwindSafe + RefUnwindSafe,
    K: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, Idx, K, const N: usize> !UnwindSafe for FindMut<'a, T, Idx, K, N>","synthetic":true,"types":["heapless::sorted_linked_list::FindMut"]},{"text":"impl<T, const N: usize> UnwindSafe for Queue<T, N> where
    T: UnwindSafe
","synthetic":true,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> !UnwindSafe for Iter<'a, T, N>","synthetic":true,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> !UnwindSafe for IterMut<'a, T, N>","synthetic":true,"types":["heapless::spsc::IterMut"]},{"text":"impl<'a, T, const N: usize> !UnwindSafe for Consumer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Consumer"]},{"text":"impl<'a, T, const N: usize> !UnwindSafe for Producer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Producer"]}]; +implementors["heapless"] = [{"text":"impl<T, const N: usize> UnwindSafe for Deque<T, N> where
    T: UnwindSafe
","synthetic":true,"types":["heapless::deque::Deque"]},{"text":"impl<T, const N: usize> UnwindSafe for HistoryBuffer<T, N> where
    T: UnwindSafe
","synthetic":true,"types":["heapless::histbuf::HistoryBuffer"]},{"text":"impl<'a, T, const N: usize> UnwindSafe for OldestOrdered<'a, T, N> where
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::histbuf::OldestOrdered"]},{"text":"impl<K, V, S, const N: usize> UnwindSafe for IndexMap<K, V, S, N> where
    K: UnwindSafe,
    S: UnwindSafe,
    V: UnwindSafe
","synthetic":true,"types":["heapless::indexmap::IndexMap"]},{"text":"impl<T, S, const N: usize> UnwindSafe for IndexSet<T, S, N> where
    S: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["heapless::indexset::IndexSet"]},{"text":"impl<K, V, const N: usize> UnwindSafe for LinearMap<K, V, N> where
    K: UnwindSafe,
    V: UnwindSafe
","synthetic":true,"types":["heapless::linear_map::LinearMap"]},{"text":"impl<const N: usize> UnwindSafe for String<N>","synthetic":true,"types":["heapless::string::String"]},{"text":"impl<T, const N: usize> UnwindSafe for Vec<T, N> where
    T: UnwindSafe
","synthetic":true,"types":["heapless::vec::Vec"]},{"text":"impl UnwindSafe for Min","synthetic":true,"types":["heapless::binary_heap::Min"]},{"text":"impl UnwindSafe for Max","synthetic":true,"types":["heapless::binary_heap::Max"]},{"text":"impl<T, K, const N: usize> UnwindSafe for BinaryHeap<T, K, N> where
    K: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["heapless::binary_heap::BinaryHeap"]},{"text":"impl<'a, T, K, const N: usize> !UnwindSafe for PeekMut<'a, T, K, N>","synthetic":true,"types":["heapless::binary_heap::PeekMut"]},{"text":"impl<T, const N: usize> UnwindSafe for MpMcQueue<T, N> where
    T: UnwindSafe
","synthetic":true,"types":["heapless::mpmc::MpMcQueue"]},{"text":"impl<P> !UnwindSafe for Arc<P>","synthetic":true,"types":["heapless::pool::singleton::arc::Arc"]},{"text":"impl<T> UnwindSafe for ArcInner<T> where
    T: UnwindSafe
","synthetic":true,"types":["heapless::pool::singleton::arc::ArcInner"]},{"text":"impl<POOL, STATE = Init> !UnwindSafe for Box<POOL, STATE>","synthetic":true,"types":["heapless::pool::singleton::Box"]},{"text":"impl<T> !UnwindSafe for Node<T>","synthetic":true,"types":["heapless::pool::stack::Node"]},{"text":"impl<T> !UnwindSafe for Pool<T>","synthetic":true,"types":["heapless::pool::Pool"]},{"text":"impl<T, STATE = Init> !UnwindSafe for Box<T, STATE>","synthetic":true,"types":["heapless::pool::Box"]},{"text":"impl UnwindSafe for Uninit","synthetic":true,"types":["heapless::pool::Uninit"]},{"text":"impl UnwindSafe for Init","synthetic":true,"types":["heapless::pool::Init"]},{"text":"impl UnwindSafe for Min","synthetic":true,"types":["heapless::sorted_linked_list::Min"]},{"text":"impl UnwindSafe for Max","synthetic":true,"types":["heapless::sorted_linked_list::Max"]},{"text":"impl<T, Idx> UnwindSafe for Node<T, Idx> where
    Idx: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::Node"]},{"text":"impl<T, Idx, K, const N: usize> UnwindSafe for SortedLinkedList<T, Idx, K, N> where
    Idx: UnwindSafe,
    K: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::SortedLinkedList"]},{"text":"impl UnwindSafe for LinkedIndexU8","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU8"]},{"text":"impl UnwindSafe for LinkedIndexU16","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexU16"]},{"text":"impl UnwindSafe for LinkedIndexUsize","synthetic":true,"types":["heapless::sorted_linked_list::LinkedIndexUsize"]},{"text":"impl<'a, T, Idx, K, const N: usize> UnwindSafe for Iter<'a, T, Idx, K, N> where
    Idx: UnwindSafe + RefUnwindSafe,
    K: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["heapless::sorted_linked_list::Iter"]},{"text":"impl<'a, T, Idx, K, const N: usize> !UnwindSafe for FindMut<'a, T, Idx, K, N>","synthetic":true,"types":["heapless::sorted_linked_list::FindMut"]},{"text":"impl<T, const N: usize> UnwindSafe for Queue<T, N> where
    T: UnwindSafe
","synthetic":true,"types":["heapless::spsc::Queue"]},{"text":"impl<'a, T, const N: usize> !UnwindSafe for Iter<'a, T, N>","synthetic":true,"types":["heapless::spsc::Iter"]},{"text":"impl<'a, T, const N: usize> !UnwindSafe for IterMut<'a, T, N>","synthetic":true,"types":["heapless::spsc::IterMut"]},{"text":"impl<'a, T, const N: usize> !UnwindSafe for Consumer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Consumer"]},{"text":"impl<'a, T, const N: usize> !UnwindSafe for Producer<'a, T, N>","synthetic":true,"types":["heapless::spsc::Producer"]}]; implementors["lock_api"] = [{"text":"impl<R, T: ?Sized> UnwindSafe for Mutex<R, T> where
    R: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["lock_api::mutex::Mutex"]},{"text":"impl<'a, R, T> !UnwindSafe for MutexGuard<'a, R, T>","synthetic":true,"types":["lock_api::mutex::MutexGuard"]},{"text":"impl<'a, R, T> !UnwindSafe for MappedMutexGuard<'a, R, T>","synthetic":true,"types":["lock_api::mutex::MappedMutexGuard"]},{"text":"impl<R, G> UnwindSafe for RawReentrantMutex<R, G> where
    G: UnwindSafe,
    R: UnwindSafe
","synthetic":true,"types":["lock_api::remutex::RawReentrantMutex"]},{"text":"impl<R, G, T: ?Sized> UnwindSafe for ReentrantMutex<R, G, T> where
    G: UnwindSafe,
    R: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["lock_api::remutex::ReentrantMutex"]},{"text":"impl<'a, R, G, T> !UnwindSafe for ReentrantMutexGuard<'a, R, G, T>","synthetic":true,"types":["lock_api::remutex::ReentrantMutexGuard"]},{"text":"impl<'a, R, G, T> !UnwindSafe for MappedReentrantMutexGuard<'a, R, G, T>","synthetic":true,"types":["lock_api::remutex::MappedReentrantMutexGuard"]},{"text":"impl<R, T: ?Sized> UnwindSafe for RwLock<R, T> where
    R: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["lock_api::rwlock::RwLock"]},{"text":"impl<'a, R, T> !UnwindSafe for RwLockReadGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::RwLockReadGuard"]},{"text":"impl<'a, R, T> !UnwindSafe for RwLockWriteGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::RwLockWriteGuard"]},{"text":"impl<'a, R, T> !UnwindSafe for RwLockUpgradableReadGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::RwLockUpgradableReadGuard"]},{"text":"impl<'a, R, T: ?Sized> UnwindSafe for MappedRwLockReadGuard<'a, R, T> where
    R: RefUnwindSafe,
    T: RefUnwindSafe
","synthetic":true,"types":["lock_api::rwlock::MappedRwLockReadGuard"]},{"text":"impl<'a, R, T> !UnwindSafe for MappedRwLockWriteGuard<'a, R, T>","synthetic":true,"types":["lock_api::rwlock::MappedRwLockWriteGuard"]},{"text":"impl UnwindSafe for GuardSend","synthetic":true,"types":["lock_api::GuardSend"]},{"text":"impl UnwindSafe for GuardNoSend","synthetic":true,"types":["lock_api::GuardNoSend"]}]; implementors["scopeguard"] = [{"text":"impl UnwindSafe for Always","synthetic":true,"types":["scopeguard::Always"]},{"text":"impl<T, F, S> UnwindSafe for ScopeGuard<T, F, S> where
    F: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["scopeguard::ScopeGuard"]}]; implementors["spin"] = [{"text":"impl<R> UnwindSafe for Barrier<R> where
    R: UnwindSafe
","synthetic":true,"types":["spin::barrier::Barrier"]},{"text":"impl UnwindSafe for BarrierWaitResult","synthetic":true,"types":["spin::barrier::BarrierWaitResult"]},{"text":"impl<T, F, R> UnwindSafe for Lazy<T, F, R> where
    F: UnwindSafe,
    R: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["spin::lazy::Lazy"]},{"text":"impl<T: ?Sized, R> UnwindSafe for SpinMutex<T, R> where
    R: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["spin::mutex::spin::SpinMutex"]},{"text":"impl<'a, T> !UnwindSafe for SpinMutexGuard<'a, T>","synthetic":true,"types":["spin::mutex::spin::SpinMutexGuard"]},{"text":"impl<T: ?Sized, R> UnwindSafe for Mutex<T, R> where
    R: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["spin::mutex::Mutex"]},{"text":"impl<'a, T> !UnwindSafe for MutexGuard<'a, T>","synthetic":true,"types":["spin::mutex::MutexGuard"]},{"text":"impl<T, R> UnwindSafe for Once<T, R> where
    R: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["spin::once::Once"]},{"text":"impl<T: ?Sized, R> UnwindSafe for RwLock<T, R> where
    R: UnwindSafe,
    T: UnwindSafe
","synthetic":true,"types":["spin::rwlock::RwLock"]},{"text":"impl<'a, T: ?Sized> UnwindSafe for RwLockReadGuard<'a, T> where
    T: RefUnwindSafe
","synthetic":true,"types":["spin::rwlock::RwLockReadGuard"]},{"text":"impl<'a, T, R = Spin> !UnwindSafe for RwLockWriteGuard<'a, T, R>","synthetic":true,"types":["spin::rwlock::RwLockWriteGuard"]},{"text":"impl<'a, T, R = Spin> !UnwindSafe for RwLockUpgradableGuard<'a, T, R>","synthetic":true,"types":["spin::rwlock::RwLockUpgradableGuard"]},{"text":"impl UnwindSafe for Spin","synthetic":true,"types":["spin::relax::Spin"]},{"text":"impl UnwindSafe for Loop","synthetic":true,"types":["spin::relax::Loop"]}]; diff --git a/search-index.js b/search-index.js index 5deb2bdc..a42b497a 100644 --- a/search-index.js +++ b/search-index.js @@ -1,7 +1,7 @@ var searchIndex = JSON.parse('{\ "byteorder":{"doc":"This crate provides convenience methods for encoding and …","t":[6,4,8,6,4,6,6,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,11,11,11,11,10,11,11,10,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,10,11,11,10,11,11,11,10,11,11,10,11,11,11,10,11,11,10,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,10,11,11,10,11,11,11,10,11,11,10,11,11,11,10,11,11,10,11,11,10,11,11,10,11,11],"n":["BE","BigEndian","ByteOrder","LE","LittleEndian","NativeEndian","NetworkEndian","borrow","borrow","borrow_mut","borrow_mut","clone","clone","cmp","cmp","default","default","eq","eq","fmt","fmt","from","from","from_slice_f32","from_slice_f32","from_slice_f32","from_slice_f64","from_slice_f64","from_slice_f64","from_slice_i128","from_slice_i16","from_slice_i32","from_slice_i64","from_slice_u128","from_slice_u128","from_slice_u128","from_slice_u16","from_slice_u16","from_slice_u16","from_slice_u32","from_slice_u32","from_slice_u32","from_slice_u64","from_slice_u64","from_slice_u64","hash","hash","into","into","partial_cmp","partial_cmp","read_f32","read_f32_into","read_f32_into_unchecked","read_f64","read_f64_into","read_f64_into_unchecked","read_i128","read_i128_into","read_i16","read_i16_into","read_i24","read_i32","read_i32_into","read_i48","read_i64","read_i64_into","read_int","read_int128","read_u128","read_u128","read_u128","read_u128_into","read_u128_into","read_u128_into","read_u16","read_u16","read_u16","read_u16_into","read_u16_into","read_u16_into","read_u24","read_u32","read_u32","read_u32","read_u32_into","read_u32_into","read_u32_into","read_u48","read_u64","read_u64","read_u64","read_u64_into","read_u64_into","read_u64_into","read_uint","read_uint","read_uint","read_uint128","read_uint128","read_uint128","try_from","try_from","try_into","try_into","type_id","type_id","write_f32","write_f32_into","write_f64","write_f64_into","write_i128","write_i128_into","write_i16","write_i16_into","write_i24","write_i32","write_i32_into","write_i48","write_i64","write_i64_into","write_i8_into","write_int","write_int128","write_u128","write_u128","write_u128","write_u128_into","write_u128_into","write_u128_into","write_u16","write_u16","write_u16","write_u16_into","write_u16_into","write_u16_into","write_u24","write_u32","write_u32","write_u32","write_u32_into","write_u32_into","write_u32_into","write_u48","write_u64","write_u64","write_u64","write_u64_into","write_u64_into","write_u64_into","write_uint","write_uint","write_uint","write_uint128","write_uint128","write_uint128"],"q":["byteorder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["A type alias for BigEndian.","Defines big-endian serialization.","ByteOrder describes types that can serialize integers as …","A type alias for LittleEndian.","Defines little-endian serialization.","Defines system native-endian serialization.","Defines network byte order serialization.","","","","","","","","","","","","","","","","","Converts the given slice of IEEE754 single-precision (4 …","","","Converts the given slice of IEEE754 double-precision (8 …","","","Converts the given slice of signed 128 bit integers to a …","Converts the given slice of signed 16 bit integers to a …","Converts the given slice of signed 32 bit integers to a …","Converts the given slice of signed 64 bit integers to a …","Converts the given slice of unsigned 128 bit integers to a …","","","Converts the given slice of unsigned 16 bit integers to a …","","","Converts the given slice of unsigned 32 bit integers to a …","","","Converts the given slice of unsigned 64 bit integers to a …","","","","","","","","","Reads a IEEE754 single-precision (4 bytes) floating point …","Reads IEEE754 single-precision (4 bytes) floating point …","DEPRECATED.","Reads a IEEE754 double-precision (8 bytes) floating point …","Reads IEEE754 single-precision (4 bytes) floating point …","DEPRECATED.","Reads a signed 128 bit integer from buf.","Reads signed 128 bit integers from src into dst.","Reads a signed 16 bit integer from buf.","Reads signed 16 bit integers from src to dst.","Reads a signed 24 bit integer from buf, stored in i32.","Reads a signed 32 bit integer from buf.","Reads signed 32 bit integers from src into dst.","Reads a signed 48 bit integer from buf, stored in i64.","Reads a signed 64 bit integer from buf.","Reads signed 64 bit integers from src into dst.","Reads a signed n-bytes integer from buf.","Reads a signed n-bytes integer from buf.","Reads an unsigned 128 bit integer from buf.","","","Reads unsigned 128 bit integers from src into dst.","","","Reads an unsigned 16 bit integer from buf.","","","Reads unsigned 16 bit integers from src into dst.","","","Reads an unsigned 24 bit integer from buf, stored in u32.","Reads an unsigned 32 bit integer from buf.","","","Reads unsigned 32 bit integers from src into dst.","","","Reads an unsigned 48 bit integer from buf, stored in u64.","Reads an unsigned 64 bit integer from buf.","","","Reads unsigned 64 bit integers from src into dst.","","","Reads an unsigned n-bytes integer from buf.","","","Reads an unsigned n-bytes integer from buf.","","","","","","","","","Writes a IEEE754 single-precision (4 bytes) floating point …","Writes IEEE754 single-precision (4 bytes) floating point …","Writes a IEEE754 double-precision (8 bytes) floating point …","Writes IEEE754 double-precision (8 bytes) floating point …","Writes a signed 128 bit integer n to buf.","Writes signed 128 bit integers from src into dst.","Writes a signed 16 bit integer n to buf.","Writes signed 16 bit integers from src into dst.","Writes a signed 24 bit integer n to buf, stored in i32.","Writes a signed 32 bit integer n to buf.","Writes signed 32 bit integers from src into dst.","Writes a signed 48 bit integer n to buf, stored in i64.","Writes a signed 64 bit integer n to buf.","Writes signed 64 bit integers from src into dst.","Writes signed 8 bit integers from src into dst.","Writes a signed integer n to buf using only nbytes.","Writes a signed integer n to buf using only nbytes.","Writes an unsigned 128 bit integer n to buf.","","","Writes unsigned 128 bit integers from src into dst.","","","Writes an unsigned 16 bit integer n to buf.","","","Writes unsigned 16 bit integers from src into dst.","","","Writes an unsigned 24 bit integer n to buf, stored in u32.","Writes an unsigned 32 bit integer n to buf.","","","Writes unsigned 32 bit integers from src into dst.","","","Writes an unsigned 48 bit integer n to buf, stored in u64.","Writes an unsigned 64 bit integer n to buf.","","","Writes unsigned 64 bit integers from src into dst.","","","Writes an unsigned integer n to buf using only nbytes.","","","Writes an unsigned integer n to buf using only nbytes.","",""],"i":[0,0,0,0,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,1,2,3,1,2,3,3,3,3,3,1,2,3,1,2,3,1,2,3,1,2,1,2,1,2,1,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,3,1,2,3,1,2,3,1,2,3,3,1,2,3,1,2,3,3,1,2,3,1,2,3,1,2,3,1,2,1,2,1,2,1,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,3,1,2,3,1,2,3,1,2,3,3,1,2,3,1,2,3,3,1,2,3,1,2,3,1,2,3,1,2],"f":[null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[],["bigendian",4]],[[],["littleendian",4]],[[["bigendian",4]],["ordering",4]],[[["littleendian",4]],["ordering",4]],[[],["bigendian",4]],[[],["littleendian",4]],[[["bigendian",4]],["bool",15]],[[["littleendian",4]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["bigendian",4]],[["option",4,["ordering"]],["ordering",4]]],[[["littleendian",4]],[["option",4,["ordering"]],["ordering",4]]],[[],["f32",15]],[[]],[[]],[[],["f64",15]],[[]],[[]],[[],["i128",15]],[[]],[[],["i16",15]],[[]],[[],["i32",15]],[[],["i32",15]],[[]],[[],["i64",15]],[[],["i64",15]],[[]],[[["usize",15]],["i64",15]],[[["usize",15]],["i128",15]],[[],["u128",15]],[[],["u128",15]],[[],["u128",15]],[[]],[[]],[[]],[[],["u16",15]],[[],["u16",15]],[[],["u16",15]],[[]],[[]],[[]],[[],["u32",15]],[[],["u32",15]],[[],["u32",15]],[[],["u32",15]],[[]],[[]],[[]],[[],["u64",15]],[[],["u64",15]],[[],["u64",15]],[[],["u64",15]],[[]],[[]],[[]],[[["usize",15]],["u64",15]],[[["usize",15]],["u64",15]],[[["usize",15]],["u64",15]],[[["usize",15]],["u128",15]],[[["usize",15]],["u128",15]],[[["usize",15]],["u128",15]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[["f32",15]]],[[]],[[["f64",15]]],[[]],[[["i128",15]]],[[]],[[["i16",15]]],[[]],[[["i32",15]]],[[["i32",15]]],[[]],[[["i64",15]]],[[["i64",15]]],[[]],[[]],[[["usize",15],["i64",15]]],[[["usize",15],["i128",15]]],[[["u128",15]]],[[["u128",15]]],[[["u128",15]]],[[]],[[]],[[]],[[["u16",15]]],[[["u16",15]]],[[["u16",15]]],[[]],[[]],[[]],[[["u32",15]]],[[["u32",15]]],[[["u32",15]]],[[["u32",15]]],[[]],[[]],[[]],[[["u64",15]]],[[["u64",15]]],[[["u64",15]]],[[["u64",15]]],[[]],[[]],[[]],[[["u64",15],["usize",15]]],[[["u64",15],["usize",15]]],[[["u64",15],["usize",15]]],[[["usize",15],["u128",15]]],[[["usize",15],["u128",15]]],[[["usize",15],["u128",15]]]],"p":[[4,"BigEndian"],[4,"LittleEndian"],[8,"ByteOrder"]]},\ "hash32":{"doc":"32-bit hashing machinery","t":[8,3,3,8,8,16,3,11,11,11,11,11,11,10,11,11,11,11,11,11,10,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11],"n":["BuildHasher","BuildHasherDefault","FnvHasher","Hash","Hasher","Hasher","Murmur3Hasher","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","build_hasher","build_hasher","clone","default","default","default","eq","finish","finish","finish","fmt","from","from","from","hash","hash_slice","into","into","into","new","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","write","write","write"],"q":["hash32","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["See core::hash::BuildHasher for details","See core::hash::BuildHasherDefault for details","32-bit Fowler-Noll-Vo hasher","See core::hash::Hash for details","See core::hash::Hasher for details","See core::hash::BuildHasher::Hasher","32-bit MurmurHash3 hasher","","","","","","","See core::hash::BuildHasher.build_hasher","","","","","","","See core::hash::Hasher.finish","","","","","","","Feeds this value into the given Hasher.","Feeds a slice of this type into the given Hasher.","","","","const constructor","","","","","","","","","","See core::hash::Hasher.write","",""],"i":[0,0,0,0,0,1,0,2,3,4,2,3,4,1,4,4,2,3,4,4,5,2,3,4,2,3,4,6,6,2,3,4,4,2,3,4,2,3,4,2,3,4,5,2,3],"f":[null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["buildhasherdefault",3]],["bool",15]],[[],["u32",15]],[[],["u32",15]],[[],["u32",15]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]]],"p":[[8,"BuildHasher"],[3,"FnvHasher"],[3,"Murmur3Hasher"],[3,"BuildHasherDefault"],[8,"Hasher"],[8,"Hash"]]},\ -"heapless":{"doc":"static friendly data structures that don’t require …","t":[3,6,6,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,4,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,6,6,6,6,6,6,11,11,11,11,11,11,11,11,11,11,11,3,4,3,3,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,16,8,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,16,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,8,3,3,3,3,3,3,3,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Deque","FnvIndexMap","FnvIndexSet","HistoryBuffer","IndexMap","IndexSet","LinearMap","String","Vec","as_mut","as_mut","as_mut_slices","as_mut_str","as_mut_vec","as_ref","as_ref","as_ref","as_ref","as_ref","as_slice","as_slice","as_slices","as_str","back","back_mut","binary_heap","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","capacity","capacity","capacity","capacity","capacity","capacity","capacity","clear","clear","clear","clear","clear","clear","clear","clear_with","clone","clone","clone","clone","clone","clone","cmp","cmp","contains","contains_key","contains_key","default","default","default","default","default","default","default","deref","deref","deref","deref_mut","deref_mut","difference","drop","drop","drop","drop","ends_with","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend_from_slice","extend_from_slice","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_iter","from_iter","from_iter","from_iter","from_slice","from_str","front","front_mut","get","get","get_mut","get_mut","hash","hash","hash","hash","index","index","index_mut","index_mut","insert","insert","insert","intersection","into","into","into","into","into","into","into","into_array","into_bytes","into_iter","into_iter","is_disjoint","is_empty","is_empty","is_empty","is_empty","is_empty","is_full","is_full","is_subset","is_superset","iter","iter","iter","iter","iter_mut","iter_mut","iter_mut","keys","keys","len","len","len","len","len","mpmc","ne","ne","ne","new","new","new","new","new","new","new","new_with","partial_cmp","partial_cmp","pool","pop","pop","pop_back","pop_front","pop_unchecked","push","push","push_back","push_back_unchecked","push_front","push_front_unchecked","push_str","push_unchecked","recent","remove","remove","remove","resize","resize_default","set_len","sorted_linked_list","spsc","starts_with","swap_remove","swap_remove","swap_remove_unchecked","symmetric_difference","truncate","truncate","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","union","values","values","values_mut","values_mut","write","write_char","write_str","write_str","BinaryHeap","Kind","Max","Min","PeekMut","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","capacity","clear","clone","default","deref","deref_mut","drop","drop","fmt","from","from","from","from","into","into","into","into","is_empty","iter","iter_mut","len","new","peek","peek_mut","pop","pop","pop_unchecked","push","push_unchecked","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","MpMcQueue","Q16","Q2","Q32","Q4","Q64","Q8","borrow","borrow_mut","default","dequeue","enqueue","from","into","new","try_from","try_into","type_id","Box","Init","Node","Pool","Uninit","alloc","as_mut","as_ref","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cmp","deref","deref_mut","eq","fmt","fmt","free","from","from","from","from","from","grow","grow_exact","hash","init","into","into","into","into","into","new","partial_cmp","singleton","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","Box","Data","Pool","alloc","arc","as_mut","as_ref","borrow","borrow_mut","cmp","deref","deref_mut","drop","eq","fmt","fmt","forget","freeze","from","grow","grow_exact","hash","init","into","partial_cmp","try_from","try_into","type_id","Arc","ArcInner","Data","Pool","as_ref","borrow","borrow","borrow_mut","borrow_mut","clone","cmp","deref","drop","eq","fmt","fmt","from","from","hash","into","into","new","partial_cmp","try_from","try_from","try_into","try_into","type_id","type_id","FindMut","Iter","Kind","LinkedIndexU16","LinkedIndexU8","LinkedIndexUsize","Max","Min","Node","SortedLinkedList","SortedLinkedListIndex","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","cmp","cmp","cmp","deref","deref_mut","drop","drop","eq","eq","eq","find_mut","finish","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into_iter","is_empty","is_full","iter","ne","ne","ne","new_u16","new_u8","new_usize","next","partial_cmp","partial_cmp","partial_cmp","peek","pop","pop","pop_unchecked","push","push_unchecked","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","Consumer","Iter","IterMut","Producer","Queue","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","capacity","capacity","capacity","clone","clone","default","dequeue","dequeue","dequeue_unchecked","dequeue_unchecked","drop","enqueue","enqueue","enqueue_unchecked","enqueue_unchecked","eq","fmt","from","from","from","from","from","hash","hash","into","into","into","into","into","into_iter","into_iter","is_empty","is_full","iter","iter_mut","len","len","len","new","next","next","next_back","next_back","peek","peek","ready","ready","split","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id"],"q":["heapless","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","heapless::binary_heap","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","heapless::mpmc","","","","","","","","","","","","","","","","","","heapless::pool","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","heapless::pool::singleton","","","","","","","","","","","","","","","","","","","","","","","","","","","","heapless::pool::singleton::arc","","","","","","","","","","","","","","","","","","","","","","","","","","","","","heapless::sorted_linked_list","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","heapless::spsc","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["A fixed capacity double-ended queue.","A heapless::IndexMap using the default FNV hasher","A heapless::IndexSet using the default FNV hasher. A list …","A “history buffer”, similar to a write-only ring …","Fixed capacity IndexMap","Fixed capacity IndexSet.","A fixed capacity map / dictionary that performs lookups …","A fixed capacity String","A fixed capacity Vec","","","Returns a pair of mutable slices which contain, in order, …","Converts a String into a mutable string slice.","Returns a mutable reference to the contents of this String.","","","","","","Returns the array slice backing the buffer, without …","Extracts a slice containing the entire vector.","Returns a pair of slices which contain, in order, the …","Extracts a string slice containing the entire string.","Provides a reference to the back element, or None if the …","Provides a mutable reference to the back element, or None …","A priority queue implemented with a binary heap.","","","","","","","","","","","","","","","Returns the maximum number of elements the deque can hold.","Returns the capacity of the buffer, which is the length of …","Returns the number of elements the map can hold","Returns the number of elements the set can hold","Returns the number of elements that the map can hold","Returns the maximum number of elements the String can hold","Returns the maximum number of elements the vector can hold.","Clears the deque, removing all values.","Clears the buffer, replacing every element with the …","Remove all key-value pairs in the map, while preserving …","Clears the set, removing all values.","Clears the map, removing all key-value pairs","Truncates this String, removing all contents.","Clears the vector, removing all values.","Clears the buffer, replacing every element with the given …","","","","","","","","","Returns true if the set contains a value.","Returns true if the map contains a value for the specified …","Returns true if the map contains a value for the specified …","","","","","","","","","","","","","Visits the values representing the difference, i.e. the …","","","","","Returns true if needle is a suffix of the Vec.","","","","","","","","","","","","","","","","","","","Extends the vec from an iterator.","","","Clones and writes all elements in a slice to the buffer.","Clones and appends all elements in a slice to the Vec.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Constructs a new vector with a fixed capacity of N and …","","Provides a reference to the front element, or None if the …","Provides a mutable reference to the front element, or None …","Returns a reference to the value corresponding to the key.","Returns a reference to the value corresponding to the key","Returns a mutable reference to the value corresponding to …","Returns a mutable reference to the value corresponding to …","","","","","","","","","Inserts a key-value pair into the map.","Adds a value to the set.","Inserts a key-value pair into the map.","Visits the values representing the intersection, i.e. the …","","","","","","","","Returns the contents of the vector as an array of length M …","Converts a String into a byte vector.","","","Returns true if self has no elements in common with other. …","Returns whether the deque is empty.","Returns true if the map contains no elements.","Returns true if the set contains no elements.","Returns true if the map contains no elements","Returns true if the vec is empty","Returns whether the deque is full (i.e. if …","Returns true if the vec is full","Returns true if the set is a subset of another, i.e. other …","Examples","Returns an iterator over the deque.","Return an iterator over the key-value pairs of the map, in …","Return an iterator over the values of the set, in their …","An iterator visiting all key-value pairs in arbitrary …","Returns an iterator that allows modifying each value.","Return an iterator over the key-value pairs of the map, in …","An iterator visiting all key-value pairs in arbitrary …","Return an iterator over the keys of the map, in their order","An iterator visiting all keys in arbitrary order","Returns the number of elements currently in the deque.","Returns the current fill level of the buffer.","Return the number of key-value pairs in the map.","Returns the number of elements in the set.","Returns the number of elements in this map","A fixed capacity Multiple-Producer Multiple-Consumer …","","","","Constructs a new, empty deque with a fixed capacity of N","Constructs a new history buffer.","Creates an empty IndexMap.","Creates an empty IndexSet","Creates an empty LinearMap","Constructs a new, empty String with a fixed capacity of N","Constructs a new, empty vector with a fixed capacity of N","Constructs a new history buffer, where every element is …","","","A heap-less, interrupt-safe, lock-free memory pool (*)","Removes the last character from the string buffer and …","Removes the last element from a vector and returns it, or …","Removes the item from the back of the deque and returns …","Removes the item from the front of the deque and returns …","Removes the last element from a vector and returns it","Appends the given char to the end of this String.","Appends an item to the back of the collection","Appends an item to the back of the deque","Appends an item to the back of the deque","Appends an item to the front of the deque","Appends an item to the front of the deque","Appends a given string slice onto the end of this String.","Appends an item to the back of the collection","Returns a reference to the most recently written value.","Same as swap_remove","Removes a value from the set. Returns true if the value …","Removes a key from the map, returning the value at the key …","Resizes the Vec in-place so that len is equal to new_len.","Resizes the Vec in-place so that len is equal to new_len.","Forces the length of the vector to new_len.","A fixed sorted priority linked list, similar to BinaryHeap …","Fixed capacity Single Producer Single Consumer (SPSC) queue","Returns true if needle is a prefix of the Vec.","Remove the key-value pair equivalent to key and return its …","Removes an element from the vector and returns it.","Removes an element from the vector and returns it.","Visits the values representing the symmetric difference, …","Shortens this String to the specified length.","Shortens the vector, keeping the first len elements and …","","","","","","","","","","","","","","","","","","","","","","","Visits the values representing the union, i.e. all the …","Return an iterator over the values of the map, in their …","An iterator visiting all values in arbitrary order","Return an iterator over mutable references to the the …","An iterator visiting all values mutably in arbitrary order","Writes an element to the buffer, overwriting the oldest …","","","","A priority queue implemented with a binary heap.","The binary heap kind: min-heap or max-heap","Max-heap","Min-heap","Structure wrapping a mutable reference to the greatest …","","","","","","","","","Returns the capacity of the binary heap.","Drops all items from the binary heap.","","","","","","","","","","","","","","","","Checks if the binary heap is empty.","Returns an iterator visiting all values in the underlying …","Returns a mutable iterator visiting all values in the …","Returns the length of the binary heap.","Creates an empty BinaryHeap as a $K-heap.","Returns the top (greatest if max-heap, smallest if …","Returns a mutable reference to the greatest item in the …","Removes the top (greatest if max-heap, smallest if …","Removes the peeked value from the heap and returns it.","Removes the top (greatest if max-heap, smallest if …","Pushes an item onto the binary heap.","Pushes an item onto the binary heap without first checking …","","","","","","","","","","","","","MPMC queue with a capacity for N elements N must be a …","MPMC queue with a capability for 16 elements.","MPMC queue with a capability for 2 elements.","MPMC queue with a capability for 32 elements.","MPMC queue with a capability for 4 elements.","MPMC queue with a capability for 64 elements.","MPMC queue with a capability for 8 elements.","","","","Returns the item in the front of the queue, or None if the …","Adds an item to the end of the queue","","","Creates an empty queue","","","","A memory block","Initialized type state","Unfortunate implementation detail required to use the …","A lock-free memory pool","Uninitialized type state","Claims a memory block from the pool","","","","","","","","","","","","","","","","","","","Returns a memory block to the pool","","","","","","Increases the capacity of the pool","Increases the capacity of the pool","","Initializes this memory block","","","","","","Creates a new empty pool","","Pool as a global singleton","","","","","","","","","","","","","","","","A memory block that belongs to the global memory pool, POOL","The type of data that can be allocated on this pool","A global singleton memory pool","Claims a memory block from the pool","Like std::sync::Arc but backed by a memory Pool rather …","","","","","","","","","","","","Forgets the contents of this memory block without running …","(DO NOT USE, SEE DEPRECATION) Freezes the contents of this …","","Increases the capacity of the pool","Increases the capacity of the pool","","Initializes this memory block","","","","","","std::sync::Arc but backed by a memory Pool rather than …","Unfortunate implementation detail required to use the …","The data behind the Arc pointer","Pool of Arc pointers","","","","","","","","","","","","","","","","","","Constructs a new Arc","","","","","","","","Comes from SortedLinkedList::find_mut.","Iterator for the linked list.","The linked list kind: min-list or max-list","Index for the SortedLinkedList with specific backing …","Index for the SortedLinkedList with specific backing …","Index for the SortedLinkedList with specific backing …","Marker for Max sorted SortedLinkedList.","Marker for Min sorted SortedLinkedList.","A node in the SortedLinkedList.","The linked list.","Trait for defining an index for the linked list, never …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Find an element in the list that can be changed and …","This will resort the element into the correct position in …","","","","","","","","","","","","","","","","","","","","","","","","Checks if the linked list is empty.","Checks if the linked list is full.","Get an iterator over the sorted list.","","","","Create a new linked list.","Create a new linked list.","Create a new linked list.","","","","","Peek at the first element.","Pops the first element in the list.","This will pop the element from the list.","Pop an element from the list without checking so the list …","Pushes an element to the linked list and sorts it into …","Pushes a value onto the list without checking if the list …","","","","","","","","","","","","","","","","","","","","","","","","","","","","A queue “consumer”; it can dequeue items from the queue","An iterator over the items of a queue","A mutable iterator over the items of a queue","A queue “producer”; it can enqueue items into the queue","A statically allocated single producer single consumer …","","","","","","","","","","","Returns the maximum number of elements the queue can hold","Returns the maximum number of elements the queue can hold","Returns the maximum number of elements the queue can hold","","","","Returns the item in the front of the queue, or None if the …","Returns the item in the front of the queue, or None if the …","Returns the item in the front of the queue, without …","Returns the item in the front of the queue, without …","","Adds an item to the end of the queue","Adds an item to the end of the queue, returns back the item…","Adds an item to the end of the queue, without checking if …","Adds an item to the end of the queue, without checking if …","","","","","","","","","","","","","","","","","Returns true if the queue is empty","Returns true if the queue is full","Iterates from the front of the queue to the back","Returns an iterator that allows modifying each value","Returns the number of elements in the queue","Returns the number of elements in the queue","Returns the number of elements in the queue","Creates an empty queue with a fixed capacity of N - 1","","","","","Returns a reference to the item in the front of the queue …","Returns the item in the front of the queue without …","Returns if there are any items to dequeue. When this …","Returns if there is any space to enqueue a new item. When …","Splits a queue into producer and consumer endpoints","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,1,1,2,3,3,4,3,3,1,1,4,1,2,3,2,2,0,2,4,5,6,7,3,1,2,4,5,6,7,3,1,2,4,5,6,7,3,1,2,4,5,6,7,3,1,4,2,5,6,7,3,1,3,1,6,5,7,2,4,5,6,7,3,1,4,3,1,3,1,6,2,4,7,1,1,5,6,7,3,3,3,1,1,1,1,1,1,4,4,5,5,6,6,1,1,1,4,1,2,4,5,6,7,3,3,1,2,4,5,6,7,3,3,3,3,3,3,3,3,3,3,1,5,6,7,1,1,3,2,2,5,7,5,7,3,3,1,1,5,7,5,7,5,6,7,6,2,4,5,6,7,3,1,1,3,2,1,6,2,5,6,7,1,2,1,6,6,2,5,6,7,2,5,7,5,7,2,4,5,6,7,0,3,3,3,2,4,5,6,7,3,1,4,3,1,0,3,1,2,2,1,3,1,2,2,2,2,3,1,4,5,6,7,1,1,1,0,0,1,5,1,1,6,3,1,2,4,5,6,7,3,1,1,2,4,5,6,7,3,1,2,4,5,6,7,3,1,6,5,7,5,7,4,3,3,1,0,0,0,0,0,8,9,10,11,8,9,10,11,10,10,10,10,11,11,10,11,10,8,9,10,11,8,9,10,11,10,10,10,10,10,10,10,10,11,10,10,10,8,9,10,11,8,9,10,11,8,9,10,11,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,13,14,14,15,13,14,16,17,15,13,14,16,17,14,14,14,14,14,14,13,15,13,14,16,17,13,13,14,14,15,13,14,16,17,13,14,0,15,13,14,16,17,15,13,14,16,17,15,13,14,16,17,0,18,0,18,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,18,18,19,19,19,19,19,19,19,0,0,20,0,21,21,22,21,22,21,21,21,21,21,21,21,21,22,21,21,22,21,21,21,22,21,22,21,22,0,0,0,0,0,0,0,0,0,0,0,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,29,30,31,29,30,31,28,28,26,28,29,30,31,26,28,26,29,30,31,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,27,26,26,26,29,30,31,26,26,26,27,29,30,31,26,26,28,26,26,26,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,0,0,0,0,0,32,33,34,35,36,32,33,34,35,36,32,35,36,32,33,32,32,35,32,35,32,32,36,32,36,32,32,32,33,34,35,36,32,32,32,33,34,35,36,33,34,32,32,32,32,32,35,36,32,33,34,33,34,32,35,35,36,32,32,33,34,35,36,32,33,34,35,36,32,33,34,35,36],"f":[null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[],["str",15]],[[],["vec",3]],[[]],[[],["str",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["str",15]],[[],["option",4]],[[],["option",4]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["ordering",4]],[[],["ordering",4]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["str",15]],[[]],[[],["str",15]],[[]],[[["indexset",3]],["difference",3]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[["indexmap",3]],["bool",15]],[[["indexset",3]],["bool",15]],[[["linearmap",3]],["bool",15]],[[["string",3]],["bool",15]],[[["str",15]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["vec",3]],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["i32",15]]],[[]],[[["i64",15]]],[[["u8",15]]],[[["i16",15]]],[[["str",15]]],[[["u16",15]]],[[["u32",15]]],[[["u64",15]]],[[["i8",15]]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[["str",15]],["result",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[["result",4,["option"]],["option",4]]],[[],[["bool",15],["result",4,["bool"]]]],[[],[["result",4,["option"]],["option",4]]],[[["indexset",3]],["intersection",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],[["u8",15],["vec",3,["u8"]]]],[[]],[[]],[[["indexset",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["indexset",3]],["bool",15]],[[["indexset",3]],["bool",15]],[[],["iter",3]],[[],["iter",3]],[[],["iter",3]],[[],["iter",3]],[[],["itermut",3]],[[],["itermut",3]],[[],["itermut",3]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],null,[[],["bool",15]],[[["string",3]],["bool",15]],[[["str",15]],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["string",3]],[["option",4,["ordering"]],["ordering",4]]],[[["vec",3]],[["option",4,["ordering"]],["ordering",4]]],null,[[],[["option",4,["char"]],["char",15]]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[]],[[["char",15]],["result",4]],[[],["result",4]],[[],["result",4]],[[]],[[],["result",4]],[[]],[[["str",15]],["result",4]],[[]],[[],["option",4]],[[],["option",4]],[[],["bool",15]],[[],["option",4]],[[["usize",15]],["result",4]],[[["usize",15]],["result",4]],[[["usize",15]]],null,null,[[],["bool",15]],[[],["option",4]],[[["usize",15]]],[[["usize",15]]],[[["indexset",3]]],[[["usize",15]]],[[["usize",15]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["indexset",3]]],[[]],[[]],[[]],[[]],[[]],[[["char",15]],[["result",4,["error"]],["error",3]]],[[["str",15]],[["result",4,["error"]],["error",3]]],[[["str",15]],["result",6]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["iter",3]],[[],["itermut",3]],[[],["usize",15]],[[]],[[],["option",4]],[[],[["option",4,["peekmut"]],["peekmut",3]]],[[],["option",4]],[[["peekmut",3]]],[[]],[[],["result",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,null,null,[[]],[[]],[[]],[[],["option",4]],[[],["result",4]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,[[],[["option",4,["box"]],["box",3,["uninit"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3]],["ordering",4]],[[]],[[]],[[["box",3]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["box",3]]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[["maybeuninit",19]],["usize",15]],[[]],[[],[["box",3,["init"]],["init",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3]],[["option",4,["ordering"]],["ordering",4]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,[[],[["box",3,["uninit"]],["option",4,["box"]]]],null,[[]],[[]],[[]],[[]],[[["box",3]],["ordering",4]],[[]],[[]],[[]],[[["box",3]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[],[["box",3,["uninit"]],["uninit",4]]],[[],[["box",3,["init"]],["init",4]]],[[]],[[],["usize",15]],[[["maybeuninit",19]],["usize",15]],[[]],[[],[["box",3,["init"]],["init",4]]],[[]],[[["box",3]],[["option",4,["ordering"]],["ordering",4]]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["ordering",4]],[[]],[[]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],[["option",4,["ordering"]],["ordering",4]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["linkedindexu8",3]],[[],["linkedindexu16",3]],[[],["linkedindexusize",3]],[[["linkedindexu8",3]],["ordering",4]],[[["linkedindexu16",3]],["ordering",4]],[[["linkedindexusize",3]],["ordering",4]],[[]],[[]],[[]],[[]],[[["linkedindexu8",3]],["bool",15]],[[["linkedindexu16",3]],["bool",15]],[[["linkedindexusize",3]],["bool",15]],[[],[["option",4,["findmut"]],["findmut",3]]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["iter",3]],[[["linkedindexu8",3]],["bool",15]],[[["linkedindexu16",3]],["bool",15]],[[["linkedindexusize",3]],["bool",15]],[[]],[[]],[[]],[[],["option",4]],[[["linkedindexu8",3]],[["option",4,["ordering"]],["ordering",4]]],[[["linkedindexu16",3]],[["option",4,["ordering"]],["ordering",4]]],[[["linkedindexusize",3]],[["option",4,["ordering"]],["ordering",4]]],[[],["option",4]],[[],["result",4]],[[]],[[]],[[],["result",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[]],[[]],[[["queue",3]],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["iter",3]],[[],["itermut",3]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["bool",15]],[[],["bool",15]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]]],"p":[[3,"Vec"],[3,"Deque"],[3,"String"],[3,"HistoryBuffer"],[3,"IndexMap"],[3,"IndexSet"],[3,"LinearMap"],[4,"Min"],[4,"Max"],[3,"BinaryHeap"],[3,"PeekMut"],[3,"MpMcQueue"],[3,"Pool"],[3,"Box"],[3,"Node"],[4,"Uninit"],[4,"Init"],[8,"Pool"],[3,"Box"],[8,"Pool"],[3,"Arc"],[3,"ArcInner"],[3,"Min"],[3,"Max"],[3,"Node"],[3,"SortedLinkedList"],[3,"Iter"],[3,"FindMut"],[3,"LinkedIndexU8"],[3,"LinkedIndexU16"],[3,"LinkedIndexUsize"],[3,"Queue"],[3,"Iter"],[3,"IterMut"],[3,"Consumer"],[3,"Producer"]]},\ +"heapless":{"doc":"static friendly data structures that don’t require …","t":[3,6,6,3,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,4,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,6,6,6,6,6,6,11,11,11,11,11,11,11,11,11,11,11,3,4,3,3,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,16,8,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,16,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,8,3,3,3,3,3,3,3,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Deque","FnvIndexMap","FnvIndexSet","HistoryBuffer","IndexMap","IndexSet","LinearMap","OldestOrdered","String","Vec","as_mut","as_mut","as_mut_slices","as_mut_str","as_mut_vec","as_ref","as_ref","as_ref","as_ref","as_ref","as_slice","as_slice","as_slices","as_str","back","back_mut","binary_heap","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","capacity","capacity","capacity","capacity","capacity","capacity","capacity","clear","clear","clear","clear","clear","clear","clear","clear_with","clone","clone","clone","clone","clone","clone","clone","cmp","cmp","contains","contains_key","contains_key","default","default","default","default","default","default","default","deref","deref","deref","deref_mut","deref_mut","difference","drop","drop","drop","drop","ends_with","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","extend","extend","extend","extend","extend","extend","extend","extend","extend","extend_from_slice","extend_from_slice","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_iter","from_iter","from_iter","from_iter","from_slice","from_str","front","front_mut","get","get","get_mut","get_mut","hash","hash","hash","hash","index","index","index_mut","index_mut","insert","insert","insert","intersection","into","into","into","into","into","into","into","into","into_array","into_bytes","into_iter","into_iter","into_iter","is_disjoint","is_empty","is_empty","is_empty","is_empty","is_empty","is_full","is_full","is_subset","is_superset","iter","iter","iter","iter","iter_mut","iter_mut","iter_mut","keys","keys","len","len","len","len","len","mpmc","ne","ne","ne","new","new","new","new","new","new","new","new_with","next","oldest_ordered","partial_cmp","partial_cmp","pool","pop","pop","pop_back","pop_front","pop_unchecked","push","push","push_back","push_back_unchecked","push_front","push_front_unchecked","push_str","push_unchecked","recent","remove","remove","remove","resize","resize_default","set_len","sorted_linked_list","spsc","starts_with","swap_remove","swap_remove","swap_remove_unchecked","symmetric_difference","truncate","truncate","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","union","values","values","values_mut","values_mut","write","write_char","write_str","write_str","BinaryHeap","Kind","Max","Min","PeekMut","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","capacity","clear","clone","default","deref","deref_mut","drop","drop","fmt","from","from","from","from","into","into","into","into","is_empty","iter","iter_mut","len","new","peek","peek_mut","pop","pop","pop_unchecked","push","push_unchecked","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","MpMcQueue","Q16","Q2","Q32","Q4","Q64","Q8","borrow","borrow_mut","default","dequeue","enqueue","from","into","new","try_from","try_into","type_id","Box","Init","Node","Pool","Uninit","alloc","as_mut","as_ref","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cmp","deref","deref_mut","eq","fmt","fmt","free","from","from","from","from","from","grow","grow_exact","hash","init","into","into","into","into","into","new","partial_cmp","singleton","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","Box","Data","Pool","alloc","arc","as_mut","as_ref","borrow","borrow_mut","cmp","deref","deref_mut","drop","eq","fmt","fmt","forget","freeze","from","grow","grow_exact","hash","init","into","partial_cmp","try_from","try_into","type_id","Arc","ArcInner","Data","Pool","as_ref","borrow","borrow","borrow_mut","borrow_mut","clone","cmp","deref","drop","eq","fmt","fmt","from","from","hash","into","into","new","partial_cmp","try_from","try_from","try_into","try_into","type_id","type_id","FindMut","Iter","Kind","LinkedIndexU16","LinkedIndexU8","LinkedIndexUsize","Max","Min","Node","SortedLinkedList","SortedLinkedListIndex","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","cmp","cmp","cmp","deref","deref_mut","drop","drop","eq","eq","eq","find_mut","finish","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into_iter","is_empty","is_full","iter","ne","ne","ne","new_u16","new_u8","new_usize","next","partial_cmp","partial_cmp","partial_cmp","peek","pop","pop","pop_unchecked","push","push_unchecked","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","Consumer","Iter","IterMut","Producer","Queue","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","capacity","capacity","capacity","clone","clone","default","dequeue","dequeue","dequeue_unchecked","dequeue_unchecked","drop","enqueue","enqueue","enqueue_unchecked","enqueue_unchecked","eq","fmt","from","from","from","from","from","hash","hash","into","into","into","into","into","into_iter","into_iter","is_empty","is_full","iter","iter_mut","len","len","len","new","next","next","next_back","next_back","peek","peek","ready","ready","split","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id"],"q":["heapless","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","heapless::binary_heap","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","heapless::mpmc","","","","","","","","","","","","","","","","","","heapless::pool","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","heapless::pool::singleton","","","","","","","","","","","","","","","","","","","","","","","","","","","","heapless::pool::singleton::arc","","","","","","","","","","","","","","","","","","","","","","","","","","","","","heapless::sorted_linked_list","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","heapless::spsc","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["A fixed capacity double-ended queue.","A heapless::IndexMap using the default FNV hasher","A heapless::IndexSet using the default FNV hasher. A list …","A “history buffer”, similar to a write-only ring …","Fixed capacity IndexMap","Fixed capacity IndexSet.","A fixed capacity map / dictionary that performs lookups …","An iterator on the underlying buffer ordered from oldest …","A fixed capacity String","A fixed capacity Vec","","","Returns a pair of mutable slices which contain, in order, …","Converts a String into a mutable string slice.","Returns a mutable reference to the contents of this String.","","","","","","Returns the array slice backing the buffer, without …","Extracts a slice containing the entire vector.","Returns a pair of slices which contain, in order, the …","Extracts a string slice containing the entire string.","Provides a reference to the back element, or None if the …","Provides a mutable reference to the back element, or None …","A priority queue implemented with a binary heap.","","","","","","","","","","","","","","","","","Returns the maximum number of elements the deque can hold.","Returns the capacity of the buffer, which is the length of …","Returns the number of elements the map can hold","Returns the number of elements the set can hold","Returns the number of elements that the map can hold","Returns the maximum number of elements the String can hold","Returns the maximum number of elements the vector can hold.","Clears the deque, removing all values.","Clears the buffer, replacing every element with the …","Remove all key-value pairs in the map, while preserving …","Clears the set, removing all values.","Clears the map, removing all key-value pairs","Truncates this String, removing all contents.","Clears the vector, removing all values.","Clears the buffer, replacing every element with the given …","","","","","","","","","","Returns true if the set contains a value.","Returns true if the map contains a value for the specified …","Returns true if the map contains a value for the specified …","","","","","","","","","","","","","Visits the values representing the difference, i.e. the …","","","","","Returns true if needle is a suffix of the Vec.","","","","","","","","","","","","","","","","","","","","Extends the vec from an iterator.","","Clones and writes all elements in a slice to the buffer.","Clones and appends all elements in a slice to the Vec.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Constructs a new vector with a fixed capacity of N and …","","Provides a reference to the front element, or None if the …","Provides a mutable reference to the front element, or None …","Returns a reference to the value corresponding to the key.","Returns a reference to the value corresponding to the key","Returns a mutable reference to the value corresponding to …","Returns a mutable reference to the value corresponding to …","","","","","","","","","Inserts a key-value pair into the map.","Adds a value to the set.","Inserts a key-value pair into the map.","Visits the values representing the intersection, i.e. the …","","","","","","","","","Returns the contents of the vector as an array of length M …","Converts a String into a byte vector.","","","","Returns true if self has no elements in common with other. …","Returns whether the deque is empty.","Returns true if the map contains no elements.","Returns true if the set contains no elements.","Returns true if the map contains no elements","Returns true if the vec is empty","Returns whether the deque is full (i.e. if …","Returns true if the vec is full","Returns true if the set is a subset of another, i.e. other …","Examples","Returns an iterator over the deque.","Return an iterator over the key-value pairs of the map, in …","Return an iterator over the values of the set, in their …","An iterator visiting all key-value pairs in arbitrary …","Returns an iterator that allows modifying each value.","Return an iterator over the key-value pairs of the map, in …","An iterator visiting all key-value pairs in arbitrary …","Return an iterator over the keys of the map, in their order","An iterator visiting all keys in arbitrary order","Returns the number of elements currently in the deque.","Returns the current fill level of the buffer.","Return the number of key-value pairs in the map.","Returns the number of elements in the set.","Returns the number of elements in this map","A fixed capacity Multiple-Producer Multiple-Consumer …","","","","Constructs a new, empty deque with a fixed capacity of N","Constructs a new history buffer.","Creates an empty IndexMap.","Creates an empty IndexSet","Creates an empty LinearMap","Constructs a new, empty String with a fixed capacity of N","Constructs a new, empty vector with a fixed capacity of N","Constructs a new history buffer, where every element is …","","Returns an iterator for iterating over the buffer from …","","","A heap-less, interrupt-safe, lock-free memory pool (*)","Removes the last character from the string buffer and …","Removes the last element from a vector and returns it, or …","Removes the item from the back of the deque and returns …","Removes the item from the front of the deque and returns …","Removes the last element from a vector and returns it","Appends the given char to the end of this String.","Appends an item to the back of the collection","Appends an item to the back of the deque","Appends an item to the back of the deque","Appends an item to the front of the deque","Appends an item to the front of the deque","Appends a given string slice onto the end of this String.","Appends an item to the back of the collection","Returns a reference to the most recently written value.","Same as swap_remove","Removes a value from the set. Returns true if the value …","Removes a key from the map, returning the value at the key …","Resizes the Vec in-place so that len is equal to new_len.","Resizes the Vec in-place so that len is equal to new_len.","Forces the length of the vector to new_len.","A fixed sorted priority linked list, similar to BinaryHeap …","Fixed capacity Single Producer Single Consumer (SPSC) queue","Returns true if needle is a prefix of the Vec.","Remove the key-value pair equivalent to key and return its …","Removes an element from the vector and returns it.","Removes an element from the vector and returns it.","Visits the values representing the symmetric difference, …","Shortens this String to the specified length.","Shortens the vector, keeping the first len elements and …","","","","","","","","","","","","","","","","","","","","","","","","","","Visits the values representing the union, i.e. all the …","Return an iterator over the values of the map, in their …","An iterator visiting all values in arbitrary order","Return an iterator over mutable references to the the …","An iterator visiting all values mutably in arbitrary order","Writes an element to the buffer, overwriting the oldest …","","","","A priority queue implemented with a binary heap.","The binary heap kind: min-heap or max-heap","Max-heap","Min-heap","Structure wrapping a mutable reference to the greatest …","","","","","","","","","Returns the capacity of the binary heap.","Drops all items from the binary heap.","","","","","","","","","","","","","","","","Checks if the binary heap is empty.","Returns an iterator visiting all values in the underlying …","Returns a mutable iterator visiting all values in the …","Returns the length of the binary heap.","Creates an empty BinaryHeap as a $K-heap.","Returns the top (greatest if max-heap, smallest if …","Returns a mutable reference to the greatest item in the …","Removes the top (greatest if max-heap, smallest if …","Removes the peeked value from the heap and returns it.","Removes the top (greatest if max-heap, smallest if …","Pushes an item onto the binary heap.","Pushes an item onto the binary heap without first checking …","","","","","","","","","","","","","MPMC queue with a capacity for N elements N must be a …","MPMC queue with a capability for 16 elements.","MPMC queue with a capability for 2 elements.","MPMC queue with a capability for 32 elements.","MPMC queue with a capability for 4 elements.","MPMC queue with a capability for 64 elements.","MPMC queue with a capability for 8 elements.","","","","Returns the item in the front of the queue, or None if the …","Adds an item to the end of the queue","","","Creates an empty queue","","","","A memory block","Initialized type state","Unfortunate implementation detail required to use the …","A lock-free memory pool","Uninitialized type state","Claims a memory block from the pool","","","","","","","","","","","","","","","","","","","Returns a memory block to the pool","","","","","","Increases the capacity of the pool","Increases the capacity of the pool","","Initializes this memory block","","","","","","Creates a new empty pool","","Pool as a global singleton","","","","","","","","","","","","","","","","A memory block that belongs to the global memory pool, POOL","The type of data that can be allocated on this pool","A global singleton memory pool","Claims a memory block from the pool","Like std::sync::Arc but backed by a memory Pool rather …","","","","","","","","","","","","Forgets the contents of this memory block without running …","(DO NOT USE, SEE DEPRECATION) Freezes the contents of this …","","Increases the capacity of the pool","Increases the capacity of the pool","","Initializes this memory block","","","","","","std::sync::Arc but backed by a memory Pool rather than …","Unfortunate implementation detail required to use the …","The data behind the Arc pointer","Pool of Arc pointers","","","","","","","","","","","","","","","","","","Constructs a new Arc","","","","","","","","Comes from SortedLinkedList::find_mut.","Iterator for the linked list.","The linked list kind: min-list or max-list","Index for the SortedLinkedList with specific backing …","Index for the SortedLinkedList with specific backing …","Index for the SortedLinkedList with specific backing …","Marker for Max sorted SortedLinkedList.","Marker for Min sorted SortedLinkedList.","A node in the SortedLinkedList.","The linked list.","Trait for defining an index for the linked list, never …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Find an element in the list that can be changed and …","This will resort the element into the correct position in …","","","","","","","","","","","","","","","","","","","","","","","","Checks if the linked list is empty.","Checks if the linked list is full.","Get an iterator over the sorted list.","","","","Create a new linked list.","Create a new linked list.","Create a new linked list.","","","","","Peek at the first element.","Pops the first element in the list.","This will pop the element from the list.","Pop an element from the list without checking so the list …","Pushes an element to the linked list and sorts it into …","Pushes a value onto the list without checking if the list …","","","","","","","","","","","","","","","","","","","","","","","","","","","","A queue “consumer”; it can dequeue items from the queue","An iterator over the items of a queue","A mutable iterator over the items of a queue","A queue “producer”; it can enqueue items into the queue","A statically allocated single producer single consumer …","","","","","","","","","","","Returns the maximum number of elements the queue can hold","Returns the maximum number of elements the queue can hold","Returns the maximum number of elements the queue can hold","","","","Returns the item in the front of the queue, or None if the …","Returns the item in the front of the queue, or None if the …","Returns the item in the front of the queue, without …","Returns the item in the front of the queue, without …","","Adds an item to the end of the queue","Adds an item to the end of the queue, returns back the item…","Adds an item to the end of the queue, without checking if …","Adds an item to the end of the queue, without checking if …","","","","","","","","","","","","","","","","","Returns true if the queue is empty","Returns true if the queue is full","Iterates from the front of the queue to the back","Returns an iterator that allows modifying each value","Returns the number of elements in the queue","Returns the number of elements in the queue","Returns the number of elements in the queue","Creates an empty queue with a fixed capacity of N - 1","","","","","Returns a reference to the item in the front of the queue …","Returns the item in the front of the queue without …","Returns if there are any items to dequeue. When this …","Returns if there is any space to enqueue a new item. When …","Splits a queue into producer and consumer endpoints","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,1,1,2,3,3,4,3,3,1,1,4,1,2,3,2,2,0,2,4,5,6,7,3,1,8,2,4,5,6,7,3,1,8,2,4,5,6,7,3,1,2,4,5,6,7,3,1,4,2,5,6,7,3,1,8,3,1,6,5,7,2,4,5,6,7,3,1,4,3,1,3,1,6,2,4,7,1,1,5,6,7,3,3,3,1,1,1,1,1,1,4,4,5,5,6,6,1,1,1,4,1,2,4,5,6,7,3,3,1,2,4,5,6,7,3,3,3,3,3,3,3,3,3,3,1,8,5,6,7,1,1,3,2,2,5,7,5,7,3,3,1,1,5,7,5,7,5,6,7,6,2,4,5,6,7,3,1,8,1,3,2,1,8,6,2,5,6,7,1,2,1,6,6,2,5,6,7,2,5,7,5,7,2,4,5,6,7,0,3,3,3,2,4,5,6,7,3,1,4,8,4,3,1,0,3,1,2,2,1,3,1,2,2,2,2,3,1,4,5,6,7,1,1,1,0,0,1,5,1,1,6,3,1,2,4,5,6,7,3,1,1,8,2,4,5,6,7,3,1,8,2,4,5,6,7,3,1,8,6,5,7,5,7,4,3,3,1,0,0,0,0,0,9,10,11,12,9,10,11,12,11,11,11,11,12,12,11,12,11,9,10,11,12,9,10,11,12,11,11,11,11,11,11,11,11,12,11,11,11,9,10,11,12,9,10,11,12,9,10,11,12,0,0,0,0,0,0,0,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,14,15,15,16,14,15,17,18,16,14,15,17,18,15,15,15,15,15,15,14,16,14,15,17,18,14,14,15,15,16,14,15,17,18,14,15,0,16,14,15,17,18,16,14,15,17,18,16,14,15,17,18,0,19,0,19,0,20,20,20,20,20,20,20,20,20,20,20,20,20,20,19,19,20,20,20,20,20,20,20,0,0,21,0,22,22,23,22,23,22,22,22,22,22,22,22,22,23,22,22,23,22,22,22,23,22,23,22,23,0,0,0,0,0,0,0,0,0,0,0,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,30,31,32,30,31,32,29,29,27,29,30,31,32,27,29,27,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,28,27,27,27,30,31,32,27,27,27,28,30,31,32,27,27,29,27,27,27,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,0,0,0,0,0,33,34,35,36,37,33,34,35,36,37,33,36,37,33,34,33,33,36,33,36,33,33,37,33,37,33,33,33,34,35,36,37,33,33,33,34,35,36,37,34,35,33,33,33,33,33,36,37,33,34,35,34,35,33,36,36,37,33,33,34,35,36,37,33,34,35,36,37,33,34,35,36,37],"f":[null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[],["str",15]],[[],["vec",3]],[[]],[[],["str",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["str",15]],[[],["option",4]],[[],["option",4]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["oldestordered",3]],[[],["ordering",4]],[[],["ordering",4]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["str",15]],[[]],[[],["str",15]],[[]],[[["indexset",3]],["difference",3]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[["indexmap",3]],["bool",15]],[[["indexset",3]],["bool",15]],[[["linearmap",3]],["bool",15]],[[["str",15]],["bool",15]],[[],["bool",15]],[[["string",3]],["bool",15]],[[],["bool",15]],[[["vec",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["i8",15]]],[[["u16",15]]],[[["str",15]]],[[["i16",15]]],[[["i32",15]]],[[]],[[["u64",15]]],[[["i64",15]]],[[["u8",15]]],[[["u32",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[["str",15]],["result",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[["result",4,["option"]],["option",4]]],[[],[["bool",15],["result",4,["bool"]]]],[[],[["result",4,["option"]],["option",4]]],[[["indexset",3]],["intersection",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],[["vec",3,["u8"]],["u8",15]]],[[]],[[]],[[]],[[["indexset",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["indexset",3]],["bool",15]],[[["indexset",3]],["bool",15]],[[],["iter",3]],[[],["iter",3]],[[],["iter",3]],[[],["iter",3]],[[],["itermut",3]],[[],["itermut",3]],[[],["itermut",3]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],null,[[],["bool",15]],[[["string",3]],["bool",15]],[[["str",15]],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["option",4]],[[],["oldestordered",3]],[[["string",3]],[["option",4,["ordering"]],["ordering",4]]],[[["vec",3]],[["option",4,["ordering"]],["ordering",4]]],null,[[],[["option",4,["char"]],["char",15]]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[]],[[["char",15]],["result",4]],[[],["result",4]],[[],["result",4]],[[]],[[],["result",4]],[[]],[[["str",15]],["result",4]],[[]],[[],["option",4]],[[],["option",4]],[[],["bool",15]],[[],["option",4]],[[["usize",15]],["result",4]],[[["usize",15]],["result",4]],[[["usize",15]]],null,null,[[],["bool",15]],[[],["option",4]],[[["usize",15]]],[[["usize",15]]],[[["indexset",3]]],[[["usize",15]]],[[["usize",15]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["indexset",3]]],[[]],[[]],[[]],[[]],[[]],[[["char",15]],[["result",4,["error"]],["error",3]]],[[["str",15]],[["result",4,["error"]],["error",3]]],[[["str",15]],["result",6]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["iter",3]],[[],["itermut",3]],[[],["usize",15]],[[]],[[],["option",4]],[[],[["option",4,["peekmut"]],["peekmut",3]]],[[],["option",4]],[[["peekmut",3]]],[[]],[[],["result",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,null,null,[[]],[[]],[[]],[[],["option",4]],[[],["result",4]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,[[],[["box",3,["uninit"]],["option",4,["box"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3]],["ordering",4]],[[]],[[]],[[["box",3]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["box",3]]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[["maybeuninit",19]],["usize",15]],[[]],[[],[["init",4],["box",3,["init"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3]],[["option",4,["ordering"]],["ordering",4]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,[[],[["box",3,["uninit"]],["option",4,["box"]]]],null,[[]],[[]],[[]],[[]],[[["box",3]],["ordering",4]],[[]],[[]],[[]],[[["box",3]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[],[["uninit",4],["box",3,["uninit"]]]],[[],[["box",3,["init"]],["init",4]]],[[]],[[],["usize",15]],[[["maybeuninit",19]],["usize",15]],[[]],[[],[["box",3,["init"]],["init",4]]],[[]],[[["box",3]],[["option",4,["ordering"]],["ordering",4]]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["ordering",4]],[[]],[[]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],[["option",4,["ordering"]],["ordering",4]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["linkedindexu8",3]],[[],["linkedindexu16",3]],[[],["linkedindexusize",3]],[[["linkedindexu8",3]],["ordering",4]],[[["linkedindexu16",3]],["ordering",4]],[[["linkedindexusize",3]],["ordering",4]],[[]],[[]],[[]],[[]],[[["linkedindexu8",3]],["bool",15]],[[["linkedindexu16",3]],["bool",15]],[[["linkedindexusize",3]],["bool",15]],[[],[["option",4,["findmut"]],["findmut",3]]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["iter",3]],[[["linkedindexu8",3]],["bool",15]],[[["linkedindexu16",3]],["bool",15]],[[["linkedindexusize",3]],["bool",15]],[[]],[[]],[[]],[[],["option",4]],[[["linkedindexu8",3]],[["option",4,["ordering"]],["ordering",4]]],[[["linkedindexu16",3]],[["option",4,["ordering"]],["ordering",4]]],[[["linkedindexusize",3]],[["option",4,["ordering"]],["ordering",4]]],[[],["option",4]],[[],["result",4]],[[]],[[]],[[],["result",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[]],[[]],[[["queue",3]],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["iter",3]],[[],["itermut",3]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["bool",15]],[[],["bool",15]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]]],"p":[[3,"Vec"],[3,"Deque"],[3,"String"],[3,"HistoryBuffer"],[3,"IndexMap"],[3,"IndexSet"],[3,"LinearMap"],[3,"OldestOrdered"],[4,"Min"],[4,"Max"],[3,"BinaryHeap"],[3,"PeekMut"],[3,"MpMcQueue"],[3,"Pool"],[3,"Box"],[3,"Node"],[4,"Uninit"],[4,"Init"],[8,"Pool"],[3,"Box"],[8,"Pool"],[3,"Arc"],[3,"ArcInner"],[3,"Min"],[3,"Max"],[3,"Node"],[3,"SortedLinkedList"],[3,"Iter"],[3,"FindMut"],[3,"LinkedIndexU8"],[3,"LinkedIndexU16"],[3,"LinkedIndexUsize"],[3,"Queue"],[3,"Iter"],[3,"IterMut"],[3,"Consumer"],[3,"Producer"]]},\ "lock_api":{"doc":"This library provides type-safe and fully-featured Mutex …","t":[16,16,8,16,16,3,3,18,18,18,18,18,18,18,16,16,3,3,3,3,3,3,8,8,8,3,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,10,10,10,10,11,11,11,10,10,10,10,10,10,10,11,11,11,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,10,10,11,11,11,11,11,11,11,11,11,11,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11],"n":["Duration","Duration","GetThreadId","GuardMarker","GuardMarker","GuardNoSend","GuardSend","INIT","INIT","INIT","INIT","INIT","INIT","INIT","Instant","Instant","MappedMutexGuard","MappedReentrantMutexGuard","MappedRwLockReadGuard","MappedRwLockWriteGuard","Mutex","MutexGuard","RawMutex","RawMutexFair","RawMutexTimed","RawReentrantMutex","RawRwLock","RawRwLockDowngrade","RawRwLockFair","RawRwLockRecursive","RawRwLockRecursiveTimed","RawRwLockTimed","RawRwLockUpgrade","RawRwLockUpgradeDowngrade","RawRwLockUpgradeFair","RawRwLockUpgradeTimed","ReentrantMutex","ReentrantMutexGuard","RwLock","RwLockReadGuard","RwLockUpgradableReadGuard","RwLockWriteGuard","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bump","bump","bump","bump","bump","bump","bump","bump","bump_exclusive","bump_exclusive","bump_shared","bump_shared","bump_upgradable","bump_upgradable","const_new","const_new","const_new","data_ptr","data_ptr","data_ptr","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","downgrade","downgrade","downgrade","downgrade_to_upgradable","downgrade_to_upgradable","downgrade_upgradable","drop","drop","drop","drop","drop","drop","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","force_unlock","force_unlock","force_unlock_fair","force_unlock_fair","force_unlock_read","force_unlock_read_fair","force_unlock_write","force_unlock_write_fair","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_mut","get_mut","get_mut","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_inner","into_inner","into_inner","is_locked","is_locked","is_locked","is_locked","is_locked","is_locked","is_locked","is_locked","is_owned_by_current_thread","is_owned_by_current_thread","lock","lock","lock","lock","lock_exclusive","lock_shared","lock_shared_recursive","lock_upgradable","map","map","map","map","map","map","map","map","mutex","new","new","new","nonzero_thread_id","raw","raw","raw","read","read_recursive","remutex","rwlock","rwlock","rwlock","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_lock","try_lock","try_lock","try_lock","try_lock_exclusive","try_lock_exclusive_for","try_lock_exclusive_until","try_lock_for","try_lock_for","try_lock_for","try_lock_for","try_lock_shared","try_lock_shared_for","try_lock_shared_recursive","try_lock_shared_recursive_for","try_lock_shared_recursive_until","try_lock_shared_until","try_lock_until","try_lock_until","try_lock_until","try_lock_until","try_lock_upgradable","try_lock_upgradable_for","try_lock_upgradable_until","try_map","try_map","try_map","try_map","try_map","try_map","try_map","try_map","try_read","try_read_for","try_read_recursive","try_read_recursive_for","try_read_recursive_until","try_read_until","try_upgradable_read","try_upgradable_read_for","try_upgradable_read_until","try_upgrade","try_upgrade","try_upgrade_for","try_upgrade_for","try_upgrade_until","try_upgrade_until","try_write","try_write_for","try_write_until","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unlock","unlock","unlock_exclusive","unlock_exclusive_fair","unlock_fair","unlock_fair","unlock_fair","unlock_fair","unlock_fair","unlock_fair","unlock_fair","unlock_fair","unlock_fair","unlock_fair","unlock_fair","unlock_shared","unlock_shared_fair","unlock_upgradable","unlock_upgradable_fair","unlocked","unlocked","unlocked","unlocked","unlocked","unlocked_fair","unlocked_fair","unlocked_fair","unlocked_fair","unlocked_fair","upgradable_read","upgrade","upgrade","write"],"q":["lock_api","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Duration type used for try_lock_for.","Duration type used for try_lock_for.","Helper trait which returns a non-zero thread ID.","Marker type which determines whether a lock guard should …","Marker type which determines whether a lock guard should …","Marker type which indicates that the Guard type for a lock …","Marker type which indicates that the Guard type for a lock …","Initial value for an unlocked mutex.","Initial value for an unlocked mutex.","Initial value.","Initial value.","Initial value for an unlocked mutex.","Initial value for an unlocked RwLock.","Initial value for an unlocked RwLock.","Instant type used for try_lock_until.","Instant type used for try_lock_until.","An RAII mutex guard returned by MutexGuard::map, which can …","An RAII mutex guard returned by ReentrantMutexGuard::map, …","An RAII read lock guard returned by RwLockReadGuard::map, …","An RAII write lock guard returned by RwLockWriteGuard::map…","A mutual exclusion primitive useful for protecting shared …","An RAII implementation of a “scoped lock” of a mutex. …","Basic operations for a mutex.","Additional methods for mutexes which support fair …","Additional methods for mutexes which support locking with …","A raw mutex type that wraps another raw mutex to provide …","Basic operations for a reader-writer lock.","Additional methods for RwLocks which support atomically …","Additional methods for RwLocks which support fair …","Additional methods for RwLocks which support recursive …","Additional methods for RwLocks which support recursive …","Additional methods for RwLocks which support locking with …","Additional methods for RwLocks which support atomically …","Additional methods for RwLocks which support upgradable …","Additional methods for RwLocks which support upgradable …","Additional methods for RwLocks which support upgradable …","A mutex which can be recursively locked by a single thread.","An RAII implementation of a “scoped lock” of a …","A reader-writer lock","RAII structure used to release the shared read access of a …","RAII structure used to release the upgradable read access …","RAII structure used to release the exclusive write access …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Temporarily yields the mutex to a waiting thread if there …","Temporarily yields the mutex to a waiting thread if there …","Temporarily yields the mutex to a waiting thread if there …","Temporarily yields the mutex to a waiting thread if there …","Temporarily yields the mutex to a waiting thread if there …","Temporarily yields the RwLock to a waiting thread if there …","Temporarily yields the RwLock to a waiting thread if there …","Temporarily yields the RwLock to a waiting thread if there …","Temporarily yields an exclusive lock to a waiting thread …","Temporarily yields an exclusive lock to a waiting thread …","Temporarily yields a shared lock to a waiting thread if …","Temporarily yields a shared lock to a waiting thread if …","Temporarily yields an upgradable lock to a waiting thread …","Temporarily yields an upgradable lock to a waiting thread …","Creates a new mutex based on a pre-existing raw mutex.","Creates a new reentrant mutex based on a pre-existing raw …","Creates a new new instance of an RwLock<T> based on a …","Returns a raw pointer to the underlying data.","Returns a raw pointer to the underlying data.","Returns a raw pointer to the underlying data.","","","","","","","","","","","","","","","","","Atomically downgrades an exclusive lock into a shared lock …","Atomically downgrades a write lock into a read lock …","Atomically downgrades an upgradable read lock lock into a …","Downgrades an exclusive lock to an upgradable lock.","Atomically downgrades a write lock into an upgradable read …","Downgrades an upgradable lock to a shared lock.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Forcibly unlocks the mutex.","Forcibly unlocks the mutex.","Forcibly unlocks the mutex using a fair unlock procotol.","Forcibly unlocks the mutex using a fair unlock protocol.","Forcibly unlocks a read lock.","Forcibly unlocks a read lock using a fair unlock procotol.","Forcibly unlocks a write lock.","Forcibly unlocks a write lock using a fair unlock procotol.","","","","","","","","","","","","","","","","","","","","","","Returns a mutable reference to the underlying data.","Returns a mutable reference to the underlying data.","Returns a mutable reference to the underlying data.","","","","","","","","","","","","","","","","Consumes this mutex, returning the underlying data.","Consumes this mutex, returning the underlying data.","Consumes this RwLock, returning the underlying data.","Checks whether the mutex is currently locked.","Checks whether the mutex is currently locked.","Checks whether the mutex is currently locked.","Checks whether the mutex is currently locked.","Checks whether the mutex is currently locked.","Checks if this RwLock is currently locked in any way.","Checks if this RwLock is currently locked in any way.","Checks whether this RwLock is currently locked in any way.","Checks whether the mutex is currently held by the current …","Checks whether the mutex is currently held by the current …","Acquires this mutex, blocking the current thread until it …","Acquires a mutex, blocking the current thread until it is …","Acquires this mutex, blocking if it’s held by another …","Acquires a reentrant mutex, blocking the current thread …","Acquires an exclusive lock, blocking the current thread …","Acquires a shared lock, blocking the current thread until …","Acquires a shared lock without deadlocking in case of a …","Acquires an upgradable lock, blocking the current thread …","Makes a new MappedMutexGuard for a component of the locked …","Makes a new MappedMutexGuard for a component of the locked …","Makes a new MappedReentrantMutexGuard for a component of …","Makes a new MappedReentrantMutexGuard for a component of …","Make a new MappedRwLockReadGuard for a component of the …","Make a new MappedRwLockWriteGuard for a component of the …","Make a new MappedRwLockReadGuard for a component of the …","Make a new MappedRwLockWriteGuard for a component of the …","Returns a reference to the original Mutex object.","Creates a new mutex in an unlocked state ready for use.","Creates a new reentrant mutex in an unlocked state ready …","Creates a new instance of an RwLock<T> which is unlocked.","Returns a non-zero thread ID which identifies the current …","Returns the underlying raw mutex object.","Returns the underlying raw mutex object.","Returns the underlying raw reader-writer lock object.","Locks this RwLock with shared read access, blocking the …","Locks this RwLock with shared read access, blocking the …","Returns a reference to the original ReentrantMutex object.","Returns a reference to the original reader-writer lock …","Returns a reference to the original reader-writer lock …","Returns a reference to the original reader-writer lock …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Attempts to acquire this mutex without blocking. Returns …","Attempts to acquire this lock.","Attempts to acquire this mutex without blocking. Returns …","Attempts to acquire this lock.","Attempts to acquire an exclusive lock without blocking.","Attempts to acquire an exclusive lock until a timeout is …","Attempts to acquire an exclusive lock until a timeout is …","Attempts to acquire this lock until a timeout is reached.","Attempts to acquire this lock until a timeout is reached.","Attempts to acquire this lock until a timeout is reached.","Attempts to acquire this lock until a timeout is reached.","Attempts to acquire a shared lock without blocking.","Attempts to acquire a shared lock until a timeout is …","Attempts to acquire a shared lock without deadlocking in …","Attempts to acquire a shared lock until a timeout is …","Attempts to acquire a shared lock until a timeout is …","Attempts to acquire a shared lock until a timeout is …","Attempts to acquire this lock until a timeout is reached.","Attempts to acquire this lock until a timeout is reached.","Attempts to acquire this lock until a timeout is reached.","Attempts to acquire this lock until a timeout is reached.","Attempts to acquire an upgradable lock without blocking.","Attempts to acquire an upgradable lock until a timeout is …","Attempts to acquire an upgradable lock until a timeout is …","Attempts to make a new MappedMutexGuard for a component of …","Attempts to make a new MappedMutexGuard for a component of …","Attempts to make a new MappedReentrantMutexGuard for a …","Attempts to make a new MappedReentrantMutexGuard for a …","Attempts to make a new MappedRwLockReadGuard for a …","Attempts to make a new MappedRwLockWriteGuard for a …","Attempts to make a new MappedRwLockReadGuard for a …","Attempts to make a new MappedRwLockWriteGuard for a …","Attempts to acquire this RwLock with shared read access.","Attempts to acquire this RwLock with shared read access …","Attempts to acquire this RwLock with shared read access.","Attempts to acquire this RwLock with shared read access …","Attempts to acquire this RwLock with shared read access …","Attempts to acquire this RwLock with shared read access …","Attempts to acquire this RwLock with upgradable read …","Attempts to acquire this RwLock with upgradable read …","Attempts to acquire this RwLock with upgradable read …","Attempts to upgrade an upgradable lock to an exclusive …","Tries to atomically upgrade an upgradable read lock into a …","Attempts to upgrade an upgradable lock to an exclusive …","Tries to atomically upgrade an upgradable read lock into a …","Attempts to upgrade an upgradable lock to an exclusive …","Tries to atomically upgrade an upgradable read lock into a …","Attempts to lock this RwLock with exclusive write access.","Attempts to acquire this RwLock with exclusive write …","Attempts to acquire this RwLock with exclusive write …","","","","","","","","","","","","","","","","Unlocks this mutex.","Unlocks this mutex. The inner mutex may not be unlocked if …","Releases an exclusive lock.","Releases an exclusive lock using a fair unlock protocol.","Unlocks this mutex using a fair unlock protocol.","Unlocks the mutex using a fair unlock protocol.","Unlocks the mutex using a fair unlock protocol.","Unlocks this mutex using a fair unlock protocol. The inner …","Unlocks the mutex using a fair unlock protocol.","Unlocks the mutex using a fair unlock protocol.","Unlocks the RwLock using a fair unlock protocol.","Unlocks the RwLock using a fair unlock protocol.","Unlocks the RwLock using a fair unlock protocol.","Unlocks the RwLock using a fair unlock protocol.","Unlocks the RwLock using a fair unlock protocol.","Releases a shared lock.","Releases a shared lock using a fair unlock protocol.","Releases an upgradable lock.","Releases an upgradable lock using a fair unlock protocol.","Temporarily unlocks the mutex to execute the given …","Temporarily unlocks the mutex to execute the given …","Temporarily unlocks the RwLock to execute the given …","Temporarily unlocks the RwLock to execute the given …","Temporarily unlocks the RwLock to execute the given …","Temporarily unlocks the mutex to execute the given …","Temporarily unlocks the mutex to execute the given …","Temporarily unlocks the RwLock to execute the given …","Temporarily unlocks the RwLock to execute the given …","Temporarily unlocks the RwLock to execute the given …","Locks this RwLock with upgradable read access, blocking …","Upgrades an upgradable lock to an exclusive lock.","Atomically upgrades an upgradable read lock lock into a …","Locks this RwLock with exclusive write access, blocking …"],"i":[1,2,0,3,4,0,0,3,3,5,5,6,4,4,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,9,10,11,6,12,13,14,15,16,17,18,19,20,7,8,9,10,11,6,12,13,14,15,16,17,18,19,20,21,21,10,6,13,16,17,18,22,22,22,22,23,23,9,12,15,9,12,15,9,12,15,10,11,13,14,16,17,18,19,20,10,11,17,20,24,17,18,25,17,25,10,11,13,14,16,17,18,19,20,9,10,10,11,11,12,13,13,14,14,15,16,16,17,17,18,18,19,19,20,20,9,12,9,12,15,15,15,15,7,8,9,9,9,10,11,6,12,12,12,13,14,15,15,15,16,17,18,19,20,9,12,15,7,8,9,10,11,6,12,13,14,15,16,17,18,19,20,9,12,15,3,3,9,6,12,4,4,15,6,12,3,9,6,12,4,4,26,27,10,11,13,14,16,17,19,20,10,9,12,15,5,9,12,15,15,15,13,16,17,18,7,8,9,10,11,6,12,13,14,15,16,17,18,19,20,7,8,9,10,11,6,12,13,14,15,16,17,18,19,20,3,9,6,12,4,2,2,1,9,6,12,4,2,26,28,28,2,1,9,6,12,27,29,29,10,11,13,14,16,17,19,20,15,15,15,15,15,15,15,15,15,27,18,29,18,29,18,15,15,15,7,8,9,10,11,6,12,13,14,15,16,17,18,19,20,3,6,4,22,21,10,11,6,13,14,16,17,18,19,20,4,22,27,23,10,13,16,17,18,10,13,16,17,18,15,27,18,15],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["mutex",3]],[[],["reentrantmutex",3]],[[],["rwlock",3]],[[]],[[]],[[]],[[],["mutex",3]],[[],["reentrantmutex",3]],[[],["rwlock",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["rwlockreadguard",3]],[[],["rwlockreadguard",3]],[[]],[[],["rwlockupgradablereadguard",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["mutex",3]],[[]],[[["never",15]]],[[]],[[]],[[]],[[["never",15]]],[[]],[[],["reentrantmutex",3]],[[]],[[]],[[],["rwlock",3]],[[]],[[["never",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[]],[[],["mutexguard",3]],[[]],[[],["reentrantmutexguard",3]],[[]],[[]],[[]],[[]],[[],[["mappedmutexguard",3],["sized",8]]],[[],[["mappedmutexguard",3],["sized",8]]],[[],[["sized",8],["mappedreentrantmutexguard",3]]],[[],[["sized",8],["mappedreentrantmutexguard",3]]],[[],[["sized",8],["mappedrwlockreadguard",3]]],[[],[["sized",8],["mappedrwlockwriteguard",3]]],[[],[["sized",8],["mappedrwlockreadguard",3]]],[[],[["sized",8],["mappedrwlockwriteguard",3]]],[[],["mutex",3]],[[],["mutex",3]],[[],["reentrantmutex",3]],[[],["rwlock",3]],[[],["nonzerousize",3]],[[]],[[]],[[]],[[],["rwlockreadguard",3]],[[],["rwlockreadguard",3]],[[],["reentrantmutex",3]],[[],["rwlock",3]],[[],["rwlock",3]],[[],["rwlock",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["bool",15]],[[],[["mutexguard",3],["option",4,["mutexguard"]]]],[[],["bool",15]],[[],[["reentrantmutexguard",3],["option",4,["reentrantmutexguard"]]]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],[["mutexguard",3],["option",4,["mutexguard"]]]],[[],["bool",15]],[[],[["reentrantmutexguard",3],["option",4,["reentrantmutexguard"]]]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],[["mutexguard",3],["option",4,["mutexguard"]]]],[[],["bool",15]],[[],[["reentrantmutexguard",3],["option",4,["reentrantmutexguard"]]]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],[["result",4,["mappedmutexguard"]],["mappedmutexguard",3]]],[[],[["result",4,["mappedmutexguard"]],["mappedmutexguard",3]]],[[],[["result",4,["mappedreentrantmutexguard"]],["mappedreentrantmutexguard",3]]],[[],[["result",4,["mappedreentrantmutexguard"]],["mappedreentrantmutexguard",3]]],[[],[["mappedrwlockreadguard",3],["result",4,["mappedrwlockreadguard"]]]],[[],[["result",4,["mappedrwlockwriteguard"]],["mappedrwlockwriteguard",3]]],[[],[["mappedrwlockreadguard",3],["result",4,["mappedrwlockreadguard"]]]],[[],[["result",4,["mappedrwlockwriteguard"]],["mappedrwlockwriteguard",3]]],[[],[["rwlockreadguard",3],["option",4,["rwlockreadguard"]]]],[[],[["rwlockreadguard",3],["option",4,["rwlockreadguard"]]]],[[],[["rwlockreadguard",3],["option",4,["rwlockreadguard"]]]],[[],[["rwlockreadguard",3],["option",4,["rwlockreadguard"]]]],[[],[["rwlockreadguard",3],["option",4,["rwlockreadguard"]]]],[[],[["rwlockreadguard",3],["option",4,["rwlockreadguard"]]]],[[],[["option",4,["rwlockupgradablereadguard"]],["rwlockupgradablereadguard",3]]],[[],[["option",4,["rwlockupgradablereadguard"]],["rwlockupgradablereadguard",3]]],[[],[["option",4,["rwlockupgradablereadguard"]],["rwlockupgradablereadguard",3]]],[[],["bool",15]],[[],[["result",4,["rwlockwriteguard"]],["rwlockwriteguard",3]]],[[],["bool",15]],[[],[["result",4,["rwlockwriteguard"]],["rwlockwriteguard",3]]],[[],["bool",15]],[[],[["result",4,["rwlockwriteguard"]],["rwlockwriteguard",3]]],[[],[["option",4,["rwlockwriteguard"]],["rwlockwriteguard",3]]],[[],[["option",4,["rwlockwriteguard"]],["rwlockwriteguard",3]]],[[],[["option",4,["rwlockwriteguard"]],["rwlockwriteguard",3]]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["rwlockupgradablereadguard",3]],[[]],[[],["rwlockwriteguard",3]],[[],["rwlockwriteguard",3]]],"p":[[8,"RawMutexTimed"],[8,"RawRwLockTimed"],[8,"RawMutex"],[8,"RawRwLock"],[8,"GetThreadId"],[3,"RawReentrantMutex"],[3,"GuardSend"],[3,"GuardNoSend"],[3,"Mutex"],[3,"MutexGuard"],[3,"MappedMutexGuard"],[3,"ReentrantMutex"],[3,"ReentrantMutexGuard"],[3,"MappedReentrantMutexGuard"],[3,"RwLock"],[3,"RwLockReadGuard"],[3,"RwLockWriteGuard"],[3,"RwLockUpgradableReadGuard"],[3,"MappedRwLockReadGuard"],[3,"MappedRwLockWriteGuard"],[8,"RawMutexFair"],[8,"RawRwLockFair"],[8,"RawRwLockUpgradeFair"],[8,"RawRwLockDowngrade"],[8,"RawRwLockUpgradeDowngrade"],[8,"RawRwLockRecursive"],[8,"RawRwLockUpgrade"],[8,"RawRwLockRecursiveTimed"],[8,"RawRwLockUpgradeTimed"]]},\ "scopeguard":{"doc":"A scope guard will run a given closure when it goes out of …","t":[4,3,8,11,11,11,11,14,11,11,11,11,11,11,11,5,11,11,11,10,11,11,11,11,11,11,11,11],"n":["Always","ScopeGuard","Strategy","borrow","borrow","borrow_mut","borrow_mut","defer","deref","deref_mut","drop","fmt","fmt","from","from","guard","into","into","into_inner","should_run","should_run","try_from","try_from","try_into","try_into","type_id","type_id","with_strategy"],"q":["scopeguard","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Always run on scope exit.","ScopeGuard is a scope guard that may own a protected value.","Controls in which cases the associated code should be run","","","","","Macro to create a ScopeGuard (always run).","","","","","","","","Create a new ScopeGuard owning v and with deferred closure …","","","“Defuse” the guard and extract the value without …","Return true if the guard’s associated code should run …","","","","","","","","Create a ScopeGuard that owns v (accessible through deref) …"],"i":[0,0,0,1,2,1,2,0,1,1,1,1,2,1,2,0,1,2,1,3,2,1,2,1,2,1,2,1],"f":[null,null,null,[[]],[[]],[[]],[[]],null,[[]],[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[],[["always",4],["scopeguard",3,["always"]]]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["scopeguard",3]]],"p":[[3,"ScopeGuard"],[4,"Always"],[8,"Strategy"]]},\ "spin":{"doc":"This crate provides spin-based versions of the primitives …","t":[6,6,6,6,6,6,6,0,0,0,0,0,0,0,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,6,6,6,6,6,6,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,18,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,3,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Barrier","Lazy","Mutex","Once","RwLock","RwLockUpgradableGuard","RwLockWriteGuard","barrier","lazy","lock_api","mutex","once","relax","rwlock","Barrier","BarrierWaitResult","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","is_leader","new","try_from","try_from","try_into","try_into","type_id","type_id","wait","Lazy","as_mut_ptr","borrow","borrow_mut","default","deref","fmt","force","from","into","new","try_from","try_into","type_id","Mutex","MutexGuard","RwLock","RwLockReadGuard","RwLockUpgradableReadGuard","RwLockWriteGuard","Mutex","MutexGuard","borrow","borrow","borrow_mut","borrow_mut","default","deref","deref_mut","fmt","fmt","fmt","force_unlock","from","from","from","from","get_mut","into","into","into_inner","is_locked","is_locked","leak","lock","lock","new","spin","try_from","try_from","try_into","try_into","try_lock","try_lock","type_id","type_id","unlock","SpinMutex","SpinMutexGuard","as_mut_ptr","borrow","borrow","borrow_mut","borrow_mut","default","deref","deref_mut","drop","fmt","fmt","fmt","force_unlock","from","from","from","from","get_mut","into","into","into_inner","is_locked","is_locked","leak","lock","lock","new","try_from","try_from","try_into","try_into","try_lock","try_lock","type_id","type_id","unlock","INIT","Once","as_mut_ptr","borrow","borrow_mut","call_once","drop","fmt","from","from","from","get","get_mut","get_unchecked","initialized","into","is_completed","new","poll","try_from","try_into","try_into_inner","type_id","wait","Loop","RelaxStrategy","Spin","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","relax","relax","relax","try_from","try_from","try_into","try_into","type_id","type_id","RwLock","RwLockReadGuard","RwLockUpgradableGuard","RwLockWriteGuard","as_mut_ptr","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","default","deref","deref","deref","deref_mut","downgrade","downgrade","downgrade","downgrade_to_upgradeable","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","fmt","fmt","force_read_decrement","force_write_unlock","from","from","from","from","from","from","get_mut","into","into","into","into","into_inner","is_locked","leak","leak","leak","lock_exclusive","lock_shared","lock_upgradable","new","read","reader_count","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_lock_exclusive","try_lock_shared","try_lock_upgradable","try_read","try_upgrade","try_upgrade","try_upgradeable_read","try_write","type_id","type_id","type_id","type_id","unlock_exclusive","unlock_shared","unlock_upgradable","upgrade","upgrade","upgradeable_read","write","writer_count"],"q":["spin","","","","","","","","","","","","","","spin::barrier","","","","","","","","","","","","","","","","","","","spin::lazy","","","","","","","","","","","","","","spin::lock_api","","","","","","spin::mutex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","spin::mutex::spin","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","spin::once","","","","","","","","","","","","","","","","","","","","","","","","spin::relax","","","","","","","","","","","","","","","","","","","","spin::rwlock","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["A primitive that synchronizes the execution of multiple …","A value which is initialized on the first access. See …","A primitive that synchronizes the execution of multiple …","A primitive that provides lazy one-time initialization. …","A lock that provides data access to either one writer or …","A guard that provides immutable data access but can be …","A guard that provides mutable data access. See …","Synchronization primitive allowing multiple threads to …","Synchronization primitives for lazy evaluation.","Spin synchronisation primitives, but compatible with …","Locks that have the same behaviour as a mutex.","Synchronization primitives for one-time evaluation.","Strategies that determine the behaviour of locks when …","A lock that provides data access to either one writer or …","A primitive that synchronizes the execution of multiple …","A BarrierWaitResult is returned by wait when all threads …","","","","","","","","","Returns whether this thread from wait is the “leader …","Creates a new barrier that can block a given number of …","","","","","","","Blocks the current thread until all threads have …","A value which is initialized on the first access.","Retrieves a mutable pointer to the inner data.","","","Creates a new lazy value using Default as the initializing …","","","Forces the evaluation of this lazy value and returns a …","","","Creates a new lazy value with the given initializing …","","","","A lock that provides mutually exclusive data access …","A guard that provides mutable data access (compatible with …","A lock that provides data access to either one writer or …","A guard that provides immutable data access (compatible …","A guard that provides immutable data access but can be …","A guard that provides mutable data access (compatible with …","A spin-based lock providing mutually exclusive access to …","A generic guard that will protect some data access and …","","","","","","","","","","","Force unlock this Mutex.","","","","","Returns a mutable reference to the underlying data.","","","Consumes this Mutex and unwraps the underlying data.","Returns true if the lock is currently held.","","Leak the lock guard, yielding a mutable reference to the …","","Locks the Mutex and returns a guard that permits access to …","Creates a new Mutex wrapping the supplied data.","A naïve spinning mutex.","","","","","Try to lock this Mutex, returning a lock guard if …","","","","","A spin lock providing mutually exclusive access to data.","A guard that provides mutable data access.","Returns a mutable pointer to the underlying data.","","","","","","","","The dropping of the MutexGuard will release the lock it …","","","","Force unlock this SpinMutex.","","","","","Returns a mutable reference to the underlying data.","","","Consumes this SpinMutex and unwraps the underlying data.","","Returns true if the lock is currently held.","Leak the lock guard, yielding a mutable reference to the …","","Locks the SpinMutex and returns a guard that permits …","Creates a new SpinMutex wrapping the supplied data.","","","","","","Try to lock this SpinMutex, returning a lock guard if …","","","","Initialization constant of Once.","A primitive that provides lazy one-time initialization.","Retrieve a pointer to the inner data.","","","Performs an initialization routine once and only once. The …","","","","","","Returns a reference to the inner value if the Once has …","Returns a mutable reference to the inner value if the Once …","Returns a reference to the inner value on the unchecked …","Creates a new initialized Once.","","Checks whether the value has been initialized.","Creates a new Once.","Like Once::get, but will spin if the Once is in the …","","","Returns a the inner value if the Once has been initialized.","","Spins until the Once contains a value.","A strategy that rapidly spins, without telling the CPU to …","A trait implemented by spinning relax strategies.","A strategy that rapidly spins while informing the CPU that …","","","","","","","","","Perform the relaxing operation during a period of …","","","","","","","","","A lock that provides data access to either one writer or …","A guard that provides immutable data access.","A guard that provides immutable data access but can be …","A guard that provides mutable data access.","Returns a mutable pointer to the underying data.","","","","","","","","","","","","","","","Downgrades the writable lock guard to a readable, shared …","Downgrades the upgradeable lock guard to a readable, …","Downgrades the writable lock guard to an upgradable, …","","","","","","","","","","","Force decrement the reader count.","Force unlock exclusive write access.","","","","","","","Returns a mutable reference to the underlying data.","","","","","Consumes this RwLock, returning the underlying data.","","Leak the lock guard, yielding a reference to the …","Leak the lock guard, yielding a mutable reference to the …","Leak the lock guard, yielding a reference to the …","","","","Creates a new spinlock wrapping the supplied data.","Locks this rwlock with shared read access, blocking the …","Return the number of readers that currently hold the lock …","","","","","","","","","","","","Attempt to acquire this lock with shared read access.","","Tries to upgrade an upgradeable lock guard to a writable …","Tries to obtain an upgradeable lock guard.","Attempt to lock this rwlock with exclusive write access.","","","","","","","","","Upgrades an upgradeable lock guard to a writable lock …","Obtain a readable lock guard that can later be upgraded to …","Lock this rwlock with exclusive write access, blocking the …","Return the number of writers that currently hold the lock."],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,2,1,2,1,2,2,1,1,2,1,2,1,2,1,0,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,4,5,4,5,4,5,5,4,5,5,4,4,4,4,5,4,4,5,4,4,4,5,4,4,4,0,4,5,4,5,4,4,4,5,4,0,0,6,6,7,6,7,6,7,7,7,6,7,7,6,6,6,6,7,6,6,7,6,6,6,7,6,6,6,6,7,6,7,6,6,6,7,6,8,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,9,10,9,10,9,10,9,10,11,9,10,9,10,9,10,9,10,0,0,0,0,12,12,13,14,15,12,13,14,15,12,13,14,15,14,12,14,15,14,13,14,15,12,13,13,14,14,15,15,12,12,12,12,12,13,14,15,12,12,13,14,15,12,12,13,14,15,12,12,12,12,12,12,12,13,14,15,12,13,14,15,12,12,12,12,12,15,12,12,12,13,14,15,12,12,12,12,15,12,12,12],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[["usize",15]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["barrierwaitresult",3]],null,[[]],[[]],[[]],[[]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["never",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[]],[[]],[[],["mutexguard",3]],[[]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["mutexguard",3],["option",4,["mutexguard"]]]],[[],["bool",15]],[[],["typeid",3]],[[],["typeid",3]],[[]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["never",15]]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[]],[[]],[[],["spinmutexguard",3]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["bool",15]],[[],[["option",4,["spinmutexguard"]],["spinmutexguard",3]]],[[],["typeid",3]],[[],["typeid",3]],[[]],null,null,[[]],[[]],[[]],[[["fnonce",8]]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],[[["never",15]]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[]],[[],["bool",15]],[[]],[[],["option",4]],[[],["result",4]],[[],["result",4]],[[],["option",4]],[[],["typeid",3]],[[]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["rwlockreadguard",3]],[[],["rwlockreadguard",3]],[[],["rwlockupgradableguard",3]],[[]],[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["never",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["rwlockreadguard",3]],[[],["usize",15]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],[["option",4,["rwlockreadguard"]],["rwlockreadguard",3]]],[[],["bool",15]],[[],[["result",4,["rwlockwriteguard"]],["rwlockwriteguard",3]]],[[],[["rwlockupgradableguard",3],["option",4,["rwlockupgradableguard"]]]],[[],[["option",4,["rwlockwriteguard"]],["rwlockwriteguard",3]]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[],["rwlockwriteguard",3]],[[],["rwlockupgradableguard",3]],[[],["rwlockwriteguard",3]],[[],["usize",15]]],"p":[[3,"Barrier"],[3,"BarrierWaitResult"],[3,"Lazy"],[3,"Mutex"],[3,"MutexGuard"],[3,"SpinMutex"],[3,"SpinMutexGuard"],[3,"Once"],[3,"Spin"],[3,"Loop"],[8,"RelaxStrategy"],[3,"RwLock"],[3,"RwLockReadGuard"],[3,"RwLockWriteGuard"],[3,"RwLockUpgradableGuard"]]},\ diff --git a/src/heapless/histbuf.rs.html b/src/heapless/histbuf.rs.html index b13aab65..ff5e81d3 100644 --- a/src/heapless/histbuf.rs.html +++ b/src/heapless/histbuf.rs.html @@ -315,6 +315,122 @@ 315 316 317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433
use core::fmt;
 use core::mem::MaybeUninit;
 use core::ops::Deref;
@@ -498,6 +614,38 @@
     pub fn as_slice(&self) -> &[T] {
         unsafe { slice::from_raw_parts(self.data.as_ptr() as *const _, self.len()) }
     }
+
+    /// Returns an iterator for iterating over the buffer from oldest to newest.
+    ///
+    /// # Examples
+    ///
+    /// ```
+    /// use heapless::HistoryBuffer;
+    ///
+    /// let mut buffer: HistoryBuffer<u8, 6> = HistoryBuffer::new();
+    /// buffer.extend([0, 0, 0, 1, 2, 3, 4, 5, 6]);
+    /// let expected = [1, 2, 3, 4, 5, 6];
+    /// for (x, y) in buffer.oldest_ordered().zip(expected.iter()) {
+    ///     assert_eq!(x, y)
+    /// }
+    ///
+    /// ```
+    pub fn oldest_ordered<'a>(&'a self) -> OldestOrdered<'a, T, N> {
+        if self.filled {
+            OldestOrdered {
+                buf: self,
+                cur: self.write_at,
+                wrapped: false,
+            }
+        } else {
+            // special case: act like we wrapped already to handle empty buffer.
+            OldestOrdered {
+                buf: self,
+                cur: 0,
+                wrapped: true,
+            }
+        }
+    }
 }
 
 impl<T, const N: usize> Extend<T> for HistoryBuffer<T, N> {
@@ -564,9 +712,38 @@
     }
 }
 
+/// An iterator on the underlying buffer ordered from oldest data to newest
+#[derive(Clone)]
+pub struct OldestOrdered<'a, T, const N: usize> {
+    buf: &'a HistoryBuffer<T, N>,
+    cur: usize,
+    wrapped: bool,
+}
+
+impl<'a, T, const N: usize> Iterator for OldestOrdered<'a, T, N> {
+    type Item = &'a T;
+
+    fn next(&mut self) -> Option<&'a T> {
+        if self.cur == self.buf.len() && self.buf.filled {
+            // roll-over
+            self.cur = 0;
+            self.wrapped = true;
+        }
+
+        if self.cur == self.buf.write_at && self.wrapped {
+            return None;
+        }
+
+        let item = &self.buf[self.cur];
+        self.cur += 1;
+        Some(item)
+    }
+}
+
 #[cfg(test)]
 mod tests {
     use crate::HistoryBuffer;
+    use core::fmt::Debug;
 
     #[test]
     fn new() {
@@ -631,6 +808,61 @@
 
         assert_eq!(x.as_slice(), [5, 2, 3, 4]);
     }
+
+    #[test]
+    fn ordered() {
+        // test on an empty buffer
+        let buffer: HistoryBuffer<u8, 6> = HistoryBuffer::new();
+        let mut iter = buffer.oldest_ordered();
+        assert_eq!(iter.next(), None);
+        assert_eq!(iter.next(), None);
+
+        // test on a un-filled buffer
+        let mut buffer: HistoryBuffer<u8, 6> = HistoryBuffer::new();
+        buffer.extend([1, 2, 3]);
+        assert_eq!(buffer.len(), 3);
+        assert_eq_iter(buffer.oldest_ordered(), &[1, 2, 3]);
+
+        // test on a filled buffer
+        let mut buffer: HistoryBuffer<u8, 6> = HistoryBuffer::new();
+        buffer.extend([0, 0, 0, 1, 2, 3, 4, 5, 6]);
+        assert_eq!(buffer.len(), 6);
+        assert_eq_iter(buffer.oldest_ordered(), &[1, 2, 3, 4, 5, 6]);
+
+        // comprehensive test all cases
+        for n in 0..50 {
+            const N: usize = 7;
+            let mut buffer: HistoryBuffer<u8, N> = HistoryBuffer::new();
+            buffer.extend(0..n);
+            assert_eq_iter(
+                buffer.oldest_ordered().copied(),
+                n.saturating_sub(N as u8)..n,
+            );
+        }
+    }
+
+    /// Compares two iterators item by item, making sure they stop at the same time.
+    fn assert_eq_iter<I: Eq + Debug>(
+        a: impl IntoIterator<Item = I>,
+        b: impl IntoIterator<Item = I>,
+    ) {
+        let mut a = a.into_iter();
+        let mut b = b.into_iter();
+
+        let mut i = 0;
+        loop {
+            let a_item = a.next();
+            let b_item = b.next();
+
+            assert_eq!(a_item, b_item, "{}", i);
+
+            i += 1;
+
+            if b_item.is_none() {
+                break;
+            }
+        }
+    }
 }
 
diff --git a/src/heapless/lib.rs.html b/src/heapless/lib.rs.html index ac052f81..9ce7de7b 100644 --- a/src/heapless/lib.rs.html +++ b/src/heapless/lib.rs.html @@ -191,7 +191,7 @@ pub use binary_heap::BinaryHeap; pub use deque::Deque; -pub use histbuf::HistoryBuffer; +pub use histbuf::{HistoryBuffer, OldestOrdered}; pub use indexmap::{Bucket, FnvIndexMap, IndexMap, Pos}; pub use indexset::{FnvIndexSet, IndexSet}; pub use linear_map::LinearMap;