diff --git a/doc/hydroflow_lang/all.html b/doc/hydroflow_lang/all.html index 9ebd4c6d72ee..0a63489346dd 100644 --- a/doc/hydroflow_lang/all.html +++ b/doc/hydroflow_lang/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Traits

Functions

Type Aliases

Constants

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Functions

Type Aliases

Constants

\ No newline at end of file diff --git a/doc/hydroflow_lang/graph/enum.Color.html b/doc/hydroflow_lang/graph/enum.Color.html index 663ca067d200..4de25e02c58b 100644 --- a/doc/hydroflow_lang/graph/enum.Color.html +++ b/doc/hydroflow_lang/graph/enum.Color.html @@ -1,4 +1,4 @@ -Color in hydroflow_lang::graph - Rust

Enum hydroflow_lang::graph::Color

source ·
pub enum Color {
+Color in hydroflow_lang::graph - Rust

Enum hydroflow_lang::graph::Color

source ·
pub enum Color {
     Pull,
     Push,
     Comp,
@@ -8,16 +8,16 @@
 
§

Push

Push (blue)

§

Comp

Computation (yellow)

§

Hoff

Handoff (grey) – not a color for operators, inserted between subgraphs.

-

Trait Implementations§

source§

impl Clone for Color

source§

fn clone(&self) -> Color

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Color

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Color

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Ord for Color

source§

fn cmp(&self, other: &Color) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where +

Trait Implementations§

source§

impl Clone for Color

source§

fn clone(&self) -> Color

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Color

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Color

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Ord for Color

source§

fn cmp(&self, other: &Color) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Color

source§

fn eq(&self, other: &Color) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl PartialOrd for Color

source§

fn partial_cmp(&self, other: &Color) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the + Self: Sized + PartialOrd,
Restrict a value to a certain interval. Read more
source§

impl PartialEq for Color

source§

fn eq(&self, other: &Color) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl PartialOrd for Color

source§

fn partial_cmp(&self, other: &Color) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Serialize for Color

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for Color

source§

impl Eq for Color

source§

impl StructuralPartialEq for Color

Auto Trait Implementations§

§

impl Freeze for Color

§

impl RefUnwindSafe for Color

§

impl Send for Color

§

impl Sync for Color

§

impl Unpin for Color

§

impl UnwindSafe for Color

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl Serialize for Color

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for Color

source§

impl Eq for Color

source§

impl StructuralPartialEq for Color

Auto Trait Implementations§

§

impl Freeze for Color

§

impl RefUnwindSafe for Color

§

impl Send for Color

§

impl Sync for Color

§

impl Unpin for Color

§

impl UnwindSafe for Color

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/hydroflow_lang/graph/enum.GraphNode.html b/doc/hydroflow_lang/graph/enum.GraphNode.html index dd89bd7c71a9..4ab368620b9f 100644 --- a/doc/hydroflow_lang/graph/enum.GraphNode.html +++ b/doc/hydroflow_lang/graph/enum.GraphNode.html @@ -1,4 +1,4 @@ -GraphNode in hydroflow_lang::graph - Rust

Enum hydroflow_lang::graph::GraphNode

source ·
pub enum GraphNode {
+GraphNode in hydroflow_lang::graph - Rust

Enum hydroflow_lang::graph::GraphNode

source ·
pub enum GraphNode {
     Operator(Operator),
     Handoff {
         src_span: Span,
@@ -18,11 +18,11 @@
 
§import_expr: Span

The span of the import!() expression that imported this module. The value of this span when the ModuleBoundary node is still inside the module is Span::call_site() TODO: This could one day reference into the module file itself?

-

Implementations§

source§

impl GraphNode

source

pub fn to_pretty_string(&self) -> Cow<'static, str>

Return the node as a human-readable string.

-
source

pub fn to_name_string(&self) -> Cow<'static, str>

Return the name of the node as a string, excluding parenthesis and op source code.

-
source

pub fn span(&self) -> Span

Return the source code span of the node (for operators) or input/otput spans for handoffs.

-

Trait Implementations§

source§

impl Clone for GraphNode

source§

fn clone(&self) -> GraphNode

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GraphNode

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GraphNode

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for GraphNode

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where +

Implementations§

source§

impl GraphNode

source

pub fn to_pretty_string(&self) -> Cow<'static, str>

Return the node as a human-readable string.

+
source

pub fn to_name_string(&self) -> Cow<'static, str>

Return the name of the node as a string, excluding parenthesis and op source code.

+
source

pub fn span(&self) -> Span

Return the source code span of the node (for operators) or input/otput spans for handoffs.

+

Trait Implementations§

source§

impl Clone for GraphNode

source§

fn clone(&self) -> GraphNode

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GraphNode

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GraphNode

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for GraphNode

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for GraphNode

§

impl RefUnwindSafe for GraphNode

§

impl !Send for GraphNode

§

impl !Sync for GraphNode

§

impl Unpin for GraphNode

§

impl UnwindSafe for GraphNode

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/hydroflow_lang/graph/enum.PortIndexValue.html b/doc/hydroflow_lang/graph/enum.PortIndexValue.html index 29c1eceb6d22..b71f06b3601f 100644 --- a/doc/hydroflow_lang/graph/enum.PortIndexValue.html +++ b/doc/hydroflow_lang/graph/enum.PortIndexValue.html @@ -1,4 +1,4 @@ -PortIndexValue in hydroflow_lang::graph - Rust

Enum hydroflow_lang::graph::PortIndexValue

source ·
pub enum PortIndexValue {
+PortIndexValue in hydroflow_lang::graph - Rust

Enum hydroflow_lang::graph::PortIndexValue

source ·
pub enum PortIndexValue {
     Int(IndexInt),
     Path(ExprPath),
     Elided(Option<Span>),
@@ -7,23 +7,23 @@
 
§

Path(ExprPath)

A name or path. [pos], [neg], etc. Can use :: separators but we don’t use that (2023-08-16).

§

Elided(Option<Span>)

Elided, unspecified port. We have this variant, rather than wrapping in Option, in order to preserve the Span information.

-

Implementations§

source§

impl PortIndexValue

source

pub fn from_ported<Inner>(ported: Ported<Inner>) -> (Self, Inner, Self)
where +

Implementations§

source§

impl PortIndexValue

source

pub fn from_ported<Inner>(ported: Ported<Inner>) -> (Self, Inner, Self)
where Inner: Spanned,

For a Ported value like [port_in]name[port_out], get the port_in and port_out as PortIndexValues.

-
source

pub fn is_specified(&self) -> bool

Returns true if self is not PortIndexValue::Elided.

-
source

pub fn combine(self, other: Self) -> Result<Self, Self>

Return Err(self) if there is a conflict.

-
source

pub fn as_error_message_string(&self) -> String

Formats self as a human-readable string for error messages.

-
source

pub fn span(&self) -> Span

Returns the span of this port value.

-

Trait Implementations§

source§

impl Clone for PortIndexValue

source§

fn clone(&self) -> PortIndexValue

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PortIndexValue

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for PortIndexValue

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for PortIndexValue

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<PortIndex> for PortIndexValue

source§

fn from(value: PortIndex) -> Self

Converts to this type from the input type.
source§

impl Ord for PortIndexValue

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where +

source

pub fn is_specified(&self) -> bool

Returns true if self is not PortIndexValue::Elided.

+
source

pub fn combine(self, other: Self) -> Result<Self, Self>

Return Err(self) if there is a conflict.

+
source

pub fn as_error_message_string(&self) -> String

Formats self as a human-readable string for error messages.

+
source

pub fn span(&self) -> Span

Returns the span of this port value.

+

Trait Implementations§

source§

impl Clone for PortIndexValue

source§

fn clone(&self) -> PortIndexValue

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PortIndexValue

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for PortIndexValue

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for PortIndexValue

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<PortIndex> for PortIndexValue

source§

fn from(value: PortIndex) -> Self

Converts to this type from the input type.
source§

impl Ord for PortIndexValue

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for PortIndexValue

source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl PartialOrd for PortIndexValue

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the + Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for PortIndexValue

source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl PartialOrd for PortIndexValue

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Serialize for PortIndexValue

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for PortIndexValue

Auto Trait Implementations§

§

impl Freeze for PortIndexValue

§

impl RefUnwindSafe for PortIndexValue

§

impl !Send for PortIndexValue

§

impl !Sync for PortIndexValue

§

impl Unpin for PortIndexValue

§

impl UnwindSafe for PortIndexValue

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl Serialize for PortIndexValue

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for PortIndexValue

Auto Trait Implementations§

§

impl Freeze for PortIndexValue

§

impl RefUnwindSafe for PortIndexValue

§

impl !Send for PortIndexValue

§

impl !Sync for PortIndexValue

§

impl Unpin for PortIndexValue

§

impl UnwindSafe for PortIndexValue

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/hydroflow_lang/graph/enum.WriteGraphType.html b/doc/hydroflow_lang/graph/enum.WriteGraphType.html index be5088fee7d2..381c8e9fac3a 100644 --- a/doc/hydroflow_lang/graph/enum.WriteGraphType.html +++ b/doc/hydroflow_lang/graph/enum.WriteGraphType.html @@ -1,18 +1,18 @@ -WriteGraphType in hydroflow_lang::graph - Rust

Enum hydroflow_lang::graph::WriteGraphType

source ·
pub enum WriteGraphType {
+WriteGraphType in hydroflow_lang::graph - Rust

Enum hydroflow_lang::graph::WriteGraphType

source ·
pub enum WriteGraphType {
     Mermaid,
     Dot,
 }
Expand description

Enum for choosing between mermaid and dot graph writing.

Variants§

§

Mermaid

Mermaid graphs.

§

Dot

Dot (Graphviz) graphs.

-

Trait Implementations§

source§

impl Clone for WriteGraphType

source§

fn clone(&self) -> WriteGraphType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl CommandFactory for WriteGraphType

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for WriteGraphType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FromArgMatches for WriteGraphType

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( +

Trait Implementations§

source§

impl Clone for WriteGraphType

source§

fn clone(&self) -> WriteGraphType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl CommandFactory for WriteGraphType

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for WriteGraphType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FromArgMatches for WriteGraphType

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, -) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( +) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut<'b>( +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for WriteGraphType

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for WriteGraphType

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, [exit][Error::exit] on error.
§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where I: IntoIterator<Item = T>, @@ -20,7 +20,7 @@ I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Update from iterator, [exit][Error::exit] on error.
§

fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
where I: IntoIterator<Item = T>, - T: Into<OsString> + Clone,

Update from iterator, return Err on error.
source§

impl Subcommand for WriteGraphType

source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self. Read more
source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can update self. Read more
source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand
source§

impl ValueEnum for WriteGraphType

source§

fn value_variants<'a>() -> &'a [Self]

All possible argument values, in display order.
source§

fn to_possible_value<'a>(&self) -> Option<PossibleValue>

The canonical argument value. Read more
§

fn from_str(input: &str, ignore_case: bool) -> Result<Self, String>

Parse an argument into Self.
source§

impl Copy for WriteGraphType

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: Into<OsString> + Clone,

Update from iterator, return Err on error.

source§

impl Subcommand for WriteGraphType

source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self. Read more
source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can update self. Read more
source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand
source§

impl ValueEnum for WriteGraphType

source§

fn value_variants<'a>() -> &'a [Self]

All possible argument values, in display order.
source§

fn to_possible_value<'a>(&self) -> Option<PossibleValue>

The canonical argument value. Read more
§

fn from_str(input: &str, ignore_case: bool) -> Result<Self, String>

Parse an argument into Self.
source§

impl Copy for WriteGraphType

Auto Trait Implementations§

§

impl Freeze for WriteGraphType

§

impl RefUnwindSafe for WriteGraphType

§

impl Send for WriteGraphType

§

impl Sync for WriteGraphType

§

impl Unpin for WriteGraphType

§

impl UnwindSafe for WriteGraphType

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/hydroflow_lang/graph/fn.build_hfcode.html b/doc/hydroflow_lang/graph/fn.build_hfcode.html index c1d404b29d4e..8b5a5410ffcd 100644 --- a/doc/hydroflow_lang/graph/fn.build_hfcode.html +++ b/doc/hydroflow_lang/graph/fn.build_hfcode.html @@ -1,4 +1,4 @@ -build_hfcode in hydroflow_lang::graph - Rust

Function hydroflow_lang::graph::build_hfcode

source ·
pub fn build_hfcode(
+build_hfcode in hydroflow_lang::graph - Rust

Function hydroflow_lang::graph::build_hfcode

source ·
pub fn build_hfcode(
     hf_code: HfCode,
     root: &TokenStream,
     macro_invocation_path: PathBuf,
diff --git a/doc/hydroflow_lang/graph/fn.get_operator_generics.html b/doc/hydroflow_lang/graph/fn.get_operator_generics.html
index d04010aa3005..a117ca8f3323 100644
--- a/doc/hydroflow_lang/graph/fn.get_operator_generics.html
+++ b/doc/hydroflow_lang/graph/fn.get_operator_generics.html
@@ -1,4 +1,4 @@
-get_operator_generics in hydroflow_lang::graph - Rust

Function hydroflow_lang::graph::get_operator_generics

source ·
pub fn get_operator_generics(
+get_operator_generics in hydroflow_lang::graph - Rust

Function hydroflow_lang::graph::get_operator_generics

source ·
pub fn get_operator_generics(
     diagnostics: &mut Vec<Diagnostic>,
     operator: &Operator,
 ) -> OpInstGenerics
Expand description

Gets the generic arguments for the operator.

diff --git a/doc/hydroflow_lang/graph/fn.partition_graph.html b/doc/hydroflow_lang/graph/fn.partition_graph.html index 57ccce3e274e..95501e248b86 100644 --- a/doc/hydroflow_lang/graph/fn.partition_graph.html +++ b/doc/hydroflow_lang/graph/fn.partition_graph.html @@ -1,4 +1,4 @@ -partition_graph in hydroflow_lang::graph - Rust

Function hydroflow_lang::graph::partition_graph

source ·
pub fn partition_graph(
+partition_graph in hydroflow_lang::graph - Rust

Function hydroflow_lang::graph::partition_graph

source ·
pub fn partition_graph(
     flat_graph: HydroflowGraph,
 ) -> Result<HydroflowGraph, Diagnostic>
Expand description

Main method for this module. Partions a flat HydroflowGraph into one with subgraphs.

Returns an error if a negative cycle exists in the graph. Negative cycles prevent partioning.

diff --git a/doc/hydroflow_lang/graph/graph_algorithms/fn.topo_sort_scc.html b/doc/hydroflow_lang/graph/graph_algorithms/fn.topo_sort_scc.html index c0ed6dd74bc0..6dee0da43fbf 100644 --- a/doc/hydroflow_lang/graph/graph_algorithms/fn.topo_sort_scc.html +++ b/doc/hydroflow_lang/graph/graph_algorithms/fn.topo_sort_scc.html @@ -1,4 +1,4 @@ -topo_sort_scc in hydroflow_lang::graph::graph_algorithms - Rust

Function hydroflow_lang::graph::graph_algorithms::topo_sort_scc

source ·
pub fn topo_sort_scc<Id, NodesFn, NodeIds, PredsFn, SuccsFn, PredsIter, SuccsIter>(
+topo_sort_scc in hydroflow_lang::graph::graph_algorithms - Rust

Function hydroflow_lang::graph::graph_algorithms::topo_sort_scc

source ·
pub fn topo_sort_scc<Id, NodesFn, NodeIds, PredsFn, SuccsFn, PredsIter, SuccsIter>(
     nodes_fn: NodesFn,
     preds_fn: PredsFn,
     succs_fn: SuccsFn,
@@ -9,6 +9,6 @@
     PredsFn: FnMut(Id) -> PredsIter,
     SuccsFn: FnMut(Id) -> SuccsIter,
     PredsIter: IntoIterator<Item = Id>,
-    SuccsIter: IntoIterator<Item = Id>,
Expand description

Computers the topological sort of the nodes of a possibly cyclic graph by ordering strongly + SuccsIter: IntoIterator<Item = Id>,

Expand description

Computes the topological sort of the nodes of a possibly cyclic graph by ordering strongly connected components together.

\ No newline at end of file diff --git a/doc/hydroflow_lang/graph/graph_algorithms/index.html b/doc/hydroflow_lang/graph/graph_algorithms/index.html index ac76e6556247..6257558edc27 100644 --- a/doc/hydroflow_lang/graph/graph_algorithms/index.html +++ b/doc/hydroflow_lang/graph/graph_algorithms/index.html @@ -1,5 +1,5 @@ hydroflow_lang::graph::graph_algorithms - Rust

Module hydroflow_lang::graph::graph_algorithms

source ·
Expand description

General graph algorithm utility functions

Functions§

  • Finds the strongly connected components in the graph. A strongly connected component is a subset of nodes that are all reachable by each other.
  • Topologically sorts a set of nodes. Returns a list where the order of Ids will agree with -the order of any path through the graph.
  • Computers the topological sort of the nodes of a possibly cyclic graph by ordering strongly +the order of any path through the graph.
  • Computes the topological sort of the nodes of a possibly cyclic graph by ordering strongly connected components together.
\ No newline at end of file diff --git a/doc/hydroflow_lang/graph/index.html b/doc/hydroflow_lang/graph/index.html index 4216d2d5944e..8456d48115f6 100644 --- a/doc/hydroflow_lang/graph/index.html +++ b/doc/hydroflow_lang/graph/index.html @@ -1,4 +1,4 @@ -hydroflow_lang::graph - Rust

Module hydroflow_lang::graph

source ·
Expand description

Graph representation stages for Hydroflow graphs.

-

Modules§

Structs§

Enums§

  • Push, Pull, Comp, or Hoff polarity.
  • A node, corresponding to an operator or a handoff.
  • Helper struct for PortIndex which keeps span information for elided ports.
  • Enum for choosing between mermaid and dot graph writing.

Functions§

Restrict a value to a certain interval. Read more
source§

impl PartialEq for OperatorCategory

source§

fn eq(&self, other: &OperatorCategory) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl PartialOrd for OperatorCategory

source§

fn partial_cmp(&self, other: &OperatorCategory) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Copy for OperatorCategory

source§

impl Eq for OperatorCategory

source§

impl StructuralPartialEq for OperatorCategory

Auto Trait Implementations§

§

impl Freeze for OperatorCategory

§

impl RefUnwindSafe for OperatorCategory

§

impl Send for OperatorCategory

§

impl Sync for OperatorCategory

§

impl Unpin for OperatorCategory

§

impl UnwindSafe for OperatorCategory

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl Copy for OperatorCategory

source§

impl Eq for OperatorCategory

source§

impl StructuralPartialEq for OperatorCategory

Auto Trait Implementations§

§

impl Freeze for OperatorCategory

§

impl RefUnwindSafe for OperatorCategory

§

impl Send for OperatorCategory

§

impl Sync for OperatorCategory

§

impl Unpin for OperatorCategory

§

impl UnwindSafe for OperatorCategory

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/hydroflow_lang/graph/ops/enum.Persistence.html b/doc/hydroflow_lang/graph/ops/enum.Persistence.html index f12e26315966..e63598749b47 100644 --- a/doc/hydroflow_lang/graph/ops/enum.Persistence.html +++ b/doc/hydroflow_lang/graph/ops/enum.Persistence.html @@ -1,4 +1,4 @@ -Persistence in hydroflow_lang::graph::ops - Rust

Enum hydroflow_lang::graph::ops::Persistence

source ·
pub enum Persistence {
+Persistence in hydroflow_lang::graph::ops - Rust

Enum hydroflow_lang::graph::ops::Persistence

source ·
pub enum Persistence {
     Tick,
     Static,
     Mutable,
@@ -6,16 +6,16 @@
 

Variants§

§

Tick

Persistence for one tick at-a-time only.

§

Static

Persistene across all ticks.

§

Mutable

Mutability.

-

Trait Implementations§

source§

impl Clone for Persistence

source§

fn clone(&self) -> Persistence

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Persistence

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Persistence

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Ord for Persistence

source§

fn cmp(&self, other: &Persistence) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where +

Trait Implementations§

source§

impl Clone for Persistence

source§

fn clone(&self) -> Persistence

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Persistence

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Persistence

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Ord for Persistence

source§

fn cmp(&self, other: &Persistence) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Persistence

source§

fn eq(&self, other: &Persistence) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl PartialOrd for Persistence

source§

fn partial_cmp(&self, other: &Persistence) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the + Self: Sized + PartialOrd,
Restrict a value to a certain interval. Read more
source§

impl PartialEq for Persistence

source§

fn eq(&self, other: &Persistence) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl PartialOrd for Persistence

source§

fn partial_cmp(&self, other: &Persistence) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Serialize for Persistence

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for Persistence

source§

impl Eq for Persistence

source§

impl StructuralPartialEq for Persistence

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl Serialize for Persistence

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for Persistence

source§

impl Eq for Persistence

source§

impl StructuralPartialEq for Persistence

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/hydroflow_lang/graph/ops/fn.find_node_op_constraints.html b/doc/hydroflow_lang/graph/ops/fn.find_node_op_constraints.html index d5f004943fce..fd357480a4c8 100644 --- a/doc/hydroflow_lang/graph/ops/fn.find_node_op_constraints.html +++ b/doc/hydroflow_lang/graph/ops/fn.find_node_op_constraints.html @@ -1,4 +1,4 @@ -find_node_op_constraints in hydroflow_lang::graph::ops - Rust

Function hydroflow_lang::graph::ops::find_node_op_constraints

source ·
pub fn find_node_op_constraints(
+find_node_op_constraints in hydroflow_lang::graph::ops - Rust

Function hydroflow_lang::graph::ops::find_node_op_constraints

source ·
pub fn find_node_op_constraints(
     node: &GraphNode,
 ) -> Option<&'static OperatorConstraints>
Expand description

Find an operator by GraphNode.

\ No newline at end of file diff --git a/doc/hydroflow_lang/graph/ops/fn.find_op_op_constraints.html b/doc/hydroflow_lang/graph/ops/fn.find_op_op_constraints.html index 0f7fe52cdc2d..64650d641407 100644 --- a/doc/hydroflow_lang/graph/ops/fn.find_op_op_constraints.html +++ b/doc/hydroflow_lang/graph/ops/fn.find_op_op_constraints.html @@ -1,4 +1,4 @@ -find_op_op_constraints in hydroflow_lang::graph::ops - Rust

Function hydroflow_lang::graph::ops::find_op_op_constraints

source ·
pub fn find_op_op_constraints(
+find_op_op_constraints in hydroflow_lang::graph::ops - Rust

Function hydroflow_lang::graph::ops::find_op_op_constraints

source ·
pub fn find_op_op_constraints(
     operator: &Operator,
 ) -> Option<&'static OperatorConstraints>
Expand description

Find an operator by an AST Operator.

\ No newline at end of file diff --git a/doc/hydroflow_lang/graph/ops/fn.identity_write_iterator_fn.html b/doc/hydroflow_lang/graph/ops/fn.identity_write_iterator_fn.html index 31e586b334ce..5b065db9239d 100644 --- a/doc/hydroflow_lang/graph/ops/fn.identity_write_iterator_fn.html +++ b/doc/hydroflow_lang/graph/ops/fn.identity_write_iterator_fn.html @@ -1,3 +1,3 @@ -identity_write_iterator_fn in hydroflow_lang::graph::ops - Rust

Function hydroflow_lang::graph::ops::identity_write_iterator_fn

source ·
pub fn identity_write_iterator_fn(_: &WriteContextArgs<'_>) -> TokenStream
Expand description

Helper to write the write_iterator portion of OperatorConstraints::write_fn output for +identity_write_iterator_fn in hydroflow_lang::graph::ops - Rust

Function hydroflow_lang::graph::ops::identity_write_iterator_fn

source ·
pub fn identity_write_iterator_fn(_: &WriteContextArgs<'_>) -> TokenStream
Expand description

Helper to write the write_iterator portion of OperatorConstraints::write_fn output for unary identity operators.

\ No newline at end of file diff --git a/doc/hydroflow_lang/graph/ops/fn.null_write_iterator_fn.html b/doc/hydroflow_lang/graph/ops/fn.null_write_iterator_fn.html index 83e4bdac61c6..0fc547964d96 100644 --- a/doc/hydroflow_lang/graph/ops/fn.null_write_iterator_fn.html +++ b/doc/hydroflow_lang/graph/ops/fn.null_write_iterator_fn.html @@ -1,3 +1,3 @@ -null_write_iterator_fn in hydroflow_lang::graph::ops - Rust

Function hydroflow_lang::graph::ops::null_write_iterator_fn

source ·
pub fn null_write_iterator_fn(_: &WriteContextArgs<'_>) -> TokenStream
Expand description

Helper to write the write_iterator portion of OperatorConstraints::write_fn output for +null_write_iterator_fn in hydroflow_lang::graph::ops - Rust

Function hydroflow_lang::graph::ops::null_write_iterator_fn

source ·
pub fn null_write_iterator_fn(_: &WriteContextArgs<'_>) -> TokenStream
Expand description

Helper to write the write_iterator portion of OperatorConstraints::write_fn output for the null operator - an operator that ignores all inputs and produces no output.

\ No newline at end of file diff --git a/doc/hydroflow_lang/graph/ops/fn.operator_lookup.html b/doc/hydroflow_lang/graph/ops/fn.operator_lookup.html index ed61f08cc38b..49b3eda4af0a 100644 --- a/doc/hydroflow_lang/graph/ops/fn.operator_lookup.html +++ b/doc/hydroflow_lang/graph/ops/fn.operator_lookup.html @@ -1,2 +1,2 @@ -operator_lookup in hydroflow_lang::graph::ops - Rust

Function hydroflow_lang::graph::ops::operator_lookup

source ·
pub fn operator_lookup() -> &'static HashMap<&'static str, &'static OperatorConstraints>
Expand description

Get the operator lookup table, generating it if needed.

+operator_lookup in hydroflow_lang::graph::ops - Rust

Function hydroflow_lang::graph::ops::operator_lookup

source ·
pub fn operator_lookup() -> &'static HashMap<&'static str, &'static OperatorConstraints>
Expand description

Get the operator lookup table, generating it if needed.

\ No newline at end of file diff --git a/doc/hydroflow_lang/graph/ops/index.html b/doc/hydroflow_lang/graph/ops/index.html index 68152742ded1..8351f8e49295 100644 --- a/doc/hydroflow_lang/graph/ops/index.html +++ b/doc/hydroflow_lang/graph/ops/index.html @@ -1,5 +1,5 @@ -hydroflow_lang::graph::ops - Rust

Module hydroflow_lang::graph::ops

source ·
Expand description

Hydroflow’s operators

-

Structs§

Enums§

  • The delay (soft barrier) type, for each input to an operator if needed.
  • Operator categories, for docs.
  • Persistence lifetimes: 'tick, 'static, or 'mutable.
  • Specification of the named (or unnamed) ports for an operator’s inputs or outputs.

Constants§

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GraphEdgeId

source§

fn eq(&self, other: &GraphEdgeId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl PartialOrd for GraphEdgeId

source§

fn partial_cmp(&self, other: &GraphEdgeId) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Serialize for GraphEdgeId

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where - S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for GraphEdgeId

source§

impl Eq for GraphEdgeId

source§

impl StructuralPartialEq for GraphEdgeId

Auto Trait Implementations§

§

impl Freeze for GraphEdgeId

§

impl RefUnwindSafe for GraphEdgeId

§

impl Send for GraphEdgeId

§

impl Sync for GraphEdgeId

§

impl Unpin for GraphEdgeId

§

impl UnwindSafe for GraphEdgeId

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl Serialize for GraphEdgeId

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where + S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for GraphEdgeId

source§

impl Eq for GraphEdgeId

source§

impl StructuralPartialEq for GraphEdgeId

Auto Trait Implementations§

§

impl Freeze for GraphEdgeId

§

impl RefUnwindSafe for GraphEdgeId

§

impl Send for GraphEdgeId

§

impl Sync for GraphEdgeId

§

impl Unpin for GraphEdgeId

§

impl UnwindSafe for GraphEdgeId

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/hydroflow_lang/graph/struct.GraphLoopId.html b/doc/hydroflow_lang/graph/struct.GraphLoopId.html new file mode 100644 index 000000000000..bd57f59034c3 --- /dev/null +++ b/doc/hydroflow_lang/graph/struct.GraphLoopId.html @@ -0,0 +1,37 @@ +GraphLoopId in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::GraphLoopId

source ·
pub struct GraphLoopId(/* private fields */);
Expand description

ID to identify a loop block in HydroflowGraph.

+

Trait Implementations§

source§

impl Clone for GraphLoopId

source§

fn clone(&self) -> GraphLoopId

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GraphLoopId

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GraphLoopId

source§

fn default() -> GraphLoopId

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

impl<'de> Deserialize<'de> for GraphLoopId

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where + D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<KeyData> for GraphLoopId

source§

fn from(k: KeyData) -> Self

Converts to this type from the input type.
source§

impl Hash for GraphLoopId

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where + H: Hasher, + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Key for GraphLoopId

source§

fn data(&self) -> KeyData

Gets the KeyData stored in this key. Read more
source§

fn null() -> Self

Creates a new key that is always invalid and distinct from any non-null +key. A null key can only be created through this method (or default +initialization of keys made with new_key_type!, which calls this +method). Read more
source§

fn is_null(&self) -> bool

Checks if a key is null. There is only a single null key, that is +a.is_null() && b.is_null() implies a == b. Read more
source§

impl Ord for GraphLoopId

source§

fn cmp(&self, other: &GraphLoopId) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GraphLoopId

source§

fn eq(&self, other: &GraphLoopId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl PartialOrd for GraphLoopId

source§

fn partial_cmp(&self, other: &GraphLoopId) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the +<= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > +operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by +the >= operator. Read more
source§

impl Serialize for GraphLoopId

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where + S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for GraphLoopId

source§

impl Eq for GraphLoopId

source§

impl StructuralPartialEq for GraphLoopId

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/hydroflow_lang/graph/struct.GraphNodeId.html b/doc/hydroflow_lang/graph/struct.GraphNodeId.html index aa010bc1eb8b..3bb8bdd37646 100644 --- a/doc/hydroflow_lang/graph/struct.GraphNodeId.html +++ b/doc/hydroflow_lang/graph/struct.GraphNodeId.html @@ -1,20 +1,20 @@ -GraphNodeId in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::GraphNodeId

source ·
pub struct GraphNodeId(/* private fields */);
Expand description

ID to identify a node (operator or handoff) in HydroflowGraph.

-

Trait Implementations§

source§

impl Clone for GraphNodeId

source§

fn clone(&self) -> GraphNodeId

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GraphNodeId

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GraphNodeId

source§

fn default() -> GraphNodeId

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

impl<'de> Deserialize<'de> for GraphNodeId

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where - D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<KeyData> for GraphNodeId

source§

fn from(k: KeyData) -> Self

Converts to this type from the input type.
source§

impl Hash for GraphNodeId

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +GraphNodeId in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::GraphNodeId

source ·
pub struct GraphNodeId(/* private fields */);
Expand description

ID to identify a node (operator or handoff) in HydroflowGraph.

+

Trait Implementations§

source§

impl Clone for GraphNodeId

source§

fn clone(&self) -> GraphNodeId

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GraphNodeId

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GraphNodeId

source§

fn default() -> GraphNodeId

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

impl<'de> Deserialize<'de> for GraphNodeId

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where + D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<KeyData> for GraphNodeId

source§

fn from(k: KeyData) -> Self

Converts to this type from the input type.
source§

impl Hash for GraphNodeId

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Key for GraphNodeId

source§

fn data(&self) -> KeyData

Gets the KeyData stored in this key. Read more
source§

fn null() -> Self

Creates a new key that is always invalid and distinct from any non-null + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Key for GraphNodeId

source§

fn data(&self) -> KeyData

Gets the KeyData stored in this key. Read more
source§

fn null() -> Self

Creates a new key that is always invalid and distinct from any non-null key. A null key can only be created through this method (or default initialization of keys made with new_key_type!, which calls this method). Read more
source§

fn is_null(&self) -> bool

Checks if a key is null. There is only a single null key, that is -a.is_null() && b.is_null() implies a == b. Read more
source§

impl Ord for GraphNodeId

source§

fn cmp(&self, other: &GraphNodeId) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where +a.is_null() && b.is_null() implies a == b. Read more

source§

impl Ord for GraphNodeId

source§

fn cmp(&self, other: &GraphNodeId) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GraphNodeId

source§

fn eq(&self, other: &GraphNodeId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl PartialOrd for GraphNodeId

source§

fn partial_cmp(&self, other: &GraphNodeId) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the + Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GraphNodeId

source§

fn eq(&self, other: &GraphNodeId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl PartialOrd for GraphNodeId

source§

fn partial_cmp(&self, other: &GraphNodeId) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Serialize for GraphNodeId

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where - S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for GraphNodeId

source§

impl Eq for GraphNodeId

source§

impl StructuralPartialEq for GraphNodeId

Auto Trait Implementations§

§

impl Freeze for GraphNodeId

§

impl RefUnwindSafe for GraphNodeId

§

impl Send for GraphNodeId

§

impl Sync for GraphNodeId

§

impl Unpin for GraphNodeId

§

impl UnwindSafe for GraphNodeId

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl Serialize for GraphNodeId

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where + S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for GraphNodeId

source§

impl Eq for GraphNodeId

source§

impl StructuralPartialEq for GraphNodeId

Auto Trait Implementations§

§

impl Freeze for GraphNodeId

§

impl RefUnwindSafe for GraphNodeId

§

impl Send for GraphNodeId

§

impl Sync for GraphNodeId

§

impl Unpin for GraphNodeId

§

impl UnwindSafe for GraphNodeId

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/hydroflow_lang/graph/struct.GraphSubgraphId.html b/doc/hydroflow_lang/graph/struct.GraphSubgraphId.html index 7df653531e56..bd3ff41a79c0 100644 --- a/doc/hydroflow_lang/graph/struct.GraphSubgraphId.html +++ b/doc/hydroflow_lang/graph/struct.GraphSubgraphId.html @@ -1,20 +1,20 @@ -GraphSubgraphId in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::GraphSubgraphId

source ·
pub struct GraphSubgraphId(/* private fields */);
Expand description

ID to identify a subgraph in HydroflowGraph.

-

Trait Implementations§

source§

impl Clone for GraphSubgraphId

source§

fn clone(&self) -> GraphSubgraphId

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GraphSubgraphId

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GraphSubgraphId

source§

fn default() -> GraphSubgraphId

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

impl<'de> Deserialize<'de> for GraphSubgraphId

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where - D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<KeyData> for GraphSubgraphId

source§

fn from(k: KeyData) -> Self

Converts to this type from the input type.
source§

impl Hash for GraphSubgraphId

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +GraphSubgraphId in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::GraphSubgraphId

source ·
pub struct GraphSubgraphId(/* private fields */);
Expand description

ID to identify a subgraph in HydroflowGraph.

+

Trait Implementations§

source§

impl Clone for GraphSubgraphId

source§

fn clone(&self) -> GraphSubgraphId

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GraphSubgraphId

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GraphSubgraphId

source§

fn default() -> GraphSubgraphId

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

impl<'de> Deserialize<'de> for GraphSubgraphId

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where + D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<KeyData> for GraphSubgraphId

source§

fn from(k: KeyData) -> Self

Converts to this type from the input type.
source§

impl Hash for GraphSubgraphId

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Key for GraphSubgraphId

source§

fn data(&self) -> KeyData

Gets the KeyData stored in this key. Read more
source§

fn null() -> Self

Creates a new key that is always invalid and distinct from any non-null + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Key for GraphSubgraphId

source§

fn data(&self) -> KeyData

Gets the KeyData stored in this key. Read more
source§

fn null() -> Self

Creates a new key that is always invalid and distinct from any non-null key. A null key can only be created through this method (or default initialization of keys made with new_key_type!, which calls this method). Read more
source§

fn is_null(&self) -> bool

Checks if a key is null. There is only a single null key, that is -a.is_null() && b.is_null() implies a == b. Read more
source§

impl Ord for GraphSubgraphId

source§

fn cmp(&self, other: &GraphSubgraphId) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where +a.is_null() && b.is_null() implies a == b. Read more

source§

impl Ord for GraphSubgraphId

source§

fn cmp(&self, other: &GraphSubgraphId) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GraphSubgraphId

source§

fn eq(&self, other: &GraphSubgraphId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl PartialOrd for GraphSubgraphId

source§

fn partial_cmp(&self, other: &GraphSubgraphId) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the + Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for GraphSubgraphId

source§

fn eq(&self, other: &GraphSubgraphId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl PartialOrd for GraphSubgraphId

source§

fn partial_cmp(&self, other: &GraphSubgraphId) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Serialize for GraphSubgraphId

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where - S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for GraphSubgraphId

source§

impl Eq for GraphSubgraphId

source§

impl StructuralPartialEq for GraphSubgraphId

Auto Trait Implementations§

§

impl Freeze for GraphSubgraphId

§

impl RefUnwindSafe for GraphSubgraphId

§

impl Send for GraphSubgraphId

§

impl Sync for GraphSubgraphId

§

impl Unpin for GraphSubgraphId

§

impl UnwindSafe for GraphSubgraphId

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl Serialize for GraphSubgraphId

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where + S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for GraphSubgraphId

source§

impl Eq for GraphSubgraphId

source§

impl StructuralPartialEq for GraphSubgraphId

Auto Trait Implementations§

§

impl Freeze for GraphSubgraphId

§

impl RefUnwindSafe for GraphSubgraphId

§

impl Send for GraphSubgraphId

§

impl Sync for GraphSubgraphId

§

impl Unpin for GraphSubgraphId

§

impl UnwindSafe for GraphSubgraphId

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/hydroflow_lang/graph/struct.HydroflowGraph.html b/doc/hydroflow_lang/graph/struct.HydroflowGraph.html index ed227df1cca5..713dd94fccf3 100644 --- a/doc/hydroflow_lang/graph/struct.HydroflowGraph.html +++ b/doc/hydroflow_lang/graph/struct.HydroflowGraph.html @@ -1,59 +1,60 @@ -HydroflowGraph in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::HydroflowGraph

source ·
pub struct HydroflowGraph { /* private fields */ }
Expand description

An abstract “meta graph” representation of a Hydroflow graph.

+HydroflowGraph in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::HydroflowGraph

source ·
pub struct HydroflowGraph { /* private fields */ }
Expand description

An abstract “meta graph” representation of a Hydroflow graph.

Can be with or without subgraph partitioning, stratification, and handoff insertion. This is the meta graph used for generating Rust source code in macros from Hydroflow surface sytnax.

This struct has a lot of methods for manipulating the graph, vaguely grouped together in separate impl blocks. You might notice a few particularly specific arbitray-seeming methods in here–those are just what was needed for the compilation algorithms. If you need another method then add it.

-

Implementations§

source§

impl HydroflowGraph

Basic methods.

-
source

pub fn new() -> Self

Create a new empty HydroflowGraph.

-
source§

impl HydroflowGraph

Node methods.

-
source

pub fn node(&self, node_id: GraphNodeId) -> &GraphNode

Get a node with its operator instance (if applicable).

-
source

pub fn node_op_inst(&self, node_id: GraphNodeId) -> Option<&OperatorInstance>

Get the OperatorInstance for a given node. Node must be an operator and have an +

Implementations§

source§

impl HydroflowGraph

Basic methods.

+
source

pub fn new() -> Self

Create a new empty HydroflowGraph.

+
source§

impl HydroflowGraph

Node methods.

+
source

pub fn node(&self, node_id: GraphNodeId) -> &GraphNode

Get a node with its operator instance (if applicable).

+
source

pub fn node_op_inst(&self, node_id: GraphNodeId) -> Option<&OperatorInstance>

Get the OperatorInstance for a given node. Node must be an operator and have an OperatorInstance present, otherwise will return None.

Note that no operator instances will be persent after deserialization.

-
source

pub fn node_varname(&self, node_id: GraphNodeId) -> Option<Ident>

Get the debug variable name attached to a graph node.

-
source

pub fn node_subgraph(&self, node_id: GraphNodeId) -> Option<GraphSubgraphId>

Get subgraph for node.

-
source

pub fn node_degree_in(&self, node_id: GraphNodeId) -> usize

Degree into a node, i.e. the number of predecessors.

-
source

pub fn node_degree_out(&self, node_id: GraphNodeId) -> usize

Degree out of a node, i.e. the number of successors.

-
source

pub fn node_successors( +

source

pub fn node_varname(&self, node_id: GraphNodeId) -> Option<Ident>

Get the debug variable name attached to a graph node.

+
source

pub fn node_subgraph(&self, node_id: GraphNodeId) -> Option<GraphSubgraphId>

Get subgraph for node.

+
source

pub fn node_degree_in(&self, node_id: GraphNodeId) -> usize

Degree into a node, i.e. the number of predecessors.

+
source

pub fn node_degree_out(&self, node_id: GraphNodeId) -> usize

Degree out of a node, i.e. the number of successors.

+
source

pub fn node_successors( &self, src: GraphNodeId, ) -> impl '_ + DoubleEndedIterator<Item = (GraphEdgeId, GraphNodeId)> + ExactSizeIterator + FusedIterator + Clone + Debug

Successors, iterator of (GraphEdgeId, GraphNodeId) of outgoing edges.

-
source

pub fn node_predecessors( +

source

pub fn node_predecessors( &self, dst: GraphNodeId, ) -> impl '_ + DoubleEndedIterator<Item = (GraphEdgeId, GraphNodeId)> + ExactSizeIterator + FusedIterator + Clone + Debug

Predecessors, iterator of (GraphEdgeId, GraphNodeId) of incoming edges.

-
source

pub fn node_successor_edges( +

source

pub fn node_successor_edges( &self, src: GraphNodeId, ) -> impl '_ + DoubleEndedIterator<Item = GraphEdgeId> + ExactSizeIterator + FusedIterator + Clone + Debug

Successor edges, iterator of GraphEdgeId of outgoing edges.

-
source

pub fn node_predecessor_edges( +

source

pub fn node_predecessor_edges( &self, dst: GraphNodeId, ) -> impl '_ + DoubleEndedIterator<Item = GraphEdgeId> + ExactSizeIterator + FusedIterator + Clone + Debug

Predecessor edges, iterator of GraphEdgeId of incoming edges.

-
source

pub fn node_successor_nodes( +

source

pub fn node_successor_nodes( &self, src: GraphNodeId, ) -> impl '_ + DoubleEndedIterator<Item = GraphNodeId> + ExactSizeIterator + FusedIterator + Clone + Debug

Successor nodes, iterator of GraphNodeId.

-
source

pub fn node_predecessor_nodes( +

source

pub fn node_predecessor_nodes( &self, dst: GraphNodeId, ) -> impl '_ + DoubleEndedIterator<Item = GraphNodeId> + ExactSizeIterator + FusedIterator + Clone + Debug

Predecessor nodes, iterator of GraphNodeId.

-
source

pub fn node_ids(&self) -> Keys<'_, GraphNodeId, GraphNode>

Iterator of node IDs GraphNodeId.

-
source

pub fn nodes(&self) -> Iter<'_, GraphNodeId, GraphNode>

Iterator over (GraphNodeId, &Node) pairs.

-
source

pub fn insert_node( +

source

pub fn node_ids(&self) -> Keys<'_, GraphNodeId, GraphNode>

Iterator of node IDs GraphNodeId.

+
source

pub fn nodes(&self) -> Iter<'_, GraphNodeId, GraphNode>

Iterator over (GraphNodeId, &Node) pairs.

+
source

pub fn insert_node( &mut self, node: GraphNode, varname_opt: Option<Ident>, + loop_opt: Option<GraphLoopId>, ) -> GraphNodeId

Insert a node, assigning the given varname.

-
source

pub fn insert_node_op_inst( +

source

pub fn insert_node_op_inst( &mut self, node_id: GraphNodeId, op_inst: OperatorInstance, )

Insert an operator instance for the given node. Panics if already set.

-
source

pub fn insert_node_op_insts_all(&mut self, diagnostics: &mut Vec<Diagnostic>)

Assign all operator instances if not set. Write diagnostic messages/errors into diagnostics.

-
source

pub fn insert_intermediate_node( +

source

pub fn insert_node_op_insts_all(&mut self, diagnostics: &mut Vec<Diagnostic>)

Assign all operator instances if not set. Write diagnostic messages/errors into diagnostics.

+
source

pub fn insert_intermediate_node( &mut self, edge_id: GraphEdgeId, new_node: GraphNode, @@ -64,94 +65,101 @@

Returns the ID of X & ID of edge OUT of X.

Note that both the edges will be new and edge_id will be removed. Both new edges will get the edge type of the original edge.

-

source

pub fn remove_intermediate_node(&mut self, node_id: GraphNodeId)

Remove the node node_id but preserves and connects the single predecessor and single successor. +

source

pub fn remove_intermediate_node(&mut self, node_id: GraphNodeId)

Remove the node node_id but preserves and connects the single predecessor and single successor. Panics if the node does not have exactly one predecessor and one successor, or is not in the graph.

-
source§

impl HydroflowGraph

Singleton references.

-
source§

impl HydroflowGraph

Singleton references.

+
source

pub fn set_node_singleton_references( &mut self, node_id: GraphNodeId, singletons_referenced: Vec<Option<GraphNodeId>>, ) -> Option<Vec<Option<GraphNodeId>>>

Set the singletons referenced for the node_id operator. Each reference corresponds to the same index in the crate::parse::Operator::singletons_referenced vec.

-
source

pub fn node_singleton_references( +

source

pub fn node_singleton_references( &self, node_id: GraphNodeId, ) -> &[Option<GraphNodeId>]

Gets the singletons referenced by a node. Returns an empty iterator for non-operators and operators that do not reference singletons.

-
source§

impl HydroflowGraph

Module methods.

-
source

pub fn merge_modules(&mut self) -> Result<(), Diagnostic>

When modules are imported into a flat graph, they come with an input and output ModuleBoundary node. +

source§

impl HydroflowGraph

Module methods.

+
source

pub fn merge_modules(&mut self) -> Result<(), Diagnostic>

When modules are imported into a flat graph, they come with an input and output ModuleBoundary node. The partitioner doesn’t understand these nodes and will panic if it encounters them. merge_modules removes them from the graph, stitching the input and ouput sides of the ModuleBondaries based on their ports For example: source_iter([]) -> [myport]ModuleBoundary(input)[my_port] -> map(|x| x) -> ModuleBoundary(output) -> null(); in the above eaxmple, the [myport] port will be used to connect the source_iter with the map that is inside of the module. The output module boundary has elided ports, this is also used to match up the input/output across the module boundary.

-
source§

impl HydroflowGraph

Edge methods.

-
source

pub fn edge(&self, edge_id: GraphEdgeId) -> (GraphNodeId, GraphNodeId)

Get the src and dst for an edge: (src GraphNodeId, dst GraphNodeId).

-
source

pub fn edge_ports( +

source§

impl HydroflowGraph

Edge methods.

+
source

pub fn edge(&self, edge_id: GraphEdgeId) -> (GraphNodeId, GraphNodeId)

Get the src and dst for an edge: (src GraphNodeId, dst GraphNodeId).

+
source

pub fn edge_ports( &self, edge_id: GraphEdgeId, ) -> (&PortIndexValue, &PortIndexValue)

Get the source and destination ports for an edge: (src &PortIndexValue, dst &PortIndexValue).

-
source

pub fn edge_ids(&self) -> Keys<'_, GraphEdgeId, (GraphNodeId, GraphNodeId)>

Iterator of all edge IDs GraphEdgeId.

-
source

pub fn edges( +

source

pub fn edge_ids(&self) -> Keys<'_, GraphEdgeId, (GraphNodeId, GraphNodeId)>

Iterator of all edge IDs GraphEdgeId.

+
source

pub fn edges( &self, ) -> impl '_ + ExactSizeIterator<Item = (GraphEdgeId, (GraphNodeId, GraphNodeId))> + FusedIterator + Clone + Debug

Iterator over all edges: (GraphEdgeId, (src GraphNodeId, dst GraphNodeId)).

-
source

pub fn insert_edge( +

source

pub fn insert_edge( &mut self, src: GraphNodeId, src_port: PortIndexValue, dst: GraphNodeId, dst_port: PortIndexValue, ) -> GraphEdgeId

Insert an edge between nodes thru the given ports.

-
source

pub fn remove_edge(&mut self, edge: GraphEdgeId)

Removes an edge and its corresponding ports and edge type info.

-
source§

impl HydroflowGraph

Subgraph methods.

-
source

pub fn subgraph(&self, subgraph_id: GraphSubgraphId) -> &Vec<GraphNodeId>

Nodes belonging to the given subgraph.

-
source

pub fn subgraph_ids(&self) -> Keys<'_, GraphSubgraphId, Vec<GraphNodeId>>

Iterator over all subgraph IDs.

-
source

pub fn subgraphs(&self) -> Iter<'_, GraphSubgraphId, Vec<GraphNodeId>>

Iterator over all subgraphs, ID and members: (GraphSubgraphId, Vec<GraphNodeId>).

-
source

pub fn insert_subgraph( +

source

pub fn remove_edge(&mut self, edge: GraphEdgeId)

Removes an edge and its corresponding ports and edge type info.

+
source§

impl HydroflowGraph

Subgraph methods.

+
source

pub fn subgraph(&self, subgraph_id: GraphSubgraphId) -> &Vec<GraphNodeId>

Nodes belonging to the given subgraph.

+
source

pub fn subgraph_ids(&self) -> Keys<'_, GraphSubgraphId, Vec<GraphNodeId>>

Iterator over all subgraph IDs.

+
source

pub fn subgraphs(&self) -> Iter<'_, GraphSubgraphId, Vec<GraphNodeId>>

Iterator over all subgraphs, ID and members: (GraphSubgraphId, Vec<GraphNodeId>).

+
source

pub fn insert_subgraph( &mut self, node_ids: Vec<GraphNodeId>, ) -> Result<GraphSubgraphId, (GraphNodeId, GraphSubgraphId)>

Create a subgraph consisting of node_ids. Returns an error if any of the nodes are already in a subgraph.

-
source

pub fn remove_from_subgraph(&mut self, node_id: GraphNodeId) -> bool

Removes a node from its subgraph. Returns true if the node was in a subgraph.

-
source

pub fn subgraph_stratum(&self, sg_id: GraphSubgraphId) -> Option<usize>

Gets the stratum number of the subgraph.

-
source

pub fn set_subgraph_stratum( +

source

pub fn remove_from_subgraph(&mut self, node_id: GraphNodeId) -> bool

Removes a node from its subgraph. Returns true if the node was in a subgraph.

+
source

pub fn subgraph_stratum(&self, sg_id: GraphSubgraphId) -> Option<usize>

Gets the stratum number of the subgraph.

+
source

pub fn set_subgraph_stratum( &mut self, sg_id: GraphSubgraphId, stratum: usize, ) -> Option<usize>

Set subgraph’s stratum number, returning the old value if exists.

-
source

pub fn set_subgraph_laziness( +

source

pub fn set_subgraph_laziness( &mut self, sg_id: GraphSubgraphId, lazy: bool, ) -> bool

Set subgraph’s laziness, returning the old value.

-
source

pub fn max_stratum(&self) -> Option<usize>

Returns the the stratum number of the largest (latest) stratum (inclusive).

-
source§

impl HydroflowGraph

Display/output methods.

-
source

pub fn as_code( +

source

pub fn max_stratum(&self) -> Option<usize>

Returns the the stratum number of the largest (latest) stratum (inclusive).

+
source§

impl HydroflowGraph

Display/output methods.

+
source

pub fn as_code( &self, root: &TokenStream, include_type_guards: bool, prefix: TokenStream, diagnostics: &mut Vec<Diagnostic>, ) -> TokenStream

Emit this HydroflowGraph as runnable Rust source code tokens.

-
source

pub fn node_color_map(&self) -> SparseSecondaryMap<GraphNodeId, Color>

Color mode (pull vs. push, handoff vs. comp) for nodes. Some nodes can be push OR pull; +

source

pub fn node_color_map(&self) -> SparseSecondaryMap<GraphNodeId, Color>

Color mode (pull vs. push, handoff vs. comp) for nodes. Some nodes can be push OR pull; those nodes will not be set in the returned map.

-
source

pub fn to_mermaid(&self, write_config: &WriteConfig) -> String

Writes this graph as mermaid into a string.

-
source

pub fn write_mermaid( +

source

pub fn to_mermaid(&self, write_config: &WriteConfig) -> String

Writes this graph as mermaid into a string.

+
source

pub fn write_mermaid( &self, output: impl Write, write_config: &WriteConfig, ) -> Result

Writes this graph as mermaid into the given Write.

-
source

pub fn to_dot(&self, write_config: &WriteConfig) -> String

Writes this graph as DOT (graphviz) into a string.

-
source

pub fn write_dot( +

source

pub fn to_dot(&self, write_config: &WriteConfig) -> String

Writes this graph as DOT (graphviz) into a string.

+
source

pub fn write_dot( &self, output: impl Write, write_config: &WriteConfig, ) -> Result

Writes this graph as DOT (graphviz) into the given Write.

-
source

pub fn surface_syntax_string(&self) -> String

Convert back into surface syntax.

-
source

pub fn write_surface_syntax(&self, write: &mut impl Write) -> Result

Convert back into surface syntax.

-
source

pub fn mermaid_string_flat(&self) -> String

Convert into a mermaid graph. Ignores subgraphs.

-
source

pub fn write_mermaid_flat(&self, write: &mut impl Write) -> Result

Convert into a mermaid graph. Ignores subgraphs.

-
source§

impl HydroflowGraph

source

pub fn open_mermaid(&self, write_config: &WriteConfig) -> Result<()>

Opens this as a mermaid graph in the mermaid.live browser editor.

+
source

pub fn surface_syntax_string(&self) -> String

Convert back into surface syntax.

+
source

pub fn write_surface_syntax(&self, write: &mut impl Write) -> Result

Convert back into surface syntax.

+
source

pub fn mermaid_string_flat(&self) -> String

Convert into a mermaid graph. Ignores subgraphs.

+
source

pub fn write_mermaid_flat(&self, write: &mut impl Write) -> Result

Convert into a mermaid graph. Ignores subgraphs.

+
source§

impl HydroflowGraph

Loops

+
source

pub fn loop_ids(&self) -> Keys<'_, GraphLoopId, Vec<GraphNodeId>>

Iterator over all loop IDs.

+
source

pub fn loops(&self) -> Iter<'_, GraphLoopId, Vec<GraphNodeId>>

Iterator over all loops, ID and members: (GraphLoopId, Vec<GraphNodeId>).

+
source

pub fn insert_loop(&mut self, parent_loop: Option<GraphLoopId>) -> GraphLoopId

Create a new loop context, with the given parent loop (or None).

+
source

pub fn node_loop(&self, node_id: GraphNodeId) -> Option<GraphLoopId>

Get a node’s loop context (or None for root).

+
source

pub fn loop_parent(&self, loop_id: GraphLoopId) -> Option<GraphLoopId>

Get a loop context’s parent loop context (or None for root).

+
source

pub fn loop_children(&self, loop_id: GraphLoopId) -> &Vec<GraphLoopId>

Get a loop context’s child loops.

+
source§

impl HydroflowGraph

source

pub fn open_mermaid(&self, write_config: &WriteConfig) -> Result<()>

Opens this as a mermaid graph in the mermaid.live browser editor.

source

pub fn open_dot(&self, write_config: &WriteConfig) -> Result<()>

Opens this as dot/graphviz graph in the Graphviz Online browser editor.

source

pub fn open_graph( diff --git a/doc/hydroflow_lang/graph/struct.OpInstGenerics.html b/doc/hydroflow_lang/graph/struct.OpInstGenerics.html index 5c64e5dc5d7d..0a087d201540 100644 --- a/doc/hydroflow_lang/graph/struct.OpInstGenerics.html +++ b/doc/hydroflow_lang/graph/struct.OpInstGenerics.html @@ -1,4 +1,4 @@ -OpInstGenerics in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::OpInstGenerics

source ·
pub struct OpInstGenerics {
+OpInstGenerics in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::OpInstGenerics

source ·
pub struct OpInstGenerics {
     pub generic_args: Option<Punctuated<GenericArgument, Comma>>,
     pub persistence_args: Vec<Persistence>,
     pub type_args: Vec<Type>,
@@ -6,7 +6,7 @@
 

Fields§

§generic_args: Option<Punctuated<GenericArgument, Comma>>

Operator generic (type or lifetime) arguments.

§persistence_args: Vec<Persistence>

Lifetime persistence arguments. Corresponds to a prefix of Self::generic_args.

§type_args: Vec<Type>

Type persistence arguments. Corersponds to a (suffix) of Self::generic_args.

-

Trait Implementations§

source§

impl Clone for OpInstGenerics

source§

fn clone(&self) -> OpInstGenerics

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for OpInstGenerics

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for OpInstGenerics

source§

fn clone(&self) -> OpInstGenerics

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for OpInstGenerics

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/hydroflow_lang/graph/struct.OperatorInstance.html b/doc/hydroflow_lang/graph/struct.OperatorInstance.html index ef389f2ea525..0b6861f3c2e6 100644 --- a/doc/hydroflow_lang/graph/struct.OperatorInstance.html +++ b/doc/hydroflow_lang/graph/struct.OperatorInstance.html @@ -1,4 +1,4 @@ -OperatorInstance in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::OperatorInstance

source ·
pub struct OperatorInstance {
+OperatorInstance in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::OperatorInstance

source ·
pub struct OperatorInstance {
     pub op_constraints: &'static OperatorConstraints,
     pub input_ports: Vec<PortIndexValue>,
     pub output_ports: Vec<PortIndexValue>,
@@ -22,7 +22,7 @@
 

These arguments do not include singleton postprocessing codegen. Instead use ops::WriteContextArgs::arguments.

§arguments_raw: TokenStream

Unparsed arguments, for singleton parsing.

-

Trait Implementations§

source§

impl Clone for OperatorInstance

source§

fn clone(&self) -> OperatorInstance

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for OperatorInstance

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for OperatorInstance

source§

fn clone(&self) -> OperatorInstance

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for OperatorInstance

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/hydroflow_lang/graph/struct.WriteConfig.html b/doc/hydroflow_lang/graph/struct.WriteConfig.html index 5008a35e4d9e..f0a2765f352b 100644 --- a/doc/hydroflow_lang/graph/struct.WriteConfig.html +++ b/doc/hydroflow_lang/graph/struct.WriteConfig.html @@ -1,4 +1,4 @@ -WriteConfig in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::WriteConfig

source ·
pub struct WriteConfig {
+WriteConfig in hydroflow_lang::graph - Rust

Struct hydroflow_lang::graph::WriteConfig

source ·
pub struct WriteConfig {
     pub no_subgraphs: bool,
     pub no_varnames: bool,
     pub no_pull_push: bool,
@@ -14,12 +14,12 @@
 
§no_references: bool

Will not render singleton references if set.

§op_short_text: bool

Op text will only be their name instead of the whole source.

§op_text_no_imports: bool

Op text will exclude any line that starts with “use”.

-

Trait Implementations§

source§

impl Args for WriteConfig

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self. Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can update self. Read more
source§

impl Clone for WriteConfig

source§

fn clone(&self) -> WriteConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for WriteConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for WriteConfig

source§

fn default() -> WriteConfig

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

impl FromArgMatches for WriteConfig

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( +

Trait Implementations§

source§

impl Args for WriteConfig

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self. Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can update self. Read more
source§

impl Clone for WriteConfig

source§

fn clone(&self) -> WriteConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for WriteConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for WriteConfig

source§

fn default() -> WriteConfig

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

impl FromArgMatches for WriteConfig

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, -) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( +) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/doc/hydroflow_lang/parse/enum.HfStatement.html b/doc/hydroflow_lang/parse/enum.HfStatement.html index 3a1b37e68084..d9b2f676c347 100644 --- a/doc/hydroflow_lang/parse/enum.HfStatement.html +++ b/doc/hydroflow_lang/parse/enum.HfStatement.html @@ -1,8 +1,9 @@ -HfStatement in hydroflow_lang::parse - Rust

Enum hydroflow_lang::parse::HfStatement

source ·
pub enum HfStatement {
+HfStatement in hydroflow_lang::parse - Rust

Enum hydroflow_lang::parse::HfStatement

source ·
pub enum HfStatement {
     Use(ItemUse),
     Named(NamedHfStatement),
     Pipeline(PipelineStatement),
-}

Variants§

Trait Implementations§

source§

impl Parse for HfStatement

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for HfStatement

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where + Loop(LoopStatement), +}

Variants§

Trait Implementations§

source§

impl Parse for HfStatement

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for HfStatement

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/hydroflow_lang/parse/enum.Pipeline.html b/doc/hydroflow_lang/parse/enum.Pipeline.html index a42f7dd1312c..160304281d79 100644 --- a/doc/hydroflow_lang/parse/enum.Pipeline.html +++ b/doc/hydroflow_lang/parse/enum.Pipeline.html @@ -1,11 +1,11 @@ -Pipeline in hydroflow_lang::parse - Rust

Enum hydroflow_lang::parse::Pipeline

source ·
pub enum Pipeline {
+Pipeline in hydroflow_lang::parse - Rust

Enum hydroflow_lang::parse::Pipeline

source ·
pub enum Pipeline {
     Paren(Ported<PipelineParen>),
     Name(Ported<Ident>),
     Link(PipelineLink),
     Operator(Operator),
     ModuleBoundary(Ported<Mod>),
     Import(Import),
-}

Variants§

§

Paren(Ported<PipelineParen>)

§

Name(Ported<Ident>)

§

Operator(Operator)

§

ModuleBoundary(Ported<Mod>)

§

Import(Import)

Trait Implementations§

source§

impl Clone for Pipeline

source§

fn clone(&self) -> Pipeline

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Pipeline

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Parse for Pipeline

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for Pipeline

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where +}

Variants§

§

Paren(Ported<PipelineParen>)

§

Name(Ported<Ident>)

§

Operator(Operator)

§

ModuleBoundary(Ported<Mod>)

§

Import(Import)

Trait Implementations§

source§

impl Clone for Pipeline

source§

fn clone(&self) -> Pipeline

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Pipeline

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Parse for Pipeline

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for Pipeline

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/hydroflow_lang/parse/enum.PortIndex.html b/doc/hydroflow_lang/parse/enum.PortIndex.html index cb2a38da1e9e..d5cdee6efe5c 100644 --- a/doc/hydroflow_lang/parse/enum.PortIndex.html +++ b/doc/hydroflow_lang/parse/enum.PortIndex.html @@ -1,8 +1,8 @@ -PortIndex in hydroflow_lang::parse - Rust

Enum hydroflow_lang::parse::PortIndex

source ·
pub enum PortIndex {
+PortIndex in hydroflow_lang::parse - Rust

Enum hydroflow_lang::parse::PortIndex

source ·
pub enum PortIndex {
     Int(IndexInt),
     Path(ExprPath),
 }
Expand description

Port can either be an int or a name (path).

-

Variants§

Trait Implementations§

source§

impl Clone for PortIndex

source§

fn clone(&self) -> PortIndex

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PortIndex

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<PortIndex> for PortIndexValue

source§

fn from(value: PortIndex) -> Self

Converts to this type from the input type.
source§

impl Parse for PortIndex

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for PortIndex

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where +

Variants§

Trait Implementations§

source§

impl Clone for PortIndex

source§

fn clone(&self) -> PortIndex

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PortIndex

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<PortIndex> for PortIndexValue

source§

fn from(value: PortIndex) -> Self

Converts to this type from the input type.
source§

impl Parse for PortIndex

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for PortIndex

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/hydroflow_lang/parse/fn.parse_terminated.html b/doc/hydroflow_lang/parse/fn.parse_terminated.html index 96f241cb4296..88dc225bca45 100644 --- a/doc/hydroflow_lang/parse/fn.parse_terminated.html +++ b/doc/hydroflow_lang/parse/fn.parse_terminated.html @@ -1,3 +1,3 @@ -parse_terminated in hydroflow_lang::parse - Rust

Function hydroflow_lang::parse::parse_terminated

source ·
pub fn parse_terminated<T, P>(tokens: TokenStream) -> Result<Punctuated<T, P>>
where +parse_terminated in hydroflow_lang::parse - Rust

Function hydroflow_lang::parse::parse_terminated

source ·
pub fn parse_terminated<T, P>(tokens: TokenStream) -> Result<Punctuated<T, P>>
where T: Parse, P: Parse,
\ No newline at end of file diff --git a/doc/hydroflow_lang/parse/index.html b/doc/hydroflow_lang/parse/index.html index 44c1ace63a62..041fe3b6c6a2 100644 --- a/doc/hydroflow_lang/parse/index.html +++ b/doc/hydroflow_lang/parse/index.html @@ -1,2 +1,2 @@ -hydroflow_lang::parse - Rust

Module hydroflow_lang::parse

source ·
Expand description

AST for surface syntax, modelled on syn’s ASTs.

-

Structs§

Enums§

Functions§

\ No newline at end of file +hydroflow_lang::parse - Rust

Module hydroflow_lang::parse

source ·
Expand description

AST for surface syntax, modelled on syn’s ASTs.

+

Structs§

Enums§

Functions§

\ No newline at end of file diff --git a/doc/hydroflow_lang/parse/sidebar-items.js b/doc/hydroflow_lang/parse/sidebar-items.js index e007e8aaffe7..a6a3f9a27b6d 100644 --- a/doc/hydroflow_lang/parse/sidebar-items.js +++ b/doc/hydroflow_lang/parse/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["HfStatement","Pipeline","PortIndex"],"fn":["parse_terminated"],"struct":["HfCode","Import","IndexInt","Indexing","NamedHfStatement","Operator","PipelineLink","PipelineParen","PipelineStatement","Ported"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["HfStatement","Pipeline","PortIndex"],"fn":["parse_terminated"],"struct":["HfCode","Import","IndexInt","Indexing","LoopStatement","NamedHfStatement","Operator","PipelineLink","PipelineParen","PipelineStatement","Ported"]}; \ No newline at end of file diff --git a/doc/hydroflow_lang/parse/struct.Import.html b/doc/hydroflow_lang/parse/struct.Import.html index 0b5c6e89b6a0..b8cb194f9b19 100644 --- a/doc/hydroflow_lang/parse/struct.Import.html +++ b/doc/hydroflow_lang/parse/struct.Import.html @@ -1,9 +1,9 @@ -Import in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::Import

source ·
pub struct Import {
+Import in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::Import

source ·
pub struct Import {
     pub import: Ident,
     pub bang: Not,
     pub paren_token: Paren,
     pub filename: LitStr,
-}

Fields§

§import: Ident§bang: Not§paren_token: Paren§filename: LitStr

Trait Implementations§

source§

impl Clone for Import

source§

fn clone(&self) -> Import

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Import

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Parse for Import

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for Import

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where +}

Fields§

§import: Ident§bang: Not§paren_token: Paren§filename: LitStr

Trait Implementations§

source§

impl Clone for Import

source§

fn clone(&self) -> Import

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Import

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Parse for Import

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for Import

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

§

impl Freeze for Import

§

impl RefUnwindSafe for Import

§

impl !Send for Import

§

impl !Sync for Import

§

impl Unpin for Import

§

impl UnwindSafe for Import

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/hydroflow_lang/parse/struct.IndexInt.html b/doc/hydroflow_lang/parse/struct.IndexInt.html index 998b947f5df8..32b438ad7104 100644 --- a/doc/hydroflow_lang/parse/struct.IndexInt.html +++ b/doc/hydroflow_lang/parse/struct.IndexInt.html @@ -1,17 +1,17 @@ -IndexInt in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::IndexInt

source ·
pub struct IndexInt {
+IndexInt in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::IndexInt

source ·
pub struct IndexInt {
     pub value: isize,
     pub span: Span,
-}

Fields§

§value: isize§span: Span

Trait Implementations§

source§

impl Clone for IndexInt

source§

fn clone(&self) -> IndexInt

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for IndexInt

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for IndexInt

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +}

Fields§

§value: isize§span: Span

Trait Implementations§

source§

impl Clone for IndexInt

source§

fn clone(&self) -> IndexInt

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for IndexInt

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for IndexInt

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for IndexInt

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for IndexInt

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl Parse for IndexInt

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl PartialEq for IndexInt

source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl PartialOrd for IndexInt

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the + Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more

source§

impl Parse for IndexInt

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl PartialEq for IndexInt

source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl PartialOrd for IndexInt

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl ToTokens for IndexInt

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where - Self: Sized,

Convert self directly into a TokenStream object. Read more
source§

impl Copy for IndexInt

source§

impl Eq for IndexInt

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl ToTokens for IndexInt

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where + Self: Sized,

Convert self directly into a TokenStream object. Read more
source§

impl Copy for IndexInt

source§

impl Eq for IndexInt

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/hydroflow_lang/parse/struct.Indexing.html b/doc/hydroflow_lang/parse/struct.Indexing.html index 17ac5ba294b9..bb88b8269bef 100644 --- a/doc/hydroflow_lang/parse/struct.Indexing.html +++ b/doc/hydroflow_lang/parse/struct.Indexing.html @@ -1,7 +1,7 @@ -Indexing in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::Indexing

source ·
pub struct Indexing {
+Indexing in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::Indexing

source ·
pub struct Indexing {
     pub bracket_token: Bracket,
     pub index: PortIndex,
-}

Fields§

§bracket_token: Bracket§index: PortIndex

Trait Implementations§

source§

impl Clone for Indexing

source§

fn clone(&self) -> Indexing

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Indexing

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Parse for Indexing

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for Indexing

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where +}

Fields§

§bracket_token: Bracket§index: PortIndex

Trait Implementations§

source§

impl Clone for Indexing

source§

fn clone(&self) -> Indexing

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Indexing

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Parse for Indexing

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for Indexing

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/hydroflow_lang/parse/struct.LoopStatement.html b/doc/hydroflow_lang/parse/struct.LoopStatement.html new file mode 100644 index 000000000000..aa1fd51c6b4e --- /dev/null +++ b/doc/hydroflow_lang/parse/struct.LoopStatement.html @@ -0,0 +1,26 @@ +LoopStatement in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::LoopStatement

source ·
pub struct LoopStatement {
+    pub loop_token: Loop,
+    pub ident: Option<Ident>,
+    pub brace_token: Brace,
+    pub statements: Vec<HfStatement>,
+}

Fields§

§loop_token: Loop§ident: Option<Ident>§brace_token: Brace§statements: Vec<HfStatement>

Trait Implementations§

source§

impl Parse for LoopStatement

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for LoopStatement

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where + Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

impl<T> Spanned for T
where + T: Spanned + ?Sized,

source§

fn span(&self) -> Span

Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/hydroflow_lang/parse/struct.NamedHfStatement.html b/doc/hydroflow_lang/parse/struct.NamedHfStatement.html index 85a5c61829eb..374790c01ce2 100644 --- a/doc/hydroflow_lang/parse/struct.NamedHfStatement.html +++ b/doc/hydroflow_lang/parse/struct.NamedHfStatement.html @@ -1,9 +1,9 @@ -NamedHfStatement in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::NamedHfStatement

source ·
pub struct NamedHfStatement {
+NamedHfStatement in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::NamedHfStatement

source ·
pub struct NamedHfStatement {
     pub name: Ident,
     pub equals: Eq,
     pub pipeline: Pipeline,
     pub semi_token: Semi,
-}

Fields§

§name: Ident§equals: Eq§pipeline: Pipeline§semi_token: Semi

Trait Implementations§

source§

impl Parse for NamedHfStatement

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for NamedHfStatement

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where +}

Fields§

§name: Ident§equals: Eq§pipeline: Pipeline§semi_token: Semi

Trait Implementations§

source§

impl Parse for NamedHfStatement

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for NamedHfStatement

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/hydroflow_lang/parse/struct.Operator.html b/doc/hydroflow_lang/parse/struct.Operator.html index 417514cf868a..72217277c3c5 100644 --- a/doc/hydroflow_lang/parse/struct.Operator.html +++ b/doc/hydroflow_lang/parse/struct.Operator.html @@ -1,11 +1,11 @@ -Operator in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::Operator

source ·
pub struct Operator {
+Operator in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::Operator

source ·
pub struct Operator {
     pub path: Path,
     pub paren_token: Paren,
     pub args_raw: TokenStream,
     pub args: Punctuated<Expr, Comma>,
     pub singletons_referenced: Vec<Ident>,
-}

Fields§

§path: Path§paren_token: Paren§args_raw: TokenStream§args: Punctuated<Expr, Comma>§singletons_referenced: Vec<Ident>

Implementations§

source§

impl Operator

source

pub fn name(&self) -> Path

source

pub fn name_string(&self) -> String

source

pub fn type_arguments(&self) -> Option<&Punctuated<GenericArgument, Comma>>

source

pub fn args(&self) -> &Punctuated<Expr, Comma>

source

pub fn to_pretty_string(&self) -> String

Output the operator as a formatted string using prettyplease.

-

Trait Implementations§

source§

impl Clone for Operator

source§

fn clone(&self) -> Operator

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Operator

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Parse for Operator

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for Operator

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where +}

Fields§

§path: Path§paren_token: Paren§args_raw: TokenStream§args: Punctuated<Expr, Comma>§singletons_referenced: Vec<Ident>

Implementations§

source§

impl Operator

source

pub fn name(&self) -> Path

source

pub fn name_string(&self) -> String

source

pub fn type_arguments(&self) -> Option<&Punctuated<GenericArgument, Comma>>

source

pub fn args(&self) -> &Punctuated<Expr, Comma>

source

pub fn to_pretty_string(&self) -> String

Output the operator as a formatted string using prettyplease.

+

Trait Implementations§

source§

impl Clone for Operator

source§

fn clone(&self) -> Operator

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Operator

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Parse for Operator

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for Operator

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/hydroflow_lang/parse/struct.PipelineLink.html b/doc/hydroflow_lang/parse/struct.PipelineLink.html index a229323f2aea..bd4f3fda4572 100644 --- a/doc/hydroflow_lang/parse/struct.PipelineLink.html +++ b/doc/hydroflow_lang/parse/struct.PipelineLink.html @@ -1,8 +1,8 @@ -PipelineLink in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::PipelineLink

source ·
pub struct PipelineLink {
+PipelineLink in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::PipelineLink

source ·
pub struct PipelineLink {
     pub lhs: Box<Pipeline>,
     pub arrow: RArrow,
     pub rhs: Box<Pipeline>,
-}

Fields§

§lhs: Box<Pipeline>§arrow: RArrow§rhs: Box<Pipeline>

Trait Implementations§

source§

fn clone(&self) -> PipelineLink

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where +}

Fields§

§lhs: Box<Pipeline>§arrow: RArrow§rhs: Box<Pipeline>

Trait Implementations§

source§

fn clone(&self) -> PipelineLink

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/hydroflow_lang/parse/struct.PipelineParen.html b/doc/hydroflow_lang/parse/struct.PipelineParen.html index 6f7938775c7e..6c7c7640eb2e 100644 --- a/doc/hydroflow_lang/parse/struct.PipelineParen.html +++ b/doc/hydroflow_lang/parse/struct.PipelineParen.html @@ -1,7 +1,7 @@ -PipelineParen in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::PipelineParen

source ·
pub struct PipelineParen {
+PipelineParen in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::PipelineParen

source ·
pub struct PipelineParen {
     pub paren_token: Paren,
     pub pipeline: Box<Pipeline>,
-}

Fields§

§paren_token: Paren§pipeline: Box<Pipeline>

Trait Implementations§

source§

impl Clone for PipelineParen

source§

fn clone(&self) -> PipelineParen

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PipelineParen

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Parse for PipelineParen

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for PipelineParen

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where +}

Fields§

§paren_token: Paren§pipeline: Box<Pipeline>

Trait Implementations§

source§

impl Clone for PipelineParen

source§

fn clone(&self) -> PipelineParen

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PipelineParen

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Parse for PipelineParen

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for PipelineParen

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/hydroflow_lang/parse/struct.PipelineStatement.html b/doc/hydroflow_lang/parse/struct.PipelineStatement.html index ba3259f13d7d..470f748065e4 100644 --- a/doc/hydroflow_lang/parse/struct.PipelineStatement.html +++ b/doc/hydroflow_lang/parse/struct.PipelineStatement.html @@ -1,7 +1,7 @@ -PipelineStatement in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::PipelineStatement

source ·
pub struct PipelineStatement {
+PipelineStatement in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::PipelineStatement

source ·
pub struct PipelineStatement {
     pub pipeline: Pipeline,
     pub semi_token: Semi,
-}

Fields§

§pipeline: Pipeline§semi_token: Semi

Trait Implementations§

source§

impl Parse for PipelineStatement

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for PipelineStatement

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where +}

Fields§

§pipeline: Pipeline§semi_token: Semi

Trait Implementations§

source§

impl Parse for PipelineStatement

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for PipelineStatement

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/hydroflow_lang/parse/struct.Ported.html b/doc/hydroflow_lang/parse/struct.Ported.html index 5e323b03db42..461f3160359f 100644 --- a/doc/hydroflow_lang/parse/struct.Ported.html +++ b/doc/hydroflow_lang/parse/struct.Ported.html @@ -1,10 +1,10 @@ -Ported in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::Ported

source ·
pub struct Ported<Inner> {
+Ported in hydroflow_lang::parse - Rust

Struct hydroflow_lang::parse::Ported

source ·
pub struct Ported<Inner> {
     pub inn: Option<Indexing>,
     pub inner: Inner,
     pub out: Option<Indexing>,
-}

Fields§

§inn: Option<Indexing>§inner: Inner§out: Option<Indexing>

Trait Implementations§

source§

impl<Inner: Clone> Clone for Ported<Inner>

source§

fn clone(&self) -> Ported<Inner>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<Inner: Debug> Debug for Ported<Inner>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Inner> Parse for Ported<Inner>
where - Inner: Parse,

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl<Inner> ToTokens for Ported<Inner>
where - Inner: ToTokens,

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where +}

Fields§

§inn: Option<Indexing>§inner: Inner§out: Option<Indexing>

Trait Implementations§

source§

impl<Inner: Clone> Clone for Ported<Inner>

source§

fn clone(&self) -> Ported<Inner>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<Inner: Debug> Debug for Ported<Inner>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Inner> Parse for Ported<Inner>
where + Inner: Parse,

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl<Inner> ToTokens for Ported<Inner>
where + Inner: ToTokens,

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

§

impl<Inner> Freeze for Ported<Inner>
where Inner: Freeze,

§

impl<Inner> RefUnwindSafe for Ported<Inner>
where Inner: RefUnwindSafe,

§

impl<Inner> !Send for Ported<Inner>

§

impl<Inner> !Sync for Ported<Inner>

§

impl<Inner> Unpin for Ported<Inner>
where diff --git a/doc/hydroflow_plus/builder/compiled/struct.CompiledFlow.html b/doc/hydroflow_plus/builder/compiled/struct.CompiledFlow.html index c4bbe80b6a3a..ab70a3b21728 100644 --- a/doc/hydroflow_plus/builder/compiled/struct.CompiledFlow.html +++ b/doc/hydroflow_plus/builder/compiled/struct.CompiledFlow.html @@ -1,7 +1,7 @@ CompiledFlow in hydroflow_plus::builder::compiled - Rust

Struct hydroflow_plus::builder::compiled::CompiledFlow

source ·
pub struct CompiledFlow<'a, ID> { /* private fields */ }

Implementations§

source§

impl<ID> CompiledFlow<'_, ID>

source

pub fn hydroflow_ir(&self) -> &BTreeMap<usize, HydroflowGraph>

source

pub fn take_ir(self) -> BTreeMap<usize, HydroflowGraph>

source§

impl<'a> CompiledFlow<'a, usize>

source

pub fn with_dynamic_id( self, id: impl QuotedWithContext<'a, usize, ()>, -) -> CompiledFlowWithId<'a>

Trait Implementations§

source§

impl<'a, Ctx> FreeVariableWithContext<Ctx> for CompiledFlow<'a, ()>

source§

type O = Hydroflow<'a>

source§

fn to_tokens(self, _ctx: &Ctx) -> (Option<TokenStream>, Option<TokenStream>)

source§

fn uninitialized(&self, _ctx: &Ctx) -> Self::O

source§

impl<'a, Ctx> QuotedWithContext<'a, Hydroflow<'a>, Ctx> for CompiledFlow<'a, ()>

source§

fn splice_untyped_ctx(self, ctx: &Ctx) -> Expr
where +) -> CompiledFlowWithId<'a>

Trait Implementations§

source§

impl<'a, Ctx> FreeVariableWithContext<Ctx> for CompiledFlow<'a, ()>

source§

type O = Hydroflow<'a>

source§

fn to_tokens(self, _ctx: &Ctx) -> (Option<TokenStream>, Option<TokenStream>)

source§

fn uninitialized(&self, _ctx: &Ctx) -> Self::O

source§

impl<'a, Ctx> QuotedWithContext<'a, Hydroflow<'a>, Ctx> for CompiledFlow<'a, ()>

source§

fn splice_untyped_ctx(self, ctx: &Ctx) -> Expr
where Self: Sized,

source§

fn splice_typed_ctx(self, ctx: &Ctx) -> Expr
where Self: Sized,

source§

fn splice_fn1_ctx<I, O>(self, ctx: &Ctx) -> Expr
where Self: Sized, diff --git a/doc/hydroflow_plus/builder/compiled/struct.CompiledFlowWithId.html b/doc/hydroflow_plus/builder/compiled/struct.CompiledFlowWithId.html index f0faef3f65ca..f8f2d82d14af 100644 --- a/doc/hydroflow_plus/builder/compiled/struct.CompiledFlowWithId.html +++ b/doc/hydroflow_plus/builder/compiled/struct.CompiledFlowWithId.html @@ -1,4 +1,4 @@ -CompiledFlowWithId in hydroflow_plus::builder::compiled - Rust

Struct hydroflow_plus::builder::compiled::CompiledFlowWithId

source ·
pub struct CompiledFlowWithId<'a> { /* private fields */ }

Trait Implementations§

source§

impl<'a, Ctx> FreeVariableWithContext<Ctx> for CompiledFlowWithId<'a>

source§

type O = Hydroflow<'a>

source§

fn to_tokens(self, _ctx: &Ctx) -> (Option<TokenStream>, Option<TokenStream>)

source§

fn uninitialized(&self, _ctx: &Ctx) -> Self::O

source§

impl<'a, Ctx> QuotedWithContext<'a, Hydroflow<'a>, Ctx> for CompiledFlowWithId<'a>

source§

fn splice_untyped_ctx(self, ctx: &Ctx) -> Expr
where +CompiledFlowWithId in hydroflow_plus::builder::compiled - Rust

Struct hydroflow_plus::builder::compiled::CompiledFlowWithId

source ·
pub struct CompiledFlowWithId<'a> { /* private fields */ }

Trait Implementations§

source§

impl<'a, Ctx> FreeVariableWithContext<Ctx> for CompiledFlowWithId<'a>

source§

type O = Hydroflow<'a>

source§

fn to_tokens(self, _ctx: &Ctx) -> (Option<TokenStream>, Option<TokenStream>)

source§

fn uninitialized(&self, _ctx: &Ctx) -> Self::O

source§

impl<'a, Ctx> QuotedWithContext<'a, Hydroflow<'a>, Ctx> for CompiledFlowWithId<'a>

source§

fn splice_untyped_ctx(self, ctx: &Ctx) -> Expr
where Self: Sized,

source§

fn splice_typed_ctx(self, ctx: &Ctx) -> Expr
where Self: Sized,

source§

fn splice_fn1_ctx<I, O>(self, ctx: &Ctx) -> Expr
where Self: Sized, diff --git a/doc/hydroflow_plus/deploy/deploy_runtime/fn.cluster_members.html b/doc/hydroflow_plus/deploy/deploy_runtime/fn.cluster_members.html index 2e453ee8f1fd..75cdf0b35036 100644 --- a/doc/hydroflow_plus/deploy/deploy_runtime/fn.cluster_members.html +++ b/doc/hydroflow_plus/deploy/deploy_runtime/fn.cluster_members.html @@ -1,4 +1,4 @@ cluster_members in hydroflow_plus::deploy::deploy_runtime - Rust

Function hydroflow_plus::deploy::deploy_runtime::cluster_members

source ·
pub fn cluster_members(
-    cli: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
+    cli: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
     of_cluster: usize,
 ) -> impl QuotedWithContext<'_, &Vec<u32>, ()> + Copy
\ No newline at end of file diff --git a/doc/hydroflow_plus/deploy/deploy_runtime/fn.cluster_self_id.html b/doc/hydroflow_plus/deploy/deploy_runtime/fn.cluster_self_id.html index 2f7f8434f84f..d142be74764e 100644 --- a/doc/hydroflow_plus/deploy/deploy_runtime/fn.cluster_self_id.html +++ b/doc/hydroflow_plus/deploy/deploy_runtime/fn.cluster_self_id.html @@ -1,3 +1,3 @@ cluster_self_id in hydroflow_plus::deploy::deploy_runtime - Rust

Function hydroflow_plus::deploy::deploy_runtime::cluster_self_id

source ·
pub fn cluster_self_id(
-    cli: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
+    cli: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
 ) -> impl QuotedWithContext<'_, u32, ()> + Copy
\ No newline at end of file diff --git a/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_e2o.html b/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_e2o.html index 5b8ecfd1a9da..ba3b850f98aa 100644 --- a/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_e2o.html +++ b/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_e2o.html @@ -1,5 +1,5 @@ deploy_e2o in hydroflow_plus::deploy::deploy_runtime - Rust

Function hydroflow_plus::deploy::deploy_runtime::deploy_e2o

source ·
pub fn deploy_e2o(
-    env: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
+    env: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
     _e1_port: &str,
     p2_port: &str,
 ) -> Expr
\ No newline at end of file diff --git a/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_m2m.html b/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_m2m.html index 49666426215f..04bd6ebf1e9c 100644 --- a/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_m2m.html +++ b/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_m2m.html @@ -1,5 +1,5 @@ deploy_m2m in hydroflow_plus::deploy::deploy_runtime - Rust

Function hydroflow_plus::deploy::deploy_runtime::deploy_m2m

source ·
pub fn deploy_m2m(
-    env: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
+    env: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
     c1_port: &str,
     c2_port: &str,
 ) -> (Expr, Expr)
\ No newline at end of file diff --git a/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_m2o.html b/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_m2o.html index 8c9f8909aa9d..e00485c5ab58 100644 --- a/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_m2o.html +++ b/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_m2o.html @@ -1,5 +1,5 @@ deploy_m2o in hydroflow_plus::deploy::deploy_runtime - Rust

Function hydroflow_plus::deploy::deploy_runtime::deploy_m2o

source ·
pub fn deploy_m2o(
-    env: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
+    env: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
     c1_port: &str,
     p2_port: &str,
 ) -> (Expr, Expr)
\ No newline at end of file diff --git a/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_o2e.html b/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_o2e.html index 07654072fbab..cfe1fe3be5b4 100644 --- a/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_o2e.html +++ b/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_o2e.html @@ -1,5 +1,5 @@ deploy_o2e in hydroflow_plus::deploy::deploy_runtime - Rust

Function hydroflow_plus::deploy::deploy_runtime::deploy_o2e

source ·
pub fn deploy_o2e(
-    env: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
+    env: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
     p1_port: &str,
     _e2_port: &str,
 ) -> Expr
\ No newline at end of file diff --git a/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_o2m.html b/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_o2m.html index b4f17ccc9449..999e3587621a 100644 --- a/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_o2m.html +++ b/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_o2m.html @@ -1,5 +1,5 @@ deploy_o2m in hydroflow_plus::deploy::deploy_runtime - Rust

Function hydroflow_plus::deploy::deploy_runtime::deploy_o2m

source ·
pub fn deploy_o2m(
-    env: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
+    env: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
     p1_port: &str,
     c2_port: &str,
 ) -> (Expr, Expr)
\ No newline at end of file diff --git a/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_o2o.html b/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_o2o.html index ad4462e80a4c..bda5e2688dc4 100644 --- a/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_o2o.html +++ b/doc/hydroflow_plus/deploy/deploy_runtime/fn.deploy_o2o.html @@ -1,5 +1,5 @@ deploy_o2o in hydroflow_plus::deploy::deploy_runtime - Rust

Function hydroflow_plus::deploy::deploy_runtime::deploy_o2o

source ·
pub fn deploy_o2o(
-    env: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
+    env: RuntimeData<&DeployPorts<HydroflowPlusMeta>>,
     p1_port: &str,
     p2_port: &str,
 ) -> (Expr, Expr)
\ No newline at end of file diff --git a/doc/hydroflow_plus/deploy/macro_runtime/struct.DeployRuntime.html b/doc/hydroflow_plus/deploy/macro_runtime/struct.DeployRuntime.html index 4165b6cc0e98..6b73f4b873a7 100644 --- a/doc/hydroflow_plus/deploy/macro_runtime/struct.DeployRuntime.html +++ b/doc/hydroflow_plus/deploy/macro_runtime/struct.DeployRuntime.html @@ -1,4 +1,4 @@ -DeployRuntime in hydroflow_plus::deploy::macro_runtime - Rust

Struct hydroflow_plus::deploy::macro_runtime::DeployRuntime

source ·
pub struct DeployRuntime {}

Trait Implementations§

source§

impl ClusterSpec<'_, DeployRuntime> for ()

source§

fn build(self, _id: usize, _name_hint: &str) -> DeployRuntimeCluster

source§

impl<'a> Deploy<'a> for DeployRuntime

source§

type InstantiateEnv = ()

source§

type CompileEnv = RuntimeData<&'a DeployPorts<HydroflowPlusMeta>>

source§

type Process = DeployRuntimeNode

source§

type Cluster = DeployRuntimeCluster

source§

type ExternalProcess = DeployRuntimeNode

source§

type Port = String

source§

type ExternalRawPort = ()

source§

type Meta = ()

source§

type GraphId = usize

Type of ID used to switch between different subgraphs at runtime.
source§

fn has_trivial_node() -> bool

source§

fn trivial_process(_id: usize) -> Self::Process

source§

fn trivail_cluster(_id: usize) -> Self::Cluster

source§

fn allocate_process_port(process: &Self::Process) -> Self::Port

source§

fn allocate_cluster_port(cluster: &Self::Cluster) -> Self::Port

source§

fn allocate_external_port(_external: &Self::ExternalProcess) -> Self::Port

source§

fn o2o_sink_source( +DeployRuntime in hydroflow_plus::deploy::macro_runtime - Rust

Struct hydroflow_plus::deploy::macro_runtime::DeployRuntime

source ·
pub struct DeployRuntime {}

Trait Implementations§

source§

impl ClusterSpec<'_, DeployRuntime> for ()

source§

fn build(self, _id: usize, _name_hint: &str) -> DeployRuntimeCluster

source§

impl<'a> Deploy<'a> for DeployRuntime

source§

type InstantiateEnv = ()

source§

type CompileEnv = RuntimeData<&'a DeployPorts<HydroflowPlusMeta>>

source§

type Process = DeployRuntimeNode

source§

type Cluster = DeployRuntimeCluster

source§

type ExternalProcess = DeployRuntimeNode

source§

type Port = String

source§

type ExternalRawPort = ()

source§

type Meta = ()

source§

type GraphId = usize

Type of ID used to switch between different subgraphs at runtime.
source§

fn has_trivial_node() -> bool

source§

fn trivial_process(_id: usize) -> Self::Process

source§

fn trivail_cluster(_id: usize) -> Self::Cluster

source§

fn allocate_process_port(process: &Self::Process) -> Self::Port

source§

fn allocate_cluster_port(cluster: &Self::Cluster) -> Self::Port

source§

fn allocate_external_port(_external: &Self::ExternalProcess) -> Self::Port

source§

fn o2o_sink_source( env: &Self::CompileEnv, _p1: &Self::Process, p1_port: &Self::Port, diff --git a/doc/hydroflow_plus/deploy/trait.Deploy.html b/doc/hydroflow_plus/deploy/trait.Deploy.html index ff4cd90b0b97..0216ecadb523 100644 --- a/doc/hydroflow_plus/deploy/trait.Deploy.html +++ b/doc/hydroflow_plus/deploy/trait.Deploy.html @@ -175,4 +175,4 @@ of_cluster: usize, ) -> impl QuotedWithContext<'a, &'a Vec<u32>, ()> + Copy + 'a

source

fn cluster_self_id( env: &Self::CompileEnv, -) -> impl QuotedWithContext<'a, u32, ()> + Copy + 'a

Provided Methods§

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file +) -> impl QuotedWithContext<'a, u32, ()> + Copy + 'a

Provided Methods§

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/doc/hydroflow_plus/index.html b/doc/hydroflow_plus/index.html index 1b2534517503..41c652086769 100644 --- a/doc/hydroflow_plus/index.html +++ b/doc/hydroflow_plus/index.html @@ -1 +1 @@ -hydroflow_plus - Rust

Crate hydroflow_plus

source ·

Re-exports§

Modules§

Macros§

  • Creates a quoted expression for Hydroflow+.
\ No newline at end of file +hydroflow_plus - Rust

Crate hydroflow_plus

source ·

Re-exports§

Modules§

Macros§

  • Creates a quoted expression for Hydroflow+.
\ No newline at end of file diff --git a/doc/hydroflow_plus/runtime_context/struct.RuntimeContext.html b/doc/hydroflow_plus/runtime_context/struct.RuntimeContext.html index bbdac7da4c6e..a762e2d49271 100644 --- a/doc/hydroflow_plus/runtime_context/struct.RuntimeContext.html +++ b/doc/hydroflow_plus/runtime_context/struct.RuntimeContext.html @@ -1,4 +1,4 @@ -RuntimeContext in hydroflow_plus::runtime_context - Rust

Struct hydroflow_plus::runtime_context::RuntimeContext

source ·
pub struct RuntimeContext<'a> { /* private fields */ }

Trait Implementations§

source§

impl<'a> Clone for RuntimeContext<'a>

source§

fn clone(&self) -> RuntimeContext<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a, L: Location<'a>> FreeVariableWithContext<L> for RuntimeContext<'a>

source§

type O = &'a Context

source§

fn to_tokens(self, _ctx: &L) -> (Option<TokenStream>, Option<TokenStream>)

source§

fn uninitialized(&self, _ctx: &Ctx) -> Self::O

source§

impl<'a> Copy for RuntimeContext<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for RuntimeContext<'a>

§

impl<'a> RefUnwindSafe for RuntimeContext<'a>

§

impl<'a> Send for RuntimeContext<'a>

§

impl<'a> Sync for RuntimeContext<'a>

§

impl<'a> Unpin for RuntimeContext<'a>

§

impl<'a> UnwindSafe for RuntimeContext<'a>

Blanket Implementations§

source§

impl<T> Any for T
where +RuntimeContext in hydroflow_plus::runtime_context - Rust

Struct hydroflow_plus::runtime_context::RuntimeContext

source ·
pub struct RuntimeContext<'a> { /* private fields */ }

Trait Implementations§

source§

impl<'a> Clone for RuntimeContext<'a>

source§

fn clone(&self) -> RuntimeContext<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a, L: Location<'a>> FreeVariableWithContext<L> for RuntimeContext<'a>

source§

type O = &'a Context

source§

fn to_tokens(self, _ctx: &L) -> (Option<TokenStream>, Option<TokenStream>)

source§

fn uninitialized(&self, _ctx: &Ctx) -> Self::O

source§

impl<'a> Copy for RuntimeContext<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for RuntimeContext<'a>

§

impl<'a> RefUnwindSafe for RuntimeContext<'a>

§

impl<'a> Send for RuntimeContext<'a>

§

impl<'a> Sync for RuntimeContext<'a>

§

impl<'a> Unpin for RuntimeContext<'a>

§

impl<'a> UnwindSafe for RuntimeContext<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/search-index.js b/doc/search-index.js index 01b165a7dd87..b002619aefb8 100644 --- a/doc/search-index.js +++ b/doc/search-index.js @@ -1,4 +1,4 @@ -var searchIndex = new Map(JSON.parse('[["gossip_cli",{"t":"PPPFGFPNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNHHHONNNNNNNNNNNNNNNNNNOOOO","n":["Delete","Exit","Get","InteractiveApp","InteractiveCommands","Opts","Set","augment_args","","augment_args_for_update","","augment_subcommands","augment_subcommands_for_update","borrow","","","borrow_mut","","","command","","command_for_update","","commands","demux_enum","fmt","","","from","","","from_arg_matches","","","from_arg_matches_mut","","","group_id","","has_subcommand","into","","","main","parse_command","parse_key","server_address","try_from","","","try_into","","","type_id","","","update_from_arg_matches","","","update_from_arg_matches_mut","","","vzip","","","key","","","value"],"q":[[0,"gossip_cli"],[65,"gossip_cli::InteractiveCommands"],[69,"clap_builder::builder::command"],[70,"gossip_kv"],[71,"pusherator"],[72,"alloc::string"],[73,"core::fmt"],[74,"clap_builder::parser::matches::arg_matches"],[75,"clap_builder"],[76,"core::result"],[77,"clap_builder::util::id"],[78,"core::option"],[79,"core::any"]],"i":"h00```0AfAl1022102102101002102102102102102102```1102102102102102102BnC`Cb1","f":"```````{bb}00000{d{{d{c}}}{}}00{{{d{f}}}{{d{fc}}}{}}00{{}b}000`{{h{d{f{j{cegi}}}}}l{{Ab{}{{n{{j{A`}}}}}}}{{Ab{}{{n{l}}}}}{{Ab{}{{n{{j{A`}}}}}}}{{Ab{}{{n{{j{A`Ad}}}}}}}}{{{d{Af}}{d{fAh}}}Aj}{{{d{Al}}{d{fAh}}}Aj}{{{d{h}}{d{fAh}}}Aj}{cc{}}00{{{d{An}}}{{Bb{AfB`}}}}{{{d{An}}}{{Bb{AlB`}}}}{{{d{An}}}{{Bb{hB`}}}}{{{d{fAn}}}{{Bb{AfB`}}}}{{{d{fAn}}}{{Bb{AlB`}}}}{{{d{fAn}}}{{Bb{hB`}}}}{{}{{Bf{Bd}}}}0{{{d{Bh}}}Bj}{{}c{}}00{{}l}{Ad{{Bf{h}}}}{{{d{Bh}}}{{Bb{A`Ad}}}}`{c{{Bb{e}}}{}{}}00{{}{{Bb{c}}}{}}00{dBl}00{{{d{fAf}}{d{An}}}{{Bb{lB`}}}}{{{d{fAl}}{d{An}}}{{Bb{lB`}}}}{{{d{fh}}{d{An}}}{{Bb{lB`}}}}{{{d{fAf}}{d{fAn}}}{{Bb{lB`}}}}{{{d{fAl}}{d{fAn}}}{{Bb{lB`}}}}{{{d{fh}}{d{fAn}}}{{Bb{lB`}}}}<<<````","D":"Al","p":[[5,"Command",69],[1,"reference"],[0,"mut"],[6,"InteractiveCommands",0],[1,"tuple"],[1,"unit"],[17,"Item"],[5,"Key",70],[10,"Pusherator",71],[5,"String",72],[5,"Opts",0],[5,"Formatter",73],[8,"Result",73],[5,"InteractiveApp",0],[5,"ArgMatches",74],[8,"Error",75],[6,"Result",76],[5,"Id",77],[6,"Option",78],[1,"str"],[1,"bool"],[5,"TypeId",79],[15,"Get",65],[15,"Set",65],[15,"Delete",65]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADcABgAAAAAABQAAAAgAFAAgAAgALAAAAC8AFgA="}],["gossip_kv",{"t":"PGGPPPPPGPPFGPGIPPPIPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCOONNNNNCONNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNOOOOOOOOOOOOOOOFNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFIFNNNNNNNNNNNNNNNNONNNNNNNNNNNONNNONNONNNNNNNNNNNNNNNNIIIIIIIIHOHKFIFFONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHNNNNNNNNNNNNNNPGPPPGPPNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOO","n":["Ack","ClientRequest","ClientResponse","Delete","","Get","","Gossip","GossipMessage","InvalidFormat","InvalidNamespace","Key","KeyParseError","Nack","Namespace","RowKey","Set","","System","TableName","User","borrow","","","","","","borrow_mut","","","","","","clone","","","","","","clone_into","","","","","","clone_to_uninit","","","","","","deserialize","","","","","eq","","","","","","equivalent","","","","","","","","","","","","fmt","","","","","","","from","","","","","","from_str","","hash","","into","","","","","","lattices","membership","model","namespace","row_key","serialize","","","","","server","table","to_owned","","","","","","to_string","try_from","","","","","","try_into","","","","","","type_id","","","","","","util","vzip","","","","","","key","","","value","key","success","","value","member_id","","","message_id","","","writes","BoundedSetLattice","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deserialize","eq","equivalent","","fmt","from","","into","is_bot","is_top","lattice_from","merge","","new","new_from","partial_cmp","serialize","to_owned","try_from","try_into","type_id","vzip","MemberData","MemberDataBuilder","MemberId","Protocol","add_protocol","borrow","","","borrow_mut","","","build","clone","","clone_into","","clone_to_uninit","","deserialize","","endpoint","eq","","equivalent","","","","fmt","","from","","","id","into","","","name","new","","protocols","serialize","","to_owned","","try_from","","","try_into","","","type_id","","","vzip","","","Clock","NamespaceMap","Namespaces","RowKey","RowValue","Table","TableMap","TableName","delete_row","key","upsert_row","Address","InfectingWrite","MessageId","SETS_COUNTER","SeedNode","address","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","deref","deserialize","","eq","","equivalent","","fmt","","from","","","hash","id","into","","","is_bot","is_top","lattice_from","merge","partial_cmp","serialize","","server","to_owned","","try_from","","","try_into","","","type_id","","","vzip","","","Ack","ClientRequestWithAddress","Delete","Get","Gossip","GossipRequestWithAddress","Nack","Set","borrow","","borrow_mut","","demux_enum","","fmt","","from","","from_request_and_address","","into","","try_from","","try_into","","type_id","","vzip","","addr","","","key","","","value","addr","","","member_id","","","message_id","","","writes"],"q":[[0,"gossip_kv"],[141,"gossip_kv::ClientRequest"],[145,"gossip_kv::ClientResponse"],[149,"gossip_kv::GossipMessage"],[156,"gossip_kv::lattices"],[185,"gossip_kv::membership"],[241,"gossip_kv::model"],[252,"gossip_kv::server"],[309,"gossip_kv::util"],[339,"gossip_kv::util::ClientRequestWithAddress"],[346,"gossip_kv::util::GossipRequestWithAddress"],[356,"core::result"],[357,"serde::de"],[358,"core::fmt"],[359,"core::hash"],[360,"serde::ser"],[361,"alloc::string"],[362,"core::any"],[363,"core::cmp"],[364,"core::clone"],[365,"core::iter::traits::collect"],[366,"core::option"],[367,"prometheus::counter"],[368,"alloc::vec"],[369,"hydroflow::scheduled::graph"],[370,"futures_core::stream"],[371,"core::marker"],[372,"futures_sink"],[373,"pusherator"]],"i":"A```ln102`h0``3``21f`001j4351204351204351204351204351043512043511220044335512204351204351010120435```0010435`01204352120435120435120435`120435G`GbGd1GfGhGj2GlGnH`2102`Bh000000000000000000000000000````Cn0DbD`210210101010010110010210121002011010210210210210`````````Hb``````Dn0EbEd210212121021212221210222101111121`21210210210210Fl`Fh01`100101010101010101010101HdHfHh2101HjHlHn2102102","f":"`````````````````````{b{{b{c}}}{}}00000{{{b{d}}}{{b{dc}}}{}}00000{{{b{f}}}f}{{{b{h}}}h}{{{b{j}}}j}{{{b{l}}}l}{{{b{n}}}n}{{{b{A`}}}A`}{{b{b{dc}}}Ab{}}00000{bAb}00000{c{{Ad{f}}}Af}{c{{Ad{j}}}Af}{c{{Ad{l}}}Af}{c{{Ad{n}}}Af}{c{{Ad{A`}}}Af}{{{b{f}}{b{f}}}Ah}{{{b{h}}{b{h}}}Ah}{{{b{j}}{b{j}}}Ah}{{{b{l}}{b{l}}}Ah}{{{b{n}}{b{n}}}Ah}{{{b{A`}}{b{A`}}}Ah}{{b{b{c}}}Ah{}}00000000000{{{b{f}}{b{dAj}}}Al}{{{b{h}}{b{dAj}}}Al}0{{{b{j}}{b{dAj}}}Al}{{{b{l}}{b{dAj}}}Al}{{{b{n}}{b{dAj}}}Al}{{{b{A`}}{b{dAj}}}Al}{cc{}}00000{{{b{An}}}{{Ad{fc}}}{}}{{{b{An}}}{{Ad{jc}}}{}}{{{b{f}}{b{dc}}}AbB`}{{{b{j}}{b{dc}}}AbB`}{{}c{}}00000`````{{{b{f}}c}AdBb}{{{b{j}}c}AdBb}{{{b{l}}c}AdBb}{{{b{n}}c}AdBb}{{{b{A`}}c}AdBb}``{bc{}}00000{bBd}{c{{Ad{e}}}{}{}}00000{{}{{Ad{c}}}{}}00000{bBf}00000`::::::````````````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{{Bh{c}}}}}{{Bh{c}}}{BjBlBn}}{{b{b{dc}}}Ab{}}{bAb}{{}{{Bh{c}}}{BjBl}}{c{{Ad{{Bh{e}}}}}Af{BjBlC`}}{{{b{{Bh{c}}}}{b{{Bh{c}}}}}Ah{BjBl}}{{b{b{c}}}Ah{}}0{{{b{{Bh{c}}}}{b{dAj}}}Al{BjBlCb}}{Ab{{Bh{c}}}{BjBl}}{cc{}}{{}c{}}{{{b{{Bh{c}}}}}Ah{BjBl}}0{{{Bh{c}}}{{Bh{c}}}{BjBl}}{{{b{d{Bh{c}}}}{Bh{c}}}Ah{BjBl}}{{{b{d{Bh{c}}}}e}Ah{BjBl}{{Cf{}{{Cd{c}}}}}};{e{{Bh{c}}}{BjBl}{{Cf{}{{Cd{c}}}}}}{{{b{{Bh{c}}}}{b{{Bh{c}}}}}{{Cj{Ch}}}{BjBl}}{{{b{{Bh{c}}}}e}Ad{BjBlCl}Bb}{bc{}}{c{{Ad{e}}}{}{}}{{}{{Ad{c}}}{}}{bBf};````{{{Cn{c}}{D`{c}}}{{Cn{c}}}{CbBnBjBlCl}}{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{Cn{c}}}{{Db{c}}}{CbBnBjBlCl}}{{{b{{Db{c}}}}}{{Db{c}}}{CbBnBjBlClBn}}{{{b{{D`{c}}}}}{{D`{c}}}Bn}{{b{b{dc}}}Ab{}}0{bAb}0{c{{Ad{{Db{e}}}}}Af{CbBnBjBlClC`}}{c{{Ad{{D`{e}}}}}AfC`}`{{{b{{Db{c}}}}{b{{Db{c}}}}}Ah{CbBnBjBlClDd}}{{{b{{D`{c}}}}{b{{D`{c}}}}}AhDd}{{b{b{c}}}Ah{}}000{{{b{{Db{c}}}}{b{dAj}}}Al{CbBnBjBlClCb}}{{{b{{D`{c}}}}{b{dAj}}}AlCb}{cc{}}00`{{}c{}}00`{Df{{Cn{c}}}{CbBnBjBlCl}}{{Bdc}{{D`{c}}}{}}`{{{b{{Db{c}}}}e}Ad{CbBnBjBlClCl}Bb}{{{b{{D`{c}}}}e}AdClBb}{bc{}}0{c{{Ad{e}}}{}{}}00{{}{{Ad{c}}}{}}00{bBf}00888````````{{cfDhDj}{{Dl{c}}}{}}`{{cfDhDjBd}{{Dl{c}}}{}}``````{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{b{{Dn{c}}}}}{{Dn{c}}}{E`Bn}}{{{b{Eb}}}Eb}{{b{b{dc}}}Ab{}}0{bAb}0{{{b{Ed}}}{{b{Ef}}}}{c{{Ad{{Dn{e}}}}}Af{E`C`}}{c{{Ad{Eb}}}Af}{{{b{{Dn{c}}}}{b{{Dn{c}}}}}Ah{E`Dd}}{{{b{Eb}}{b{Eb}}}Ah}{{b{b{c}}}Ah{}}0{{{b{{Dn{c}}}}{b{dAj}}}Al{E`Cb}}{{{b{Eb}}{b{dAj}}}Al}{cc{}}00{{{b{{Dn{c}}}}{b{de}}}Ab{E`Bl}B`}`{{}c{}}00{{{b{Eb}}}Ah}0{EbEb}{{{b{dEb}}Eb}Ah}{{{b{Eb}}{b{Eb}}}{{Cj{Ch}}}}{{{b{{Dn{c}}}}e}Ad{E`Cl}Bb}{{{b{Eb}}c}AdBb}{{eikoAa{Db{c}}{Eh{{Dn{c}}}}Ac}Ej{E`El}{{F`{}{{Cd{{En{lc}}}}}}Fb}Cb{{Ff{{En{nc}}}{{Fd{g}}}}Fb}{{F`{}{{Cd{{En{A`c}}}}}}Fb}Cb{{Ff{{En{A`c}}}{{Fd{m}}}}Fb}{{F`{}{{Cd{Ab}}}}Fb}{{F`{}{{Cd{{Eh{{Dn{c}}}}}}}}Fb}}{bc{}}0{c{{Ad{e}}}{}{}}00{{}{{Ad{c}}}{}}00{bBf}00;;;````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{Fh{c}}{b{d{En{egi}}}}}Ab{}{{Fj{}{{Cd{{En{jc}}}}}}}{{Fj{}{{Cd{{En{jc}}}}}}}{{Fj{}{{Cd{{En{jBdc}}}}}}}}{{{Fl{c}}{b{d{En{egi}}}}}Ab{}{{Fj{}{{Cd{{En{BdBdc}}}}}}}{{Fj{}{{Cd{{En{BdBd{Dl{Fn}}c}}}}}}}{{Fj{}{{Cd{{En{BdBdc}}}}}}}}{{{b{{Fh{c}}}}{b{dAj}}}AlCb}{{{b{{Fl{c}}}}{b{dAj}}}AlCb}{cc{}}0{{lc}{{Fh{c}}}{}}{{A`c}{{Fl{c}}}{}}{{}c{}}0<<;;::00`````````````````","D":"Jj","p":[[1,"reference"],[0,"mut"],[6,"Namespace",0],[6,"KeyParseError",0],[5,"Key",0],[6,"ClientRequest",0],[6,"ClientResponse",0],[6,"GossipMessage",0],[1,"unit"],[6,"Result",356],[10,"Deserializer",357],[1,"bool"],[5,"Formatter",358],[8,"Result",358],[1,"str"],[10,"Hasher",359],[10,"Serializer",360],[5,"String",361],[5,"TypeId",362],[5,"BoundedSetLattice",156],[10,"Eq",363],[10,"Hash",359],[10,"Clone",364],[10,"Deserialize",357],[10,"Debug",358],[17,"Item"],[10,"IntoIterator",365],[6,"Ordering",363],[6,"Option",366],[10,"Serialize",360],[5,"MemberDataBuilder",185],[5,"Protocol",185],[5,"MemberData",185],[10,"PartialEq",363],[8,"MemberId",185],[8,"TableName",241],[8,"RowKey",241],[8,"Namespaces",241],[5,"SeedNode",252],[10,"Address",252],[5,"InfectingWrite",252],[5,"SETS_COUNTER",252],[8,"IntCounter",367],[5,"Vec",368],[5,"Hydroflow",369],[10,"DeserializeOwned",357],[1,"tuple"],[10,"Stream",370],[10,"Unpin",371],[17,"Error"],[10,"Sink",372],[6,"ClientRequestWithAddress",309],[10,"Pusherator",373],[6,"GossipRequestWithAddress",309],[8,"Clock",241],[15,"Get",141],[15,"Set",141],[15,"Delete",141],[15,"Get",145],[15,"Set",145],[15,"Delete",145],[15,"Gossip",149],[15,"Ack",149],[15,"Nack",149],[8,"RowValue",241],[15,"Get",339],[15,"Set",339],[15,"Delete",339],[15,"Gossip",346],[15,"Ack",346],[15,"Nack",346]],"r":[],"b":[[75,"impl-Debug-for-KeyParseError"],[76,"impl-Display-for-KeyParseError"],[174,"impl-Merge%3CBoundedSetLattice%3CT,+N%3E%3E-for-BoundedSetLattice%3CT,+N%3E"],[175,"impl-Merge%3CU%3E-for-BoundedSetLattice%3CT,+N%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAA8BFgAAAAAAAwAAAAkAAAAWADsAWAADAGIAAgBnAAUAbgAuAJ4ACwCsAA0AvAAAAL8ABQDGAAcAzwAHAOIADwDzAAEA/gAZABsBAQAgAQYAKAENAD4BBwBMARgA"}],["gossip_server",{"t":"FNNNNHONNNNNCNNNNNNNNNNOONNNHHOCHHHNNNNNNNSSSFFFONNNNNNNNNNNHNNNNNNNNNNNNNONNNNNONNHHNNNNNNNONNNNNNFNNNNHNNNNN","n":["Opts","augment_args","augment_args_for_update","borrow","borrow_mut","clap_duration_from_secs","client_port","clone","clone_into","clone_to_uninit","command","command_for_update","config","eq","equivalent","","","","","fmt","from","from_arg_matches","from_arg_matches_mut","gossip_frequency","gossip_port","group_id","hash","into","main","make_seed_node","member_suffix_len","membership","metrics_handler","setup_inbound_deserialization","setup_outbound_serialization","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","CONFIG_ROOT","DYNAMIC_CONFIG_PATH","STATIC_CONFIG_PATH","SeedNodeSettings","ServerSettings","UnboundedSenderEventHandler","address","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","deserialize","","dynamic_config_path","eq","equivalent","","","","","fmt","","from","","","handle_event","hash","id","into","","","new","","seed_nodes","serialize","","setup_settings_watch","static_config_path","to_owned","try_from","","","try_into","","","tx","type_id","","","vzip","","","LowercaseAlphanumeric","borrow","borrow_mut","from","into","member_name","sample","try_from","try_into","type_id","vzip"],"q":[[0,"gossip_server"],[42,"gossip_server::config"],[99,"gossip_server::membership"],[110,"clap_builder::builder::command"],[111,"core::time"],[112,"core::num::dec2flt"],[113,"core::result"],[114,"core::fmt"],[115,"clap_builder::parser::matches::arg_matches"],[116,"clap_builder"],[117,"clap_builder::util::id"],[118,"core::option"],[119,"core::hash"],[120,"core::net::socket_addr"],[121,"gossip_kv::server"],[122,"warp::reply"],[123,"core::convert"],[124,"futures_core::stream"],[125,"bytes::bytes_mut"],[126,"std::io::error"],[127,"serde::de"],[128,"core::marker"],[129,"futures_sink"],[130,"bytes::bytes"],[131,"serde::ser"],[132,"core::any"],[133,"std::path"],[134,"notify::event"],[135,"notify::error"],[136,"tokio::sync::mpsc::unbounded"],[137,"config::error"],[138,"notify"],[139,"gossip_kv::membership"],[140,"rand::rng"]],"i":"`A`000`000000`000000000000000``0````0000000``````BdDnDh210222202`2222220210212210210002``21021021102102`F`000`00000","f":"`{bb}0{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{{d{h}}}{{n{jl}}}}`{{{d{A`}}}A`}{{d{d{fc}}}Ab{}}{dAb}{{}b}0`{{{d{A`}}{d{A`}}}Ad}{{d{d{c}}}Ad{}}0000{{{d{A`}}{d{fAf}}}Ah}{cc{}}{{{d{Aj}}}{{n{A`Al}}}}{{{d{fAj}}}{{n{A`Al}}}}``{{}{{B`{An}}}}{{{d{A`}}{d{fc}}}AbBb}{{}c{}}{{}Ab}{{{d{Bd}}}{{Bh{Bf}}}}``{{}{{n{{`{Bj}}Bl}}}}{c{{`{{Cb{}{{Bn{{C`{eBf}}}}}}}}}{{Cb{}{{Bn{{n{{C`{CdBf}}Cf}}}}}}}{ChCjCl}}{c{{`{{D`{{C`{eBf}}}{{Cn{Cf}}}}}}}{{D`{{C`{DbBf}}}{{Cn{Cf}}}}}{DdCjCl}}{dc{}}{c{{n{e}}}{}{}}{{}{{n{c}}}{}}{dDf}{{{d{fA`}}{d{Aj}}}{{n{AbAl}}}}{{{d{fA`}}{d{fAj}}}{{n{AbAl}}}};```````{d{{d{c}}}{}}00{{{d{f}}}{{d{fc}}}{}}00{{{d{Bd}}}Bd}{{d{d{fc}}}Ab{}}{dAb}{c{{n{Dh}}}Dj}{c{{n{Bd}}}Dj}{{{d{h}}}Dl}{{{d{Bd}}{d{Bd}}}Ad}{{d{d{c}}}Ad{}}0000{{{d{Dh}}{d{fAf}}}Ah}{{{d{Bd}}{d{fAf}}}Ah}{cc{}}00{{{d{fDn}}{Eb{E`}}}Ab}{{{d{Bd}}{d{fc}}}AbBb}`{{}c{}}00{{{Ed{{Eb{E`}}}}}Dn}{{}{{n{DhEf}}}}`{{{d{Dh}}c}nEh}{{{d{Bd}}c}nEh}{{}{{C`{EjDh{`{{Cb{}{{Bn{Dh}}}}}}}}}}={dc{}}{c{{n{e}}}{}{}}00{{}{{n{c}}}{}}00`{dDf}00999`{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}>;{El{{d{En}}}}{{{d{F`}}{d{fc}}}Fb{FdFf}}654=","D":"Ch","p":[[5,"Command",110],[1,"reference"],[0,"mut"],[1,"str"],[5,"Duration",111],[5,"ParseFloatError",112],[6,"Result",113],[5,"Opts",0],[1,"unit"],[1,"bool"],[5,"Formatter",114],[8,"Result",114],[5,"ArgMatches",115],[8,"Error",116],[5,"Id",117],[6,"Option",118],[10,"Hasher",119],[5,"SeedNodeSettings",42],[6,"SocketAddr",120],[5,"SeedNode",121],[10,"Reply",122],[6,"Infallible",123],[17,"Item"],[1,"tuple"],[10,"Stream",124],[5,"BytesMut",125],[5,"Error",126],[10,"Deserialize",127],[10,"Debug",114],[10,"Send",128],[17,"Error"],[10,"Sink",129],[5,"Bytes",130],[10,"Serialize",131],[5,"TypeId",132],[5,"ServerSettings",42],[10,"Deserializer",127],[5,"PathBuf",133],[5,"UnboundedSenderEventHandler",42],[5,"Event",134],[8,"Result",135],[5,"UnboundedSender",136],[6,"ConfigError",137],[10,"Serializer",131],[8,"RecommendedWatcher",138],[1,"usize"],[8,"MemberId",139],[5,"LowercaseAlphanumeric",99],[1,"char"],[10,"Rng",140],[10,"Sized",128]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFIADgAAAAUACAAMABYAAQAaAAEAHQAAAB8AAQAkAAkAMgATAEkAAQBPAAAAUgABAFUADgBlAAEAagAEAA=="}],["hydro_cli",{"t":"FFFFFNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNN","n":["AnyhowError","AnyhowWrapper","Deployment","Host","Service","__clone_box","_core","arguments","","","","as_ptr","as_ref","borrow","","","","","borrow_mut","","","","","clone","clone_into","clone_to_uninit","deref","doc","","","","extract","","","","","","","","","","fmt","","from","","","","","from_borrowed_ptr_or_opt","from_owned_ptr_or_opt","into","","","","","into_py","","","","","items_iter","","","","lazy_type_object","","","","new_err","source","to_object","to_owned","to_string","try_from","","","","","","try_from_exact","try_from_unchecked","try_into","","","","","type_id","","","","","type_object_raw","","","","","underlying","vzip","","","",""],"q":[[0,"hydro_cli"],[102,"dyn_clone::sealed"],[103,"pyo3::marker"],[104,"pyo3::types::module"],[105,"pyo3::err"],[106,"pyo3::types::any"],[107,"pyo3::instance"],[108,"pyo3_ffi::object"],[109,"core::ffi::c_str"],[110,"core::result"],[111,"core::fmt"],[112,"core::option"],[113,"pyo3::impl_::pyclass"],[114,"pyo3::impl_::pyclass::lazy_type_object"],[115,"pyo3::err::err_state"],[116,"core::marker"],[117,"core::error"],[118,"alloc::string"],[119,"core::convert"],[120,"core::any"]],"i":"`````Ah`0B`BbBdAb004321043214440432104443322110004321000432104321432143210004000432100043210432104321404321","f":"`````{{bd}f}{{h{b{j}}}{{l{f}}}}{h{{A`{n}}}}000{{{b{Ab}}}Ad}{{{b{Ab}}}{{b{n}}}}{b{{b{c}}}{}}0000{{{b{Af}}}{{b{Afc}}}{}}0000{{{b{Ah}}}Ah}{{b{b{Afc}}}f{}}{bf}5{h{{l{{b{Aj}}}}}}000{{{b{n}}}{{l{{b{Ab}}}}}}{{{b{n}}}{{An{cAl}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{AfAh}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{Ah}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{B`}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{AfB`}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{Bb}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{AfBb}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{AfBd}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{Bd}}}}}{}}{{{b{Ab}}{b{AfBf}}}{{An{fBh}}}}0{cc{}}0000{{hAd}{{Bj{{b{c}}}}}{}}0{{}c{}}0000{{{b{Ab}}h}{{A`{Ab}}}}{{Ahh}Bl}{{B`h}Bl}{{Bbh}Bl}{{Bdh}Bl}{{}Bn}000{{}{{b{{C`{Ah}}}}}}{{}{{b{{C`{B`}}}}}}{{}{{b{{C`{Bb}}}}}}{{}{{b{{C`{Bd}}}}}}{cAl{CbCdCf}}{{{b{Ab}}}{{Bj{{b{Ch}}}}}}{{{b{Ab}}h}Bl}{bc{}}{bCj}{c{{An{e}}}{}{}}{c{{An{{b{e}}Cl}}}{{Cn{{b{n}}}}}{}}11110{c{{b{e}}}{{Cn{{b{n}}}}}{}}{{}{{An{c}}}{}}0000{bD`}0000{hDb}0000`{{}c{}}0000","D":"Ah","p":[[1,"reference"],[5,"Private",102],[1,"unit"],[5,"Python",103],[5,"PyModule",104],[8,"PyResult",105],[5,"PyAny",106],[5,"Py",107],[5,"AnyhowError",0],[5,"PyObject",108],[0,"mut"],[5,"AnyhowWrapper",0],[5,"CStr",109],[5,"PyErr",105],[6,"Result",110],[5,"Deployment",0],[5,"Host",0],[5,"Service",0],[5,"Formatter",111],[5,"Error",111],[6,"Option",112],[8,"PyObject",107],[5,"PyClassItemsIter",113],[5,"LazyTypeObject",114],[10,"PyErrArguments",115],[10,"Send",116],[10,"Sync",116],[10,"Error",117],[5,"String",118],[5,"PyDowncastError",105],[10,"Into",119],[5,"TypeId",120],[5,"PyTypeObject",108]],"r":[],"b":[[33,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26mut+AnyhowWrapper"],[34,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26AnyhowWrapper"],[35,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26Deployment"],[36,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26mut+Deployment"],[37,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26Host"],[38,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26mut+Host"],[39,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26mut+Service"],[40,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26Service"],[41,"impl-Display-for-AnyhowError"],[42,"impl-Debug-for-AnyhowError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFoABQAAAAsADQAeADEAAQA4AAwARgAgAA=="}],["hydro_deploy",{"t":"EGEPEPPEKIGEPPKKPPEPPFFFGKRKPPPNMCNNNNNNNNNNNNMMNNNMMMCNMMCNNNNNMNNMNNNNNNCNCMNNNNNNMMCCMMMMMCMMMMMMMMCOOONNNNNNNNNNNNNNNNNNNCNNNNNNMFFNNNNNNNNONNNNNNNONNNNONNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNIINNFNNNNNNNNNNNONNONNONNNNNNNNFFFNNNNNNNNNNOONNNNNNNNNONNNNNONNONNNNNNNNNNNNNNNNNNNNPGPPFNNNNNNNNNNNNNNNNNNNNNNNNNCNNCNNNNCNNNNNNNNPPFPPPFKKKPPPPFIGGPPFPNNMNNNNNNNNNNNNNNNNNNNNNONNNNNNNMNMNNNMNNNMNNNNNNNNNMNNNOOMNNNMNNNNMNNNOOOOMNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNIFNNNNNNNOOOOOOONNONNNNNFNNNNNNNNNONNCNNNNNNNNNNFNNNNNNNNNNNNNNNNNGPPPPGFPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMNMNNMJFFFFFFFNNNNNNNNNNNNNNONNONNNNNNNNNNNNNNNNNNNNNNNOOONOONNNNNOONNNNNNNNNNNNNNNNNNNNNOONNNNNNNHH","n":["AzureHost","ClientStrategy","CustomService","Demux","Deployment","ExternalTcpPort","ForwardedTcpPort","GcpComputeEngineHost","Host","HostStrategyGetter","HostTargetType","HydroflowCrate","InternalTcpPort","","LaunchedBinary","LaunchedHost","Linux","Local","LocalhostHost","Merge","Null","ResourceBatch","ResourcePool","ResourceResult","ServerStrategy","Service","","ServiceBuilder","Tagged","UnixSocket","","__clone_box","as_any","azure","borrow","","","","","","borrow_mut","","","","","","build","can_connect_to","clone","clone_into","clone_to_uninit","collect_resources","","copy_binary","custom_service","default","deploy","deploy_stdout","deployment","eq","equivalent","","","","exit_code","fmt","","forward_port","from","","","","","","gcp","hash","hydroflow_crate","id","into","","","","","","launch_binary","launched","localhost","progress","provision","ready","request_custom_binary","request_port","server_config","ssh","start","stderr","stdin","stdout","stop","","strategy_as_server","target_type","terraform","","","","to_owned","try_from","","","","","","try_into","","","","","","type_id","","","","","","util","vzip","","","","","","wait","AzureHost","LaunchedVirtualMachine","as_any","borrow","","borrow_mut","","can_connect_to","collect_resources","copy_binary","external_ip","forward_port","from","","get_cloud_provider","get_external_ip","get_internal_ip","id","internal_ip","into","","launch_binary","launched","","new","provision","request_custom_binary","request_port","resource_result","server_config","ssh_user","strategy_as_server","target_type","try_from","","try_into","","type_id","","vzip","","CustomClientPort","CustomService","as_any","borrow","","borrow_mut","","collect_resources","connect","declare_client","deploy","from","","host","instantiate","instantiate_reverse","into","","new","","on","ready","record_server_config","record_server_strategy","server","server_port","source_path","start","stop","try_from","","try_into","","type_id","","vzip","","AddAzureHostDeploymentBuilder","AddGcpComputeEngineHostDeploymentBuilder","AzureHost","CustomService","Deployment","GcpComputeEngineHost","Localhost","add_azure_host","add_gcp_compute_engine_host","add_host","add_service","borrow","borrow_mut","default","deploy","from","hosts","into","new","resource_pool","run_ctrl_c","run_until","services","start","start_ctrl_c","start_until","stop","try_from","try_into","type_id","vzip","GcpComputeEngineHost","GcpNetwork","LaunchedComputeEngine","as_any","borrow","","","borrow_mut","","","can_connect_to","collect_resources","copy_binary","existing_vpc","external_ip","fmt","forward_port","from","","","get_cloud_provider","get_external_ip","get_internal_ip","id","internal_ip","into","","","launch_binary","launched","","new","","project","provision","request_custom_binary","request_port","resource_result","server_config","ssh_user","strategy_as_server","target_type","try_from","","","try_into","","","type_id","","","vzip","","","Bin","CrateTarget","Default","Example","HydroflowCrate","__clone_box","","args","bin","borrow","","borrow_mut","","build","clone","","clone_into","","clone_to_uninit","","display_name","eq","example","features","from","","into","","new","no_default_features","ports","profile","rustflags","service","target_dir","to_owned","","tracing","tracing_options","try_from","","try_into","","type_id","","vzip","","Demux","DemuxSelect","DemuxSink","Direct","","Forwarded","HydroflowPortConfig","HydroflowServer","HydroflowSink","HydroflowSource","Merge","MergeSelect","Null","","NullSourceSink","ReverseSinkInstantiator","ServerConfig","SourcePath","Tagged","","TaggedSource","TaggedUnwrap","__clone_box","","as_any","","","","borrow","","","","","","borrow_mut","","","","","","clone","","clone_into","","clone_to_uninit","","demux","from","","","","","","from_strategy","get_port","","host","","","","instantiate","","","","instantiate_reverse","","","","into","","","","","","launched_host","","load_instantiated","merge","","port","record_server_config","","","","record_server_strategy","","","","send_to","server","","","","service","service_host","service_server_defns","source","source_path","","","","tag","to_owned","","try_from","","","","","","try_into","","","","","","type_id","","","","","","vzip","","","","","","wrap_reverse_server_config","","HydroflowCrateService","add_connection","borrow","borrow_mut","collect_resources","deploy","exit_code","from","get_port","into","new","ready","start","stderr","stdout","stop","try_from","try_into","type_id","update_meta","vzip","NewTracingOptionsBuilder","TracingOptions","__clone_box","borrow","borrow_mut","builder","clone","clone_into","clone_to_uninit","dtrace_outfile","flamegraph_options","flamegraph_outfile","fold_dtrace_options","fold_outfile","fold_perf_options","frequency","from","into","perf_raw_outfile","to_owned","try_from","try_into","type_id","vzip","LocalhostHost","as_any","borrow","borrow_mut","can_connect_to","client_only","collect_resources","fmt","from","id","","into","launched","launched_binary","new","provision","request_custom_binary","request_port","strategy_as_server","target_type","try_from","try_into","type_id","vzip","LaunchedLocalhostBinary","borrow","borrow_mut","deploy_stdout","drop","exit_code","from","into","new","stderr","stdin","stdout","stop","try_from","try_into","type_id","vzip","wait","BarTree","Finished","","Group","Leaf","LeafStatus","ProgressTracker","Root","Started","__clone_box","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","end_task","eq","equivalent","","","","fmt","","from","","","into","","","leaf","println","progress_leaf","rich_leaf","start_task","to_owned","try_from","","","try_into","","","type_id","","","vzip","","","with_group","LaunchedSshHost","get_cloud_provider","get_external_ip","get_internal_ip","open_ssh_session","resource_result","server_config","ssh_key_path","ssh_user","TERRAFORM_ALPHABET","TerraformBatch","TerraformConfig","TerraformOutput","TerraformPool","TerraformProvider","TerraformResult","TerraformResultOutput","borrow","","","","","","","borrow_mut","","","","","","","data","default","","deployment_folder","deserialize","","","","","drop","","fmt","","from","","","","","","","into","","","","","","","output","outputs","provider","provision","required_providers","resource","serialize","","","","","source","terraform","try_from","","","","","","","try_into","","","","","","","type_id","","","","","","","value","version","vzip","","","","","","","async_retry","prioritized_broadcast"],"q":[[0,"hydro_deploy"],[133,"hydro_deploy::azure"],[174,"hydro_deploy::custom_service"],[211,"hydro_deploy::deployment"],[242,"hydro_deploy::gcp"],[296,"hydro_deploy::hydroflow_crate"],[343,"hydro_deploy::hydroflow_crate::ports"],[473,"hydro_deploy::hydroflow_crate::service"],[494,"hydro_deploy::hydroflow_crate::tracing_options"],[518,"hydro_deploy::localhost"],[542,"hydro_deploy::localhost::launched_binary"],[560,"hydro_deploy::progress"],[612,"hydro_deploy::ssh"],[621,"hydro_deploy::terraform"],[713,"hydro_deploy::util"],[715,"dyn_clone::sealed"],[716,"core::any"],[717,"core::future::future"],[718,"alloc::boxed"],[719,"core::pin"],[720,"alloc::sync"],[721,"alloc::string"],[722,"tokio::sync::oneshot"],[723,"core::option"],[724,"core::fmt"],[725,"core::net::socket_addr"],[726,"core::hash"],[727,"hydroflow_deploy_integration"],[728,"tokio::sync::mpsc::unbounded"],[729,"anyhow"],[730,"core::result"],[731,"std::collections::hash::map"],[732,"tokio::sync::rwlock"],[733,"core::ops::function"],[734,"alloc::vec"],[735,"core::convert"],[736,"core::iter::traits::collect"],[737,"std::path"],[738,"serde::ser"],[739,"async_process"],[740,"indicatif::progress_bar"],[741,"serde::de"],[742,"core::time"],[743,"std::sync::mutex"],[744,"std::io::error"],[745,"futures_core::stream"],[746,"core::marker"]],"i":"```Db`0Af`````10``Aj0`22`````A``3321h`Al54BfBh5276105435553AdAn`31Bl`8888803815:9438`8`65:943816``62661`20000266`54385:94385:94385:9438`5:94380``EdEf1011100001000100101111110001101010101``ElEn101010001111010110111110001010101``Gh0`00000000000000000000000000```HbHf1H`12022101011201112112012220022211122120120120120I``00`0Hj00101001010100100101000`00`0100`10101010Gd0`Fd11````1101````01`1Ij2IdIfIh3In2154602154646464610215466Fh5Il2465436543624376816866602460246002466662024626824376824376824376824376802`J`0000000000000000000``D`000000000000000000000`Gn00000000000`0000000000`Jf0000000000000000`JjJn00``011Jl21021222022222210210210000020210210210210`Kd0000000````````KfKhKlKnL`LdLb65432105651543206121654321065432105155455432035654321065432106543210236543210``","f":"```````````````````````````````{{bd}f}{{{b{h}}}{{b{j}}}}`{b{{b{c}}}{}}00000{{{b{l}}}{{b{lc}}}{}}00000{{{A`{}{{n{c}}}}Ab}cAd}{{{b{h}}Af}Ah}{{{b{Aj}}}Aj}{{b{b{lc}}}f{}}{bf}{{{b{h}}{b{lAl}}}f}{{{b{Ad}}{b{lAl}}}f}{{{b{An}}{b{`}}}{{Bd{{Bb{B`}}}}}}`{{}Bf}{{{b{lAd}}{b{{Bj{Bh}}}}}{{Bd{{Bb{B`}}}}}}{{{b{Bl}}}{{C`{Bn}}}}`{{{b{Aj}}{b{Aj}}}Ah}{{b{b{c}}}Ah{}}000{{{b{Bl}}}{{Cd{Cb}}}}{{{b{Bh}}{b{lCf}}}Ch}{{{b{Aj}}{b{lCf}}}Ch}{{{b{An}}{b{Cj}}}{{Bd{{Bb{B`}}}}}}{cc{}}00000`{{{b{Aj}}{b{lc}}}fCl}`{{{b{h}}}Ab}{{}c{}}00000{{{b{An}}Bn{b{`}}{b{{Cn{Bn}}}}{Cd{D`}}}{{Bd{{Bb{B`}}}}}}{{{b{h}}}{{Cd{{Bj{An}}}}}}``{{{b{h}}{b{{Bj{Bh}}}}}{{Bj{An}}}}{{{b{lAd}}}{{Bd{{Bb{B`}}}}}}{{{b{h}}}f}{{{b{h}}{b{Db}}}f}{{{b{An}}{b{Db}}}Dd}`3{{{b{Bl}}}{{Df{Bn}}}}{{{b{Bl}}}{{Dh{Bn}}}}1{{{b{lBl}}}{{Bd{{Bb{B`}}}}}}6{{{b{h}}{b{h}}}{{Dn{{Dl{AfDj}}}}}}{{{b{h}}}Aj}````{bc{}}{c{{E`{e}}}{}{}}00000{{}{{E`{c}}}{}}00000{bEb}00000`{{}c{}}000007``{{{b{Ed}}}{{b{j}}}}{b{{b{c}}}{}}0{{{b{l}}}{{b{lc}}}{}}0{{{b{Ed}}Af}Ah}{{{b{Ed}}{b{lAl}}}f}{{b{b{`}}}{{Bd{{Bb{B`}}}}}}`{{b{b{Cj}}}{{Bd{{Bb{B`}}}}}}{cc{}}0{{{b{Ef}}}Bn}{{{b{Ef}}}{{Cd{Bn}}}}1{{{b{Ed}}}Ab}`;;{{bBn{b{`}}{b{{Cn{Bn}}}}{Cd{D`}}}{{Bd{{Bb{B`}}}}}}{{{b{Ed}}}{{Cd{{Bj{An}}}}}}`{{AbBnBnBn{Cd{{Eh{BnBn}}}}Bn{Cd{Bn}}}Ed}{{{b{Ed}}{b{{Bj{Bh}}}}}{{Bj{An}}}}{{{b{Ed}}}f}{{{b{Ed}}{b{Db}}}f}{{{b{Ef}}}{{b{{Bj{Bh}}}}}}{{b{b{Db}}}Dd}{{{b{Ef}}}{{b{Ej}}}}{{{b{Ed}}{b{h}}}{{Dn{{Dl{AfDj}}}}}}{{{b{Ed}}}Aj}{c{{E`{e}}}{}{}}0{{}{{E`{c}}}{}}0{bEb}0{{}c{}}0``{{{b{El}}}{{b{j}}}}{b{{b{c}}}{}}0{{{b{l}}}{{b{lc}}}{}}0{{{b{En}}{b{lAl}}}f}{{{b{El}}}F`}{{{b{En}}{b{{Bj{{Fb{En}}}}}}}El}{{{b{lEn}}{b{{Bj{Bh}}}}}{{Bd{{Bb{B`}}}}}}{cc{}}0{{{b{El}}}{{Bj{h}}}}{{{b{El}}{b{Fd}}}{{Dn{{Bb{Ff}}}}}}{{{b{El}}{b{{Bj{h}}}}{Bj{Fh}}{b{Fj}}}{{Dn{Fl}}}};;{{Ab{Bj{h}}{G`{Fn}}}En}{{{Gb{{Fb{En}}}}}El}`{{{b{lEn}}}{{Bd{{Bb{B`}}}}}}{{{b{El}}Gd}f}{{{b{El}}Db}f}{{{b{El}}}{{Bj{Fh}}}}{{{b{El}}}Gf}{{{b{El}}}Fd}55{c{{E`{e}}}{}{}}0{{}{{E`{c}}}{}}0{bEb}0{{}c{}}0``{{{b{lGh}}}Gj}{{{b{lGh}}{Bj{h}}{G`{Fn}}}{{Bj{{Fb{En}}}}}}`{{{b{lGh}}}Gl}{{{b{Gh}}}{{Bj{Gn}}}}{{{b{lGh}}BnBnBn{Cd{{Eh{BnBn}}}}Bn{Cd{Bn}}}{{Bj{Ed}}}}{{{b{lGh}}BnBnBnBn{Bj{{Fb{H`}}}}{Cd{Bn}}{Cd{Bn}}}{{Bj{Hb}}}}{{{b{lGh}}e}{{Bj{c}}}h{{Ff{Ab}{{Hd{c}}}}}}{{{b{lGh}}e}{{Bj{{Fb{c}}}}}Ad{{A`{}{{n{c}}}}}}{b{{b{c}}}{}}{{{b{l}}}{{b{lc}}}{}}{{}Gh}{{{b{lGh}}}{{Dn{f}}}}{cc{}}`=2`1{{{b{lGh}}c}{{Dn{f}}}{{B`{}{{Hd{f}}}}}}`2202{c{{E`{e}}}{}{}}{{}{{E`{c}}}{}}{bEb}{{}c{}}```{{{b{Hb}}}{{b{j}}}}:::999{{{b{Hb}}Af}Ah}{{{b{Hb}}{b{lAl}}}f}{{b{b{`}}}{{Bd{{Bb{B`}}}}}}``{{{b{H`}}{b{lCf}}}Ch}{{b{b{Cj}}}{{Bd{{Bb{B`}}}}}};;;{{{b{Hf}}}Bn}{{{b{Hf}}}{{Cd{Bn}}}}1{{{b{Hb}}}Ab}`999{{bBn{b{`}}{b{{Cn{Bn}}}}{Cd{D`}}}{{Bd{{Bb{B`}}}}}}{{{b{Hb}}}{{Cd{{Bj{An}}}}}}`{{Abcegi{Bj{{Fb{H`}}}}{Cd{Bn}}{Cd{Bn}}}Hb{{Hh{Bn}}}{{Hh{Bn}}}{{Hh{Bn}}}{{Hh{Bn}}}}{{c{Cd{Bn}}}H`{{Hh{Bn}}}}`{{{b{Hb}}{b{{Bj{Bh}}}}}{{Bj{An}}}}{{{b{Hb}}}f}{{{b{Hb}}{b{Db}}}f}{{{b{Hf}}}{{b{{Bj{Bh}}}}}}{{b{b{Db}}}Dd}{{{b{Hf}}}{{b{Ej}}}}{{{b{Hb}}{b{h}}}{{Dn{{Dl{AfDj}}}}}}{{{b{Hb}}}Aj}{c{{E`{e}}}{}{}}00{{}{{E`{c}}}{}}00{bEb}00{{}c{}}00`````{{bd}f}0{{Hje}Hj{{Hh{Bn}}}{{Hn{}{{Hl{c}}}}}}{{Hjc}Hj{{Hh{Bn}}}}{b{{b{c}}}{}}0{{{b{l}}}{{b{lc}}}{}}0{{HjAb}c{}}{{{b{I`}}}I`}{{{b{Hj}}}Hj}{{b{b{lc}}}f{}}0{bf}07{{{b{I`}}{b{I`}}}Ah}89{cc{}}0<<{{c{Bj{h}}}Hj{{Hh{Ib}}}}{HjHj}`;;`{{Hjc}Hj{{Hh{Ib}}}}{bc{}}0{{Hjc}Hj{{Hh{D`}}}}`{c{{E`{e}}}{}{}}0{{}{{E`{c}}}{}}0{bEb}0{{}c{}}0``````````````````````{{bd}f}0{{{b{Id}}}{{b{j}}}}{{{b{If}}}{{b{j}}}}{{{b{Ih}}}{{b{j}}}}{{{b{Ij}}}{{b{j}}}}{b{{b{c}}}{}}00000{{{b{l}}}{{b{lc}}}{}}00000{{{b{Ij}}}Ij}{{{b{Gd}}}Gd}{{b{b{lc}}}f{}}0{bf}0`{cc{}}00000{{{b{Af}}{Bj{Fh}}}Gd}{{{b{Fh}}}Gf}{{{b{Ij}}}Gf}{{{b{Il}}}{{Bj{h}}}}{{{b{In}}}{{Bj{h}}}}{{{b{If}}}{{Bj{h}}}}{{{b{Ij}}}{{Bj{h}}}}{{{b{Id}}{b{Fd}}}{{Dn{{Bb{Ff}}}}}}{{{b{If}}{b{Fd}}}{{Dn{{Bb{Ff}}}}}}{{{b{Ih}}{b{Fd}}}{{Dn{{Bb{Ff}}}}}}{{{b{Ij}}{b{Fd}}}{{Dn{{Bb{Ff}}}}}}{{{b{Id}}{b{{Bj{h}}}}{Bj{Fh}}{b{Fj}}}{{Dn{Fl}}}}{{{b{If}}{b{{Bj{h}}}}{Bj{Fh}}{b{Fj}}}{{Dn{Fl}}}}{{{b{Ih}}{b{{Bj{h}}}}{Bj{Fh}}{b{Fj}}}{{Dn{Fl}}}}{{{b{Ij}}{b{{Bj{h}}}}{Bj{Fh}}{b{Fj}}}{{Dn{Fl}}}}{{}c{}}00000{{{b{Fh}}}{{Bj{An}}}}{{{b{Ij}}}{{Bj{An}}}}{{{b{Gd}}{b{Fj}}}{{Bd{{Bb{B`}}}}}}{{{b{Ij}}}Ij}``{{{b{Il}}Gd}f}{{{b{In}}Gd}f}{{{b{If}}Gd}f}{{{b{Ij}}Gd}f}{{{b{Il}}Db}f}{{{b{In}}Db}f}{{{b{If}}Db}f}{{{b{Ij}}Db}f}{{{b{Il}}{b{Id}}}f}{{{b{Il}}}{{Bj{Fh}}}}{{{b{In}}}{{Bj{Fh}}}}{{{b{If}}}{{Bj{Fh}}}}{{{b{Ij}}}{{Bj{Fh}}}}````{{{b{Il}}}Fd}{{{b{In}}}Fd}{{{b{If}}}Fd}{{{b{Ij}}}Fd}`{bc{}}0{c{{E`{e}}}{}{}}00000{{}{{E`{c}}}{}}00000{bEb}00000{{}c{}}00000{{{b{Il}}Gd}Gd}{{{b{In}}Gd}Gd}`{{{b{lJ`}}{b{{Bj{{Fb{J`}}}}}}Bn{b{Id}}}{{Dn{f}}}}{b{{b{c}}}{}}{{{b{l}}}{{b{lc}}}{}}{{{b{J`}}{b{lAl}}}f}{{{b{lJ`}}{b{{Bj{Bh}}}}}{{Bd{{Bb{B`}}}}}}{{{b{J`}}}{{Cd{Cb}}}}{cc{}}{{{b{J`}}Bn{b{{Bj{{Fb{J`}}}}}}}Ij}:{{AbIb{Bj{h}}{Cd{Bn}}{Cd{Bn}}{Cd{Bn}}{Cd{Bn}}{Cd{Ib}}Ah{Cd{D`}}{Cd{{G`{Bn}}}}{Cd{{G`{Bn}}}}{Cd{Bn}}{G`{Fn}}}J`}{{{b{lJ`}}}{{Bd{{Bb{B`}}}}}}0{{{b{J`}}}{{Df{Bn}}}}01{c{{E`{e}}}{}{}}{{}{{E`{c}}}{}}{bEb}{{{b{lJ`}}c}fJb}{{}c{}}``{{bd}f}?>{{}Jd}{{{b{D`}}}D`}{{b{b{lc}}}f{}}{bf}```````>5`{bc{}}:986`{{{b{Gn}}}{{b{j}}}}{b{{b{c}}}{}}{{{b{l}}}{{b{lc}}}{}}{{{b{Gn}}Af}Ah}{{{b{Gn}}}Gn}{{{b{Gn}}{b{lAl}}}f}{{{b{Gn}}{b{lCf}}}Ch}{cc{}}{{{b{Gn}}}Ab}`?{{{b{Gn}}}{{Cd{{Bj{An}}}}}}`{AbGn}{{{b{Gn}}{b{{Bj{Bh}}}}}{{Bj{An}}}}{{{b{Gn}}}f}{{{b{Gn}}{b{Db}}}f}{{{b{Gn}}{b{h}}}{{Dn{{Dl{AfDj}}}}}}{{{b{Gn}}}Aj}{c{{E`{e}}}{}{}}{{}{{E`{c}}}{}}{bEb}{{}c{}}`{b{{b{c}}}{}}{{{b{l}}}{{b{lc}}}{}}{{{b{Jf}}}{{C`{Bn}}}}{{{b{lJf}}}f}{{{b{Jf}}}{{Cd{Cb}}}}{cc{}}6{{JhBn{Cd{D`}}}Jf}{{{b{Jf}}}{{Df{Bn}}}}{{{b{Jf}}}{{Dh{Bn}}}}1{{{b{lJf}}}{{Bd{{Bb{B`}}}}}}=<;:0`````````{{bd}f}:::999{{{b{Jj}}}Jj}{{b{b{lc}}}f{}}{bf}{{{b{lJl}}{G`{Ab}}}f}{{{b{Jj}}{b{Jj}}}Ah}{{b{b{c}}}Ah{}}000{{{b{Jj}}{b{lCf}}}Ch}{{{b{Jn}}{b{lCf}}}Ch}==={{}c{}}00{{cg}{{`{{B`{}{{Hd{e}}}}}}}{{Hh{Bn}}}{}{{B`{}{{Hd{e}}}}}}{cf{{K`{Ej}}}}{{ci}{{`{{B`{}{{Hd{e}}}}}}}{{Hh{Bn}}}{}{{B`{}{{Hd{e}}}}}{{Ff{{Bb{Fj}}{Bb{Fj}}}{{Hd{g}}}}}}{{ci}{{`{{B`{}{{Hd{e}}}}}}}{{Hh{Bn}}}{}{{B`{}{{Hd{e}}}}}{{Ff{{Bb{Fj}}}{{Hd{g}}}}}}{{{b{lJl}}{G`{Ab}}BnAh{Cd{Ab}}Ah}{{Dl{Ab{Bj{Kb}}}}}}{bc{}}{c{{E`{e}}}{}{}}00{{}{{E`{c}}}{}}00{bEb}00999{{c{Cd{Ab}}i}{{`{{B`{}{{Hd{e}}}}}}}{{Hh{Bn}}}{}{{B`{}{{Hd{e}}}}}{{Ff{}{{Hd{g}}}}}}`{{{b{Kd}}}Bn}{{{b{Kd}}}{{Cd{Bn}}}}1{{{b{Kd}}}{{Bd{{Bb{B`}}}}}}{{{b{Kd}}}{{b{{Bj{Bh}}}}}}{{{b{Kd}}{b{Db}}}Dd}{{{b{Kd}}}Ib}{{{b{Kd}}}{{b{Ej}}}}````````{b{{b{c}}}{}}000000{{{b{l}}}{{b{lc}}}{}}000000`{{}Kf}{{}Kh}`{c{{E`{Kh}}}Kj}{c{{E`{Kl}}}Kj}{c{{E`{Kn}}}Kj}{c{{E`{L`}}}Kj}{c{{E`{Lb}}}Kj}{{{b{lKf}}}f}{{{b{lLd}}}f}{{{b{L`}}{b{lCf}}}Ch}{{{b{Ld}}{b{lCf}}}Ch}{cc{}}000000{{}c{}}000000```{{Kh{b{lKf}}}{{Dn{Ld}}}}``{{{b{Kh}}c}E`Lf}{{{b{Kl}}c}E`Lf}{{{b{Kn}}c}E`Lf}{{{b{L`}}c}E`Lf}{{{b{Lb}}c}E`Lf}``{c{{E`{e}}}{}{}}000000{{}{{E`{c}}}{}}000000{bEb}000000``9999999{{gAbLh}{{Dn{c}}}{}{{B`{}{{Hd{{Dn{c}}}}}}}{{Lj{}{{Hd{e}}}}}}{{ce}{{Dl{{Bj{{Ln{{Cd{{Ll{Bn}}}}}}}}{Bj{{Ln{{G`{{Dh{Bn}}}}}}}}}}}{{Mb{}{{Hl{{M`{Bn}}}}}}MdMf}{{Fj{Bn}}Md}}","D":"Nn","p":[[1,"reference"],[5,"Private",715],[1,"unit"],[10,"Host",0],[10,"Any",716],[0,"mut"],[17,"Service"],[10,"ServiceBuilder",0],[1,"usize"],[10,"Service",0],[6,"ClientStrategy",0],[1,"bool"],[6,"HostTargetType",0],[5,"ResourceBatch",0],[10,"LaunchedHost",0],[10,"Future",717],[5,"Box",718],[5,"Pin",719],[5,"ResourcePool",0],[5,"ResourceResult",0],[5,"Arc",720],[10,"LaunchedBinary",0],[5,"String",721],[5,"Receiver",722],[1,"i32"],[6,"Option",723],[5,"Formatter",724],[8,"Result",724],[6,"SocketAddr",725],[10,"Hasher",726],[1,"slice"],[5,"TracingOptions",494],[6,"ServerStrategy",0],[6,"ServerBindConfig",727],[5,"UnboundedReceiver",728],[5,"UnboundedSender",728],[8,"HostStrategyGetter",0],[1,"tuple"],[8,"Result",729],[6,"Result",730],[5,"TypeId",716],[5,"AzureHost",133],[5,"LaunchedVirtualMachine",133],[5,"HashMap",731],[1,"str"],[5,"CustomClientPort",174],[5,"CustomService",174],[5,"ConnectedDirect",727],[5,"RwLock",732],[6,"SourcePath",343],[10,"FnOnce",733],[10,"HydroflowServer",343],[10,"Fn",733],[8,"ReverseSinkInstantiator",343],[1,"u16"],[5,"Vec",734],[5,"Weak",720],[6,"ServerConfig",343],[6,"ServerPort",727],[5,"Deployment",211],[8,"AddAzureHostDeploymentBuilder",211],[8,"AddGcpComputeEngineHostDeploymentBuilder",211],[5,"LocalhostHost",518],[5,"GcpNetwork",242],[5,"GcpComputeEngineHost",242],[17,"Output"],[5,"LaunchedComputeEngine",242],[10,"Into",735],[5,"HydroflowCrate",296],[17,"Item"],[10,"IntoIterator",736],[6,"CrateTarget",296],[5,"PathBuf",737],[10,"HydroflowSink",343],[5,"NullSourceSink",343],[5,"DemuxSink",343],[5,"HydroflowPortConfig",343],[10,"HydroflowSource",343],[5,"TaggedSource",343],[5,"HydroflowCrateService",473],[10,"Serialize",738],[8,"NewTracingOptionsBuilder",494],[5,"LaunchedLocalhostBinary",542],[5,"Child",739],[6,"LeafStatus",560],[5,"ProgressTracker",560],[6,"BarTree",560],[10,"AsRef",735],[5,"ProgressBar",740],[10,"LaunchedSshHost",612],[5,"TerraformPool",621],[5,"TerraformBatch",621],[10,"Deserializer",741],[5,"TerraformConfig",621],[5,"TerraformProvider",621],[5,"TerraformOutput",621],[5,"TerraformResultOutput",621],[5,"TerraformResult",621],[10,"Serializer",738],[5,"Duration",742],[10,"FnMut",733],[5,"Sender",722],[5,"Mutex",743],[8,"Result",744],[10,"Stream",745],[10,"Send",746],[10,"Unpin",746]],"r":[[0,133],[2,174],[4,211],[7,242],[11,296],[18,518]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFQCNQAAAAEAAwAVABoABgAiAA0AMQACADYAAgA7AAkASwACAFUAAwBcAAAAXgAAAGAAAgBmAB4AhgALAJQABACbABQAsQAIALwAAgDBABIA1gAMAOQAAADmAAEA6gABAO4AFQAHAQQADwEdAC4BAQAyAQoAPgEAAEABAABGAQEASQEOAFoBBwBkASIAjQEGAJUBAgCZAQIAogE+AOIBAADkAQoA8AEDAPUBAgD5AQAA+wEAAP0BAAACAgwAEAIBABMCEQAnAiQAUgIfAHMCEwCIAggAnwIsAA=="}],["hydroflow",{"t":"YIQEECQEQQQQEEEQXQQEQQECEEXEEEECQQQEECFFFKFFFFFFHNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNMNNNNNNNNNMNNMNNNHOOONNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNCCCNNNCNNNCNNCCCNNCCNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMMMMMMMMKKKRFFKFMNNNNNNNNMNNNNNNNNNNNNNNNNNNMNNNNNCNNNNNMNNNMNNNNNNNMNNNNNNNRKKKRMMMFKFNNNNNNNNNNNMNNNNNNNNNNNNFOONNNNNNNNNNNNCNNNNIKFFGIIGIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNTFFTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNPPFFFPPGGIIIIIIIIIIHHHHHNNNNNNNNNNCNNNNNNHHHHHCCHNNNNNNNNNNNHHCCHHHCHCHHHHNNNNNNNNNNNNNNNNNHHHHHHHHHCHHKFNNMNNNNNNNNNNNNNNNNNNKYKRKMMPGIKFFKKFPPPPFFIIIIRPPPPFPPPPRGPGGGRRKPPPPFPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNHHNNNNNNNNNNNNNMNNMNNOQHONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNFFFFIFKIFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNCPPFFFGNNNNNNNNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNH","n":["DemuxEnum","Never","assert_var_impl","bincode","bytes","compiled","datalog","futures","hydroflow_expect_warnings","hydroflow_parser","hydroflow_syntax","hydroflow_syntax_noemit","itertools","lang","lattices","launch","main","monotonic_fn","morphism","pusherator","rassert","rassert_eq","rustc_hash","scheduled","serde","serde_json","test","tokio","tokio_stream","tokio_util","tracing","util","var_args","var_expr","var_type","variadics","web_time","pull","AntiJoin","CrossJoin","CrossJoinState","HalfJoinState","HalfJoinStateFold","HalfJoinStateFoldFrom","HalfJoinStateReduce","HalfMultisetJoinState","HalfSetJoinState","SymmetricHashJoin","anti_join_into_iter","borrow","","","","","","","","","borrow_mut","","","","","","","","","build","","","clear","","","","","default","","","","","","fmt","","fold_into","","from","","","","","","","","","full_probe","","","into","","","","","","","","","into_iter","","","is_empty","","iter","","","len","","","multiunzip","","","new","next","","","pop_match","","","probe","","","reduce_into","symmetric_hash_join_into_iter","table","","","try_from","","","","","","","","","try_into","","","","","","","","","type_id","","","","","","","","","HandoffId","StateId","SubgraphId","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","cmp","","context","eq","","","equivalent","","","","","","fmt","","","","","from","","","graph","graph_ext","handoff","hash","","","input","into","","","net","partial_cmp","","port","query","reactor","serialize","","state","ticks","to_owned","","","to_string","","try_from","","","try_into","","","type_id","","","Context","abort_tasks","add_state","borrow","borrow_mut","current_stratum","current_subgraph","current_tick","current_tick_start","from","into","is_first_run_this_tick","join_tasks","remove_state","request_task","schedule_subgraph","set_state_tick_hook","spawn_tasks","state_mut","state_ref","try_from","try_into","type_id","waker","Hydroflow","abort_tasks","add_channel_input","add_input","add_input_from_stream","add_read_tcp_stream","add_state","add_subgraph","add_subgraph_2in_2out","add_subgraph_2in_out","add_subgraph_2sink","add_subgraph_in_2out","add_subgraph_in_out","add_subgraph_n_m","add_subgraph_sink","add_subgraph_source","add_subgraph_stratified","add_subgraph_stratified_n_m","add_tcp_stream","add_write_tcp_stream","borrow","borrow_mut","context_mut","current_stratum","current_tick","default","diagnostics","drop","from","inbound_tcp_vertex","inbound_tcp_vertex_port","into","join_tasks","make_edge","meta_graph","new","next_stratum","outbound_tcp_vertex","reactor","recv_events","recv_events_async","request_task","run","run_async","run_available","run_available_async","run_stratum","run_tick","schedule_subgraph","set_state_tick_hook","teeing_handoff_drop","teeing_handoff_tee","try_from","try_into","try_recv_events","type_id","GraphExt","add_channel_input","add_input","add_input_from_stream","add_subgraph_2in_2out","add_subgraph_2in_out","add_subgraph_2sink","add_subgraph_in_2out","add_subgraph_in_out","add_subgraph_sink","add_subgraph_source","CanReceive","Handoff","HandoffMeta","Inner","Iter","TeeingHandoff","TryCanReceive","VecHandoff","any_ref","","","borrow","","","borrow_mut","","","borrow_mut_swap","","","clone","","clone_into","","clone_to_uninit","","cmp","default","","eq","equivalent","","fmt","from","","","give","","","","","","handoff_list","hash","into","","","into_iter","is_bottom","","","partial_cmp","take_inner","","","to_owned","","try_from","","","try_give","","try_into","","","type_id","","","Ctx","HandoffList","PortList","PortListSplit","Suffix","make_ctx","set_graph_meta","split_ctx","Buffer","Give","Input","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","default","flush","from","","give","","","into","","new","to_owned","try_from","","try_into","","type_id","","Message","address","batch","borrow","borrow_mut","clone","clone_into","clone_to_uninit","decode","eq","equivalent","","fmt","from","into","network_vertex","to_owned","try_from","try_into","type_id","Address","Polarity","Port","PortCtx","RECV","RecvCtx","RecvPort","SEND","SendCtx","SendPort","borrow","","","","borrow_mut","","","","borrow_mut_swap","","drop","","from","","","","give","","into","","","","ref_cast","ref_cast_mut","take_inner","","tee","","try_from","","","","try_give","","try_into","","","","type_id","","","","Operator","Query","borrow","","borrow_mut","","concat","","default","filter","from","","into","","map","new","run_available","sink","source","tee","try_from","","try_into","","type_id","","Reactor","borrow","borrow_mut","clone","clone_into","clone_to_uninit","from","into","into_waker","to_owned","trigger","try_from","try_into","type_id","StateHandle","StateHandleErased","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","cmp","","eq","","equivalent","","","","fmt","","from","","","hash","","into","","partial_cmp","","to_owned","","try_from","","","try_into","","type_id","","SINGLE_TICK","TickDuration","TickInstant","ZERO","add","","add_assign","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","cmp","","default","","deserialize","","eq","","equivalent","","","","fmt","","","","from","","hash","","into","","neg","new","","partial_cmp","","serialize","","sub","","","sub_assign","","ticks","to_owned","","to_string","","try_from","","try_into","","type_id","","Delete","","DroppableChild","MonotonicFn","Morphism","Persist","","Persistence","PersistenceKeyed","TcpFramedSink","TcpFramedStream","UdpBytesSink","UdpBytesStream","UdpFramedSink","UdpFramedStream","UdpLinesSink","UdpLinesStream","UdpSink","UdpStream","bind_tcp","bind_tcp_bytes","bind_tcp_lines","bind_udp_bytes","bind_udp_lines","borrow","","","","","borrow_mut","","","","","clear","clone","","clone_into","","clone_to_uninit","","collect_ready","collect_ready_async","connect_tcp","connect_tcp_bytes","connect_tcp_lines","demux_enum","deploy","deserialize_from_bytes","drop","from","","","","","into","","","","","ipv4_resolve","iter_batches_stream","monotonic_map","multiset","ready_iter","run_cargo_example","serialize_to_bytes","simulation","sort_unstable_by_key_hrtb","sparse_vec","tcp_bytes","tcp_bytestream","tcp_framed","tcp_lines","to_owned","","try_from","","","","","try_into","","","","","type_id","","","","","udp_bytes","udp_bytestream","udp_framed","udp_lines","unbounded_channel","unix_bytes","unix_bytestream","unix_framed","unix_lines","unsync","unsync_channel","wait_for_process_output","Clear","ClearDefault","borrow","borrow_mut","clear","","clone","clone_into","clone_to_uninit","cmp","default","eq","equivalent","","fmt","from","hash","into","partial_cmp","to_owned","try_from","try_into","type_id","DemuxEnum","","DemuxEnumBase","Output","SingleVariant","demux_enum","single_variant","Bound","BoundConnection","BufferedDrain","Connected","ConnectedDemux","ConnectedDirect","ConnectedSink","ConnectedSource","ConnectedTagged","Demux","","","","DemuxDrain","DeployPorts","DynSink","DynStream","DynStreamSink","InitConfig","Input","Merge","","","","MergeSource","Null","","","","Output","RealizedServerPort","Server","ServerBindConfig","ServerOrBound","ServerPort","Sink","Stream","StreamSink","Tagged","","","","TaggedSource","TcpPort","","","","UnixSocket","","","","accept_tcp","bind","borrow","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","clone","","clone_into","","clone_to_uninit","","connect","connect_local_blocking","deserialize","","fmt","","","","","from","","","","","","","","","","","","","from_defn","","","","init","init_no_ack_start","instantiate","into","","","","","","","","","","","","into_sink","","","into_source","","","keys","launch","launch_flow","meta","poll_close","poll_flush","poll_next","","poll_ready","port","serialize","","sink_port","start_send","to_owned","","try_from","","","","","","","","","","","","try_into","","","","","","","","","","","","try_poll_next","","type_id","","","","","","","","","","","","MonotonicMap","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","fmt","from","get_mut_clear","get_mut_default","get_mut_with","into","new_init","to_owned","try_from","try_into","type_id","HashMultiSet","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","eq","equivalent","","fmt","from","from_iter","insert","into","to_owned","try_from","try_into","type_id","Address","Fleet","Host","HostBuilder","Hostname","Inbox","MessageSender","MessageWithAddress","Outbox","TransducerBuilderContext","add_host","borrow","","","","","","","borrow_mut","","","","","","","build","clone","clone_into","clone_to_uninit","default","deserialize","eq","equivalent","","fmt","from","","","","","","","get_host","get_host_mut","hash","into","","","","","","","new","","","new_inbox","new_outbox","process_network","run_single_tick_all_hosts","run_tick","run_until_quiescent","send","serialize","to_owned","try_from","","","","","","","try_into","","","","","","","type_id","","","","","","","with_transducer","SparseVec","borrow","borrow_mut","default","delete","from","into","iter","push","try_from","try_into","type_id","mpsc","Closed","Full","Receiver","SendError","Sender","TrySendError","borrow","","","","borrow_mut","","","","bounded","channel","clone","","","clone_into","","","clone_to_uninit","","","close","close_this_sender","drop","","eq","","equivalent","","","","fmt","","","","from","","","","","into","","","","is_closed","poll_close","poll_flush","poll_next","poll_ready","poll_recv","recv","send","start_send","to_owned","","","to_string","","try_from","","","","try_into","","","","try_poll_next","try_send","type_id","","","","unbounded"],"q":[[0,"hydroflow"],[37,"hydroflow::compiled"],[38,"hydroflow::compiled::pull"],[162,"hydroflow::scheduled"],[234,"hydroflow::scheduled::context"],[258,"hydroflow::scheduled::graph"],[314,"hydroflow::scheduled::graph_ext"],[325,"hydroflow::scheduled::handoff"],[393,"hydroflow::scheduled::handoff::handoff_list"],[401,"hydroflow::scheduled::input"],[428,"hydroflow::scheduled::net"],[448,"hydroflow::scheduled::net::network_vertex"],[449,"hydroflow::scheduled::port"],[500,"hydroflow::scheduled::query"],[526,"hydroflow::scheduled::reactor"],[540,"hydroflow::scheduled::state"],[580,"hydroflow::scheduled::ticks"],[643,"hydroflow::util"],[746,"hydroflow::util::clear"],[769,"hydroflow::util::demux_enum"],[776,"hydroflow::util::deploy"],[960,"hydroflow::util::monotonic_map"],[978,"hydroflow::util::multiset"],[997,"hydroflow::util::simulation"],[1083,"hydroflow::util::sparse_vec"],[1095,"hydroflow::util::unsync"],[1096,"hydroflow::util::unsync::mpsc"],[1173,"rustc_hash"],[1174,"core::iter::traits::iterator"],[1175,"core::cmp"],[1176,"core::hash"],[1177,"core::clone"],[1178,"hydroflow::compiled::pull::half_join_state"],[1179,"hydroflow::compiled::pull::half_join_state::multiset"],[1180,"hydroflow::compiled::pull::half_join_state::set"],[1181,"hydroflow::compiled::pull::half_join_state::fold"],[1182,"hydroflow::compiled::pull::half_join_state::fold_from"],[1183,"hydroflow::compiled::pull::half_join_state::reduce"],[1184,"hydroflow::compiled::pull::cross_join"],[1185,"core::fmt"],[1186,"core::ops::function"],[1187,"core::slice::iter"],[1188,"smallvec"],[1189,"std::collections::hash::map"],[1190,"core::option"],[1191,"hydroflow::compiled::pull::symmetric_hash_join"],[1192,"hydroflow::compiled::pull::anti_join"],[1193,"core::result"],[1194,"core::any"],[1195,"serde::ser"],[1196,"alloc::string"],[1197,"std::time"],[1198,"alloc::boxed"],[1199,"core::future::future"],[1200,"core::task::wake"],[1201,"std::sync::mpsc"],[1202,"alloc::borrow"],[1203,"core::convert"],[1204,"futures_core::stream"],[1205,"tokio::net::tcp::stream"],[1206,"hydroflow::scheduled::handoff::vector"],[1207,"alloc::vec"],[1208,"hydroflow_lang::diagnostic"],[1209,"serde::de"],[1210,"core::marker"],[1211,"hydroflow_lang::graph::hydroflow_graph"],[1212,"hydroflow::scheduled::handoff::tee"],[1213,"core::cell"],[1214,"core::iter::traits::collect"],[1215,"variadics"],[1216,"bytes::bytes"],[1217,"tokio::sync::mpsc::error"],[1218,"core::net::socket_addr"],[1219,"hydroflow::util::tcp"],[1220,"std::io::error"],[1221,"tokio_util::codec::decoder"],[1222,"tokio_util::codec::encoder"],[1223,"bytes::bytes_mut"],[1224,"tokio_util::codec::lines_codec"],[1225,"hydroflow::util::udp"],[1226,"hydroflow::util::monotonic"],[1227,"core::default"],[1228,"tokio_util::codec::length_delimited"],[1229,"bincode::error"],[1230,"core::task::poll"],[1231,"futures_util::stream::poll_fn"],[1232,"std::process"],[1233,"tokio::net::tcp::split_owned"],[1234,"tokio_util::codec::framed_write"],[1235,"tokio_util::codec::framed_read"],[1236,"tokio_util::codec::bytes_codec"],[1237,"tokio::net::udp"],[1238,"tokio::sync::mpsc::unbounded"],[1239,"tokio_stream::wrappers::mpsc_unbounded"],[1240,"tokio::net::unix::stream"],[1241,"tokio::net::unix::split_owned"],[1242,"core::num::nonzero"],[1243,"hydroflow_deploy_integration"],[1244,"core::pin"],[1245,"futures_sink"],[1246,"core::iter::traits::double_ended"],[1247,"core::iter::traits::marker"],[1248,"hydroflow_macro"],[1249,"hydroflow_datalog"],[1250,"hydroflow::util::socket"]],"i":"`````````````````````````````````````````````````BdCjCnAlB`BbD`AhAj876543210Af216542196542121659876543210219876543218730002102187388730210214`654987654321987654321987654321```DfDhDj21021021021010`21022110022110210```210`210`10```21``21021210210210`Ed0000000000000000000000`Fd000000000000000000000000000000000000000000000000000000`Jf000000000```Gb````JhGnJd10Jn2104211010100210000210Gd33352`13211432153221321Kh6432432Hd```AIb110```GfFj101111010Kn212112212121`Gl0000000000000`0000``````````HfHbLdLb3210Hh12H`5432Hj3654333234165430365436543``LhLj1010011010100101101010`J`000000000000``EfM`101010101010110010100101010101101010Mb``0Ej1010101010101010101010011001101010110101010010110101010101AIdAIf```10`````````````````10A@jOfOh43210`101010````````24321043210``````````````10432104321043210``````````````ACj0ACh111111111111111111```ACn`ACl1AD`````````ADfADlADbADn``````AEf4321`4321AFd`6```10`5432`5432543263AEnAF`AFjAFnAFf:98;7AFhAE`65432<;:=910<:<:<:==<:<;:=965432<;;:=910ADh763``=76543=<;>:219768736``1225421=;:2=;76543=<;>:2176543=<;>:215476543=<;>:21`AGb0000000000000000`AGf00000000000000000``````````AGhAIhAIjAGjAGnAGl5AH`5432160200060000054321606605432160260116636AHf116543271654327165432713`AHj0000000000`AI`0````NfNjLn32103``203203203122103003300332103321032221211222030321032103122103`","f":"````````````````````````````````````````````````{{g{f{b{d{c}}}}{f{b{d{{h{ce}}}}}}j}{{`{{n{}{{l{{h{ce}}}}}}}}}{A`AbAd}{A`AbAd}{{n{}{{l{{h{ce}}}}}}}}{f{{f{c}}}{}}00000000{{{f{b}}}{{f{bc}}}{}}00000000{{{f{bAf}}c{f{e}}}j{}{}}{{{f{b{Ah{ceg}}}}c{f{e}}}j{AdA`Ab}AdAd}{{{f{b{Aj{ceg}}}}c{f{e}}}j{AdA`Ab}{AdA`}Ad}{{{f{b{Al{ce}}}}}An{}{}}{{{f{b{B`{ce}}}}}An{}{}}{{{f{b{Bb{ce}}}}}An{}{}}{{{f{b{Ah{ceg}}}}}An{}{}{}}{{{f{b{Aj{ceg}}}}}An{}{}{}}{{}{{Bd{ce}}}{}{}}{{}{{Al{ce}}}{}{}}{{}{{B`{ce}}}{}{}}{{}{{Bb{ce}}}{}{}}{{}{{Ah{ceg}}}{}{}{}}{{}{{Aj{ceg}}}{}{}{}}{{{f{{Ah{ceg}}}}{f{bBf}}}BhBjBjBj}{{{f{{Aj{ceg}}}}{f{bBf}}}BhBjBjBj}{{{f{b{Al{ce}}}}imo}An{A`Ab}{}{}{{n{}{{l{{h{cg}}}}}}}{}{{Bn{{f{be}}g}{{Bl{k}}}}}{{Bn{}{{Bl{e}}}}}}{{{f{b{B`{ce}}}}imo}An{A`Ab}{}{}{{n{}{{l{{h{cg}}}}}}}{}{{Bn{{f{be}}g}{{Bl{k}}}}}{{Bn{g}{{Bl{e}}}}}}{cc{}}00000000{{{f{Af}}{f{c}}}{{C`{e}}}{}{}}{{{f{{Ah{ceg}}}}{f{c}}}{{C`{e}}}{AdA`Ab}AdAd}{{{f{{Aj{ceg}}}}{f{c}}}{{C`{e}}}{AdA`Ab}{AdA`}Ad}{{}c{}}00000000000{{{f{Af}}}j}0{{{f{Af}}}{{Cf{c{Cd{{Cb{e}}}}}}}{}{}}{{{f{{Ah{ceg}}}}}{{Cf{c{Cd{{Cb{e}}}}}}}{AdA`Ab}AdAd}{{{f{{Aj{ceg}}}}}{{Cf{c{Cd{{Cb{e}}}}}}}{AdA`Ab}{AdA`}Ad}{{{f{Af}}}Ch}{{{f{{Ah{ceg}}}}}Ch{AdA`Ab}AdAd}{{{f{{Aj{ceg}}}}}Ch{AdA`Ab}{AdA`}Ad}{{}{{h{ce}}}{}{}}00{{ei{f{b{Bd{cg}}}}}{{Cj{ecig}}}{A`Ad}{{n{}{{l{c}}}}}{A`Ad}{{n{}{{l{g}}}}}}{{{f{b{Cj{ecig}}}}}{{Cl{k}}}{A`Ad}{{n{}{{l{c}}}}}{A`Ad}{{n{}{{l{g}}}}}{}}{{{f{b{Cn{cgekimo}}}}}{{Cl{Aa}}}{A`AbAd}Ad{{n{}{{l{{h{ce}}}}}}}Ad{{n{}{{l{{h{ci}}}}}}}{{Af{cei}}}{{Af{cie}}}{}}{{{f{b{D`{ceg}}}}}{{Cl{i}}}{A`AbAd}{A`AbAd}{{n{}{{l{{h{ce}}}}}}}{}}{{{f{bAf}}}{{Cl{{h{ceg}}}}}{}{}{}}{{{f{b{Ah{ceg}}}}}{{Cl{{h{cge}}}}}{AdA`Ab}AdAd}{{{f{b{Aj{ceg}}}}}{{Cl{{h{cge}}}}}{AdA`Ab}{AdA`}Ad}{{{f{bAf}}{f{c}}{f{e}}}{{Cl{{h{ceg}}}}}{}{}{}}{{{f{b{Ah{ceg}}}}{f{c}}{f{g}}}{{Cl{{h{cge}}}}}{AdA`Ab}AdAd}{{{f{b{Aj{ceg}}}}{f{c}}{f{g}}}{{Cl{{h{cge}}}}}{AdA`Ab}{AdA`}Ad}{{{f{b{Bb{ce}}}}gk}An{A`Ab}{}{{n{}{{l{{h{ce}}}}}}}{}{{Bn{{f{be}}e}{{Bl{i}}}}}}{{gk{f{bm}}{f{bo}}j}{{`{{n{}{{l{{h{c{h{ei}}}}}}}}}}}{A`AbAd}Ad{{n{}{{l{{h{ce}}}}}}}Ad{{n{}{{l{{h{ci}}}}}}}{{Af{cei}}}{{Af{cie}}}}```{c{{Db{e}}}{}{}}00000000{{}{{Db{c}}}{}}00000000{fDd}00000000```{f{{f{c}}}{}}00{{{f{b}}}{{f{bc}}}{}}00{{{f{Df}}}Df}{{{f{Dh}}}Dh}{{{f{Dj}}}Dj}{{f{f{bc}}}An{}}00{fAn}00{{{f{Dh}}{f{Dh}}}Dl}{{{f{Dj}}{f{Dj}}}Dl}`{{{f{Df}}{f{Df}}}j}{{{f{Dh}}{f{Dh}}}j}{{{f{Dj}}{f{Dj}}}j}{{f{f{c}}}j{}}00000{{{f{Df}}{f{bBf}}}Bh}0{{{f{Dh}}{f{bBf}}}Bh}0{{{f{Dj}}{f{bBf}}}Bh}{cc{}}00```{{{f{Df}}{f{bc}}}AnDn}{{{f{Dh}}{f{bc}}}AnDn}{{{f{Dj}}{f{bc}}}AnDn}`{{}c{}}00`{{{f{Dh}}{f{Dh}}}{{Cl{Dl}}}}{{{f{Dj}}{f{Dj}}}{{Cl{Dl}}}}```{{{f{Df}}c}DbE`}{{{f{Dh}}c}DbE`}``{fc{}}00{fEb}0{c{{Db{e}}}{}{}}00{{}{{Db{c}}}{}}00{fDd}00`{{{f{bEd}}}An}{{{f{bEd}}c}{{Ef{c}}}Eh}{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Ed}}}Ch}{{{f{Ed}}}Df}{{{f{Ed}}}Ej}{{{f{Ed}}}El}{cc{}}{{}c{}}{{{f{Ed}}}j}:{{{f{bEd}}{Ef{c}}}{{En{c}}}Eh}{{{f{bEd}}c}An{{F`{}{{Bl{An}}}}}}{{{f{Ed}}Dfj}An}{{{f{bEd}}{Ef{c}}e}AnEh{{Bn{{f{bc}}}}}}>{{{f{bEd}}{Ef{c}}}{{f{bc}}}Eh}{{{f{Ed}}{Ef{c}}}{{f{c}}}Eh}{c{{Db{e}}}{}{}}{{}{{Db{c}}}{}}{fDd}{{{f{Ed}}}Fb}`{{{f{bFd}}}An}{{{f{bFd}}c{Ff{g}}}{{Fj{e{Fh{e}}}}}{{G`{{Fn{Fl}}}}}{}{Gb{Gd{e}}}}{{{f{bFd}}c{Ff{g}}}{{Fj{e{Gf{e}}}}}{{G`{{Fn{Fl}}}}}{}{Gb{Gd{e}}}}{{{f{bFd}}c{Ff{g}}i}An{{G`{{Fn{Fl}}}}}{}{Gb{Gd{e}}}{{Gh{}{{l{e}}}}}}{{{f{bFd}}Gj}{{H`{{Gn{Gl}}}}}}{{{f{bFd}}c}{{Ef{c}}}Eh}{{{f{bFd}}cegi}Df{{G`{{Fn{Fl}}}}}{{Hd{Hb}}}{{Hd{Hf}}}{{Bn{{f{bEd}}}}}}{{{f{bFd}}c{H`{e}}{H`{g}}{Ff{i}}{Ff{k}}m}Df{{G`{{Fn{Fl}}}}}GbGbGbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hh{g}}}}{f{{Hj{i}}}}{f{{Hj{k}}}}}}}}{{{f{bFd}}c{H`{e}}{H`{g}}{Ff{i}}k}Df{{G`{{Fn{Fl}}}}}GbGbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hh{g}}}}{f{{Hj{i}}}}}}}}{{{f{bFd}}c{H`{e}}{H`{g}}i}Df{{G`{{Fn{Fl}}}}}GbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hh{g}}}}}}}}{{{f{bFd}}c{H`{e}}{Ff{g}}{Ff{i}}k}Df{{G`{{Fn{Fl}}}}}GbGbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hj{g}}}}{f{{Hj{i}}}}}}}}{{{f{bFd}}c{H`{e}}{Ff{g}}i}Df{{G`{{Fn{Fl}}}}}GbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hj{g}}}}}}}}{{{f{bFd}}c{Hl{{H`{e}}}}{Hl{{Ff{g}}}}i}Df{{G`{{Fn{Fl}}}}}GbGb{{Bn{{f{bEd}}{f{{Hn{{f{{Hh{e}}}}}}}}{f{{Hn{{f{{Hj{g}}}}}}}}}}}}{{{f{bFd}}c{H`{e}}g}Df{{G`{{Fn{Fl}}}}}Gb{{Bn{{f{Ed}}{f{{Hh{e}}}}}}}}{{{f{bFd}}c{Ff{e}}g}Df{{G`{{Fn{Fl}}}}}Gb{{Bn{{f{Ed}}{f{{Hj{e}}}}}}}}{{{f{bFd}}cChegji}Df{{G`{{Fn{Fl}}}}}{{Hd{Hb}}}{{Hd{Hf}}}{{Bn{{f{bEd}}}}}}{{{f{bFd}}cCh{Hl{{H`{e}}}}{Hl{{Ff{g}}}}i}Df{{G`{{Fn{Fl}}}}}GbGb{{Bn{{f{bEd}}{f{{Hn{{f{{Hh{e}}}}}}}}{f{{Hn{{f{{Hj{g}}}}}}}}}}}}{{{f{bFd}}Gj}{{h{{Ff{{Gn{Gl}}}}{H`{{Gn{Gl}}}}}}}}{{{f{bFd}}Gj}{{Ff{{Gn{Gl}}}}}}{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{bFd}}Df}{{f{bEd}}}}{{{f{Fd}}}Ch}{{{f{Fd}}}Ej}{{}Fd}{{{f{Fd}}}{{Cl{{f{{Hn{{Ib{I`}}}}}}}}}}{{{f{bFd}}}An}{cc{}}{{{f{bFd}}}{{h{Id{H`{{Gn{c}}}}}}}{IfIh}}{{{f{bFd}}Id}{{H`{{Gn{c}}}}}{IfIh}}{{}c{}}{{{f{bFd}}}{{`{F`}}}}{{{f{bFd}}c}{{h{{Ff{e}}{H`{e}}}}}{{G`{{Fn{Fl}}}}}Gb}{{{f{Fd}}}{{Cl{{f{Ij}}}}}}9{{{f{bFd}}j}j}{{{f{bFd}}}{{Ff{{Gn{{h{Ilc}}}}}}}{InIh}}{{{f{Fd}}}J`}{{{f{bFd}}}{{Cl{Ch}}}}0{{{f{bFd}}c}An{{F`{}{{Bl{An}}}}}}{{{f{bFd}}}{{Cl{Jb}}}}0{{{f{bFd}}}j}000{{{f{bFd}}Df}j}{{{f{bFd}}{Ef{c}}e}AnEh{{Bn{{f{bc}}}}}}{{{f{bFd}}{H`{{Jd{c}}}}}AnAd}{{{f{bFd}}{f{{H`{{Jd{c}}}}}}}{{H`{{Jd{c}}}}}Ad}{c{{Db{e}}}{}{}}{{}{{Db{c}}}{}}{{{f{bFd}}}Ch}{fDd}`{{{f{bJf}}c{Ff{g}}}{{Fj{e{Fh{e}}}}}{{G`{{Fn{Fl}}}}}{}{Gb{Gd{e}}}}{{{f{bJf}}c{Ff{g}}}{{Fj{e{Gf{e}}}}}{{G`{{Fn{Fl}}}}}{}{Gb{Gd{e}}}}{{{f{bJf}}c{Ff{g}}i}An{{G`{{Fn{Fl}}}}}{}{Gb{Gd{e}}}{{Gh{}{{l{e}}}}}}{{{f{bJf}}c{H`{e}}{H`{g}}{Ff{i}}{Ff{k}}m}Df{{G`{{Fn{Fl}}}}}GbGbGbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hh{g}}}}{f{{Hj{i}}}}{f{{Hj{k}}}}}}}}{{{f{bJf}}c{H`{e}}{H`{g}}{Ff{i}}k}Df{{G`{{Fn{Fl}}}}}GbGbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hh{g}}}}{f{{Hj{i}}}}}}}}{{{f{bJf}}c{H`{e}}{H`{g}}i}Df{{G`{{Fn{Fl}}}}}GbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hh{g}}}}}}}}{{{f{bJf}}c{H`{e}}{Ff{g}}{Ff{i}}k}Df{{G`{{Fn{Fl}}}}}GbGbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hj{g}}}}{f{{Hj{i}}}}}}}}{{{f{bJf}}c{H`{e}}{Ff{g}}i}Df{{G`{{Fn{Fl}}}}}GbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hj{g}}}}}}}}{{{f{bJf}}c{H`{e}}g}Df{{G`{{Fn{Fl}}}}}Gb{{Bn{{f{Ed}}{f{{Hh{e}}}}}}}}{{{f{bJf}}c{Ff{e}}g}Df{{G`{{Fn{Fl}}}}}Gb{{Bn{{f{Ed}}{f{{Hj{e}}}}}}}}````````{{{f{Jh}}}{{f{Eh}}}}{{{f{{Gn{c}}}}}{{f{Eh}}}{}}{{{f{{Jd{c}}}}}{{f{Eh}}}{}}{f{{f{c}}}{}}00{{{f{b}}}{{f{bc}}}{}}00{{{f{{Gb{}{{Jj{c}}}}}}}{{Jl{c}}}{}}{{{f{{Gn{c}}}}}{{Jl{e}}}{}{}}{{{f{{Jd{c}}}}}{{Jl{e}}}{}{}}{{{f{{Jd{c}}}}}{{Jd{c}}}Ad}{{{f{{Jn{c}}}}}{{Jn{c}}}{K`Ad}}{{f{f{bc}}}An{}}0{fAn}0{{{f{{Jn{c}}}}{f{{Jn{c}}}}}Dl{K`Kb}}{{}{{Gn{c}}}{}}{{}{{Jd{c}}}{}}{{{f{{Jn{c}}}}{f{{Jn{c}}}}}j{K`Kd}}{{f{f{c}}}j{}}0{{{f{{Jn{c}}}}{f{bBf}}}Bh{K`Bj}}{cc{}}00{{{f{Gd}}c}c{}}{{{f{{Gn{c}}}}{Hl{c}}}{{Hl{c}}}{}}{{{f{{Gn{c}}}}{Jn{e}}}{{Jn{e}}}{}{{n{}{{l{c}}}}}}{{{f{{Gn{c}}}}{Cl{c}}}{{Cl{c}}}{}}{{{f{{Gb{}{{Jj{c}}}}}}e}e{}{}}{{{f{{Jd{c}}}}{Hl{c}}}{{Hl{c}}}Ad}`{{{f{{Jn{c}}}}{f{be}}}An{K`Ab}Dn}{{}c{}}00{{{Jn{c}}}eK`{}}{{{f{Jh}}}j}{{{f{{Gn{c}}}}}j{}}{{{f{{Jd{c}}}}}j{}}{{{f{{Jn{c}}}}{f{{Jn{c}}}}}{{Cl{Dl}}}{K`Kf}}{{{f{{Gb{}{{Jj{c}}}}}}}c{}}{{{f{{Gn{c}}}}}e{}{}}{{{f{{Jd{c}}}}}e{}{}}{fc{}}0{c{{Db{e}}}{}{}}00{{{f{Kh}}c}{{Db{cc}}}{}}{{{f{{Gb{}{{Jj{c}}}}}}e}{{Db{ee}}}{}{}}{{}{{Db{c}}}{}}00{fDd}00`````{{{f{{Hd{}{{Kj{c}}}}}}{f{{Hn{`}}}}}cKl}{{{f{{Hd{}{{Kj{c}}}}}}{f{b{Hn{`}}}}{f{b{Hl{Dh}}}}Dfj}AnKl}{ch{}}```{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{f{{Gf{c}}}}}{{Gf{c}}}{}}{{f{f{bc}}}An{}}{fAn}{{}{{Gf{c}}}{}}{{{f{{Fj{ce}}}}}An{}{{Kn{c}}}}{cc{}}0{{{f{Kn}}c}j{}}{{{f{{Gf{c}}}}c}j{}}{{{f{{Fj{ce}}}}c}An{}{{Kn{c}}}}{{}c{}}0{{J`Dfe}{{Fj{ce}}}{}{{Kn{c}}}}{fc{}}{c{{Db{e}}}{}{}}0{{}{{Db{c}}}{}}0{fDd}0```{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Gl}}}Gl}{{f{f{bc}}}An{}}{fAn}{L`Gl}{{{f{Gl}}{f{Gl}}}j}{{f{f{c}}}j{}}0{{{f{Gl}}{f{bBf}}}Bh}{cc{}}?`=<;:``````````99998888{{{f{{Hh{c}}}}}JlGb}{{{f{{Lb{Hbc}}}}}JlGb}{{{Ld{Hb{Jd{c}}}}{f{bFd}}}AnAd}{{{H`{{Jd{c}}}}{f{bFd}}}AnAd}4444{{{f{{Hj{e}}}}c}c{}{{Gd{c}}Gb}}{{{f{{Lb{Hfe}}}}c}c{}{{Gd{c}}Gb}}{{}c{}}000{{{f{c}}}{{f{{Lb{eg}}}}}{}Lf{}}{{{f{bc}}}{{f{b{Lb{eg}}}}}{}Lf{}}{{{f{{Hh{c}}}}}{}Gb}{{{f{{Lb{Hbc}}}}}{}Gb}{{{f{{Ld{Hb{Jd{c}}}}}}{f{bFd}}}{{H`{{Jd{c}}}}}Ad}{{{f{{H`{{Jd{c}}}}}}{f{bFd}}}{{H`{{Jd{c}}}}}Ad}{c{{Db{e}}}{}{}}000{{{f{{Hj{e}}}}c}{{Db{cc}}}{}{{Kh{c}}Gb}}{{{f{{Lb{Hfe}}}}c}{{Db{cc}}}{}{{Kh{c}}Gb}}{{}{{Db{c}}}{}}000{fDd}000``{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{Lh{c}}{Lh{c}}}{{Lh{c}}}{}}{{{f{bLj}}{Hl{{Lh{c}}}}}{{Lh{c}}}{}}{{}Lj}{{{Lh{c}}e}{{Lh{c}}}{}{{Ll{{f{c}}}{{Bl{j}}}}}}{cc{}}0{{}c{}}0{{{Lh{c}}g}{{Lh{e}}}{}{}{{Ll{c}{{Bl{e}}}}}}4{{{f{bLj}}}An}{{{Lh{c}}e}An{}{{Ll{c}}}}{{{f{bLj}}e}{{Lh{c}}}{}{{Bn{{f{Ed}}{f{{Hj{{Gn{c}}}}}}}}}}{{{Lh{c}}Ch}{{Hl{{Lh{c}}}}}Ad}{c{{Db{e}}}{}{}}0??>>`=<{{{f{J`}}}J`}{{f{f{bc}}}An{}}{fAn}:9{{J`Df}Fb}{fc{}}{{{f{J`}}Df}{{Db{An{Ln{{h{Dfj}}}}}}}}6{{}{{Db{c}}}{}}{fDd}``{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{f{{Ef{c}}}}}{{Ef{c}}}{}}{{{f{M`}}}M`}::99{{{f{{Ef{c}}}}{f{{Ef{c}}}}}DlKb}{{{f{M`}}{f{M`}}}Dl}{{{f{{Ef{c}}}}{f{{Ef{c}}}}}jKd}{{{f{M`}}{f{M`}}}j}{{f{f{c}}}j{}}000{{{f{{Ef{c}}}}{f{bBf}}}BhBj}{{{f{M`}}{f{bBf}}}Bh}{cc{}}0{{{Ef{c}}}M`Eh}{{{f{{Ef{c}}}}{f{be}}}AnAbDn}{{{f{M`}}{f{bc}}}AnDn}{{}c{}}0{{{f{{Ef{c}}}}{f{{Ef{c}}}}}{{Cl{Dl}}}Kf}{{{f{M`}}{f{M`}}}{{Cl{Dl}}}}{fc{}}0{c{{Db{e}}}{}{}}{M`{{Db{{Ef{c}}e}}}Eh{}}1{{}{{Db{c}}}{}}0{fDd}0````{{EjMb}c{}}{{MbMb}c{}}{{{f{bEj}}Mb}An}{{{f{bMb}}Mb}An}{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{f{Ej}}}Ej}{{{f{Mb}}}Mb}{{f{f{bc}}}An{}}0{fAn}0{{{f{Ej}}{f{Ej}}}Dl}{{{f{Mb}}{f{Mb}}}Dl}{{}Ej}{{}Mb}{c{{Db{Ej}}}Md}{c{{Db{Mb}}}Md}{{{f{Ej}}{f{Ej}}}j}{{{f{Mb}}{f{Mb}}}j}{{f{f{c}}}j{}}000{{{f{Ej}}{f{bBf}}}Bh}0{{{f{Mb}}{f{bBf}}}Bh}0{cc{}}0{{{f{Ej}}{f{bc}}}AnDn}{{{f{Mb}}{f{bc}}}AnDn}{{}c{}}0{Mbc{}}{MfEj}{MhMb}{{{f{Ej}}{f{Ej}}}{{Cl{Dl}}}}{{{f{Mb}}{f{Mb}}}{{Cl{Dl}}}}{{{f{Ej}}c}DbE`}{{{f{Mb}}c}DbE`}{{EjEj}c{}}{{EjMb}c{}}{{MbMb}c{}}{{{f{bEj}}Mb}An}{{{f{bMb}}Mb}An}`{fc{}}0{fEb}0{c{{Db{e}}}{}{}}0{{}{{Db{c}}}{}}0{fDd}0```````````````````{{Mje}{{Db{{h{{Ml{c}}{Mn{e}}Mj}}N`}}}{}{AdNb{Nd{c}}}}{Mj{{h{{Nf{{h{L`Mj}}}}{Nj{{Db{{h{NhMj}}N`}}}}Mj}}}}{Mj{{h{{Nf{{h{EbMj}}}}{Nj{{Db{{h{EbMj}}Nl}}}}Mj}}}}{Mj{{h{NnO`Mj}}}}{Mj{{h{ObOdMj}}}}{f{{f{c}}}{}}0000{{{f{b}}}{{f{bc}}}{}}0000`{{{f{{Of{c}}}}}{{Of{c}}}Ad}{{{f{{Oh{c}}}}}{{Oh{c}}}Ad}{{f{f{bc}}}An{}}0{fAn}0{ceGhOj}{ceGh{OlOn}}{e{{h{{Ml{c}}{Mn{e}}}}}{}{AdNb{Nd{c}}}}{{}{{h{{Ml{L`}}{Mn{A@`}}}}}}{{}{{h{{Ml{Eb}}{Mn{A@b}}}}}}``{c{{A@d{e}}}{{A@h{{Hn{A@f}}}}}If}{{{f{bA@j}}}An}{cc{}}0000{{}c{}}0000{{{f{Fl}}}{{Db{MjN`}}}}{{cCh}{{AA`{{`{{Bn{{f{bA@l}}}{{Bl{{A@n{Cl}}}}}}}}}}}{K`AAb}}``{c{{`{{n{}{{l{}}}}}}}Gh}{{{f{Fl}}{f{Fl}}}{{h{A@jAAdAAf}}}}{cL`In}`{{{f{b{Hn{c}}}}g}An{}Kb{{Ll{{f{c}}}{{Bl{{f{e}}}}}}}}`{Gj{{h{{AAj{AAhA@`}}{AAn{AAlA@`}}}}}}{Gj{{h{{AAj{AAhAB`}}{AAn{AAlAB`}}}}}}{{Gjc}{{h{{AAj{AAhc}}{AAn{AAlc}}}}}{AdNb}}{Gj{{h{{AAj{AAhA@b}}{AAn{AAlA@b}}}}}}{fc{}}0{c{{Db{e}}}{}{}}0000{{}{{Db{c}}}{}}0000{fDd}0000{ABb{{h{NnO`Mj}}}}{ABb{{h{ABdABfMj}}}}{{ABbe}{{h{{ABh{ec}}{ABj{e}}Mj}}}{}{{Nd{c}}Nb}}{ABb{{h{{ABh{A@bEb}}{ABj{A@b}}Mj}}}}{{}{{h{{ABl{c}}{ABn{c}}}}}{}}{AC`{{h{{AAj{ACbA@`}}{AAn{ACdA@`}}}}}}{AC`{{h{{AAj{ACbAB`}}{AAn{ACdAB`}}}}}}{{AC`c}{{h{{AAj{ACbc}}{AAn{ACdc}}}}}{AdNb}}{AC`{{h{{AAj{ACbA@b}}{AAn{ACdA@b}}}}}}`{{{Cl{ACf}}}{{h{{Nf{c}}{Nj{c}}}}}{}}{{{f{bEb}}{f{bAAf}}{f{Fl}}}An}``{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{bACh}}}An}{{{f{b{ACj{c}}}}}AnOl}{{{f{{ACj{c}}}}}{{ACj{c}}}{OlAd}}{{f{f{bc}}}An{}}{fAn}{{{f{{ACj{c}}}}{f{{ACj{c}}}}}Dl{OlKb}}{{}{{ACj{c}}}Ol}{{{f{{ACj{c}}}}{f{{ACj{c}}}}}j{OlKd}}{{f{f{c}}}j{}}0{{{f{{ACj{c}}}}{f{bBf}}}Bh{OlBj}}{cc{}}{{{f{{ACj{c}}}}{f{be}}}An{OlAb}Dn}{{}c{}}{{{f{{ACj{c}}}}{f{{ACj{c}}}}}{{Cl{Dl}}}{OlKf}}{fc{}}{c{{Db{e}}}{}{}}{{}{{Db{c}}}{}}{fDd}`````{{ACl{f{bc}}}An{}}{{{ACn{}{{Bl{c}}}}}c{}}```````````````````````````````````````````````````{{{f{bAD`}}}Gj}{ADb{{ADd{{En{F`}}}}}}{f{{f{c}}}{}}00000000000{{{f{b}}}{{f{bc}}}{}}00000000000{{{f{ADf}}}ADf}{{{f{ADb}}}ADb}{{f{f{bc}}}An{}}0{fAn}0{AD`cADh}0{c{{Db{ADf}}}Md}{c{{Db{ADb}}}Md}{{{f{ADf}}{f{bBf}}}{{Db{AnADj}}}}{{{f{ADl}}{f{bBf}}}{{Db{AnADj}}}}{{{f{ADb}}{f{bBf}}}{{Db{AnADj}}}}{{{f{AD`}}{f{bBf}}}{{Db{AnADj}}}}{{{f{ADn}}{f{bBf}}}{{Db{AnADj}}}}{cc{}}000000{{{f{ADf}}}ADl}11111{AD`{{ADd{{En{F`}}}}}}000{{}{{AE`{c}}}{IfOl}}0{{{f{ADf}}}AD`}{{}c{}}00000000000{{{AEf{}{{AEb{c}}{AEd{e}}}}}eIh{{AEj{c}{{AEh{N`}}}}IhAEl}}{AEn{{ADd{{En{AEj}}}}}}{{{AF`{c}}}{}AEf}{{{AFd{}{{Bl{c}}{AFb{e}}}}}eIh{{Gh{}{{l{{Db{cN`}}}}}}IhAEl}}{AEn{{ADd{{En{Gh}}}}}}{{{AFf{c}}}{}AFd}``{FdAn}`{{{ADd{{f{b{AFh{ce}}}}}}{f{bA@l}}}{{A@n{{Db{An}}}}}{}{{AEj{c}{{AEh{N`}}}}IhAEl}}0{{{ADd{{f{b{AFj{ce}}}}}}{f{bA@l}}}{{A@n{Cl}}}AAb{{Gh{}{{l{c}}}}IhAElAFl}}{{{ADd{{f{b{AFn{ce}}}}}}{f{bA@l}}}{{A@n{Cl}}}AAb{{Gh{}{{l{{Db{cN`}}}}}}IhAElAFl}}2{{{f{{AE`{c}}}}{f{Fl}}}AD`{}}{{{f{ADf}}c}DbE`}{{{f{ADb}}c}DbE`}{{{f{ADn}}}ADf}{{{ADd{{f{b{AFh{ce}}}}}}{h{AG`c}}}{{Db{An}}}{}{{AEj{c}{{AEh{N`}}}}IhAEl}}{fc{}}0{c{{Db{e}}}{}{}}00000000000{{}{{Db{c}}}{}}00000000000{{{ADd{{f{bc}}}}{f{bA@l}}}{{A@n{{Cl{Db}}}}}{}}0{fDd}00000000000`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{{AGb{ce}}}}}{{AGb{ce}}}{KfAd}Ad}{{f{f{bc}}}An{}}{fAn}{{}{{AGb{ce}}}KfOl}{{{f{{AGb{ce}}}}{f{bBf}}}Bh{KfBj}Bj}{cc{}}{{{f{b{AGb{ce}}}}c}{{f{be}}}KfACh}{{{f{b{AGb{ce}}}}c}{{f{be}}}KfOl}{{{f{b{AGb{ce}}}}cg}{{f{be}}}Kf{}{{AGd{}{{Bl{e}}}}}}{{}c{}}{c{{AGb{ec}}}{}Kf}{fc{}}{c{{Db{e}}}{}{}}{{}{{Db{c}}}{}}{fDd}`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{{AGf{c}}}}}{{AGf{c}}}{AdAbA`}}{{f{f{bc}}}An{}}{fAn}{{}{{AGf{c}}}{AbA`}}{{{f{{AGf{c}}}}{f{{AGf{c}}}}}j{KdAbA`}}{{f{f{c}}}j{}}0{{{f{{AGf{c}}}}{f{bBf}}}Bh{BjAbA`}}{cc{}}{e{{AGf{c}}}{AbA`}{{K`{}{{l{c}}}}}}{{{f{b{AGf{c}}}}c}An{AbA`}}{{}c{}}{fc{}}{c{{Db{e}}}{}{}}{{}{{Db{c}}}{}}{fDd}``````````{{{f{bAGh}}Ebc}{{f{AGj}}}{{AGd{{f{bAGl}}}{{Bl{Fd}}}}}}{f{{f{c}}}{}}000000{{{f{b}}}{{f{bc}}}{}}000000{AGnAGj}{{{f{AH`}}}AH`}{{f{f{bc}}}An{}}{fAn}{{}AGh}{c{{Db{AH`}}}Md}{{{f{AH`}}{f{AH`}}}j}{{f{f{c}}}j{}}0{{{f{AH`}}{f{bBf}}}Bh}{cc{}}000000{{{f{AGh}}{f{Fl}}}{{Cl{{f{AGj}}}}}}{{{f{bAGh}}{f{Fl}}}{{Cl{{f{bAGj}}}}}}{{{f{AH`}}{f{bc}}}AnDn}{{}c{}}000000{AHbAGn}:{{AHbEb}AH`}{{{f{bAGl}}Eb}{{ABn{{h{cAH`}}}}}{}}{{{f{bAGl}}Eb}{{`{{AEj{{h{cAH`}}}{{AEh{AHd}}}}}}}{}}{{{f{bAGh}}}An}{{{f{bAGh}}}j}{{{f{bAGj}}}j}2{{{f{AHf}}AHh}An}{{{f{AH`}}c}DbE`}{fc{}}{c{{Db{e}}}{}{}}000000{{}{{Db{c}}}{}}000000{fDd}000000{{AGnc}AGn{{AGd{{f{bAGl}}}{{Bl{Fd}}}}}}`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{}{{AHj{c}}}{}}{{{f{b{AHj{c}}}}{f{c}}}An{AdA`Ab}}{cc{}}{{}c{}}{{{f{{AHj{c}}}}}{{`{{AHl{}{{l{{f{c}}}}}}AHnAd}}}{AdA`Ab}}{{{f{b{AHj{c}}}}c}An{AdA`Ab}};:9```````77776666{Ch{{h{{Nf{c}}{Nj{c}}}}}{}}{{{Cl{ACf}}}{{h{{Nf{c}}{Nj{c}}}}}{}}{{{f{{Nf{c}}}}}{{Nf{c}}}{}}{{{f{{Ln{c}}}}}{{Ln{c}}}Ad}{{{f{{AI`{c}}}}}{{AI`{c}}}Ad}{{f{f{bc}}}An{}}00{fAn}00{{{f{b{Nj{c}}}}}An{}}{{{f{b{Nf{c}}}}}An{}}01{{{f{{Ln{c}}}}{f{{Ln{c}}}}}jKd}{{{f{{AI`{c}}}}{f{{AI`{c}}}}}jKd}{{f{f{c}}}j{}}000{{{f{{Ln{c}}}}{f{bBf}}}{{Db{AnADj}}}{}}0{{{f{{AI`{c}}}}{f{bBf}}}{{Db{AnADj}}}{}}0{cc{}}00{{{Ln{c}}}{{AI`{c}}}{}}1{{}c{}}000{{{f{{Nf{c}}}}}j{}}{{{ADd{{f{b{Nf{c}}}}}}{f{bA@l}}}{{A@n{{Db{Ane}}}}}{}{}}0{{{ADd{{f{b{Nj{c}}}}}}{f{bA@l}}}{{A@n{{Cl{e}}}}}{}{}}1{{{f{b{Nj{c}}}}{f{A@l}}}{{A@n{{Cl{c}}}}}{}}{{{f{b{Nj{c}}}}}{{Cl{c}}}{}}{{{f{{Nf{c}}}}c}{{Db{An{Ln{c}}}}}{}}{{{ADd{{f{b{Nf{c}}}}}}c}{{Db{Ane}}}{}{}}{fc{}}00{fEb}0{c{{Db{e}}}{}{}}000{{}{{Db{c}}}{}}000{{{ADd{{f{bc}}}}{f{bA@l}}}{{A@n{{Cl{Db}}}}}{}}{{{f{{Nf{c}}}}c}{{Db{An{AI`{c}}}}}{}}{fDd}000{{}{{h{{Nf{c}}{Nj{c}}}}}{}}","D":"CBb","p":[[0,"mut"],[8,"FxHashSet",1173],[1,"reference"],[1,"tuple"],[1,"bool"],[17,"Item"],[10,"Iterator",1174],[10,"Eq",1175],[10,"Hash",1176],[10,"Clone",1177],[10,"HalfJoinState",38,1178],[5,"HalfMultisetJoinState",38,1179],[5,"HalfSetJoinState",38,1180],[5,"HalfJoinStateFold",38,1181],[1,"unit"],[5,"HalfJoinStateFoldFrom",38,1182],[5,"HalfJoinStateReduce",38,1183],[5,"CrossJoinState",38,1184],[5,"Formatter",1185],[8,"Result",1185],[10,"Debug",1185],[17,"Output"],[10,"FnMut",1186],[5,"Iter",1187],[1,"array"],[5,"SmallVec",1188],[5,"Iter",1189],[1,"usize"],[5,"CrossJoin",38,1184],[6,"Option",1190],[5,"SymmetricHashJoin",38,1191],[5,"AntiJoin",38,1192],[6,"Result",1193],[5,"TypeId",1194],[5,"SubgraphId",162],[5,"HandoffId",162],[5,"StateId",162],[6,"Ordering",1175],[10,"Hasher",1176],[10,"Serializer",1195],[5,"String",1196],[5,"Context",234],[5,"StateHandle",540],[10,"Any",1194],[5,"TickInstant",580],[5,"SystemTime",1197],[5,"Box",1198],[10,"Future",1199],[5,"Waker",1200],[5,"Hydroflow",258],[8,"SendPort",449],[5,"SyncSender",1201],[5,"Input",401],[1,"str"],[6,"Cow",1202],[10,"Into",1203],[10,"Handoff",325],[10,"CanReceive",325],[5,"Buffer",401],[10,"Stream",1204],[5,"TcpStream",1205],[5,"Message",428],[5,"VecHandoff",325,1206],[8,"RecvPort",449],[6,"RECV",449],[10,"PortList",393],[6,"SEND",449],[8,"RecvCtx",449],[8,"SendCtx",449],[5,"Vec",1207],[1,"slice"],[5,"SerdeSpan",1208],[5,"Diagnostic",1208],[1,"u16"],[10,"DeserializeOwned",1209],[10,"Send",1210],[5,"HydroflowGraph",1211],[8,"Address",448],[10,"Serialize",1195],[5,"Reactor",526],[8,"Never",0],[5,"TeeingHandoff",325,1212],[10,"GraphExt",314],[10,"HandoffMeta",325],[17,"Inner"],[5,"RefMut",1213],[5,"Iter",325],[10,"IntoIterator",1214],[10,"Ord",1175],[10,"PartialEq",1175],[10,"PartialOrd",1175],[10,"TryCanReceive",325],[17,"Ctx"],[10,"Variadic",1215],[10,"Give",401],[5,"Bytes",1216],[5,"PortCtx",449],[5,"Port",449],[10,"Polarity",449],[5,"Operator",500],[5,"Query",500],[10,"Fn",1186],[5,"SendError",1096,1217],[5,"StateHandleErased",540],[5,"TickDuration",580],[10,"Deserializer",1209],[1,"u64"],[1,"i64"],[6,"SocketAddr",1218],[8,"TcpFramedSink",643,1219],[8,"TcpFramedStream",643,1219],[5,"Error",1220],[10,"Decoder",1221],[10,"Encoder",1222],[5,"Sender",1096],[5,"BytesMut",1223],[5,"Receiver",1096],[6,"LinesCodecError",1224],[8,"UdpSink",643,1225],[8,"UdpStream",643,1225],[8,"UdpLinesSink",643,1225],[8,"UdpLinesStream",643,1225],[5,"MonotonicFn",643,1226],[5,"Morphism",643,1226],[10,"FromIterator",1214],[10,"Default",1227],[10,"Extend",1214],[5,"LengthDelimitedCodec",1228],[5,"LinesCodec",1224],[8,"Result",1229],[1,"u8"],[10,"AsRef",1203],[5,"DroppableChild",643],[5,"Context",1200],[6,"Poll",1230],[5,"PollFn",1231],[10,"Unpin",1210],[5,"ChildStdin",1232],[5,"ChildStdout",1232],[5,"OwnedWriteHalf",1233],[5,"FramedWrite",1234],[5,"OwnedReadHalf",1233],[5,"FramedRead",1235],[5,"BytesCodec",1236],[5,"UdpSocket",1237],[8,"UdpBytesSink",643,1225],[8,"UdpBytesStream",643,1225],[8,"UdpFramedSink",643,1225],[8,"UdpFramedStream",643,1225],[5,"UnboundedSender",1238],[5,"UnboundedReceiverStream",1239],[5,"UnixStream",1240],[5,"OwnedWriteHalf",1241],[5,"OwnedReadHalf",1241],[8,"NonZeroUsize",1242],[10,"Clear",746],[5,"ClearDefault",746],[10,"DemuxEnum",769],[10,"SingleVariant",769],[6,"ServerOrBound",776,1243],[6,"ServerBindConfig",776,1243],[5,"Pin",1244],[6,"ServerPort",776,1243],[10,"Connected",776,1243],[5,"Error",1185],[6,"RealizedServerPort",776,1243],[6,"BoundConnection",776,1243],[5,"DeployPorts",776],[17,"Input"],[17,"Sink"],[10,"ConnectedSink",776,1243],[17,"Error"],[10,"Sink",1245],[10,"Sync",1210],[5,"ConnectedDirect",776,1243],[5,"ConnectedDemux",776,1243],[17,"Stream"],[10,"ConnectedSource",776,1243],[5,"ConnectedTagged",776,1243],[5,"DemuxDrain",776,1243],[5,"MergeSource",776,1243],[10,"Sized",1210],[5,"TaggedSource",776,1243],[1,"u32"],[5,"MonotonicMap",960],[10,"FnOnce",1186],[5,"HashMultiSet",978],[5,"Fleet",997],[5,"Host",997],[5,"TransducerBuilderContext",997],[5,"HostBuilder",997],[5,"Address",997],[8,"Hostname",997],[6,"Infallible",1203],[10,"MessageSender",997],[8,"MessageWithAddress",997],[5,"SparseVec",1083],[10,"DoubleEndedIterator",1246],[10,"FusedIterator",1247],[6,"TrySendError",1096,1217],[10,"PortListSplit",393],[6,"Persistence",643],[6,"PersistenceKeyed",643],[5,"Inbox",997],[5,"Outbox",997]],"r":[[0,1248],[6,1249],[9,1248],[10,1248],[11,1248],[17,1248],[18,1248],[32,1215],[33,1215],[34,1215],[38,1192],[39,1184],[40,1184],[41,1178],[42,1181],[43,1182],[44,1183],[45,1179],[46,1180],[47,1191],[48,1192],[131,1191],[330,1212],[332,1206],[646,1226],[647,1226],[652,1219],[653,1219],[654,1225],[655,1225],[656,1225],[657,1225],[658,1225],[659,1225],[660,1225],[661,1225],[662,1219],[686,1219],[713,1219],[714,1219],[715,1219],[716,1219],[734,1225],[735,1225],[736,1225],[737,1225],[739,1250],[740,1250],[741,1250],[742,1250],[770,1248],[777,1243],[778,1243],[779,1243],[780,1243],[781,1243],[782,1243],[783,1243],[784,1243],[789,1243],[791,1243],[792,1243],[793,1243],[794,1243],[800,1243],[806,1243],[808,1243],[809,1243],[810,1243],[813,1243],[818,1243],[907,0],[1099,1217],[1101,1217]],"b":[[192,"impl-Display-for-SubgraphId"],[193,"impl-Debug-for-SubgraphId"],[194,"impl-Display-for-HandoffId"],[195,"impl-Debug-for-HandoffId"],[362,"impl-CanReceive%3CVec%3CT%3E%3E-for-VecHandoff%3CT%3E"],[363,"impl-CanReceive%3CIter%3CI%3E%3E-for-VecHandoff%3CT%3E"],[364,"impl-CanReceive%3COption%3CT%3E%3E-for-VecHandoff%3CT%3E"],[610,"impl-Debug-for-TickInstant"],[611,"impl-Display-for-TickInstant"],[612,"impl-Debug-for-TickDuration"],[613,"impl-Display-for-TickDuration"],[627,"impl-Sub-for-TickInstant"],[628,"impl-Sub%3CTickDuration%3E-for-TickInstant"],[1131,"impl-Display-for-SendError%3CT%3E"],[1132,"impl-Debug-for-SendError%3CT%3E"],[1133,"impl-Debug-for-TrySendError%3CT%3E"],[1134,"impl-Display-for-TrySendError%3CT%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAQDYAABAAAABAABAAgAAAANAAQAFAAAABcAAAAZAAYAJAABACcAHABFABAAXwACAGsAEQB+AAEAgQAhAKYAEAC4AA0AzAADANQAAQDZAAEA3QANAO4AAQD/AAIABQEDAAsBBAARAQEAFQEDABwBAAAeAQAAIAEBACgBAAA3AQEAOgEAAE8BBwBYAQ4AawECAG8BAABxAQAAdQEAAHcBAAB5AQAAewEGAIQBBQCSAQsAoAECAKUBFAC8AQUAywEHAOEBAQDnAQMA7QERAAMCCwAQAgQAGAIAABoCAgAfAhMANQICADoCCgBJAh0AaQIBAG0CAABwAggAegIJAJwCCQCnAgUAswIAALUCAADOAhAA7QIBAPACCQD7AgAA/QIEAAMDAAAJAw0AGAMSACwDOABsAwAAcgMGAIUDOwDCAwYAzwMDANQDCQDfAwAA4gMDAPEDDQAABAgAEgQAACQEFgA9BAIARQQCAE8EBwBZBAgAZAQLAHMEAAB6BAMAgQQOAJEEAwA="}],["hydroflow_datalog",{"t":"Q","n":["datalog"],"q":[[0,"hydroflow_datalog"]],"i":"`","f":"`","D":"b","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAAA"}],["hydroflow_datalog_core",{"t":"HHHH","n":["gen_hydroflow_graph","hydroflow_graph_to_program","parse_pipeline","parse_static"],"q":[[0,"hydroflow_datalog_core"],[4,"proc_macro2"],[5,"hydroflow_lang::graph::hydroflow_graph"],[6,"hydroflow_lang::diagnostic"],[7,"alloc::vec"],[8,"core::result"],[9,"alloc::string"],[10,"rust_sitter"],[11,"hydroflow_lang::parse"],[12,"core::ops::function"],[13,"syn::expr"]],"i":"````","f":"{b{{j{d{h{f}}}}}}{{dl}l}{{{Ab{{A`{n}}}}{Ab{c}}}{{j{Ad{h{f}}}}}{{An{{Ah{AfAf}}}{{Aj{Al}}}}}}{{{Ab{{A`{n}}}}{Ab{c}}}{{j{B`{h{f}}}}}{{An{{Ah{AfAf}}}{{Aj{Al}}}}}}","D":"`","p":[[5,"Literal",4],[5,"HydroflowGraph",5],[5,"Diagnostic",6],[5,"Vec",7],[6,"Result",8],[5,"TokenStream",4],[5,"String",9],[5,"Spanned",10],[1,"reference"],[6,"Pipeline",11],[1,"usize"],[1,"tuple"],[17,"Output"],[5,"Span",4],[10,"Fn",12],[6,"Expr",13]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAQAEAAAAAAAAQACAAMABAA="}],["hydroflow_deploy_integration",{"t":"PGIKFFKKFPPPPFIIIIRPPPPFPPPPRGPGGGRRKPPPPFPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNMNNMNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Bound","BoundConnection","BufferedDrain","Connected","ConnectedDemux","ConnectedDirect","ConnectedSink","ConnectedSource","ConnectedTagged","Demux","","","","DemuxDrain","DynSink","DynStream","DynStreamSink","InitConfig","Input","Merge","","","","MergeSource","Null","","","","Output","RealizedServerPort","Server","ServerBindConfig","ServerOrBound","ServerPort","Sink","Stream","StreamSink","Tagged","","","","TaggedSource","TcpPort","","","","UnixSocket","","","","accept_tcp","bind","borrow","","","","","","","","","","","borrow_mut","","","","","","","","","","","clone","","clone_into","","clone_to_uninit","","connect","connect_local_blocking","deserialize","","fmt","","","","","from","","","","","","","","","","","","from_defn","","","","instantiate","into","","","","","","","","","","","into_sink","","","into_source","","","keys","poll_close","poll_flush","poll_next","","poll_ready","serialize","","sink_port","start_send","to_owned","","try_from","","","","","","","","","","","try_into","","","","","","","","","","","try_poll_next","","type_id","","","","","","","","","",""],"q":[[0,"hydroflow_deploy_integration"],[170,"tokio::net::tcp::stream"],[171,"core::future::future"],[172,"alloc::boxed"],[173,"core::pin"],[174,"core::result"],[175,"serde::de"],[176,"core::fmt"],[177,"core::marker"],[178,"std::io::error"],[179,"futures_sink"],[180,"futures_core::stream"],[181,"core::task::wake"],[182,"core::task::poll"],[183,"core::option"],[184,"serde::ser"],[185,"core::any"]],"i":"d````````AbB`jBb`````Bh4321`4321Cn`6```10`5432`5432543263CdChDnEfDf:98;7Dh54321;:9<80;9;9;9<<;9;:9<854321;::9<80Af652<65432<;:=91865762511431<:91<:65432<;:=9165432<;:=914365432<;:=91","f":"``````````````````````````````````````````````````{{{f{bd}}}h}{j{{A`{{n{l}}}}}}{f{{f{c}}}{}}0000000000{{{f{b}}}{{f{bc}}}{}}0000000000{{{f{Ab}}}Ab}{{{f{j}}}j}{{f{f{bc}}}Ad{}}0{fAd}0{dcAf}0{c{{Ah{Ab}}}Aj}{c{{Ah{j}}}Aj}{{{f{Ab}}{f{bAl}}}An}{{{f{B`}}{f{bAl}}}An}{{{f{j}}{f{bAl}}}An}{{{f{d}}{f{bAl}}}An}{{{f{Bb}}{f{bAl}}}An}{cc{}}00000{{{f{Ab}}}B`}11111{d{{A`{{n{l}}}}}}000{{{f{Ab}}}d}{{}c{}}0000000000{{{Bh{}{{Bd{c}}{Bf{e}}}}}eBj{{C`{c}{{Bl{Bn}}}}BjCb}}{Cd{{Cf{c}}}{}}{{{Ch{c}}}eBh{}}{{{Cn{}{{Cj{c}}{Cl{e}}}}}eBj{{Db{}{{D`{{Ah{cBn}}}}}}BjCb}}{CdDd}{{{Df{c}}}eCn{}}`{{{A`{{f{b{Dh{ce}}}}}}{f{bDj}}}{{Dl{{Ah{Adg}}}}}{}{{C`{c}{{Bl{Bn}}}}BjCb}{}}0{{{A`{{f{b{Dn{ce}}}}}}{f{bDj}}}{{Dl{{E`{g}}}}}Eb{{Db{}{{D`{c}}}}BjCbEd}{}}{{{A`{{f{b{Ef{ce}}}}}}{f{bDj}}}{{Dl{{E`{g}}}}}Eb{{Db{}{{D`{{Ah{cBn}}}}}}BjCbEd}{}}2{{{f{Ab}}c}AhEh}{{{f{j}}c}AhEh}{{{f{Bb}}}Ab}{{{A`{{f{b{Dh{ce}}}}}}{El{Ejc}}}{{Ah{Adg}}}{}{{C`{c}{{Bl{Bn}}}}BjCb}{}}{fc{}}0{c{{Ah{e}}}{}{}}0000000000{{}{{Ah{c}}}{}}0000000000{{{A`{{f{bc}}}}{f{bDj}}}{{Dl{{E`{Ah}}}}}{}}0{fEn}0000000000","D":"Bn","p":[[0,"mut"],[6,"ServerOrBound",0],[1,"reference"],[5,"TcpStream",170],[6,"ServerBindConfig",0],[10,"Future",171],[5,"Box",172],[5,"Pin",173],[6,"ServerPort",0],[1,"unit"],[10,"Connected",0],[6,"Result",174],[10,"Deserializer",175],[5,"Formatter",176],[8,"Result",176],[6,"RealizedServerPort",0],[6,"BoundConnection",0],[17,"Input"],[17,"Sink"],[10,"ConnectedSink",0],[10,"Send",177],[17,"Error"],[5,"Error",178],[10,"Sink",179],[10,"Sync",177],[5,"ConnectedDirect",0],[8,"DynSink",0],[5,"ConnectedDemux",0],[17,"Output"],[17,"Stream"],[10,"ConnectedSource",0],[17,"Item"],[10,"Stream",180],[8,"DynStream",0],[5,"ConnectedTagged",0],[5,"DemuxDrain",0],[5,"Context",181],[6,"Poll",182],[5,"MergeSource",0],[6,"Option",183],[10,"Unpin",177],[10,"Sized",177],[5,"TaggedSource",0],[10,"Serializer",184],[1,"u32"],[1,"tuple"],[5,"TypeId",185]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJMABQAAACEAIwA2AGAAAABmAAQAdgA0AA=="}],["hydroflow_lang",{"t":"CCCCCCFPPGPFPNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNOOONONNNONNNNNNNNNNNNNNNNNGPFPPFFGFFPPFPPPFPFPGPPFGNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOHCNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNOOONNNCONNNNNHONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNOOOOHHHPPGPPPPSPPPPPPPSSGFFGPGSSSKPPPPPPPPFIOONNNNNNNNNNNNNNONNNNNNNNNNNNNNNMONNNMNNNHHNNNNNNNNNNNOOONNOOHOONNNNNNNOONNOOHOOOOHONNNOOOONOOOMONNNNNNNNNNNNNNNNNNONNNNNNNOOOOFGFPFFPPPPPFFPPPGPFFFGFPNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNONONOOOONNNNNNNNNNNNNHNOOOOOOOONNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOFFNNNNNNNNNNNNNNNNNNHHHFNNNNNNNNNNNNNNNNN","n":["diagnostic","graph","parse","pretty_span","process_singletons","union_find","Diagnostic","Error","Help","Level","Note","SerdeSpan","Warning","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","cmp","column","deserialize","","","emit","eq","fmt","","","","","","from","","","","","hash","into","","","is_error","","level","line","message","partial_cmp","path","serialize","","","span","spanned","to_owned","","","to_serde","to_string","","to_tokens","try_from","","","try_into","","","type_id","","","Color","Comp","DiMulGraph","Dot","Elided","FlatGraphBuilder","GraphEdgeId","GraphNode","GraphNodeId","GraphSubgraphId","Handoff","Hoff","HydroflowGraph","Int","Mermaid","ModuleBoundary","OpInstGenerics","Operator","OperatorInstance","Path","PortIndexValue","Pull","Push","WriteConfig","WriteGraphType","add_statement","arguments_pre","arguments_raw","as_code","as_error_message_string","assert_valid","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","build","build_hfcode","clone","","","","","","","","","","","clone_into","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","cmp","","","","","combine","command","command_for_update","data","","","default","","","","","","","degree_in","degree_out","deserialize","","","","","","","","edge","","edge_ids","","edge_ports","edges","","eliminate_extra_unions_tees","eq","","","","","fmt","","","","","","","","","","","","","","from","","","","","","","","","","","","","","","","","","from_arg_matches","","from_arg_matches_mut","","from_hfcode","from_hfmodule","from_ported","generic_args","generics","get_operator_generics","graph_algorithms","group_id","has_subcommand","hash","","","input_ports","insert_edge","","insert_intermediate_node","insert_intermediate_vertex","insert_node","insert_node_op_inst","insert_node_op_insts_all","insert_subgraph","into","","","","","","","","","","","","","is_specified","max_stratum","merge_modules","mermaid_string_flat","new","","","no_handoffs","no_pull_push","no_references","no_subgraphs","no_varnames","node","node_color_map","node_degree_in","node_degree_out","node_ids","node_op_inst","node_predecessor_edges","node_predecessor_nodes","node_predecessors","node_singleton_references","node_subgraph","node_successor_edges","node_successor_nodes","node_successors","node_varname","nodes","op_constraints","op_short_text","op_text_no_imports","open_dot","open_graph","open_mermaid","ops","output_ports","partial_cmp","","","","","partition_graph","persistence_args","predecessor_edges","predecessor_vertices","predecessors","remove_edge","","remove_from_subgraph","remove_intermediate_node","remove_intermediate_vertex","remove_vertex","serialize","","","","","","","","set_node_singleton_references","set_subgraph_laziness","set_subgraph_stratum","singletons_referenced","span","","subgraph","subgraph_ids","subgraph_stratum","subgraphs","successor_edges","successor_vertices","successors","surface_syntax_string","to_dot","to_mermaid","to_name_string","to_owned","","","","","","","","","","","to_possible_value","to_pretty_string","to_string","try_from","","","","","","","","","","","","","try_into","","","","","","","","","","","","","type_args","type_id","","","","","","","","","","","","","update_from_arg_matches","","update_from_arg_matches_mut","","value_variants","with_capacity","write_dot","write_mermaid","write_mermaid_flat","write_surface_syntax","dst_span","import_expr","input","src_span","scc_kosaraju","topo_sort","topo_sort_scc","CompilerFusionOperator","Control","DelayType","Filter","Fixed","Flatten","Fold","IDENTITY_WRITE_FN","KeyedFold","LatticeFold","Map","MonotoneAccum","MultiIn","MultiOut","Mutable","NULL_WRITE_FN","OPERATORS","OperatorCategory","OperatorConstraints","OperatorWriteOutput","Persistence","","PortListSpec","RANGE_0","RANGE_1","RANGE_ANY","RangeTrait","Sink","Source","Static","Stratum","Tick","","TickLazy","Variadic","WriteContextArgs","WriteFn","arguments","arguments_handles","borrow","","","","","","","borrow_mut","","","","","","","categories","clone","","","","clone_into","","","","clone_to_uninit","","","","cmp","","","contains","context","default","description","deserialize","end_bound","eq","","","find_node_op_constraints","find_op_op_constraints","fmt","","","","from","","","","","","","hard_range_inn","hard_range_out","has_singleton_output","hash","human_string","hydroflow","ident","identity_write_iterator_fn","input_delaytype_fn","inputs","into","","","","","","","is_external_input","is_pull","make_ident","name","","node_id","null_write_iterator_fn","num_args","op_inst","op_name","op_span","operator_lookup","outputs","partial_cmp","","","persistence_args","ports_inn","ports_out","root","serialize","singleton_output_ident","soft_range_inn","soft_range_out","start_bound","subgraph_id","to_owned","","","","try_from","","","","","","","try_into","","","","","","","type_args","type_id","","","","","","","write_fn","write_iterator","write_iterator_after","write_prologue","HfCode","HfStatement","Import","","IndexInt","Indexing","Int","Link","ModuleBoundary","Name","Named","NamedHfStatement","Operator","","Paren","Path","Pipeline","","PipelineLink","PipelineParen","PipelineStatement","PortIndex","Ported","Use","args","","args_raw","arrow","bang","borrow","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","bracket_token","clone","","","","","","","","","clone_into","","","","","","","","","clone_to_uninit","","","","","","","","","cmp","eq","equals","filename","fmt","","","","","","","","","from","","","","","","","","","","","","","hash","import","index","inn","inner","into","","","","","","","","","","","","","lhs","name","","name_string","out","paren_token","","","parse","","","","","","","","","","","","","parse_terminated","partial_cmp","path","pipeline","","","rhs","semi_token","","singletons_referenced","span","","","","","","","","","","","","","","statements","to_owned","","","","","","","","","to_pretty_string","to_tokens","","","","","","","","","","","","","try_from","","","","","","","","","","","","","try_into","","","","","","","","","","","","","type_arguments","type_id","","","","","","","","","","","","","value","PrettyRowCol","PrettySpan","borrow","","borrow_mut","","fmt","","from","","into","","to_string","","try_from","","try_into","","type_id","","postprocess_singletons","postprocess_singletons_handles","preprocess_singletons","UnionFind","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","find","from","into","new","same_set","to_owned","try_from","try_into","type_id","union","with_capacity"],"q":[[0,"hydroflow_lang"],[6,"hydroflow_lang::diagnostic"],[78,"hydroflow_lang::graph"],[426,"hydroflow_lang::graph::GraphNode"],[430,"hydroflow_lang::graph::graph_algorithms"],[433,"hydroflow_lang::graph::ops"],[597,"hydroflow_lang::parse"],[834,"hydroflow_lang::pretty_span"],[854,"hydroflow_lang::process_singletons"],[857,"hydroflow_lang::union_find"],[875,"core::clone"],[876,"core::cmp"],[877,"core::result"],[878,"serde::de"],[879,"core::fmt"],[880,"syn::error"],[881,"proc_macro2"],[882,"core::hash"],[883,"core::option"],[884,"serde::ser"],[885,"alloc::string"],[886,"core::convert"],[887,"core::any"],[888,"hydroflow_lang::graph::flat_graph_builder"],[889,"hydroflow_lang::graph::hydroflow_graph"],[890,"alloc::vec"],[891,"hydroflow_lang::graph::di_mul_graph"],[892,"slotmap"],[893,"clap_builder::builder::command"],[894,"syn::item"],[895,"std::path"],[896,"slotmap::basic"],[897,"core::iter::traits::exact_size"],[898,"core::iter::traits::marker"],[899,"clap_builder::parser::matches::arg_matches"],[900,"clap_builder"],[901,"syn::spanned"],[902,"clap_builder::util::id"],[903,"slotmap::sparse_secondary"],[904,"core::iter::traits::double_ended"],[905,"std::io::error"],[906,"core::slice::iter"],[907,"core::iter::adapters::copied"],[908,"alloc::borrow"],[909,"clap_builder::builder::possible_value"],[910,"alloc::collections::btree::map"],[911,"core::marker"],[912,"core::iter::traits::collect"],[913,"core::ops::function"],[914,"core::ops::range"],[915,"std::collections::hash::map"],[916,"syn::expr"],[917,"syn::token"],[918,"syn::punctuated"],[919,"syn::path"],[920,"syn::parse"],[921,"quote::to_tokens"],[922,"core::default"],[923,"hydroflow_lang::graph::eliminate_extra_unions_tees"],[924,"hydroflow_lang::graph::flat_to_partitioned"]],"i":"```````f0`0`00hl21021021021020210122111002110022102110120210112101101210210210`El`DnCl`````Ef3`120`0`1`33``CdEh0Ch4CnDl07714207E`EbEd86Ej<:5864;321970<:8`54;321970<:54;321970<:54;321970<:321<::;;321586432155563219<:5656656`321<:5864;321970<::55864;332211970<::4;4;88:07``4;3217566566665864;321970<::666586444446666666666666666744666`7321<:`0555566655563219<:66679:6666555666954;321970<:;9:5864;321970<:5864;321970<:05864;321970<:4;4;;56666N`Nb01```Jf0`0Nd11`111J`22Jd``````3`````33011012``Jb03K`3Jj23651402361423642364236436Jh31740547``254762513472227033`236251347233723`2333`35472223432203534762513476251347262513472111```Kl``Fl111Cf``221`0`````0Gf00LbKnDh4LnM`83GbL`6Ld:8Lf6:54<73281;901<73281;90<73281;90<73281;900057<73281;906:54<73281;90071336:54<73281;90895937296:54<73281;90`0954285496:54<73281;9006<73281;9096:54<73281;906:54<73281;906:54<73281;9096:54<73281;900``MhMj1010101010101010````Ml0000000000000000","f":"`````````````{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{b{f}}}f}{{{b{{h{c}}}}}{{h{c}}}j}{{{b{l}}}l}{{b{b{dc}}}n{}}00{bn}00{{{b{f}}{b{f}}}A`}`{c{{Ab{f}}}Ad}{c{{Ab{{h{e}}}}}AdAf}{c{{Ab{l}}}Ad}{{{b{h}}}n}{{{b{f}}{b{f}}}Ah}{{{b{f}}{b{dAj}}}Al}{{{b{h}}{b{dAj}}}Al}{{{b{{h{c}}}}{b{dAj}}}AlAn}{{{b{{h{l}}}}{b{dAj}}}Al}{{{b{l}}{b{dAj}}}Al}0{cc{}}0{B`h}1{Bbl}{{{b{f}}{b{dc}}}nBd}{{}c{}}00{{{b{f}}}Ah}{{{b{{h{c}}}}}Ah{}}```{{{b{f}}{b{f}}}{{Bf{A`}}}}`{{{b{f}}c}AbBh}{{{b{{h{c}}}}e}AbBjBh}{{{b{l}}c}AbBh}`{{Bbfc}h{{Bn{Bl}}}}{bc{}}00{{{b{h}}}{{h{l}}}}{bBl}0{{{b{h}}}C`}{c{{Ab{e}}}{}{}}00{{}{{Ab{c}}}{}}00{bCb}00`````````````````````````{{{b{dCd}}Cf}n}``{{{b{Ch}}{b{C`}}AhC`{b{d{Cj{h}}}}}C`}{{{b{Cl}}}Bl}{{{b{{Cn{ce}}}}}nD`D`}{DbDb}000{b{{b{c}}}{}}000000000000{{{b{d}}}{{b{dc}}}{}}000000000000{Cd{{Df{Ch{Cj{Dd}}{Cj{h}}}}}}{{Dh{b{C`}}Dj}{{Df{{Bf{{Df{ChC`}}}}{Cj{h}}}}}}{{{b{{Cn{ce}}}}}{{Cn{ce}}}{D`j}{D`j}}{{{b{Dl}}}Dl}{{{b{Dn}}}Dn}{{{b{E`}}}E`}{{{b{Eb}}}Eb}{{{b{Ed}}}Ed}{{{b{Ef}}}Ef}{{{b{Eh}}}Eh}{{{b{Ej}}}Ej}{{{b{El}}}El}{{{b{Cl}}}Cl}{{b{b{dc}}}n{}}0000000000{bn}0000000000{{{b{E`}}{b{E`}}}A`}{{{b{Eb}}{b{Eb}}}A`}{{{b{Ed}}{b{Ed}}}A`}{{{b{El}}{b{El}}}A`}{{{b{Cl}}{b{Cl}}}A`}{{ClCl}{{Ab{ClCl}}}}{{}Db}0{{{b{E`}}}En}{{{b{Eb}}}En}{{{b{Ed}}}En}{{}{{Cn{ce}}}D`D`}{{}Cd}{{}Ch}{{}Dl}{{}E`}{{}Eb}{{}Ed}{{{b{{Cn{ce}}}}c}F`D`D`}0{c{{Ab{{Cn{eg}}}}}Ad{D`Af}{D`Af}}{c{{Ab{Ch}}}Ad}{c{{Ab{E`}}}Ad}{c{{Ab{Eb}}}Ad}{c{{Ab{Ed}}}Ad}{c{{Ab{Ef}}}Ad}{c{{Ab{El}}}Ad}{c{{Ab{Cl}}}Ad}{{{b{{Cn{ce}}}}e}{{Bf{{Df{cc}}}}}D`D`}{{{b{Ch}}Eb}{{Df{E`E`}}}}{{{b{{Cn{ce}}}}}{{Fb{e{Df{cc}}}}}D`D`}{{{b{Ch}}}{{Fb{Eb{Df{E`E`}}}}}}{{{b{Ch}}Eb}{{Df{{b{Cl}}{b{Cl}}}}}}{{{b{{Cn{ce}}}}}{{`{{Ff{}{{Fd{{Df{e{Df{cc}}}}}}}}FhjAn}}}D`D`}{{{b{Ch}}}{{`{{Ff{}{{Fd{{Df{Eb{Df{E`E`}}}}}}}}FhjAn}}}}{{{b{dCh}}}n}{{{b{E`}}{b{E`}}}Ah}{{{b{Eb}}{b{Eb}}}Ah}{{{b{Ed}}{b{Ed}}}Ah}{{{b{El}}{b{El}}}Ah}{{{b{Cl}}{b{Cl}}}Ah}{{{b{{Cn{ce}}}}{b{dAj}}}Al{D`An}{D`An}}{{{b{Cd}}{b{dAj}}}Al}{{{b{Ch}}{b{dAj}}}Al}{{{b{Dl}}{b{dAj}}}Al}{{{b{Dn}}{b{dAj}}}Al}{{{b{E`}}{b{dAj}}}Al}{{{b{Eb}}{b{dAj}}}Al}{{{b{Ed}}{b{dAj}}}Al}{{{b{Ef}}{b{dAj}}}Al}{{{b{Eh}}{b{dAj}}}Al}{{{b{Ej}}{b{dAj}}}Al}{{{b{El}}{b{dAj}}}Al}{{{b{Cl}}{b{dAj}}}Al}0{{{Fj{c{Df{ee}}}}}{{Cn{ec}}}D`D`}{cc{}}0000{EnE`}11{EnEb}2{EnEd}33333{FlCl}{{{b{Fn}}}{{Ab{DlG`}}}}{{{b{Fn}}}{{Ab{DnG`}}}}{{{b{dFn}}}{{Ab{DlG`}}}}{{{b{dFn}}}{{Ab{DnG`}}}}{{DhDj}Cd}0{{{Gb{c}}}{{Df{ClcCl}}}Gd}``{{{b{d{Cj{h}}}}{b{Gf}}}Ej}`{{}{{Bf{Gh}}}}{{{b{Gj}}}Ah}{{{b{E`}}{b{dc}}}nBd}{{{b{Eb}}{b{dc}}}nBd}{{{b{Ed}}{b{dc}}}nBd}`{{{b{d{Cn{ce}}}}cc}eD`D`}{{{b{dCh}}E`ClE`Cl}Eb}{{{b{dCh}}EbEf}{{Df{E`Eb}}}}{{{b{d{Cn{ce}}}}ce}{{Bf{{Df{ee}}}}}D`D`}{{{b{dCh}}Ef{Bf{Gl}}}E`}{{{b{dCh}}E`Eh}n}{{{b{dCh}}{b{d{Cj{h}}}}}n}{{{b{dCh}}{Cj{E`}}}{{Ab{Ed{Df{E`Ed}}}}}}{{}c{}}000000000000{{{b{Cl}}}Ah}{{{b{Ch}}}{{Bf{F`}}}}{{{b{dCh}}}{{Ab{nh}}}}{{{b{Ch}}}Bl}{{}{{Cn{ce}}}D`D`}{{}Cd}{{}Ch}`````{{{b{Ch}}E`}{{b{Ef}}}}{{{b{Ch}}}{{Gn{E`El}}}}{{{b{Ch}}E`}F`}0{{{b{Ch}}}{{Fb{E`Ef}}}}{{{b{Ch}}E`}{{Bf{{b{Eh}}}}}}{{{b{Ch}}E`}{{`{{H`{}{{Fd{Eb}}}}FfFhjAn}}}}{{{b{Ch}}E`}{{`{{H`{}{{Fd{E`}}}}FfFhjAn}}}}{{{b{Ch}}E`}{{`{{H`{}{{Fd{{Df{EbE`}}}}}}FfFhjAn}}}}{{{b{Ch}}E`}{{b{{Hb{{Bf{E`}}}}}}}}{{{b{Ch}}E`}{{Bf{Ed}}}}432{{{b{Ch}}E`}{{Bf{Gl}}}}{{{b{Ch}}}{{Hd{E`Ef}}}}```{{{b{Ch}}{b{Dl}}}{{Hf{n}}}}{{{b{Ch}}Dn{Bf{Dl}}}{{Hf{n}}}}1``{{{b{E`}}{b{E`}}}{{Bf{A`}}}}{{{b{Eb}}{b{Eb}}}{{Bf{A`}}}}{{{b{Ed}}{b{Ed}}}{{Bf{A`}}}}{{{b{El}}{b{El}}}{{Bf{A`}}}}{{{b{Cl}}{b{Cl}}}{{Bf{A`}}}}{Ch{{Ab{Chh}}}}`{{{b{{Cn{ce}}}}c}{{Hj{{Hh{e}}}}}D`D`}{{{b{{Cn{ce}}}}c}{{`{{H`{}{{Fd{c}}}}FfFhjAn}}}D`D`}{{{b{{Cn{ce}}}}c}{{`{{H`{}{{Fd{{Df{ec}}}}}}FfFhjAn}}}D`D`}{{{b{d{Cn{ce}}}}e}{{Bf{{Df{cc}}}}}D`D`}{{{b{dCh}}Eb}n}{{{b{dCh}}E`}Ah}{{{b{dCh}}E`}n}{{{b{d{Cn{ce}}}}c}{{Bf{{Df{e{Df{ee}}}}}}}D`D`}{{{b{d{Cn{ce}}}}c}nD`D`}{{{b{{Cn{ce}}}}g}Ab{D`Bj}{D`Bj}Bh}{{{b{Ch}}c}AbBh}{{{b{E`}}c}AbBh}{{{b{Eb}}c}AbBh}{{{b{Ed}}c}AbBh}{{{b{Ef}}c}AbBh}{{{b{El}}c}AbBh}{{{b{Cl}}c}AbBh}{{{b{dCh}}E`{Cj{{Bf{E`}}}}}{{Bf{{Cj{{Bf{E`}}}}}}}}{{{b{dCh}}EdAh}Ah}{{{b{dCh}}EdF`}{{Bf{F`}}}}`{{{b{Ef}}}Bb}{{{b{Cl}}}Bb}{{{b{Ch}}Ed}{{b{{Cj{E`}}}}}}{{{b{Ch}}}{{Fb{Ed{Cj{E`}}}}}}{{{b{Ch}}Ed}{{Bf{F`}}}}{{{b{Ch}}}{{Hd{Ed{Cj{E`}}}}}}{{{b{{Cn{ce}}}}c}{{Hj{{Hh{e}}}}}D`D`}{{{b{{Cn{ce}}}}c}{{`{{H`{}{{Fd{c}}}}FfFhjAn}}}D`D`}{{{b{{Cn{ce}}}}c}{{`{{H`{}{{Fd{{Df{ec}}}}}}FfFhjAn}}}D`D`}{{{b{Ch}}}Bl}{{{b{Ch}}{b{Dl}}}Bl}0{{{b{Ef}}}{{Hl{Gj}}}}{bc{}}0000000000{{{b{Dn}}}{{Bf{Hn}}}}2{bBl}{c{{Ab{e}}}{}{}}000000000000{{}{{Ab{c}}}{}}000000000000`{bCb}000000000000{{{b{dDl}}{b{Fn}}}{{Ab{nG`}}}}{{{b{dDn}}{b{Fn}}}{{Ab{nG`}}}}{{{b{dDl}}{b{dFn}}}{{Ab{nG`}}}}{{{b{dDn}}{b{dFn}}}{{Ab{nG`}}}}{{}{{b{{Hb{Dn}}}}}}{F`{{Cn{ce}}}D`D`}{{{b{Ch}}c{b{Dl}}}AlI`}0{{{b{Ch}}{b{dc}}}AlI`}0````{{eim}{{Ib{cc}}}{IdIfIh}{{Ij{}{{Fd{c}}}}}{{Ij{}{{Fd{c}}}}}{{In{c}{{Il{g}}}}}{{Ij{}{{Fd{c}}}}}{{In{c}{{Il{k}}}}}}{{ei}{{Ab{{Cj{c}}{Cj{c}}}}}{IdIfIh}{{Ij{}{{Fd{c}}}}}{{Ij{}{{Fd{c}}}}}{{In{c}{{Il{g}}}}}}{{gko}{{Cj{c}}}{IdIfIh}{{Ij{}{{Fd{c}}}}}{{In{}{{Il{e}}}}}{{Ij{}{{Fd{c}}}}}{{In{c}{{Il{i}}}}}{{Ij{}{{Fd{c}}}}}{{In{c}{{Il{m}}}}}}```````````````````````````````````````{b{{b{c}}}{}}000000{{{b{d}}}{{b{dc}}}{}}000000`{{{b{J`}}}J`}{{{b{Jb}}}Jb}{{{b{Jd}}}Jd}{{{b{Jf}}}Jf}{{b{b{dc}}}n{}}000{bn}000{{{b{J`}}{b{J`}}}A`}{{{b{Jd}}{b{Jd}}}A`}{{{b{Jf}}{b{Jf}}}A`}{{{b{Jh}}{b{c}}}Ah{}}`{{}Jj}{Jf{{b{Gj}}}}{c{{Ab{Jd}}}Ad}{{{b{Jh}}}{{Jl{{b{c}}}}}Jn}{{{b{J`}}{b{J`}}}Ah}{{{b{Jd}}{b{Jd}}}Ah}{{{b{Jf}}{b{Jf}}}Ah}{{{b{Ef}}}{{Bf{{b{K`}}}}}}{{{b{Gf}}}{{Bf{{b{K`}}}}}}{{{b{K`}}{b{dAj}}}Al}{{{b{J`}}{b{dAj}}}Al}{{{b{Jd}}{b{dAj}}}Al}{{{b{Jf}}{b{dAj}}}Al}{cc{}}000000```{{{b{Jf}}{b{dc}}}nBd}{{{b{Jh}}}Bl}``{{{b{Jb}}}C`}``{{}c{}}000000``{{{b{Jb}}c}Gl{{Kb{Gj}}}}{Jf{{b{Gj}}}}``3````{{}{{b{{Kd{{b{Gj}}{b{K`}}}}}}}}`{{{b{J`}}{b{J`}}}{{Bf{A`}}}}{{{b{Jd}}{b{Jd}}}{{Bf{A`}}}}{{{b{Jf}}{b{Jf}}}{{Bf{A`}}}}````{{{b{Jd}}c}AbBh}```{{{b{Jh}}}{{Jl{{b{c}}}}}Jn}`{bc{}}000{c{{Ab{e}}}{}{}}000000{{}{{Ab{c}}}{}}000000`{bCb}000000````````````````````````````{{{b{Gf}}}{{b{{Kj{KfKh}}}}}}````{b{{b{c}}}{}}000000000000{{{b{d}}}{{b{dc}}}{}}000000000000`{{{b{Kl}}}Kl}{{{b{Kn}}}Kn}{{{b{{Gb{c}}}}}{{Gb{c}}}j}{{{b{L`}}}L`}{{{b{Lb}}}Lb}{{{b{Ld}}}Ld}{{{b{Fl}}}Fl}{{{b{Gf}}}Gf}{{{b{Lf}}}Lf}{{b{b{dc}}}n{}}00000000{bn}00000000{{{b{Lf}}{b{Lf}}}A`}{{{b{Lf}}{b{Lf}}}Ah}``{{{b{Kl}}{b{dAj}}}Al}{{{b{Kn}}{b{dAj}}}Al}{{{b{{Gb{c}}}}{b{dAj}}}AlAn}{{{b{L`}}{b{dAj}}}Al}{{{b{Lb}}{b{dAj}}}Al}{{{b{Ld}}{b{dAj}}}Al}{{{b{Fl}}{b{dAj}}}Al}{{{b{Gf}}{b{dAj}}}Al}{{{b{Lf}}{b{dAj}}}Al}{cc{}}000000000000{{{b{Lf}}{b{dc}}}nBd}````{{}c{}}000000000000`{{{b{Gf}}}Lh}`{{{b{Gf}}}Bl}````{Lj{{Ll{Dh}}}}{Lj{{Ll{Cf}}}}{Lj{{Ll{Ln}}}}{Lj{{Ll{M`}}}}{Lj{{Ll{Kl}}}}{Lj{{Ll{Kn}}}}{Lj{{Ll{{Gb{c}}}}}Mb}{Lj{{Ll{L`}}}}{Lj{{Ll{Lb}}}}{Lj{{Ll{Ld}}}}{Lj{{Ll{Fl}}}}{Lj{{Ll{Gf}}}}{Lj{{Ll{Lf}}}}{C`{{Ll{{Kj{ce}}}}}MbMb}{{{b{Lf}}{b{Lf}}}{{Bf{A`}}}}````````{bBb}000000000000``{bc{}}00000000{{{b{Gf}}}Bl}{{{b{Dh}}{b{dC`}}}n}{{{b{Cf}}{b{dC`}}}n}{{{b{Ln}}{b{dC`}}}n}{{{b{M`}}{b{dC`}}}n}{{{b{Kl}}{b{dC`}}}n}{{{b{Kn}}{b{dC`}}}n}{{{b{{Gb{c}}}}{b{dC`}}}nMd}{{{b{L`}}{b{dC`}}}n}{{{b{Lb}}{b{dC`}}}n}{{{b{Ld}}{b{dC`}}}n}{{{b{Fl}}{b{dC`}}}n}{{{b{Gf}}{b{dC`}}}n}{{{b{Lf}}{b{dC`}}}n}{c{{Ab{e}}}{}{}}000000000000{{}{{Ab{c}}}{}}000000000000{{{b{Gf}}}{{Bf{{b{{Kj{MfKh}}}}}}}}{bCb}000000000000```{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{Mh}}{b{dAj}}}Al}{{{b{Mj}}{b{dAj}}}Al}{cc{}}0{{}c{}}0{bBl}0::9977{{C`c{b{Gl}}}{{Kj{KfKh}}}{{Ij{}{{Fd{Gl}}}}}}{{C`c}{{Kj{KfKh}}}{{Ij{}{{Fd{Gl}}}}}}{{C`{b{d{Cj{Gl}}}}}C`}`98{{{b{{Ml{c}}}}}{{Ml{c}}}{D`j}}{{b{b{dc}}}n{}}{bn}{{}{{Ml{c}}}{D`Mn}}{{{b{d{Ml{c}}}}c}cD`}:9{{}{{Ml{c}}}D`}{{{b{d{Ml{c}}}}cc}AhD`}{bc{}}{c{{Ab{e}}}{}{}}{{}{{Ab{c}}}{}}{bCb}{{{b{d{Ml{c}}}}cc}nD`}{F`{{Ml{c}}}D`}","D":"BHh","p":[[1,"reference"],[0,"mut"],[6,"Level",6],[5,"Diagnostic",6],[10,"Clone",875],[5,"SerdeSpan",6],[1,"unit"],[6,"Ordering",876],[6,"Result",877],[10,"Deserializer",878],[10,"Deserialize",878],[1,"bool"],[5,"Formatter",879],[8,"Result",879],[10,"Debug",879],[5,"Error",880],[5,"Span",881],[10,"Hasher",882],[6,"Option",883],[10,"Serializer",884],[10,"Serialize",884],[5,"String",885],[10,"Into",886],[5,"TokenStream",881],[5,"TypeId",887],[5,"FlatGraphBuilder",78,888],[6,"HfStatement",597],[5,"HydroflowGraph",78,889],[5,"Vec",890],[6,"PortIndexValue",78],[5,"DiMulGraph",78,891],[10,"Key",892],[5,"Command",893],[5,"ItemUse",894],[1,"tuple"],[5,"HfCode",597],[5,"PathBuf",895],[5,"WriteConfig",78,889],[6,"WriteGraphType",78,889],[5,"GraphNodeId",78],[5,"GraphEdgeId",78],[5,"GraphSubgraphId",78],[6,"GraphNode",78],[5,"OperatorInstance",78],[5,"OpInstGenerics",78],[6,"Color",78],[5,"KeyData",892],[1,"usize"],[5,"Keys",896],[17,"Item"],[10,"ExactSizeIterator",897],[10,"FusedIterator",898],[5,"SlotMap",896],[6,"PortIndex",597],[5,"ArgMatches",899],[8,"Error",900],[5,"Ported",597],[10,"Spanned",901],[5,"Operator",597],[5,"Id",902],[1,"str"],[5,"Ident",881],[5,"SparseSecondaryMap",903],[10,"DoubleEndedIterator",904],[1,"slice"],[5,"Iter",896],[8,"Result",905],[5,"Iter",906],[5,"Copied",907],[6,"Cow",908],[5,"PossibleValue",909],[10,"Write",879],[5,"BTreeMap",910],[10,"Copy",911],[10,"Eq",876],[10,"Ord",876],[10,"IntoIterator",912],[17,"Output"],[10,"FnMut",913],[6,"DelayType",433],[5,"WriteContextArgs",433],[6,"Persistence",433],[6,"OperatorCategory",433],[10,"RangeTrait",433],[5,"OperatorWriteOutput",433],[6,"Bound",914],[10,"Sized",911],[5,"OperatorConstraints",433],[10,"AsRef",886],[5,"HashMap",915],[6,"Expr",916],[5,"Comma",917],[5,"Punctuated",918],[6,"Pipeline",597],[5,"Import",597],[5,"PipelineParen",597],[5,"PipelineLink",597],[5,"Indexing",597],[5,"IndexInt",597],[5,"Path",919],[8,"ParseStream",920],[8,"Result",880],[5,"NamedHfStatement",597],[5,"PipelineStatement",597],[10,"Parse",920],[10,"ToTokens",921],[6,"GenericArgument",919],[5,"PrettySpan",834],[5,"PrettyRowCol",834],[5,"UnionFind",857],[10,"Default",922],[15,"Handoff",426],[15,"ModuleBoundary",426],[6,"PortListSpec",433]],"r":[[80,891],[83,888],[90,889],[101,889],[102,889],[209,923],[326,924]],"b":[[36,"impl-Display-for-Diagnostic"],[37,"impl-Debug-for-Diagnostic%3CS%3E"],[38,"impl-Display-for-Diagnostic%3CSerdeSpan%3E"],[39,"impl-Display-for-SerdeSpan"],[40,"impl-Debug-for-SerdeSpan"],[227,"impl-Debug-for-PortIndexValue"],[228,"impl-Display-for-PortIndexValue"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACcCNAAOAA8AHwACACMABgAsAAAALgABADgAAAA6AAIAPwACAEMAAQBGAAgAbgAdAI4AJQC1AAsAwwAHANMAEwDsAAAA7wAAAPEAAAD3AAQAAwEEAEIBBABSAQcAawELAHgBGgCUAREAsgEBALUBAAC3AQEAugECAL4BAQDHAQAAzQEBANkBDQDoAQ4A+QEAAPsBAAD9AQIAAgIDABACAAArAgIAMgIAADgCEQBLAgYAVgIUAGwCSQDDAgQA1QI2AA0DNQBFAwUATwMHAFsDBQBmAwMA"}],["hydroflow_macro",{"t":"YXQQQXQQ","n":["DemuxEnum","hydroflow_main","hydroflow_parser","hydroflow_syntax","hydroflow_syntax_noemit","hydroflow_test","monotonic_fn","morphism"],"q":[[0,"hydroflow_macro"]],"i":"````````","f":"````````","D":"j","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAMAEAAAAAAAAQACAAYA"}],["hydroflow_plus",{"t":"EEEEEEEEEEEEEEEEECCCCECCCQCCCCGGNNNNNNNNNNNNNNSFIFNNNNCNNNCNCNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKKKKFGRRFGNNNNNNNNMNNMMMNNNNNNNNNNNNNNNNNNNNRRKRKRRRKRRERRKKRRRKRRRRKRKMMMMMMMMMMMMCMMNNCMMMMMMCMMMMMMMMMNNNNMFNNOHHONHHHHHHNNNNONNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPPPFGFPPPPPPPPPPPPPGGGPPPPPPPPPIPPPPPFPPNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOEEPEEPKGEEPREPENNCHNNNCNNNNNCMNNNMNMCNMNNNNNNNCNNNNNKRRRMMJFEFFKRNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNONNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNKKFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCHHHFNNNNNNNHNNNJFNNNNNNNNNNNNRRFKNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNMNNNNMNNNNNNNNNNNNNRKFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Bounded","CLUSTER_SELF_ID","Cluster","ClusterId","ExternalProcess","FlowBuilder","Location","NoOrder","Optional","Process","RUNTIME_CONTEXT","Singleton","Stream","Tick","Timestamped","TotalOrder","Unbounded","boundedness","builder","cycle","deploy","hydroflow","ir","location","optional","q","rewrites","runtime_context","singleton","stream","Bounded","Unbounded","borrow","","borrow_mut","","from","","into","","try_from","","try_into","","type_id","","FLOW_USED_MESSAGE","FlowBuilder","FlowState","FlowStateInner","borrow","","borrow_mut","","built","cluster","compile","compile_no_network","compiled","create","deploy","","drop","external_process","finalize","flow_state","from","","into","","new","optimize_with","process","try_from","","try_into","","type_id","","with_cluster","with_default_optimize","with_external","with_process","BuiltFlow","borrow","borrow_mut","compile","compile_no_network","deploy","drop","from","into","ir","optimize_with","try_from","try_into","type_id","with_cluster","with_default_optimize","with_external","with_process","CompiledFlow","CompiledFlowWithId","borrow","","borrow_mut","","from","","hydroflow_ir","into","","take_ir","to_tokens","","try_from","","try_into","","type_id","","with_dynamic_id","DeployFlow","DeployResult","borrow","","borrow_mut","","compile","compile_no_network","connect_sink_bincode","connect_sink_bytes","connect_source_bincode","connect_source_bytes","deploy","drop","from","","get_cluster","get_external","get_process","into","","ir","raw_port","try_from","","try_into","","type_id","","with_cluster","with_external","with_process","CycleCollection","CycleCollectionWithInitial","CycleComplete","DeferTick","ForwardRef","ForwardRefMarker","Location","","TickCycle","TickCycleMarker","borrow","","","","borrow_mut","","","","complete","","complete_next_tick","create_source","","defer_tick","from","","","","into","","","","try_from","","","","try_into","","","","type_id","","","","Cluster","","ClusterSpec","CompileEnv","Deploy","ExternalProcess","","ExternalRawPort","ExternalSpec","GraphId","","HydroflowPlusMeta","InstantiateEnv","","IntoProcessSpec","LocalDeploy","Meta","","","Node","Port","","Process","","ProcessSpec","","RegisterPort","allocate_cluster_port","allocate_external_port","allocate_process_port","as_bincode_sink","as_bincode_source","as_bytes_sink","as_bytes_source","build","","","cluster_ids","cluster_self_id","deploy_runtime","e2o_connect","e2o_source","has_trivial_node","","in_memory_graph","instantiate","into_process_spec","m2m_connect","m2m_sink_source","m2o_connect","m2o_sink_source","macro_runtime","next_port","o2e_connect","o2e_sink","o2m_connect","o2m_sink_source","o2o_connect","o2o_sink_source","raw_port","register","trivail_cluster","trivial_cluster","trivial_process","","update_meta","HydroflowPlusMeta","borrow","borrow_mut","cluster_id","cluster_members","cluster_self_id","clusters","default","deploy_e2o","deploy_m2m","deploy_m2o","deploy_o2e","deploy_o2m","deploy_o2o","deserialize","from","into","serialize","subgraph_id","try_from","try_into","type_id","MultiGraph","MultiNode","SingleNode","SingleProcessGraph","borrow","","","","borrow_mut","","","","clone","","clone_into","","clone_to_uninit","","from","","","","has_trivial_node","","instantiate","","into","","","","next_port","","to_owned","","trivial_cluster","","trivial_process","","try_from","","","","try_into","","","","type_id","","","","update_meta","","DeployRuntime","DeployRuntimeCluster","DeployRuntimeNode","allocate_cluster_port","allocate_external_port","allocate_process_port","as_bincode_sink","as_bincode_source","as_bytes_sink","as_bytes_source","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","cluster_ids","cluster_self_id","e2o_connect","e2o_source","from","","","has_trivial_node","","instantiate","","into","","","m2m_connect","m2m_sink_source","m2o_connect","m2o_sink_source","next_port","","o2e_connect","o2e_sink","o2m_connect","o2m_sink_source","o2o_connect","o2o_sink_source","raw_port","register","to_owned","","trivail_cluster","trivial_cluster","trivial_process","","try_from","","","try_into","","","type_id","","","update_meta","","AntiJoin","Building","Chain","CrossProduct","CrossSingleton","CycleSink","CycleSource","DebugExpr","DebugInstantiate","DebugPipelineFn","DeferTick","Delta","DestSink","Difference","Enumerate","ExternalNetwork","Filter","FilterMap","Finalized","FlatMap","Fold","FoldKeyed","ForEach","HfPlusLeaf","HfPlusNode","HfPlusSource","Inspect","Iter","Join","Map","Network","Persist","Placeholder","Reduce","ReduceKeyed","SeenTees","Sort","Source","Spin","Stream","Tee","TeeNode","Unique","Unpersist","borrow","","","","","","","borrow_mut","","","","","","","clone","","clone_into","","clone_to_uninit","","compile_network","","connect_network","","dbg_dedup_tee","deref","emit","","fmt","","","","","","","from","","","","","","","","into","","","","","","","span","to_owned","","to_tokens","transform_bottom_up","transform_children","","try_from","","","","","","","try_into","","","","","","","type_id","","","","","","","f","ident","input","","","location_kind","sink","acc","","deserialize_pipeline","f","","","","","","","from_key","from_location","ident","init","","inner","input","","","","","","","","","","","instantiate_fn","is_static","location_kind","","serialize_pipeline","source","to_key","to_location","CanSend","Cluster","","ClusterId","ExternalProcess","","Location","LocationId","NoTick","Process","","Root","Tick","","Timestamped","borrow","borrow_mut","can_send","check_matching_location","clone","clone_into","clone_to_uninit","cluster","eq","equivalent","","","","external_process","flow_state","fmt","forward_ref","from","id","into","is_top_level","process","raw_id","root","","singleton","source_interval","source_interval_delayed","source_iter","source_stream","spin","tick","","to_owned","try_from","try_into","type_id","CanSend","In","Out","OutStrongestOrder","is_demux","tagged_type","CLUSTER_SELF_ID","Cluster","ClusterId","ClusterIds","ClusterSelfId","IsCluster","Tag","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","cluster_id","flow_state","from","","","id","into","","","is_demux","","is_top_level","members","root","tagged_type","","to_owned","","","to_tokens","","try_from","","","try_into","","","type_id","","","ClusterId","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deserialize","eq","equivalent","","","","fmt","","from","from_raw","hash","into","raw_id","serialize","to_owned","to_string","try_from","try_into","type_id","ExternalBincodeSink","ExternalBincodeStream","ExternalBytesPort","ExternalProcess","borrow","","","","borrow_mut","","","","clone","clone_into","clone_to_uninit","flow_state","from","","","","id","into","","","","is_top_level","root","source_external_bincode","source_external_bytes","to_owned","try_from","","","","try_into","","","","type_id","","","","Process","borrow","borrow_mut","clone","clone_into","clone_to_uninit","flow_state","from","id","into","is_demux","","","is_top_level","root","tagged_type","","","to_owned","try_from","try_into","type_id","NoTick","NoTimestamp","Tick","Timestamped","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","cycle","cycle_with_initial","flow_state","","forward_ref","forward_ref_timestamped","from","","id","","into","","is_top_level","","outer","root","","singleton","singleton_first_tick","spin_batch","to_owned","","try_from","","try_into","","type_id","","Optional","all_ticks","borrow","borrow_mut","clone","clone_into","clone_to_uninit","complete","","","continue_if","continue_unless","create_source","","","defer_tick","","delta","drop_timestamp","filter","filter_map","flat_map_ordered","flat_map_unordered","flatten_ordered","flatten_unordered","from","","","into","into_singleton","into_stream","latest","latest_tick","map","persist","sample_eager","sample_every","some","then","timestamped","to_owned","try_from","try_into","type_id","union","unwrap_or","zip","persist_pullup","profiler","properties","persist_pullup","increment_counter","profiling","PropertyDatabase","add_commutative_tag","borrow","borrow_mut","default","from","into","is_tagged_commutative","properties_optimize","try_from","try_into","type_id","RUNTIME_CONTEXT","RuntimeContext","borrow","borrow_mut","clone","clone_into","clone_to_uninit","from","into","to_owned","to_tokens","try_from","try_into","type_id","Location","Out","Singleton","ZipResult","all_ticks","borrow","borrow_mut","clone","clone_into","clone_to_uninit","complete","","","continue_if","continue_unless","create_source","","","defer_tick","","delta","drop_timestamp","filter","filter_map","flat_map_ordered","flat_map_unordered","from","","into","into_stream","latest","latest_tick","make","","","","","map","other_ir_node","","","","","other_location","","","","","persist","sample_eager","sample_every","timestamped","to_owned","try_from","try_into","type_id","zip","Min","MinOrder","NoOrder","Stream","TotalOrder","all_ticks","anti_join","assume_ordering","borrow","","","borrow_mut","","","broadcast_bincode","broadcast_bincode_interleaved","broadcast_bytes","broadcast_bytes_interleaved","chain","clone","clone_into","clone_to_uninit","cloned","complete","","continue_if","continue_unless","count","create_source","","cross_product","cross_singleton","decouple_cluster","decouple_process","defer_tick","","delta","dest_sink","drop_timestamp","enumerate","filter","filter_map","filter_not_in","first","flat_map_ordered","flat_map_unordered","flatten_ordered","flatten_unordered","fold","fold_commutative","fold_keyed","fold_keyed_commutative","for_each","from","","","","inspect","into","","","join","keys","last","map","max","max_by_key","min","persist","reduce","reduce_commutative","reduce_keyed","reduce_keyed_commutative","round_robin_bincode","round_robin_bincode_interleaved","round_robin_bytes","round_robin_bytes_interleaved","sample_every","send_bincode","send_bincode_external","send_bincode_interleaved","send_bytes","send_bytes_external","send_bytes_interleaved","sort","tick_batch","timeout","timestamp_source","timestamped","to_owned","try_from","","","try_into","","","type_id","","","union","","unique"],"q":[[0,"hydroflow_plus"],[30,"hydroflow_plus::boundedness"],[46,"hydroflow_plus::builder"],[83,"hydroflow_plus::builder::built"],[101,"hydroflow_plus::builder::compiled"],[122,"hydroflow_plus::builder::deploy"],[154,"hydroflow_plus::cycle"],[198,"hydroflow_plus::deploy"],[264,"hydroflow_plus::deploy::deploy_runtime"],[286,"hydroflow_plus::deploy::in_memory_graph"],[338,"hydroflow_plus::deploy::macro_runtime"],[405,"hydroflow_plus::ir"],[527,"hydroflow_plus::ir::HfPlusLeaf"],[534,"hydroflow_plus::ir::HfPlusNode"],[569,"hydroflow_plus::location"],[621,"hydroflow_plus::location::can_send"],[627,"hydroflow_plus::location::cluster"],[679,"hydroflow_plus::location::cluster::cluster_id"],[704,"hydroflow_plus::location::external_process"],[746,"hydroflow_plus::location::process"],[768,"hydroflow_plus::location::tick"],[810,"hydroflow_plus::optional"],[857,"hydroflow_plus::rewrites"],[860,"hydroflow_plus::rewrites::persist_pullup"],[861,"hydroflow_plus::rewrites::profiler"],[863,"hydroflow_plus::rewrites::properties"],[875,"hydroflow_plus::runtime_context"],[889,"hydroflow_plus::singleton"],[946,"hydroflow_plus::stream"],[1048,"core::result"],[1049,"core::any"],[1050,"alloc::vec"],[1051,"core::ops::function"],[1052,"hydroflow_lang::graph::hydroflow_graph"],[1053,"alloc::collections::btree::map"],[1054,"proc_macro2"],[1055,"core::option"],[1056,"stageleft"],[1057,"futures_sink"],[1058,"alloc::boxed"],[1059,"core::pin"],[1060,"serde::ser"],[1061,"serde::de"],[1062,"futures_core::stream"],[1063,"core::future::future"],[1064,"core::marker"],[1065,"syn::expr"],[1066,"syn::stmt"],[1067,"hydroflow::util::deploy"],[1068,"alloc::string"],[1069,"std::collections::hash::map"],[1070,"hydroflow_lang::graph::flat_graph_builder"],[1071,"core::cell"],[1072,"core::fmt"],[1073,"core::clone"],[1074,"tokio::time::instant"],[1075,"core::time"],[1076,"core::iter::traits::collect"],[1077,"syn::ty"],[1078,"core::hash"],[1079,"bytes::bytes"],[1080,"core::convert"],[1081,"futures_channel::mpsc"],[1082,"core::cmp"],[1083,"stageleft_macro"]],"i":"````````````````````````````````KlN`101010101010````A@hj10`000`0`0000010100001010100000`Aj0000000000000000``nCn10101101101010101``BhA`1011000011100001010101010111``````FfFj``ElF`EjEn3210Ed2165Fb54325432543254325432BjAf`0`100`10`0Hb``210`1021`C``222Fl000G`BlBn66`6676`546666`56666663367765`Hj00``00``````00000000````A@jA@lIdIf32101010103210321032101010323232103210321010```A@n00Ih00010Ij210101010222221022102102222102222221110222221021021010JfJl111An2```22022Kd3323331```303333333`33003`332KbInJ`34652103461010104646`14652103465211034652103461101646521034652103465210346AA`AAb1AAd110AAfAAhAAjAAlAAnAB`ABbABdABfABh77ABj:9ABl8765ABn5<;43::0AC`3;0;;``Eh``0````0Fh`1`11``111`11111`0101010`101000000`01111`A@f0000``````ACblMbMd210210210210`22102210222222221010210210210`Mf00000000000000000000000````DnDbE`Ah3210000032100321000000321032103210`Bf00000000000000000000````MnLn101010100010001010101001000010101010`Nb000000000000000000000000000000000000000000000```````Ob000000`000``Od00000000000ACd0``Kn0000000000000000000000000001000001000010000000000000Oj````Ld00OlNj21022222222222222222222222222222222222222221022210222222222222222222222222222222102102102222","f":"````````````````````````````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{cc{}}0{{}c{}}0{c{{f{e}}}{}{}}0{{}{{f{c}}}{}}0{bh}0````6655`{{{b{j}}}{{l{c}}}{}}{{jb}n}{jn}`{{}j}`{{j{b{d}}}{{A`{c}}}{{Af{}{{Ab{Ad}}}}}}{{{b{dj}}}Ad}{{{b{j}}}{{Ah{c}}}{}}{jAj}{{{b{j}}}{{b{Al}}}}==<<5{{jc}Aj{{Bd{{B`{An}}}{{Bb{{B`{An}}}}}}}}{{{b{j}}}{{Bf{c}}}{}}==<<;;{{j{b{{l{c}}}}g}{{Bh{e}}}{}Bj{{Bl{e}}}}{j{{Bh{c}}}Bj}{{j{b{{Ah{c}}}}g}{{Bh{e}}}{}Bj{{Bn{e}}}}{{j{b{{Bf{c}}}}g}{{Bh{e}}}{}Bj{{C`{e}}}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{Ajb}n}{Ajn}{{Aj{b{d}}}{{A`{c}}}{{Af{}{{Ab{Ad}}}}}}{{{b{dAj}}}Ad}{cc{}}{{}c{}}{{{b{Aj}}}{{b{{B`{An}}}}}}{{Ajc}Aj{{Bd{{B`{An}}}{{Bb{{B`{An}}}}}}}}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}{{Aj{b{{l{c}}}}g}{{Bh{e}}}{}Bj{{Bl{e}}}}{Aj{{Bh{c}}}Bj}{{Aj{b{{Ah{c}}}}g}{{Bh{e}}}{}Bj{{Bn{e}}}}{{Aj{b{{Bf{c}}}}g}{{Bh{e}}}{}Bj{{C`{e}}}}``{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0<<{{{b{{n{c}}}}}{{b{{Cf{CbCd}}}}}{}}<<{{{n{c}}}{{Cf{CbCd}}}{}}{{{n{Ad}}{b{c}}}{{Cl{{Cj{Ch}}{Cj{Ch}}}}}{}}{{Cn{b{c}}}{{Cl{{Cj{Ch}}{Cj{Ch}}}}}{}}<<;;::{{{n{Cb}}c}Cn{{D`{CbAd}}}}``6655{{{Bh{c}}b}nAf}{{{Bh{c}}}nBj}{{{b{{A`{c}}}}{Db{e}}}{{Dh{{Df{Dd}}}}}Af{DjDl}}{{{b{{A`{c}}}}Dn}{{Dh{{Df{Dd}}}}}Af}{{{b{{A`{c}}}}{E`{e}}}{{Dh{{Df{Eb}}}}}Af{DjDl}}{{{b{{A`{c}}}}Dn}{{Dh{{Df{Eb}}}}}Af}{{{Bh{c}}{b{d}}}{{A`{c}}}{{Af{}{{Ab{Ad}}}}}}{{{b{d{Bh{c}}}}}AdBj}{cc{}}0{{{b{{A`{c}}}}{b{{l{e}}}}}bAf{}}{{{b{{A`{c}}}}{b{{Ah{e}}}}}bAf{}}{{{b{{A`{c}}}}{b{{Bf{e}}}}}bAf{}}{{}c{}}0{{{b{{Bh{c}}}}}{{b{{B`{An}}}}}Bj}{{{b{{A`{c}}}}Dn}{}Af}{c{{f{e}}}{}{}}0{{}{{f{c}}}{}}0{bh}0{{{Bh{c}}{b{{l{e}}}}g}{{Bh{c}}}Bj{}{{Bl{c}}}}{{{Bh{c}}{b{{Ah{e}}}}g}{{Bh{c}}}Bj{}{{Bn{c}}}}{{{Bh{c}}{b{{Bf{e}}}}g}{{Bh{c}}}Bj{}{{C`{c}}}}``````````{b{{b{c}}}{}}000{{{b{d}}}{{b{dc}}}{}}000{{EdEfEh}Ad}{{{Ej{c}}c}Ad{{Ed{El}}}}{{{En{c}}c}Ad{{Ed{F`}}Fb}}{{Efc}{{Ff{}{{Fd{c}}}}}Fh}{{Ef{Fj{}{{Fd{c}}}}c}{{Fj{}{{Fd{c}}}}}Fh}{FbFb}{cc{}}000{{}c{}}000????>>>>====```````````````````````````{{{b{c}}}e{}{}}00{{{b{Fl}}Cb}{{`{{Fn{}{{Bb{{Dh{{Df{Dd}}}}}}}}}}}}{{{b{Fl}}Cb}{{`{{Fn{}{{Bb{{Dh{{Df{Eb}}}}}}}}}}}}10{{G`Cb{b{Gb}}}}{{BlCb{b{Gb}}}}{{BnCb{b{Gb}}}}{{{b{c}}Cb}{{`{{D`{{b{{B`{Gd}}}}Ad}}Gf}}}{}}{{{b{c}}}{{`{{D`{GdAd}}Gf}}}{}}`{{{b{c}}{b{e}}{b{g}}{b{e}}}{{Df{Bd}}}{}{}{}}{{{b{c}}{b{e}}{b{g}}{b{i}}{b{g}}}Gh{}{}{}{}}{{}Gj}0`{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}{b{dg}}{b{de}}Cd{B`{Hd}}}Ad{}{}{}}{{{C`{}{{Hf{c}}}}}c{{G`{e}}}{BjHh}}{{{b{c}}{b{e}}{b{c}}{b{e}}}{{Df{Bd}}}{}{}}{{{b{c}}{b{e}}{b{g}}{b{e}}{b{g}}}{{Cl{GhGh}}}{}{}{}}6{{{b{c}}{b{e}}{b{g}}{b{i}}{b{g}}}{{Cl{GhGh}}}{}{}{}{}}`{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}}c{}{}{}}878132{{{b{Fl}}Cb}}{{{b{Fl}}Cb}Ad}{Cbc{}}000{{{b{d{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}{b{e}}}Ad{}{}{}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{{{Hn{{b{{Hl{Hj}}}}}}Cb}{{`{{D`{{b{{B`{Gd}}}}Ad}}Gf}}}}{{{Hn{{b{{Hl{Hj}}}}}}}{{`{{D`{GdAd}}Gf}}}}`{{}Hj}{{{Hn{{b{{Hl{Hj}}}}}}{b{Gb}}{b{Gb}}}Gh}{{{Hn{{b{{Hl{Hj}}}}}}{b{Gb}}{b{Gb}}}{{Cl{GhGh}}}}0100{c{{f{Hj}}}I`}{cc{}}{{}c{}}{{{b{Hj}}c}fIb}`{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}````====<<<<{{{b{Id}}}Id}{{{b{If}}}If}{{b{b{dc}}}Ad{}}0{bAd}09999{{}Gj}0{{{b{Id}}{b{dc}}{b{de}}Cd{B`{Hd}}}Ad{}{}}{{{b{If}}{b{dc}}{b{de}}Cd{B`{Hd}}}Ad{}{}};;;;{{{b{Id}}}Ad}{{{b{If}}}Ad}{bc{}}0{Cbc{}}000====<<<<;;;;{{{b{dId}}{b{c}}}Ad{}}{{{b{dIf}}{b{c}}}Ad{}}```{{{b{c}}}e{}{}}00{{{b{Ih}}Cb}{{`{{Fn{}{{Bb{{Dh{{Df{Dd}}}}}}}}}}}}{{{b{Ih}}Cb}{{`{{Fn{}{{Bb{{Dh{{Df{Eb}}}}}}}}}}}}10{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{b{Ih}}}Ih}{{{b{Ij}}}Ij}{{b{b{dc}}}Ad{}}0{bAd}0{{{b{c}}Cb}{{`{{D`{{b{{B`{Gd}}}}Ad}}Gf}}}{}}{{{b{c}}}{{`{{D`{GdAd}}Gf}}}{}}{{{b{c}}{b{e}}{b{g}}{b{e}}}{{Df{Bd}}}{}{}{}}{{{b{c}}{b{e}}{b{g}}{b{i}}{b{g}}}Gh{}{}{}{}}{cc{}}00{{}Gj}0{{{b{Ih}}{b{dc}}{b{de}}Cd{B`{Hd}}}Ad{}{}}{{{b{Ij}}{b{dc}}{b{de}}Cd{B`{Hd}}}Ad{}{}}{{}c{}}00{{{b{c}}{b{e}}{b{c}}{b{e}}}{{Df{Bd}}}{}{}}{{{b{c}}{b{e}}{b{g}}{b{e}}{b{g}}}{{Cl{GhGh}}}{}{}{}}8{{{b{c}}{b{e}}{b{g}}{b{i}}{b{g}}}{{Cl{GhGh}}}{}{}{}{}}{{{b{Ih}}}Il}{{{b{Ij}}}Il};:;243{{{b{Ih}}Cb}}{{{b{Ih}}Cb}Ad}{bc{}}0{Cbc{}}{Cb}10{c{{f{e}}}{}{}}00{{}{{f{c}}}{}}00{bh}00{{{b{dIh}}{b{c}}}Ad{}}{{{b{dIj}}{b{c}}}Ad{}}````````````````````````````````````````````{b{{b{c}}}{}}000000{{{b{d}}}{{b{dc}}}{}}000000{{{b{In}}}In}{{{b{J`}}}J`}{{b{b{dc}}}Ad{}}0{bAd}0{{Anb{b{dJb}}{b{{Jd{Cb}}}}{b{{Jd{Cb}}}}{b{{Jd{Cb}}}}}An}{{{b{dJf}}b{b{dJb}}{b{{Jd{Cb}}}}{b{{Jd{Cb}}}}{b{{Jd{Cb}}}}}Ad}{{An{b{dJb}}}An}{{{b{dJf}}{b{dJb}}}Ad}{ec{}{{Bd{}{{Bb{c}}}}}}{{{b{In}}}{{b{c}}}{}}{{{b{An}}{b{d{Cf{CbJh}}}}{b{d{Jd{Jj{Cl{EfCb}}}}}}{b{dCb}}}Ad}{{{b{Jf}}{b{d{Cf{CbJh}}}}{b{d{Jd{Jj{Cl{EfCb}}}}}}{b{dCb}}}{{Cl{EfCb}}}}{{{b{Jl}}{b{dJn}}}K`}{{{b{Kb}}{b{dJn}}}K`}{{{b{In}}{b{dJn}}}K`}{{{b{J`}}{b{dJn}}}K`}{{{b{Kd}}{b{dJn}}}K`}{{{b{An}}{b{dJn}}}K`}{{{b{Jf}}{b{dJn}}}K`}{cc{}}0{GhIn}11111{{}c{}}000000{bKf}{bc{}}0{{{b{In}}{b{dCh}}}Ad}{{{b{dJf}}e{b{dJb}}{b{dc}}}Ad{}{{Kh{{b{dJf}}{b{dc}}}}Gf}}{{Anc{b{dJb}}}An{{Kh{{b{dJf}}{b{dJb}}}}}}{{{b{dJf}}c{b{dJb}}}Ad{{Kh{{b{dJf}}{b{dJb}}}}}}{c{{f{e}}}{}{}}000000{{}{{f{c}}}{}}000000{bh}000000`````````````````````````````````````````````````````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{{{b{c}}{b{c}}}AdFh}{{{b{Eh}}}Eh}{{b{b{dc}}}Ad{}}{bAd}`{{{b{Eh}}{b{Eh}}}Gj}{{b{b{c}}}Gj{}}000`{{{b{{Fh{}{{Kj{c}}}}}}}{{b{Al}}}Fh}{{{b{Eh}}{b{dJn}}}K`}{{{b{{Fh{}{{Kj{c}}}}}}}{{Cl{{Ej{e}}e}}}Fh{{Ff{El}{{Fd{{Fh{}{{Kj{c}}}}}}}}}}{cc{}}{{{b{{Fh{}{{Kj{c}}}}}}}EhFh}{{}c{}}{{}Gj}`{{{b{Eh}}}Cb}{{{b{{Fh{}{{Kj{c}}}}}}}cFh}{{{b{Eh}}}{{b{Eh}}}}{{{b{{Fh{}{{Kj{c}}}}}}g}{{Kn{e{Fh{}{{Kj{c}}}}Kl}}}FhL`{{D`{e{Fh{}{{Kj{c}}}}}}}}{{{b{{Fh{}{{Kj{c}}}}}}e}{{Ld{Lb{Fh{}{{Kj{c}}}}Kl}}}Fh{{D`{Lf{Fh{}{{Kj{c}}}}}}Gf}}{{{b{{Fh{}{{Kj{c}}}}}}eg}{{Ld{Lb{Fh{}{{Kj{c}}}}Kl}}}Fh{{D`{Lf{Fh{}{{Kj{c}}}}}}Gf}{{D`{Lf{Fh{}{{Kj{c}}}}}}Gf}}{{{b{{Fh{}{{Kj{c}}}}}}i}{{Ld{e{Fh{}{{Kj{c}}}}Kl}}}Fh{}{{Lj{}{{Lh{e}}}}}{{D`{g{Fh{}{{Kj{c}}}}}}}}{{{b{{Fh{}{{Kj{c}}}}}}i}{{Ld{e{Fh{}{{Kj{c}}}}Kl}}}Fh{}{{Eb{}{{Lh{e}}}}Ll}{{D`{g{Fh{}{{Kj{c}}}}}}}}{{{b{{Fh{}{{Kj{c}}}}}}}{{Ld{Ad{Fh{}{{Kj{c}}}}Kl}}}Fh}`{{{b{{Fh{}{{Kj{c}}}}}}}{{Ln{{Fh{}{{Kj{c}}}}}}}Fh}{bc{}}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}````>{{}{{Cj{M`}}}}```````{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{b{{l{c}}}}}{{l{c}}}{}}{{{b{{Mb{c}}}}}{{Mb{c}}}{}}{{{b{Md}}}Md}{{b{b{dc}}}Ad{}}00{bAd}00`{{{b{{l{c}}}}}{{b{Al}}}{}}{cc{}}00{{{b{{l{c}}}}}Eh{}}{{}c{}}00{{}Gj}00{{{b{{l{c}}}}}{{Mb{c}}}{}}{{{b{{l{c}}}}}e{}{}}>>{bc{}}00{{{Mb{c}}{b{e}}}{{Cl{{Cj{Ch}}{Cj{Ch}}}}}{}{}}{{Md{b{c}}}{{Cl{{Cj{Ch}}{Cj{Ch}}}}}Fh}{c{{f{e}}}{}{}}00{{}{{f{c}}}{}}00{bh}00`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{{Mf{c}}}}}{{Mf{c}}}{}}{{b{b{dc}}}Ad{}}{bAd}{c{{f{{Mf{e}}}}}I`{}}{{{b{{Mf{c}}}}{b{{Mf{c}}}}}Gj{}}{{b{b{c}}}Gj{}}000{{{b{{Mf{c}}}}{b{dJn}}}K`{}}0{cc{}}{Gd{{Mf{c}}}{}}{{{b{{Mf{c}}}}{b{de}}}Ad{}Mh}{{}c{}}`{{{b{{Mf{c}}}}e}f{}Ib}{bc{}}{bIl}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}````{b{{b{c}}}{}}000{{{b{d}}}{{b{dc}}}{}}000{{{b{{Ah{c}}}}}{{Ah{c}}}{}}{{b{b{dc}}}Ad{}}{bAd}{{{b{{Ah{c}}}}}{{b{Al}}}{}}????{{{b{{Ah{c}}}}}Eh{}}===={{}Gj}{{{b{{Ah{c}}}}}e{}{}}{{{b{{Ah{c}}}}{b{e}}}{{Cl{{Db{g}}{Ld{geKl}}}}}{}{FhMj}{DjDl}}{{{b{{Ah{c}}}}{b{e}}}{{Cl{Dn{Ld{MleKl}}}}}{}{FhMj}}?====<<<<;;;;`:9{{{b{{Bf{c}}}}}{{Bf{c}}}{}}87{{{b{{Bf{c}}}}}{{b{Al}}}{}}{cc{}}{{{b{{Bf{c}}}}}Eh{}}{{}c{}}8888{{{b{{Bf{c}}}}}e{}{}}{{}{{Cj{M`}}}}00{bc{}}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{{Mn{c}}}}}{{Mn{c}}}L`}{{{b{{Ln{c}}}}}{{Ln{c}}}L`}{{b{b{dc}}}Ad{}}0{bAd}0{{{b{{Ln{c}}}}}{{Cl{{En{e}}e}}}{MjFh}{{Ff{F`}{{Fd{{Ln{c}}}}}}Fb}}{{{b{{Ln{c}}}}e}{{Cl{{En{e}}e}}}{MjFh}{{Fj{F`}{{Fd{{Ln{c}}}}}}Fb}}{{{b{{Mn{c}}}}}{{b{Al}}}Fh}{{{b{{Ln{c}}}}}{{b{Al}}}Fh}{{{b{{Ln{c}}}}}{{Cl{{Ej{e}}e}}}{MjFh}{{Ff{El}{{Fd{{Ln{c}}}}}}}}{{{b{{Ln{c}}}}}{{Cl{{Ej{e}}e}}}Fh{{Ff{El}{{Fd{{Mn{c}}}}}}}}{cc{}}0{{{b{{Mn{c}}}}}EhFh}{{{b{{Ln{c}}}}}EhFh}{{}c{}}0{{}Gj}0{{{b{{Ln{c}}}}}{{b{c}}}Fh}{{{b{{Mn{c}}}}}eFh{}}{{{b{{Ln{c}}}}}eFh{}}{{{b{{Ln{c}}}}g}{{Kn{e{Ln{c}}N`}}}{MjFh}L`{{D`{ec}}}}{{{b{{Ln{c}}}}g}{{Nb{e{Ln{c}}N`}}}{MjFh}L`{{D`{e{Ln{c}}}}}}{{{b{{Ln{c}}}}e}{{Ld{Ad{Ln{c}}N`}}}{MjNdFh}{{D`{Cbc}}Gf}}{bc{}}0{c{{f{e}}}{}{}}0{{}{{f{c}}}{}}0{bh}0`{{{Nb{c{Ln{e}}N`}}}{{Ld{c{Mn{e}}Kl}}}{}Fh}{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{{Nb{ceg}}}}}{{Nb{ceg}}}L`Fh{}}{{b{b{dc}}}Ad{}}{bAd}{{{Nb{c{Ln{e}}N`}}EfEh}Ad{}Fh}0{{{Nb{ceg}}EfEh}Ad{}{FhMj}{}}{{{Nb{ceN`}}{Nb{geN`}}}{{Nb{ceN`}}}{}Fh{}}0{{Efc}{{Nb{ecg}}}{FhMj}{}{}}{{Ef{Ln{c}}}{{Nb{e{Ln{c}}N`}}}Fh{}}0{{{Nb{c{Ln{e}}N`}}}{{Nb{c{Ln{e}}N`}}}{}Fh}00{{{Nb{c{Mn{e}}g}}}{{Nb{ceg}}}{}{FhMj}{}}{{{Nb{ceg}}k}{{Nb{ceg}}}{}Fh{}{{Nf{{b{c}}}{{Bb{Gj}}}}}{{Nh{ie}}}}{{{Nb{ceg}}m}{{Nb{ieg}}}{}Fh{}{}{{Nf{c}{{Bb{{Cj{i}}}}}}}{{Nh{ke}}}}{{{Nb{ceg}}o}{{Ld{ieg}}}{}Fh{}{}{{Lj{}{{Lh{i}}}}}{{Nf{c}{{Bb{k}}}}}{{Nh{me}}}}{{{Nb{ceg}}o}{{Ld{iegNj}}}{}Fh{}{}{{Lj{}{{Lh{i}}}}}{{Nf{c}{{Bb{k}}}}}{{Nh{me}}}}{{{Nb{egi}}}{{Ld{cgi}}}{}{{Lj{}{{Lh{c}}}}}Fh{}}{{{Nb{egi}}}{{Ld{cgiNj}}}{}{{Lj{}{{Lh{c}}}}}Fh{}}{{{Kn{ceg}}}{{Nb{ceg}}}{}Fh{}}{{{Nb{ceN`}}}{{Nb{ceKl}}}{}Fh}{cc{}}{{}c{}}{{{Nb{ceg}}}{{Kn{{Cj{c}}eg}}}L`Fh{}}{{{Nb{ceN`}}}{{Ld{ceN`}}}{}Fh}{{{Nb{c{Ln{e}}N`}}}{{Nb{c{Mn{e}}Kl}}}{}Fh}{{{Nb{c{Mn{e}}g}}}{{Nb{c{Ln{e}}N`}}}{}{FhMj}{}}{{{Nb{ceg}}m}{{Nb{ieg}}}{}Fh{}{}{{Nf{c}{{Bb{i}}}}}{{Nh{ke}}}}{{{Nb{c{Ln{e}}N`}}}{{Ld{c{Ln{e}}N`}}}{}Fh}{{{Nb{ceg}}}{{Ld{ceKl}}}{}{FhMj}{}}{{{Nb{ceg}}i}{{Ld{ceKl}}}{}{NdFhMj}{}{{D`{Lfe}}Gf}};{{{Nb{ceN`}}{Kn{geN`}}}{{Nb{geN`}}}{}Fh{}}{{{Nb{ceg}}{b{{Ln{e}}}}}{{Nb{c{Mn{e}}g}}}{}{FhMj}{}}{bc{}}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}{{{Nb{ceg}}{Nb{ceg}}}{{Nb{ceg}}}{}Fh{}}{{{Nb{ceg}}{Kn{ceg}}}{{Kn{ceg}}}{}Fh{}}{{{Nb{ceg}}k}{{Nb{{Cl{ci}}eg}}}{}Fh{}L`{{Nl{{Nb{ieg}}}}}}```{{{B`{An}}}{{B`{An}}}}{{{b{dNn}}}Ad}{{{B`{An}}{Hn{{b{{Jj{{B`{Nn}}}}}}}}{Hn{{b{{Jj{{O`{{Cl{CbNn}}}}}}}}}}}{{B`{An}}}}`{{{b{dOb}}k{b{i}}}k{}{}{{Nf{{b{dc}}e}}}{}{{D`{gi}}L`}}{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{}Ob}{cc{}}{{}c{}}{{{b{Ob}}{b{Gh}}}Gj}{{{B`{An}}{b{Ob}}}{{B`{An}}}}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}``98{{{b{Od}}}Od}{{b{b{dc}}}Ad{}}{bAd}98{bc{}}{{Od{b{c}}}{{Cl{{Cj{Ch}}{Cj{Ch}}}}}Fh}765````{{{Kn{c{Ln{e}}N`}}}{{Ld{c{Mn{e}}Kl}}}{}Fh}?>{{{b{{Kn{ceg}}}}}{{Kn{ceg}}}L`Fh{}}54{{{Kn{c{Ln{e}}N`}}EfEh}Ad{}Fh}0{{{Kn{ceg}}EfEh}Ad{}{FhMj}{}}{{{Kn{ceg}}{Nb{ieN`}}}{{Nb{ceN`}}}{}Fh{}{}}0{{Efc}{{Kn{ecg}}}{FhMj}{}{}}{{Ef{Ln{c}}}{{Kn{e{Ln{c}}N`}}}Fh{}}{{Ef{Kn{c{Ln{e}}N`}}{Ln{e}}}{{Kn{c{Ln{e}}N`}}}{}Fh}{{{Kn{c{Ln{e}}N`}}}{{Kn{c{Ln{e}}N`}}}{}Fh}0{{{Kn{c{Ln{e}}N`}}}{{Nb{c{Ln{e}}N`}}}{}Fh}{{{Kn{c{Mn{e}}g}}}{{Nb{ceg}}}{}{FhMj}{}}{{{Kn{ceg}}k}{{Nb{ceg}}}{}Fh{}{{Nf{{b{c}}}{{Bb{Gj}}}}}{{Nh{ie}}}}{{{Kn{ceg}}m}{{Nb{ieg}}}{}Fh{}{}{{Nf{c}{{Bb{{Cj{i}}}}}}}{{Nh{ke}}}}{{{Kn{ceg}}o}{{Ld{ieg}}}{}Fh{}{}{{Lj{}{{Lh{i}}}}}{{Nf{c}{{Bb{k}}}}}{{Nh{me}}}}0{{{Kn{ceN`}}}{{Kn{ceKl}}}{}Fh}{cc{}}{{}c{}}{{{Kn{c{Ln{e}}N`}}}{{Ld{c{Ln{e}}N`}}}{}Fh}{{{Kn{c{Ln{e}}N`}}}{{Kn{c{Mn{e}}Kl}}}{}Fh}{{{Kn{c{Mn{e}}g}}}{{Kn{c{Ln{e}}N`}}}{}{FhMj}{}}{{cJf}e{}{}}{{{Mn{c}}Jf}eFh{}}{{{Ln{c}}Jf}eFh{}}01{{{Kn{ceg}}m}{{Kn{ieg}}}{}Fh{}{}{{Nf{c}{{Bb{i}}}}}{{Nh{ke}}}}{cJf{}}{{{Kn{c{Ln{e}}g}}}JfL`Fh{}}{{{Nb{c{Ln{e}}g}}}JfL`Fh{}}{{{Kn{c{Mn{e}}g}}}JfL`Fh{}}{{{Nb{c{Mn{e}}g}}}JfL`Fh{}}{{{b{c}}}e{}{}}{{{b{{Nb{c{Ln{e}}g}}}}}{{Ln{e}}}L`Fh{}}{{{b{{Kn{c{Mn{e}}g}}}}}{{Mn{e}}}L`Fh{}}{{{b{{Kn{c{Ln{e}}g}}}}}{{Ln{e}}}L`Fh{}}{{{b{{Nb{c{Mn{e}}g}}}}}{{Mn{e}}}L`Fh{}}{{{Kn{c{Ln{e}}N`}}}{{Ld{c{Ln{e}}N`}}}{}Fh}{{{Kn{ceg}}}{{Ld{ceKl}}}{}{FhMj}{}}{{{Kn{ceg}}i}{{Ld{ceKl}}}{}{NdFhMj}{}{{D`{Lfe}}Gf}}{{{Kn{ceg}}{b{{Ln{e}}}}}{{Kn{c{Mn{e}}g}}}{}{FhMj}{}}{bc{}}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}{{{Kn{ceg}}i}k{}Fh{}{}{}}`````{{{Ld{c{Ln{e}}N`g}}}{{Ld{c{Mn{e}}Klg}}}{}Fh{}}{{{Ld{{Cl{ce}}gik}}{Ld{cgN`m}}}{{Ld{{Cl{ce}}gik}}}{OfOh}{}Fh{}{}{}}{{{Ld{cegi}}}{{Ld{cegk}}}{}Fh{}{}{}}{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{Ld{cegi}}{b{{l{k}}}}}{{Ld{{l{k}}Kl}}}{L`DjDl}{FhMj}{}Oj{}}{{{Ld{cegi}}{b{{l{k}}}}}{{Ld{c{l{k}}Kl}}}{L`DjDl}{FhMj}{}Oj{}}{{{Ld{cegi}}{b{{l{k}}}}}{{Ld{{l{k}}Kl}}}L`{FhMj}{}Oj{}}{{{Ld{cegi}}{b{{l{k}}}}}{{Ld{Ml{l{k}}Kl}}}L`{FhMj}{}Oj{}}{{{Ld{ceN`Ol}}{Ld{ceN`Ol}}}{{Ld{ceN`Ol}}}{}Fh}{{{b{{Ld{cegi}}}}}{{Ld{cegi}}}L`Fh{}{}}{{b{b{dc}}}Ad{}}{bAd}{{{Ld{cegi}}}{{Ld{cegi}}}L`Fh{}{}}{{{Ld{cegi}}EfEh}Ad{}{FhMj}{}{}}{{{Ld{c{Ln{e}}N`g}}EfEh}Ad{}Fh{}}{{{Ld{cegi}}{Nb{keN`}}}{{Ld{cegi}}}{}Fh{}{}{}}0{{{Ld{cegi}}}{{Kn{Cbeg}}}{}Fh{}{{Oj{Nj}{{On{Nj}}}}}}{{Ef{Ln{c}}}{{Ld{e{Ln{c}}N`g}}}Fh{}{}}{{Efc}{{Ld{ecgi}}}{FhMj}{}{}{}}{{{Ld{cegi}}{Ld{kegi}}}{{Ld{{Cl{ck}}egi}}}L`Fh{}{}L`}{{{Ld{cegi}}m}{{Ld{{Cl{ck}}egi}}}{}Fh{}{}L`{{Nl{{Nb{keN`}}}}}}{{{Ld{c{l{e}}gi}}{b{{l{k}}}}}{{Ld{c{l{k}}Kli}}}{L`DjDl}{}{}Oj{}}{{{Ld{cegi}}{b{{Bf{k}}}}}{{Ld{c{Bf{k}}Kli}}}{L`DjDl}{FhMj}{}{{Oj{}{{On{}}}}}{}}{{{Ld{c{Ln{e}}N`g}}}{{Ld{c{Ln{e}}N`g}}}{}Fh{}}00{{{Ld{cegi}}m}Ad{}{FhMj}{}{}{Ll{Dd{c}}}{{D`{ke}}}}{{{Ld{c{Mn{e}}gi}}}{{Ld{cegi}}}{}{FhMj}{}{}}{{{Ld{cegOl}}}{{Ld{{Cl{Cbc}}egOl}}}{}Fh{}}{{{Ld{cegi}}m}{{Ld{cegi}}}{}Fh{}{}{{Nf{{b{c}}}{{Bb{Gj}}}}}{{Nh{ke}}}}{{{Ld{cegi}}o}{{Ld{kegi}}}{}Fh{}{}{}{{Nf{c}{{Bb{{Cj{k}}}}}}}{{Nh{me}}}}{{{Ld{cegi}}{Ld{ceN`k}}}{{Ld{ceN`i}}}{OfOh}Fh{}{}{}}{{{Ld{cegOl}}}{{Nb{ceg}}}{}Fh{}}{{{Ld{cegi}}Aa}{{Ld{kegi}}}{}Fh{}{}{}{{Lj{}{{Lh{k}}}}}{{Nf{c}{{Bb{m}}}}}{{Nh{oe}}}}{{{Ld{cegi}}Aa}{{Ld{kegNj}}}{}Fh{}{}{}{{Lj{}{{Lh{k}}}}}{{Nf{c}{{Bb{m}}}}}{{Nh{oe}}}}{{{Ld{egik}}}{{Ld{cgik}}}{}{{Lj{}{{Lh{c}}}}}Fh{}{}}{{{Ld{egik}}}{{Ld{cgiNj}}}{}{{Lj{}{{Lh{c}}}}}Fh{}{}}{{{Ld{cegOl}}mAa}{{Kn{ieg}}}{}Fh{}{}{{Nf{}{{Bb{i}}}}}{{Nh{ke}}}{{Nf{{b{di}}c}}}{{Nh{oe}}}}{{{Ld{cegi}}oAc}{{Kn{keg}}}{}Fh{}{{Oj{Nj}{{On{Nj}}}}}{}{{Nf{}{{Bb{k}}}}}{{Nh{me}}}{{Nf{{b{dk}}c}}}{{Nh{Aae}}}}{{{Ld{{Cl{ce}}{Ln{g}}N`}}mAa}{{Ld{{Cl{ci}}{Ln{g}}N`}}}{OfOh}{}Fh{}{{Nf{}{{Bb{i}}}}}{{Nh{k{Ln{g}}}}}{{Nf{{b{di}}e}}}{{Nh{o{Ln{g}}}}}}{{{Ld{{Cl{ce}}{Ln{g}}N`i}}oAc}{{Ld{{Cl{ck}}{Ln{g}}N`i}}}{OfOh}{}Fh{}{}{{Nf{}{{Bb{k}}}}}{{Nh{m{Ln{g}}}}}{{Nf{{b{dk}}e}}}{{Nh{Aa{Ln{g}}}}}}{{{Ld{cegi}}m}Ad{}{FhMj}{}{}{{Nf{c}}}{{Nh{ke}}}}{cc{}}0{{{Ld{cegOl}}}{{Ld{cegNj}}}{}Fh{}}1{{{Ld{cegi}}m}{{Ld{cegi}}}{}Fh{}{}{{Nf{{b{c}}}}}{{Nh{ke}}}}{{}c{}}00{{{Ld{{Cl{ce}}gik}}{Ld{{Cl{cm}}gio}}}{{Ld{{Cl{c{Cl{em}}}}giNj}}}{OfOh}{}Fh{}{}{}{}}{{{Ld{{Cl{ce}}{Ln{g}}N`i}}}{{Ld{c{Ln{g}}N`i}}}{OfOh}{}Fh{}}?{{{Ld{cegi}}o}{{Ld{kegi}}}{}Fh{}{}{}{{Nf{c}{{Bb{k}}}}}{{Nh{me}}}}{{{Ld{cegi}}}{{Nb{ceg}}}A@`Fh{}{{Oj{Nj}{{On{Nj}}}}}}{{{Ld{cegi}}o}{{Nb{ceg}}}{}Fh{}{{Oj{Nj}{{On{Nj}}}}}A@`{{Nf{{b{c}}}{{Bb{k}}}}}{{Nh{me}}Gf}}1{{{Ld{c{Ln{e}}N`g}}}{{Ld{c{Ln{e}}N`g}}}L`Fh{}}{{{Ld{cegOl}}k}{{Nb{ceg}}}{}Fh{}{{Nf{{b{dc}}c}}}{{Nh{ie}}}}{{{Ld{cegi}}m}{{Nb{ceg}}}{}Fh{}{{Oj{Nj}{{On{Nj}}}}}{{Nf{{b{dc}}c}}}{{Nh{ke}}}}{{{Ld{{Cl{ce}}{Ln{g}}N`}}k}{{Ld{{Cl{ce}}{Ln{g}}N`}}}{OfOh}{}Fh{{Nf{{b{de}}e}}}{{Nh{i{Ln{g}}}}}}{{{Ld{{Cl{ce}}{Ln{g}}N`i}}m}{{Ld{{Cl{ce}}{Ln{g}}N`i}}}{OfOh}{}Fh{}{{Nf{{b{de}}e}}}{{Nh{k{Ln{g}}}}}}{{{Ld{cegOl}}{b{{l{i}}}}}{{Ld{{l{i}}Kl}}}{L`DjDl}{FhMj}{}{}}{{{Ld{cegOl}}{b{{l{i}}}}}{{Ld{c{l{i}}Kl}}}{L`DjDl}{FhMj}{}{}}{{{Ld{cegOl}}{b{{l{i}}}}}{{Ld{{l{i}}Kl}}}L`{FhMj}{}{}}{{{Ld{cegOl}}{b{{l{i}}}}}{{Ld{Ml{l{i}}Kl}}}L`{FhMj}{}{}}{{{Ld{cegi}}k}{{Ld{ceKli}}}{}{FhMjNd}{}{}{{D`{Lfe}}Gf}}{{{Ld{cegi}}{b{k}}}{{Ld{kKl}}}{}{FhMj}{}OjFh}{{{Ld{cikm}}{b{{Ah{e}}}}}E`{}{}{DjDl}{{A@f{{Ah{e}}}{{A@b{gc}}{A@d{gg}}}}FhMj}{}{}}{{{Ld{cegi}}{b{k}}}{{Ld{mkKl}}}{}{FhMj}{}OjFh{DjDl}}2{{{Ld{cegi}}{b{{Ah{k}}}}}Dn{}{FhMj}{}{}{}}{{{Ld{cegi}}{b{k}}}{{Ld{MlkKl}}}{}{FhMj}{}OjFh}{{{Ld{ceN`g}}}{{Ld{ceN`Ol}}}A@`Fh{}}{{{Ld{c{Mn{e}}gi}}}{{Ld{c{Ln{e}}N`i}}}{}{FhMj}{}{}}{{{Ld{cegi}}k}{{Nb{AdeKl}}}{}{FhMjNd}{}{{Oj{Nj}{{On{Nj}}}}}{{D`{Lf{Ln{e}}}}Gf}}{{{b{{Ld{c{Mn{e}}gi}}}}}{{Ln{e}}}{}{FhMj}{}{}}{{{Ld{cegi}}{b{{Ln{e}}}}}{{Ld{c{Mn{e}}gi}}}{}{FhMjNd}{}{}}{bc{}}{c{{f{e}}}{}{}}00{{}{{f{c}}}{}}00{bh}00{{{Ld{ceN`i}}{Ld{cekg}}}{{Ld{cek}}}{}Fh{}{{Oj{g}}}{}}{{{Ld{ceKlNj}}{Ld{ceKlNj}}}{{Ld{ceKlNj}}}{}{FhMjNd}}{{{Ld{cegi}}}{{Ld{cegi}}}{OfOh}Fh{}{}}","D":"On","p":[[1,"reference"],[0,"mut"],[6,"Result",1048],[5,"TypeId",1049],[5,"FlowBuilder",46],[5,"Cluster",627],[5,"CompiledFlow",101],[5,"DeployResult",122],[17,"CompileEnv"],[1,"unit"],[10,"Deploy",198],[5,"ExternalProcess",704],[5,"BuiltFlow",83],[8,"FlowState",46],[6,"HfPlusLeaf",405],[5,"Vec",1050],[17,"Output"],[10,"FnOnce",1051],[5,"Process",746],[5,"DeployFlow",122],[10,"LocalDeploy",198],[10,"ClusterSpec",198],[10,"ExternalSpec",198],[10,"IntoProcessSpec",198],[1,"usize"],[5,"HydroflowGraph",1052],[5,"BTreeMap",1053],[5,"TokenStream",1054],[6,"Option",1055],[1,"tuple"],[5,"CompiledFlowWithId",101],[10,"QuotedWithContext",1056],[5,"ExternalBincodeSink",704],[10,"Sink",1057],[5,"Box",1058],[5,"Pin",1059],[10,"Serialize",1060],[10,"DeserializeOwned",1061],[5,"ExternalBytesPort",704],[5,"ExternalBincodeStream",704],[10,"Stream",1062],[10,"CycleComplete",154],[5,"Ident",1054],[6,"LocationId",569],[5,"ForwardRef",154],[6,"ForwardRefMarker",154],[5,"TickCycle",154],[6,"TickCycleMarker",154],[10,"DeferTick",154],[17,"Location"],[10,"CycleCollection",154],[10,"Location",569],[10,"CycleCollectionWithInitial",154],[10,"RegisterPort",198],[10,"Future",1063],[10,"ProcessSpec",198],[1,"str"],[1,"u32"],[10,"Copy",1064],[6,"Expr",1065],[1,"bool"],[17,"Port"],[17,"Meta"],[17,"InstantiateEnv"],[10,"Node",198],[6,"Stmt",1066],[17,"ProcessSpec"],[10,"Sized",1064],[5,"HydroflowPlusMeta",264],[5,"DeployPorts",1067],[5,"RuntimeData",1056],[10,"Deserializer",1061],[10,"Serializer",1060],[5,"SingleNode",286],[5,"MultiNode",286],[5,"DeployRuntimeNode",338],[5,"DeployRuntimeCluster",338],[5,"String",1068],[5,"DebugExpr",405],[5,"DebugPipelineFn",405],[8,"SeenTees",405],[5,"HashMap",1069],[6,"HfPlusNode",405],[5,"FlatGraphBuilder",1070],[5,"RefCell",1071],[6,"DebugInstantiate",405],[5,"Formatter",1072],[8,"Result",1072],[5,"TeeNode",405],[6,"HfPlusSource",405],[5,"Span",1054],[10,"FnMut",1051],[17,"Root"],[6,"Unbounded",30],[5,"Singleton",889],[10,"Clone",1073],[5,"Instant",1074],[5,"Stream",946],[5,"Duration",1075],[17,"Item"],[10,"IntoIterator",1076],[10,"Unpin",1064],[5,"Tick",768],[6,"Type",1077],[5,"ClusterIds",627],[5,"ClusterSelfId",627],[5,"ClusterId",679],[10,"Hasher",1078],[10,"NoTick",768],[5,"Bytes",1079],[5,"Timestamped",768],[6,"Bounded",30],[5,"Optional",810],[10,"NoTimestamp",768],[10,"Fn",1051],[10,"IntoQuotedMut",1056],[5,"NoOrder",946],[10,"Into",1080],[1,"u64"],[5,"UnboundedSender",1081],[5,"PropertyDatabase",863],[5,"RuntimeContext",875],[10,"Eq",1082],[10,"Hash",1078],[10,"MinOrder",946],[5,"TotalOrder",946],[17,"Min"],[10,"Ord",1082],[17,"In"],[17,"Out"],[10,"CanSend",621],[5,"FlowStateInner",46],[5,"SingleProcessGraph",286],[5,"MultiGraph",286],[5,"DeployRuntime",338],[15,"ForEach",527],[15,"CycleSink",527],[15,"DestSink",527],[15,"Fold",534],[15,"FoldKeyed",534],[15,"Network",534],[15,"Map",534],[15,"FlatMap",534],[15,"Filter",534],[15,"FilterMap",534],[15,"Inspect",534],[15,"Reduce",534],[15,"ReduceKeyed",534],[15,"CycleSource",534],[15,"Tee",534],[15,"Enumerate",534],[15,"Source",534],[10,"IsCluster",627],[10,"ZipResult",889]],"r":[[0,30],[1,627],[2,627],[3,679],[4,704],[5,46],[6,569],[7,946],[8,810],[9,746],[10,875],[11,889],[12,946],[13,768],[14,768],[15,946],[16,30],[25,1083],[209,264],[569,621],[570,627],[572,679],[573,704],[577,768],[578,746],[581,768],[583,768],[629,679]],"b":[[658,"impl-CanSend%3C\'a,+Cluster%3C\'a,+C2%3E%3E-for-Cluster%3C\'a,+C1%3E"],[659,"impl-CanSend%3C\'a,+Process%3C\'a,+P2%3E%3E-for-Cluster%3C\'a,+C1%3E"],[663,"impl-CanSend%3C\'a,+Process%3C\'a,+P2%3E%3E-for-Cluster%3C\'a,+C1%3E"],[664,"impl-CanSend%3C\'a,+Cluster%3C\'a,+C2%3E%3E-for-Cluster%3C\'a,+C1%3E"],[691,"impl-Display-for-ClusterId%3CC%3E"],[692,"impl-Debug-for-ClusterId%3CC%3E"],[756,"impl-CanSend%3C\'a,+Cluster%3C\'a,+C2%3E%3E-for-Process%3C\'a,+P1%3E"],[757,"impl-CanSend%3C\'a,+Process%3C\'a,+P2%3E%3E-for-Process%3C\'a,+P1%3E"],[758,"impl-CanSend%3C\'a,+ExternalProcess%3C\'a,+E2%3E%3E-for-Process%3C\'a,+P1%3E"],[761,"impl-CanSend%3C\'a,+Process%3C\'a,+P2%3E%3E-for-Process%3C\'a,+P1%3E"],[762,"impl-CanSend%3C\'a,+ExternalProcess%3C\'a,+E2%3E%3E-for-Process%3C\'a,+P1%3E"],[763,"impl-CanSend%3C\'a,+Cluster%3C\'a,+C2%3E%3E-for-Process%3C\'a,+P1%3E"],[817,"impl-CycleComplete%3C\'a,+ForwardRefMarker%3E-for-Optional%3CT,+Tick%3CL%3E,+Bounded%3E"],[818,"impl-CycleComplete%3C\'a,+TickCycleMarker%3E-for-Optional%3CT,+Tick%3CL%3E,+Bounded%3E"],[819,"impl-CycleComplete%3C\'a,+ForwardRefMarker%3E-for-Optional%3CT,+L,+B%3E"],[822,"impl-CycleCollection%3C\'a,+ForwardRefMarker%3E-for-Optional%3CT,+L,+B%3E"],[823,"impl-CycleCollection%3C\'a,+TickCycleMarker%3E-for-Optional%3CT,+Tick%3CL%3E,+Bounded%3E"],[824,"impl-CycleCollection%3C\'a,+ForwardRefMarker%3E-for-Optional%3CT,+Tick%3CL%3E,+Bounded%3E"],[825,"impl-DeferTick-for-Optional%3CT,+Tick%3CL%3E,+Bounded%3E"],[826,"impl-Optional%3CT,+Tick%3CL%3E,+Bounded%3E"],[835,"impl-From%3CSingleton%3CT,+L,+B%3E%3E-for-Optional%3CT,+L,+B%3E"],[836,"impl-From%3COptional%3CT,+L,+Bounded%3E%3E-for-Optional%3CT,+L,+Unbounded%3E"],[899,"impl-CycleComplete%3C\'a,+ForwardRefMarker%3E-for-Singleton%3CT,+Tick%3CL%3E,+Bounded%3E"],[900,"impl-CycleComplete%3C\'a,+TickCycleMarker%3E-for-Singleton%3CT,+Tick%3CL%3E,+Bounded%3E"],[901,"impl-CycleComplete%3C\'a,+ForwardRefMarker%3E-for-Singleton%3CT,+L,+B%3E"],[904,"impl-CycleCollection%3C\'a,+ForwardRefMarker%3E-for-Singleton%3CT,+L,+B%3E"],[905,"impl-CycleCollection%3C\'a,+ForwardRefMarker%3E-for-Singleton%3CT,+Tick%3CL%3E,+Bounded%3E"],[906,"impl-CycleCollectionWithInitial%3C\'a,+TickCycleMarker%3E-for-Singleton%3CT,+Tick%3CL%3E,+Bounded%3E"],[907,"impl-DeferTick-for-Singleton%3CT,+Tick%3CL%3E,+Bounded%3E"],[908,"impl-Singleton%3CT,+Tick%3CL%3E,+Bounded%3E"],[922,"impl-ZipResult%3C\'a,+Singleton%3CU,+Timestamped%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Timestamped%3CL%3E,+B%3E"],[923,"impl-ZipResult%3C\'a,+Optional%3CU,+Tick%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Tick%3CL%3E,+B%3E"],[924,"impl-ZipResult%3C\'a,+Singleton%3CU,+Tick%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Tick%3CL%3E,+B%3E"],[925,"impl-ZipResult%3C\'a,+Optional%3CU,+Timestamped%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Timestamped%3CL%3E,+B%3E"],[928,"impl-ZipResult%3C\'a,+Singleton%3CU,+Tick%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Tick%3CL%3E,+B%3E"],[929,"impl-ZipResult%3C\'a,+Optional%3CU,+Tick%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Tick%3CL%3E,+B%3E"],[930,"impl-ZipResult%3C\'a,+Singleton%3CU,+Timestamped%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Timestamped%3CL%3E,+B%3E"],[931,"impl-ZipResult%3C\'a,+Optional%3CU,+Timestamped%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Timestamped%3CL%3E,+B%3E"],[933,"impl-ZipResult%3C\'a,+Optional%3CU,+Tick%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Tick%3CL%3E,+B%3E"],[934,"impl-ZipResult%3C\'a,+Singleton%3CU,+Timestamped%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Timestamped%3CL%3E,+B%3E"],[935,"impl-ZipResult%3C\'a,+Singleton%3CU,+Tick%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Tick%3CL%3E,+B%3E"],[936,"impl-ZipResult%3C\'a,+Optional%3CU,+Timestamped%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Timestamped%3CL%3E,+B%3E"],[969,"impl-CycleComplete%3C\'a,+ForwardRefMarker%3E-for-Stream%3CT,+L,+B,+Order%3E"],[970,"impl-CycleComplete%3C\'a,+TickCycleMarker%3E-for-Stream%3CT,+Tick%3CL%3E,+Bounded,+Order%3E"],[974,"impl-CycleCollection%3C\'a,+TickCycleMarker%3E-for-Stream%3CT,+Tick%3CL%3E,+Bounded,+Order%3E"],[975,"impl-CycleCollection%3C\'a,+ForwardRefMarker%3E-for-Stream%3CT,+L,+B,+Order%3E"],[980,"impl-DeferTick-for-Stream%3CT,+Tick%3CL%3E,+Bounded,+Order%3E"],[981,"impl-Stream%3CT,+Tick%3CL%3E,+Bounded,+Order%3E"],[1045,"impl-Stream%3CT,+L,+Bounded,+Order%3E"],[1046,"impl-Stream%3CT,+L,+Unbounded,+NoOrder%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJkDNgAAABkAGwADACEAAwApABkARwATAF0ADgBuAAAAcQAXAIsAAgCQAA4AoAASALsAFQDSAEUAGgEWADUBAwA9AS8AcAEDAHcBNQCwATQA5wEAAPQBZQBbAgAAXQIFAGUCCwByAgEAdQIWAI8CAACTAiIAtwIBALoCFgDVAgAA2gIXAPMCAAD1Ag0ABAMQABcDAQAbAyoASAMCAEwDAQBQAw4AYgMCAGcDCwB1Ax8AlwMBAJoDEACtAwUAuAMBALsDEADOAxkA6gMAAOwDAADwAw8AAQQGAAoEDgA="}],["hydroflow_plus_test",{"t":"CCCCCCCCCCCCFFNNNNHNNNNNNNNNNNNHFFNNNNNNNNHNNNNNNNNFFKFNNNNNNNNNNNNNNNNNNNNNNNNNONHONNNNNNNNNNNNNNFNNNNHNNNNKFKFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONHHONNNNNNNNNNNNNONNNHHHHHHFFFNNNNNNNNNNNNNNNNNNHNNNNNNCFFNNNNHNNNNNNNNNNNN","n":["cluster","distributed","compute_pi","many_to_many","map_reduce","paxos","paxos_bench","paxos_kv","quorum","request_response","simple_cluster","two_pc","Leader","Worker","borrow","","borrow_mut","","compute_pi","from","","into","","try_from","","try_into","","type_id","","vzip","","many_to_many","Leader","Worker","borrow","","borrow_mut","","from","","into","","map_reduce","try_from","","try_into","","type_id","","vzip","","Acceptor","Ballot","PaxosPayload","Proposer","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","cmp","compare","deserialize","eq","equivalent","","","","fmt","from","","","hash","into","","","num","partial_cmp","paxos_core","proposer_id","serialize","to_owned","try_from","","","try_into","","","type_id","","","vzip","","","Client","borrow","borrow_mut","from","into","paxos_bench","try_from","try_into","type_id","vzip","KvKey","KvPayload","KvValue","Replica","SequencedKv","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","cmp","compare","deserialize","","eq","","equivalent","","","","","","","","fmt","","from","","","into","","","key","kv","partial_cmp","paxos_kv","replica","seq","serialize","","to_owned","","try_from","","","try_into","","","type_id","","","value","vzip","","","collect_quorum","collect_quorum_with_response","join_responses","decouple_cluster","decouple_process","simple_cluster","Client","Coordinator","Participants","borrow","","","borrow_mut","","","from","","","into","","","try_from","","","try_into","","","two_pc","type_id","","","vzip","","","first_ten","P1","P2","borrow","","borrow_mut","","first_ten_distributed","from","","into","","try_from","","try_into","","type_id","","vzip",""],"q":[[0,"hydroflow_plus_test"],[2,"hydroflow_plus_test::cluster"],[12,"hydroflow_plus_test::cluster::compute_pi"],[31,"hydroflow_plus_test::cluster::many_to_many"],[32,"hydroflow_plus_test::cluster::map_reduce"],[51,"hydroflow_plus_test::cluster::paxos"],[98,"hydroflow_plus_test::cluster::paxos_bench"],[108,"hydroflow_plus_test::cluster::paxos_kv"],[170,"hydroflow_plus_test::cluster::quorum"],[172,"hydroflow_plus_test::cluster::request_response"],[173,"hydroflow_plus_test::cluster::simple_cluster"],[176,"hydroflow_plus_test::cluster::two_pc"],[204,"hydroflow_plus_test::distributed"],[205,"hydroflow_plus_test::distributed::first_ten"],[224,"hydroflow_plus::builder"],[225,"hydroflow_plus::location::cluster"],[226,"hydroflow_plus::location::process"],[227,"core::result"],[228,"core::any"],[229,"core::cmp"],[230,"serde::de"],[231,"core::fmt"],[232,"core::hash"],[233,"core::option"],[234,"hydroflow_plus::location::cluster::cluster_id"],[235,"hydroflow_plus::boundedness"],[236,"hydroflow_plus::stream"],[237,"serde::ser"],[238,"core::clone"],[239,"hydroflow_plus::location::tick"],[240,"hydroflow_plus::location"],[241,"hydroflow_plus::location::external_process"],[242,"alloc::string"]],"i":"``````````````jn10`101010101010```AjAl101010`10101010````BnC`An210000000000000210021000`000210210210210`D`000`0000`````DbDdDh2101010100010101111000010210210100``010102102102101210`````````FhFfFj210210210210210`210210```FnG`10`101010101010","f":"``````````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{f}}h}{{Ab{{l{j}}{A`{n}}}}}}{cc{}}0{{}c{}}0{c{{Ad{e}}}{}{}}0{{}{{Ad{c}}}{}}0{bAf}033{{{b{f}}}{{l{Ah}}}}``88775544{{{b{f}}}{{Ab{{A`{Aj}}{l{Al}}}}}}44332255````999888{{{b{An}}}An}{{b{b{dc}}}Ah{}}{bAh}{{{b{An}}{b{An}}}B`}{{b{b{c}}}B`{}}{c{{Ad{An}}}Bb}{{{b{An}}{b{An}}}Bd}{{b{b{c}}}Bd{}}000{{{b{An}}{b{dBf}}}Bh}???{{{b{An}}{b{dc}}}AhBj}???`{{{b{An}}{b{An}}}{{Bl{B`}}}}{{{b{{l{Bn}}}}{b{{l{C`}}}}{Ch{{Ab{{Cb{c}}h}}{l{C`}}CdCf}}{Ch{e{l{Bn}}Cd}}hCjCjh}{{Ab{{Ch{An{l{Bn}}Cd}}{Ch{{Ab{h{Bl{e}}}}{l{Bn}}CdCf}}}}}{}Cl}`{{{b{An}}c}AdCn}{bc{}}{c{{Ad{e}}}{}{}}00{{}{{Ad{c}}}{}}00{bAf}00{{}c{}}00`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{cc{}}3{{{b{f}}hhhhCjCjh}{{Ab{{l{Bn}}{l{C`}}{l{D`}}{l{Db}}}}}}7654`````333222{{{b{{Dd{ce}}}}}{{Dd{ce}}}DfDf}{{{b{{Dh{ce}}}}}{{Dh{ce}}}DfDf}{{b{b{dc}}}Ah{}}0{bAh}0{{{b{{Dh{ce}}}}{b{{Dh{ce}}}}}B`DjDl}{{b{b{c}}}B`{}}{c{{Ad{{Dd{eg}}}}}BbDnDn}{c{{Ad{{Dh{eg}}}}}BbDnDn}{{{b{{Dd{ce}}}}{b{{Dd{ce}}}}}BdE`E`}{{{b{{Dh{ce}}}}{b{{Dh{ce}}}}}BdE`E`}{{b{b{c}}}Bd{}}0000000{{{b{{Dd{ce}}}}{b{dBf}}}BhEbEb}{{{b{{Dh{ce}}}}{b{dBf}}}BhEbEb}>>>{{}c{}}00``{{{b{{Dh{ce}}}}{b{{Dh{ce}}}}}{{Bl{B`}}}DjDl}{{{b{{l{Bn}}}}{b{{l{C`}}}}{b{{l{Db}}}}{Ch{{Dd{ce}}{l{Bn}}Cd}}hCjCjhh}{{Ab{{Ch{An{l{Bn}}Cd}}{Ch{{Dd{ce}}{l{Db}}Cd}}}}}DjDl}{{{b{{l{Db}}}}{Ch{{Dh{ce}}{l{Db}}CdCf}}h}{{Ab{{Ch{h{l{Db}}Cd}}{Ch{{Dd{ce}}{l{Db}}Cd}}}}}DjDl}`{{{b{{Dd{ce}}}}g}AdEdEdCn}{{{b{{Dh{ce}}}}g}AdEdEdCn}{bc{}}0{c{{Ad{e}}}{}{}}00{{}{{Ad{c}}}{}}00{bAf}00`999{{{Ch{{Ab{c{Ad{Ahe}}}}{Ef{g}}Cdi}}hh}{{Ab{{Ch{c{Ef{g}}Cdi}}{Ch{{Ab{ce}}{Ef{g}}Cdi}}}}}{DfEhEj}Df{ElEn}{}}{{{Ch{{Ab{c{Ad{eg}}}}{Ef{i}}Cdk}}hh}{{Ab{{Ch{{Ab{ce}}{Ef{i}}Cdk}}{Ch{{Ab{cg}}{Ef{i}}Cdk}}}}}{DfEhEj}DfDf{ElEn}{}}{{{b{{F`{c}}}}{Ch{{Ab{eg}}{Ef{c}}CdCf}}{Ch{{Ab{ei}}{F`{c}}FbCf}}}{{Ch{{Ab{e{Ab{ig}}}}{Ef{c}}CdCf}}}{ElEn}{DfEhEj}DfDf}{{{b{f}}}{{Ab{{l{Ah}}{l{Ah}}}}}}{{{b{f}}}{{Ab{{A`{Ah}}{A`{Ah}}}}}}{{{b{f}}}{{Ab{{A`{Ah}}{l{Ah}}}}}}```{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{cc{}}00{{}c{}}00<<<;;;{{{b{f}}Fd}{{Ab{{A`{Ff}}{l{Fh}}{A`{Fj}}}}}};;;111```4433{{{b{{Fl{Ah}}}}{b{{A`{Fn}}}}{b{{A`{G`}}}}}{{Gd{Gb}}}}3322>>==<<22","D":"Df","p":[[1,"reference"],[0,"mut"],[5,"FlowBuilder",224],[1,"usize"],[5,"Worker",12],[5,"Cluster",225],[5,"Leader",12],[5,"Process",226],[1,"tuple"],[6,"Result",227],[5,"TypeId",228],[1,"unit"],[5,"Leader",32],[5,"Worker",32],[5,"Ballot",51],[6,"Ordering",229],[10,"Deserializer",230],[1,"bool"],[5,"Formatter",231],[8,"Result",231],[10,"Hasher",232],[6,"Option",233],[5,"Proposer",51],[5,"Acceptor",51],[5,"ClusterId",234],[6,"Unbounded",235],[5,"NoOrder",236],[5,"Stream",236],[1,"u64"],[10,"PaxosPayload",51],[10,"Serializer",237],[5,"Client",98],[5,"Replica",108],[5,"KvPayload",108],[10,"Clone",238],[5,"SequencedKv",108],[10,"KvKey",108],[10,"KvValue",108],[10,"Deserialize",230],[10,"PartialEq",229],[10,"Debug",231],[10,"Serialize",237],[5,"Timestamped",239],[10,"Eq",229],[10,"Hash",232],[10,"Location",240],[10,"NoTick",239],[5,"Tick",239],[6,"Bounded",235],[1,"u32"],[5,"Coordinator",176],[5,"Participants",176],[5,"Client",176],[5,"ExternalProcess",241],[5,"P1",205],[5,"P2",205],[5,"String",242],[5,"ExternalBincodeSink",241]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAL0ADAAAABMAGAAOACsAHgBNAAAAUQABAFQAEQBoACUAlAACAJgAFACuAAsAwAAUANkABwA="}],["hydroflow_plus_test_local",{"t":"CCCCCCCCQHQQHHQQQQQ","n":["local","chat_app","compute_pi","count_elems","first_ten","graph_reachability","negation","teed_join","chat_app","compute_pi","compute_pi_runtime","count_elems","count_elems_generic","first_ten","first_ten_runtime","graph_reachability","test_anti_join","test_difference","teed_join"],"q":[[0,"hydroflow_plus_test_local"],[1,"hydroflow_plus_test_local::local"],[8,"hydroflow_plus_test_local::local::chat_app"],[9,"hydroflow_plus_test_local::local::compute_pi"],[11,"hydroflow_plus_test_local::local::count_elems"],[13,"hydroflow_plus_test_local::local::first_ten"],[15,"hydroflow_plus_test_local::local::graph_reachability"],[16,"hydroflow_plus_test_local::local::negation"],[18,"hydroflow_plus_test_local::local::teed_join"],[19,"hydroflow_plus::builder"],[20,"stageleft"],[21,"hydroflow_plus::location::process"],[22,"tokio_stream::wrappers::mpsc_unbounded"],[23,"tokio::sync::mpsc::unbounded"],[24,"hydroflow::scheduled::graph"]],"i":"```````````````````","f":"`````````{{{d{b}}{h{f}}}{{l{j}}}}``{{b{h{{n{c}}}}{h{{d{{Ab{A`}}}}}}}{{`{{Af{Ad}}}}}{}}{{{d{b}}}j}`````","D":"`","p":[[5,"FlowBuilder",19],[1,"reference"],[1,"usize"],[5,"RuntimeData",20],[1,"unit"],[5,"Process",21],[5,"UnboundedReceiverStream",22],[1,"u32"],[5,"UnboundedSender",23],[5,"Hydroflow",24],[10,"Quoted",20]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABMAAQAAABMA"}],["hydroflow_plus_test_local_macro",{"t":"QQQQQQQQ","n":["macro_0317123C21A365AAC8F7C904D715749D52C4408A36766C2EA4952E8548FDF2CF","macro_1C0FE8523A30CEE48113F7CA958EDC55F81545A0CB32FC13A73E2E0B86C69967","macro_88FF4FF66B42C3C3EA6A3A776AD3BBB5A0E778C545379CD74D8134F1BDE2467B","macro_B8B04B5C82DD37E36A884DD155638B3BB603ECEE77232C187CB7749C8C3633D4","macro_DBD6835F761FB7B759E0367E64D404553FF74D0CDA5EC33E48C8D94A09338A20","macro_E29C1936765CFB0AEE40C7D85645A072229E6DD9B20D78BFFDFDF0B90F8550E2","macro_F32B896FDC4E575B912C55F307713AE1C491601401B080576A445697B5F5D872","macro_F395CBD2498F0C0291586D539B1C53802F7DE61514FE27DB041B53B7578FA011"],"q":[[0,"hydroflow_plus_test_local_macro"]],"i":"````````","f":"````````","D":"`","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAgAAQAAAAgA"}],["latency_measure",{"t":"HCFFPPPFFGNNNNNNNNNNONNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNONNNNNNNNNNNNNNNNNNNNONNNNN","n":["main","protocol","OperationPayload","Payload","","Ping","Pong","QueryResponse","Timestamped","TopolotreeMessage","borrow","","","","","borrow_mut","","","","","change","clone","","","","","clone_into","","","","","clone_to_uninit","","","","","contents","data","deserialize","","","","","eq","","","","","equivalent","","","","","","","","","","fmt","","","","","from","","","","","hash","","","","into","","","","","key","","","serialize","","","","","timestamp","to_owned","","","","","try_from","","","","","try_into","","","","","type_id","","","","","value","vzip","","","",""],"q":[[0,"latency_measure"],[2,"latency_measure::protocol"],[112,"core::clone"],[113,"core::fmt"],[114,"core::result"],[115,"serde::de"],[116,"core::cmp"],[117,"core::hash"],[118,"serde::ser"],[119,"core::any"]],"i":"````n00```h1A`AbAd3421013421034210342102334210342103344221100342103421034203421021034210334210342103421034210034210","f":"{{}b}`````````{d{{d{c}}}{}}0000{{{d{f}}}{{d{fc}}}{}}0000`{{{d{{h{c}}}}}{{h{c}}}{jl}}{{{d{n}}}n}{{{d{{A`{c}}}}}{{A`{c}}}{jl}}{{{d{Ab}}}Ab}{{{d{Ad}}}Ad}{{d{d{fc}}}b{}}0000{db}0000``{c{{Af{{h{e}}}}}Ah{Ajl}}{c{{Af{n}}}Ah}{c{{Af{{A`{e}}}}}Ah{Ajl}}{c{{Af{Ab}}}Ah}{c{{Af{Ad}}}Ah}{{{d{{h{c}}}}{d{{h{c}}}}}Al{Anl}}{{{d{n}}{d{n}}}Al}{{{d{{A`{c}}}}{d{{A`{c}}}}}Al{Anl}}{{{d{Ab}}{d{Ab}}}Al}{{{d{Ad}}{d{Ad}}}Al}{{d{d{c}}}Al{}}000000000{{{d{{h{c}}}}{d{fB`}}}Bb{ll}}{{{d{n}}{d{fB`}}}Bb}{{{d{{A`{c}}}}{d{fB`}}}Bb{ll}}{{{d{Ab}}{d{fB`}}}Bb}{{{d{Ad}}{d{fB`}}}Bb}{cc{}}0000{{{d{{h{c}}}}{d{fe}}}b{Bdl}Bf}{{{d{n}}{d{fc}}}bBf}{{{d{{A`{c}}}}{d{fe}}}b{Bdl}Bf}{{{d{Ad}}{d{fc}}}bBf}{{}c{}}0000```{{{d{{h{c}}}}e}Af{Bhl}Bj}{{{d{n}}c}AfBj}{{{d{{A`{c}}}}e}Af{Bhl}Bj}{{{d{Ab}}c}AfBj}{{{d{Ad}}c}AfBj}`{dc{}}0000{c{{Af{e}}}{}{}}0000{{}{{Af{c}}}{}}0000{dBl}0000`99999","D":"Ad","p":[[1,"unit"],[1,"reference"],[0,"mut"],[5,"Timestamped",2],[10,"Clone",112],[10,"Debug",113],[6,"TopolotreeMessage",2],[5,"Payload",2],[5,"OperationPayload",2],[5,"QueryResponse",2],[6,"Result",114],[10,"Deserializer",115],[10,"Deserialize",115],[1,"bool"],[10,"PartialEq",116],[5,"Formatter",113],[8,"Result",113],[10,"Hash",117],[10,"Hasher",117],[10,"Serialize",118],[10,"Serializer",118],[5,"TypeId",119]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGYAAwAAAD8ARQADAE4AIgA="}],["lattices",{"t":"KRRKQFKFQQKYKYKYKKYKKYFKYFKKKRRFFFRKFFFKOMNCNNNNNNNNNNNNNNNNMNNONNNNNNNNNNNNNNNNNNNNMMNENNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNCMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNNNNNNNNNCCMNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNMNNNNNNNNNCNNNNNNNNNCCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCOEMHHHHHHHHHHHHHHHHHHHHHHHHFFFFKRFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOKRKFFKTRRRRRRRNNNNNNNNNNCMNNNNNMNNNNNNNMNNNNNNNNNNNNNMNNMNNNMNNNNNMNNNNNNNMNNMNNCCNNMNNNMNNNNNMNNNMNNNCNNNNNNNNKKKRRRRRRMMMMMKRFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFIIIIIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIFIINNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFPFPFGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFIIIIIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFIIIIIIINNNNNNNNNNNNNNNNNNNNNNNNNNHHHHHHHHHHHFIIIIIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Addition","Atom","AtomIter","Atomize","ColtType","Conflict","DeepReveal","DomPair","GhtType","GhtTypeWithSchema","IsBot","","IsTop","","Lattice","","LatticeBimorphism","LatticeFrom","","LatticeMorphism","LatticeOrd","","Max","Merge","","Min","Multiplication","NaiveLatticeOrd","One","Output","","Pair","PairBimorphism","Point","Revealed","Semiring","VecUnion","WithBot","WithTop","Zero","a","add","add_owned","algebra","as_reveal_mut","","","","","","","","as_reveal_ref","","","","","","","","atomize","","","b","borrow","","","","","","","","","","borrow_mut","","","","","","","","","","call","","","cc_traits","clone","","","","","","","","","clone_into","","","","","","","","","clone_to_uninit","","","","","","","","","closure_to_bimorphism","closure_to_morphism","cmp","","collections","deep_reveal","","","","","","","","","","default","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","deserialize","","","","","","","","","eq","","","","","","","","","equivalent","","","","","","","","","","","","","","","","","","fmt","","","","","","","","","from","","","","","","","","","","","ght","into","","","","","","","","","","into_reveal","","","","","","","","is_bot","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","is_top","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","key","lattice_from","","","","","","","","","","map_union","map_union_with_tombstones","merge","","","","","","","","","","merge_owned","mul","mul_owned","naive_cmp","new","","","","","","","","","new_from","","","","","","","","one","partial_cmp","","","","","","","","","semiring_application","serialize","","","","","","","","","set_union","set_union_with_tombstones","test","to_owned","","","","","","","","","try_from","","","","","","","","","","try_into","","","","","","","","","","type_id","","","","","","","","","","union_find","val","variadics","zero","abelian_group","absorbing_element","associativity","bilinearity","commutative_monoid","commutative_ring","commutativity","distributive","field","get_single_function_properties","group","idempotency","identity","integral_domain","inverse","left_distributes","linearity","monoid","no_nonzero_zero_divisors","nonzero_inverse","right_distributes","ring","semigroup","semiring","ArrayMap","ArraySet","EmptyMap","EmptySet","MapMapValues","MapValue","OptionMap","OptionSet","SingletonMap","SingletonSet","VecMap","VecSet","borrow","","","","","","","","","","borrow_mut","","","","","","","","","","clone","","","","","","","","","","clone_into","","","","","","","","","","clone_to_uninit","","","","","","","","","","cmp","","","","","","","","","","default","","","","deserialize","","","","","","","","eq","","","","","","","","","","equivalent","","","","","","","","","","","","","","","","","","","","fmt","","","","","","","","from","","","","","","","","","","","","","","","","","","","get","","","","","","","","","","get_key_value","","","","","get_key_value_mut","","","","","get_mut","","","","","","","","","hash","","","","","","","","","","into","","","","","","","","","","into_iter","","","","","","","","","","into_ref","","","","","","","","","","","","","","","is_empty","","iter","","","","","","","","","","","","","","iter_mut","","","","","","","","keys","","len","","","","","","","","","","map_values","","","","","new","partial_cmp","","","","","","","","","","serialize","","","","","","","","to_owned","","","","","","","","","","try_from","","","","","","","","","","try_into","","","","","","","","","","type_id","","","","","","","","","","upcast_item_mut","","","","","","","","","upcast_item_ref","","","","","","","","","","upcast_key_ref","","","","","vals","","GeneralizedHashTrieNode","Get","GhtGet","GhtInner","GhtLeaf","GhtPrefixIter","HEIGHT","Head","Item","KeyType","Schema","Storage","SuffixSchema","ValType","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","colt","contains","","","","default","","drain","","","","eq","","equivalent","","find_containing_leaf","","","","fmt","","force","","force_drain","","from","","from_iter","","get","","","get_mut","","","height","insert","","","","into","","into_iter","","","","is_bot","","is_top","","iter","","","iter_tuples","","","lattice","macros","merge","","merge_node","","","","new_from","","","","partial_cmp","","prefix_iter","","","","recursive_iter","","","","test","to_owned","","try_from","","try_into","","type_id","","ColtForestNode","ColtGet","ColtGetTail","Force","Get","Head","Schema","Storage","SuffixSchema","force","force_drain","get","iter","merge","DeepJoinLatticeBimorphism","","GhtBimorphism","GhtCartesianProductBimorphism","GhtNodeKeyedBimorphism","GhtValTypeProductBimorphism","borrow","","","","borrow_mut","","","","call","","","","default","","","","from","","","","into","","","","new","","try_from","","","","try_into","","","","type_id","","","","KeyedBimorphism","MapUnion","MapUnionArrayMap","MapUnionBTreeMap","MapUnionHashMap","MapUnionOptionMap","MapUnionSingletonMap","MapUnionVec","as_reveal_mut","as_reveal_ref","atomize","borrow","","borrow_mut","","call","clone","clone_into","clone_to_uninit","deep_reveal","default","deserialize","eq","equivalent","","fmt","from","","into","","into_reveal","is_bot","is_top","lattice_from","merge","new","","new_from","partial_cmp","serialize","to_owned","try_from","","try_into","","type_id","","MapUnionHashMapWithTombstoneHashSet","MapUnionWithTombstones","MapUnionWithTombstonesSingletonMapOnly","MapUnionWithTombstonesTombstoneSingletonSetOnly","as_reveal_mut","as_reveal_ref","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deserialize","eq","equivalent","","fmt","from","into","into_reveal","is_bot","is_top","lattice_from","merge","new","new_from","partial_cmp","serialize","to_owned","try_from","try_into","type_id","BinaryTrust","ConfidenceScore","Cost","Finite","FuzzyLogic","Infinity","Multiplicity","U32WithInfinity","add","","","","","borrow","","","","","","borrow_mut","","","","","","clone","clone_into","clone_to_uninit","default","eq","","equivalent","","fmt","","from","","","","","","into","","","","","","mul","","","","","new","","","","","one","","","","","to_owned","try_from","","","","","","try_into","","","","","","type_id","","","","","","zero","","","","","CartesianProductBimorphism","SetUnion","SetUnionArray","SetUnionBTreeSet","SetUnionHashSet","SetUnionOptionSet","SetUnionSingletonSet","SetUnionVec","as_reveal_mut","as_reveal_ref","atomize","borrow","","borrow_mut","","call","clone","clone_into","clone_to_uninit","deep_reveal","default","","deserialize","eq","equivalent","","fmt","from","","into","","into_reveal","is_bot","is_top","lattice_from","merge","new","new_from","partial_cmp","serialize","to_owned","try_from","","try_into","","type_id","","SetUnionWithTombstones","SetUnionWithTombstonesArray","SetUnionWithTombstonesBTreeSet","SetUnionWithTombstonesHashSet","SetUnionWithTombstonesOptionSet","SetUnionWithTombstonesSingletonSet","SetUnionWithTombstonesTombstoneOnlySet","SetUnionWithTombstonesVec","as_reveal_mut","as_reveal_ref","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","eq","equivalent","","fmt","from","into","into_reveal","is_bot","is_top","lattice_from","merge","new","new_from","partial_cmp","to_owned","try_from","try_into","type_id","cartesian_power","check_all","check_atomize_each","check_lattice_bimorphism","check_lattice_default_is_bot","check_lattice_is_bot","check_lattice_is_top","check_lattice_morphism","check_lattice_ord","check_lattice_properties","check_partial_ord_properties","UnionFind","UnionFindArrayMap","UnionFindBTreeMap","UnionFindHashMap","UnionFindOptionMap","UnionFindSingletonMap","UnionFindVec","as_reveal_mut","as_reveal_ref","atomize","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deep_reveal","default","deserialize","eq","equivalent","","fmt","from","into","into_reveal","is_bot","is_top","lattice_from","merge","new","new_from","partial_cmp","same","serialize","to_owned","try_from","try_into","type_id","union"],"q":[[0,"lattices"],[426,"lattices::algebra"],[450,"lattices::collections"],[791,"lattices::ght"],[902,"lattices::ght::colt"],[916,"lattices::ght::lattice"],[960,"lattices::map_union"],[1007,"lattices::map_union_with_tombstones"],[1039,"lattices::semiring_application"],[1125,"lattices::set_union"],[1172,"lattices::set_union_with_tombstones"],[1206,"lattices::test"],[1217,"lattices::union_find"],[1256,"lattices::conflict"],[1257,"core::option"],[1258,"lattices::dom_pair"],[1259,"lattices::ord"],[1260,"lattices::pair"],[1261,"lattices::vec_union"],[1262,"alloc::vec"],[1263,"lattices::with_bot"],[1264,"lattices::with_top"],[1265,"core::iter::traits::iterator"],[1266,"core::clone"],[1267,"lattices::point"],[1268,"core::ops::function"],[1269,"core::cmp"],[1270,"core::default"],[1271,"core::result"],[1272,"serde::de"],[1273,"core::fmt"],[1274,"core::convert"],[1275,"serde::ser"],[1276,"core::any"],[1277,"alloc::string"],[1278,"cc_traits"],[1279,"core::marker"],[1280,"core::borrow"],[1281,"core::hash"],[1282,"variadics::variadic_collections"],[1283,"variadics"],[1284,"core::iter::traits::collect"],[1285,"cc_traits::non_alias"],[1286,"core::iter::traits::exact_size"],[1287,"core::cell"],[1288,"lattices_macro"]],"i":"`Bd0``````````````````````````C`Cb```Db`````Afd0`jnAbAd5AhAlAn65438210<10865438CdCh4328765:10432=<1`8765:04328765:04328765:0432``65`;8765:043276666666666666655555555555555:104328765:04328765:043288776655::004433228765:043287665:10432`8765:104328765:432Bf98777777777777777666666666666666;1543Gb:9888888888888888777777777777777<26549Bl;:98=3765``Gd<;:9>48760Gh0Gj>=<;Af7;:9?><07;:9GljnAbAd5>>>>=====`{{{b{{Af{c}}}}}{{Af{c}}}{AhAj}}{{{b{Al}}}Al}{{{b{{An{c}}}}}{{An{c}}}{AhAj}}{{{b{B`}}}B`}{{{b{Bb}}}Bb}{{b{b{dc}}}h{}}0000{bh}0000``{c{{j{{Af{e}}}}}l{BdAj}}{c{{j{Al}}}l}{c{{j{{An{e}}}}}l{BdAj}}{c{{j{B`}}}l}{c{{j{Bb}}}l}{{{b{{Af{c}}}}{b{{Af{c}}}}}Bf{BhAj}}{{{b{Al}}{b{Al}}}Bf}{{{b{{An{c}}}}{b{{An{c}}}}}Bf{BhAj}}{{{b{B`}}{b{B`}}}Bf}{{{b{Bb}}{b{Bb}}}Bf}{{b{b{c}}}Bf{}}000000000{{{b{{Af{c}}}}{b{dn}}}A`{AjAj}}{{{b{Al}}{b{dn}}}A`}{{{b{{An{c}}}}{b{dn}}}A`{AjAj}}{{{b{B`}}{b{dn}}}A`}{{{b{Bb}}{b{dn}}}A`}{cc{}}0000{{{b{{Af{c}}}}{b{de}}}h{BjAj}Bl}{{{b{Al}}{b{dc}}}hBl}{{{b{{An{c}}}}{b{de}}}h{BjAj}Bl}{{{b{Bb}}{b{dc}}}hBl}{{}c{}}0000```{{{b{{Af{c}}}}e}j{BnAj}Ab}{{{b{Al}}c}jAb}{{{b{{An{c}}}}e}j{BnAj}Ab}{{{b{B`}}c}jAb}{{{b{Bb}}c}jAb}`{bc{}}0000{c{{j{e}}}{}{}}0000{{}{{j{c}}}{}}0000{bAd}0000`","D":"Ah","p":[[1,"reference"],[0,"mut"],[6,"GossipOrIncrement",0],[1,"unit"],[6,"Result",125],[10,"Deserializer",126],[5,"Formatter",127],[8,"Result",127],[10,"Serializer",128],[5,"TypeId",129],[5,"Timestamped",20],[10,"Clone",130],[10,"Debug",127],[6,"TopolotreeMessage",20],[5,"Payload",20],[5,"OperationPayload",20],[5,"QueryResponse",20],[10,"Deserialize",126],[1,"bool"],[10,"PartialEq",131],[10,"Hash",132],[10,"Hasher",132],[10,"Serialize",128]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHEABAAAAAsADgBDAFcAAwBgAB0A"}],["pn_delta",{"t":"PGPINNNNNNNNNHCNNNNNFFPPPFFGNNNNNNNNNNONNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNONNNNNNNNNNNNNNNNNNNNO","n":["Gossip","GossipOrIncrement","Increment","NextStateType","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deserialize","fmt","from","into","main","protocol","serialize","to_owned","try_from","try_into","type_id","OperationPayload","Payload","","Ping","Pong","QueryResponse","Timestamped","TopolotreeMessage","borrow","","","","","borrow_mut","","","","","change","clone","","","","","clone_into","","","","","clone_to_uninit","","","","","contents","data","deserialize","","","","","eq","","","","","equivalent","","","","","","","","","","fmt","","","","","from","","","","","hash","","","","into","","","","","key","","","serialize","","","","","timestamp","to_owned","","","","","try_from","","","","","try_into","","","","","type_id","","","","","value"],"q":[[0,"pn_delta"],[20,"pn_delta::protocol"],[125,"core::result"],[126,"serde::de"],[127,"core::fmt"],[128,"serde::ser"],[129,"core::any"],[130,"core::clone"],[131,"core::cmp"],[132,"core::hash"]],"i":"f`0`000000000``00000``Al00```Af1AnB`Bb34210134210342103421023342103421033442211003421034210342034210210342103342103421034210342100","f":"````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{f}}}f}{{b{b{dc}}}h{}}{bh}{c{{j{f}}}l}{{{b{f}}{b{dn}}}A`}{cc{}}{{}c{}}{{}h}`{{{b{f}}c}jAb}{bc{}}{c{{j{e}}}{}{}}{{}{{j{c}}}{}}{bAd}````````>>>>>=====`{{{b{{Af{c}}}}}{{Af{c}}}{AhAj}}{{{b{Al}}}Al}{{{b{{An{c}}}}}{{An{c}}}{AhAj}}{{{b{B`}}}B`}{{{b{Bb}}}Bb}{{b{b{dc}}}h{}}0000{bh}0000``{c{{j{{Af{e}}}}}l{BdAj}}{c{{j{Al}}}l}{c{{j{{An{e}}}}}l{BdAj}}{c{{j{B`}}}l}{c{{j{Bb}}}l}{{{b{{Af{c}}}}{b{{Af{c}}}}}Bf{BhAj}}{{{b{Al}}{b{Al}}}Bf}{{{b{{An{c}}}}{b{{An{c}}}}}Bf{BhAj}}{{{b{B`}}{b{B`}}}Bf}{{{b{Bb}}{b{Bb}}}Bf}{{b{b{c}}}Bf{}}000000000{{{b{{Af{c}}}}{b{dn}}}A`{AjAj}}{{{b{Al}}{b{dn}}}A`}{{{b{{An{c}}}}{b{dn}}}A`{AjAj}}{{{b{B`}}{b{dn}}}A`}{{{b{Bb}}{b{dn}}}A`}{cc{}}0000{{{b{{Af{c}}}}{b{de}}}h{BjAj}Bl}{{{b{Al}}{b{dc}}}hBl}{{{b{{An{c}}}}{b{de}}}h{BjAj}Bl}{{{b{Bb}}{b{dc}}}hBl}{{}c{}}0000```{{{b{{Af{c}}}}e}j{BnAj}Ab}{{{b{Al}}c}jAb}{{{b{{An{c}}}}e}j{BnAj}Ab}{{{b{B`}}c}jAb}{{{b{Bb}}c}jAb}`{bc{}}0000{c{{j{e}}}{}{}}0000{{}{{j{c}}}{}}0000{bAd}0000`","D":"Ah","p":[[1,"reference"],[0,"mut"],[6,"GossipOrIncrement",0],[1,"unit"],[6,"Result",125],[10,"Deserializer",126],[5,"Formatter",127],[8,"Result",127],[10,"Serializer",128],[5,"TypeId",129],[5,"Timestamped",20],[10,"Clone",130],[10,"Debug",127],[6,"TopolotreeMessage",20],[5,"Payload",20],[5,"OperationPayload",20],[5,"QueryResponse",20],[10,"Deserialize",126],[1,"bool"],[10,"PartialEq",131],[10,"Hash",132],[10,"Hasher",132],[10,"Serialize",128]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHEABAAAAAsADgBDAFcAAwBgAB0A"}],["pusherator",{"t":"FRRKRKKNNNCNCNCCCNNMCNNCNNCCCNMNCNCNNNNCNFNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNN","n":["InputBuild","Item","ItemOut","IteratorToPusherator","Output","Pusherator","PusheratorBuild","borrow","borrow_mut","default","demux","","filter","","filter_map","flatten","for_each","","from","give","inspect","","into","map","","new","null","partition","pivot","pull_to_push","push_to","","switch","","tee","","try_from","try_into","type_id","unzip","","Demux","borrow","borrow_mut","from","give","into","new","try_from","try_into","type_id","Filter","FilterBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","FilterMap","FilterMapBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","Flatten","FlattenBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","ForEach","borrow","borrow_mut","from","give","into","new","try_from","try_into","type_id","Inspect","InspectBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","Map","MapBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","Null","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","from","give","into","new","to_owned","try_from","try_into","type_id","Partition","PartitionBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","Pivot","PivotBuild","borrow","","borrow_mut","","from","","into","","new","","push_to","run","step","try_from","","try_into","","type_id","","Switch","SwitchBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","Tee","TeeBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","Unzip","UnzipBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id",""],"q":[[0,"pusherator"],[41,"pusherator::demux"],[51,"pusherator::filter"],[71,"pusherator::filter_map"],[91,"pusherator::flatten"],[111,"pusherator::for_each"],[121,"pusherator::inspect"],[141,"pusherator::map"],[161,"pusherator::null"],[176,"pusherator::partition"],[196,"pusherator::pivot"],[217,"pusherator::switch"],[237,"pusherator::tee"],[257,"pusherator::unzip"],[277,"core::ops::function"],[278,"core::result"],[279,"core::any"],[280,"core::option"],[281,"core::iter::traits::collect"],[282,"core::clone"],[283,"core::iter::traits::iterator"],[284,"either"]],"i":"`Afl`0``f00`1`1```102`10`10```An21`2`2111`2`Bl00000000``BnA`1010110100101010``C`Cd1010110100101010``CfCj1010110100101010`Cl00000000``CnAj1010110100101010``D`Al1010110100101010`Db0000000000000``DfDh1010110100101010``DjB`10101010011101010``DnBb1010110100101010``EbBd1010110100101010``EdBj1010110100101010","f":"```````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{}{{f{c}}}{}}`{{{l{}{{h{c}}{j{e}}}}ig}e{}{}{}{{n{c{b{dg}}}}}}`{{{l{}{{h{c}}{j{e}}}}g}{{A`{{l{}{{h{c}}{j{e}}}}g}}}{}{}{{n{{b{c}}}{{j{Ab}}}}}}```{{{l{}{{h{c}}{j{e}}}}g}e{}{}{{n{c}}}}{cc{}}{{{b{d{Af{}{{Ad{c}}}}}}c}Ah{}}`{{{l{}{{h{c}}{j{e}}}}g}{{Aj{{l{}{{h{c}}{j{e}}}}g}}}{}{}{{n{{b{c}}}}}}{{}c{}}`{{{l{}{{h{c}}{j{e}}}}i}{{Al{{l{}{{h{c}}{j{e}}}}i}}}{}{}{}{{n{c}{{j{g}}}}}}8```{An{{B`{An}}}}{{{l{}{{h{c}}{j{e}}}}g}e{}{}{{Af{}{{Ad{c}}}}}}{{{f{c}}g}i{}{}{{Af{}{{Ad{e}}}}}{}}`{{{l{}{{h{c}}{j{e}}}}g}{{Bb{{l{}{{h{c}}{j{e}}}}g}}}{}{}Af}`{{{l{}{{h{c}}{j{e}}}}g}{{Bd{{l{}{{h{c}}{j{e}}}}g}}}{}{}{{Af{}{{Ad{c}}}}}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{bBh}`{{{l{}{{h{c}}{j{e}}}}g}{{Bj{{l{}{{h{c}}{j{e}}}}g}}}{}{}Af}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}?{{{b{d{Bl{gec}}}}i}Ah{}{}{{n{c{b{de}}}}}{}}={{ge}{{Bl{gec}}}{}{}{{n{c{b{de}}}}}}765``3322{cc{}}0{{{b{d{Bn{ce}}}}g}AhAf{{n{b}{{j{Ab}}}}}{}}{{}c{}}0{{ce}{{Bn{ec}}}{{n{b}{{j{Ab}}}}}Af}{{ce}{{A`{ce}}}l{{n{b}{{j{Ab}}}}}}{{{A`{ce}}i}kl{{n{b}{{j{Ab}}}}}{}{{Af{}{{Ad{g}}}}}{}}==<<;;``998855{{{b{d{C`{cge}}}}i}AhAf{}{{n{e}{{j{Cb}}}}}{}}44{{eg}{{C`{gec}}}{}{{n{c}{{j{Cb}}}}}Af}{{cg}{{Cd{cg}}}l{}{{n{}{{j{{Cb{e}}}}}}}}{{{Cd{cg}}k}ml{}{{n{}{{j{{Cb{e}}}}}}}{}{{Af{}{{Ad{i}}}}}{}}{c{{Bf{e}}}{}{}}0{{}{{Bf{c}}}{}}0{bBh}0``{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0>>{{{b{d{Cf{ce}}}}g}Ah{{Af{}{{Ad{}}}}}Ch{}}=={c{{Cf{ce}}}{{Af{}{{Ad{}}}}}Ch}{c{{Cj{c}}}l}{{{Cj{c}}g}il{}{{Af{}{{Ad{e}}}}}{}}887766`54{cc{}}{{{b{d{Cl{ec}}}}g}Ah{}{{n{c}}}{}}{{}c{}}{e{{Cl{ec}}}{}{{n{c}}}}<;:``998833{{{b{d{Cn{ce}}}}g}AhAf{{n{b}}}{}}22{{ce}{{Cn{ec}}}{{n{b}}}Af}{{ce}{{Aj{ce}}}l{{n{b}}}}{{{Aj{ce}}i}kl{{n{b}}}{}{{Af{}{{Ad{g}}}}}{}}{c{{Bf{e}}}{}{}}0{{}{{Bf{c}}}{}}0{bBh}0``{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0<<{{{b{d{D`{cge}}}}i}AhAf{}{{n{e}{{j{}}}}}{}};;{{eg}{{D`{gec}}}{}{{n{c}{{j{}}}}}Af}{{cg}{{Al{cg}}}l{}{{n{}{{j{e}}}}}}{{{Al{cg}}k}ml{}{{n{}{{j{e}}}}}{}{{Af{}{{Ad{i}}}}}{}}887766`54{{{b{{Db{c}}}}}{{Db{c}}}Dd}{{b{b{dc}}}Ah{}}{bAh}{{}{{Db{c}}}{}}{cc{}}{{{b{d{Db{c}}}}e}Ah{}{}}{{}c{}}3{bc{}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{bBh}``{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}088{{{b{d{Df{ceg}}}}i}AhAf{{Af{}{{Ad{}}}}}{{n{b}{{j{Ab}}}}}{}}77{{ceg}{{Df{egc}}}{{n{b}{{j{Ab}}}}}Af{{Af{}{{Ad{}}}}}}{{ceg}{{Dh{ceg}}}l{{Af{}{{Ad{}}}}}{{n{b}{{j{Ab}}}}}}{{{Dh{ceg}}k}ml{{Af{}{{Ad{}}}}}{{n{b}{{j{Ab}}}}}{}{{Af{}{{Ad{i}}}}}{}}887766``5544<<::{{ce}{{Dj{ce}}}Dl{{Af{}{{Ad{}}}}}}{c{{B`{c}}}Dl}{{{B`{c}}g}iDl{}{{Af{}{{Ad{e}}}}}{}}{{{Dj{ce}}}AhDl{{Af{}{{Ad{}}}}}}{{{b{d{Dj{ce}}}}}AbDl{{Af{}{{Ad{}}}}}}==<<;;``::99{cc{}}0{{{b{d{Dn{ce}}}}g}AhAfAf{}}{{}c{}}0{{ce}{{Dn{ce}}}AfAf}{{eg}{{Bb{eg}}}{}{{l{}{{h{{E`{c}}}}}}}Af}{{{Bb{eg}}k}m{}{{l{}{{h{{E`{c}}}}}}}Af{}{{Af{}{{Ad{i}}}}}{}}{c{{Bf{e}}}{}{}}0{{}{{Bf{c}}}{}}0{bBh}0``{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0::{{{b{d{Eb{ce}}}}g}AhAf{{Af{}{{Ad{}}}}}{}}99{{ce}{{Eb{ce}}}Af{{Af{}{{Ad{}}}}}}{{ce}{{Bd{ce}}}l{{Af{}{{Ad{}}}}}}{{{Bd{ce}}i}kl{{Af{}{{Ad{}}}}}{}{{Af{}{{Ad{g}}}}}{}}887766``5544>>{{{b{d{Ed{ce}}}}g}AhAfAf{}}=={{ce}{{Ed{ce}}}AfAf}{{eg}{{Bj{eg}}}{}{{l{}{{h{{Ef{c}}}}}}}Af}{{{Bj{eg}}k}m{}{{l{}{{h{{Ef{c}}}}}}}Af{}{{Af{}{{Ad{i}}}}}{}}<<;;::","D":"Fb","p":[[1,"reference"],[0,"mut"],[5,"InputBuild",0],[17,"ItemOut"],[17,"Output"],[10,"PusheratorBuild",0],[10,"FnMut",277],[5,"FilterBuild",51],[1,"bool"],[17,"Item"],[10,"Pusherator",0],[1,"unit"],[5,"InspectBuild",121],[5,"MapBuild",141],[10,"IteratorToPusherator",0],[5,"PivotBuild",196],[5,"SwitchBuild",217],[5,"TeeBuild",237],[6,"Result",278],[5,"TypeId",279],[5,"UnzipBuild",257],[5,"Demux",41],[5,"Filter",51],[5,"FilterMap",71],[6,"Option",280],[5,"FilterMapBuild",71],[5,"Flatten",91],[10,"IntoIterator",281],[5,"FlattenBuild",91],[5,"ForEach",111],[5,"Inspect",121],[5,"Map",141],[5,"Null",161],[10,"Clone",282],[5,"Partition",176],[5,"PartitionBuild",176],[5,"Pivot",196],[10,"Iterator",283],[5,"Switch",217],[6,"Either",284],[5,"Tee",237],[5,"Unzip",257],[1,"tuple"]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAOQAHAABABEAFAACABgAFAAuAAAAMAAJADwAAAA/AA4AUAAAAFMADgBkAAAAZwALAHQAAAB2AAkAggAAAIUADgCWAAAAmQAPAKoAAACsAAoAuQAAALwADgDPABAA4gAAAOUADgD2AAAA+QAOAAoBAAANAQgA"}],["relalg",{"t":"PPGPPPPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Bool","ColRef","Datum","Eq","Int","Literal","Plus","ScalarExpr","String","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","eq","","equivalent","","","","eval","fmt","","from","","hash","","into","","is_true","span","to_owned","","to_tokens","try_from","","try_into","","type_id",""],"q":[[0,"relalg"],[45,"core::fmt"],[46,"core::hash"],[47,"proc_macro2"],[48,"core::result"],[49,"core::any"]],"i":"fh`0100`1101010101010110001010101010100101010","f":"`````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{f}}}f}{{{b{h}}}h}{{b{b{dc}}}j{}}0{bj}0{{{b{f}}{b{f}}}l}{{{b{h}}{b{h}}}l}{{b{b{c}}}l{}}000{{{b{h}}{b{{n{f}}}}}f}{{{b{f}}{b{dA`}}}Ab}{{{b{h}}{b{dA`}}}Ab}{cc{}}0{{{b{f}}{b{dc}}}jAd}{{{b{h}}{b{dc}}}jAd}{{}c{}}0{{{b{f}}}l}{bAf}{bc{}}0{{{b{h}}{b{dAh}}}j}{c{{Aj{e}}}{}{}}0{{}{{Aj{c}}}{}}0{bAl}0","D":"h","p":[[1,"reference"],[0,"mut"],[6,"Datum",0],[6,"ScalarExpr",0],[1,"unit"],[1,"bool"],[1,"slice"],[5,"Formatter",45],[8,"Result",45],[10,"Hasher",46],[5,"Span",47],[5,"TokenStream",47],[6,"Result",48],[5,"TypeId",49]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACkAAwAAABwAHwABACMACgA="}],["stageleft",{"t":"FKKQKKKFNNNNNNNNMNXNNCNNNQHQXCNNNNNNNNNNNNQQNNXNNNNNNIFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNEEQNNNNNENNNNNNNNNNNKKFRKNNNNNHHHHHNHNMHNMNNNNHNNN","n":["BorrowBounds","IntoQuotedMut","IntoQuotedOnce","PATH_SEPARATOR","Quoted","QuotedContext","QuotedWithContext","RuntimeData","borrow","","borrow_mut","","boxed","clone","clone_into","clone_to_uninit","create","","entry","from","","internal","into","","new","q","quote_type","quse_fn","runtime","runtime_support","splice_fn0","splice_fn0_ctx","splice_fn1","splice_fn1_borrow","splice_fn1_borrow_ctx","splice_fn1_ctx","splice_fn2_borrow_mut","splice_fn2_borrow_mut_ctx","splice_typed","splice_typed_ctx","splice_untyped","splice_untyped_ctx","stageleft_crate","stageleft_no_entry_crate","to_owned","to_tokens","top_level_mod","try_from","","try_into","","type_id","","CaptureVec","Span","TokenStream","append","append_all","append_separated","append_terminated","borrow","","borrow_mut","","byte_range","call_site","clone","","clone_into","","clone_to_uninit","","default","end","extend","","fmt","","","from","","","","","from_iter","","from_str","into","","into_iter","into_token_stream","is_empty","join","located_at","mixed_site","new","parse","proc_macro2","proc_macro_crate","quote","resolved_at","source_text","span","","start","syn","to_owned","","to_string","to_tokens","try_from","","try_into","","type_id","","unwrap","FreeVariable","FreeVariableWithContext","Import","O","ParseFromLiteral","borrow","borrow_mut","clone","clone_into","clone_to_uninit","create_import","fn0_type_hint","fn1_borrow_type_hint","fn1_type_hint","fn2_borrow_mut_type_hint","from","get_final_crate_name","into","parse_from_literal","set_macro_to_crate","to_owned","to_tokens","","","try_from","try_into","type_hint","type_id","uninitialized",""],"q":[[0,"stageleft"],[53,"stageleft::internal"],[117,"stageleft::runtime_support"],[147,"alloc::boxed"],[148,"core::marker"],[149,"syn::ty"],[150,"syn::expr"],[151,"proc_macro2"],[152,"core::option"],[153,"core::result"],[154,"core::any"],[155,"core::convert"],[156,"core::iter::traits::collect"],[157,"quote::to_tokens"],[158,"core::ops::range"],[159,"proc_macro2::location"],[160,"core::fmt"],[161,"proc_macro"],[162,"proc_macro2::token_stream"],[163,"syn::parse"],[164,"syn::error"],[165,"alloc::string"],[166,"core::ops::function"],[167,"stageleft_macro"],[168,"stageleft::type_name"],[169,"quote"]],"i":"````````Abj10f111A`3`32`322`````Ah00000000000``33`434343```Al0000Bn10001010101011110111001111011100011```00100`10111010100```Ef`Dl0000`````0`0Eb`12Eh222`230","f":"````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{f{{h{f}}}}{{{b{{j{c}}}}}{{j{c}}}l}{{b{b{dc}}}n{}}{bn}{{}A`}{{}Ab}`{cc{}}0`{{}c{}}0{{{b{Ad}}}{{j{c}}}{}}`{{}Af}```{AhAj}{{Ah{b{c}}}Aj{}}1100101010``{bc{}}{{{j{c}}{b{e}}}{{B`{{An{Al}}{An{Al}}}}}{}{}}`{c{{Bb{e}}}{}{}}0{{}{{Bb{c}}}{}}0{bBd}0```{{{b{dAl}}c}n{{Bh{Bf}}}}{{{b{dAl}}c}nBj}{{{b{dAl}}ce}nBjBl}0{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{Bn}}}{{Cb{C`}}}}{{}Bn}{{{b{Al}}}Al}{{{b{Bn}}}Bn}{{b{b{dc}}}n{}}0{bn}0{{}Al}{{{b{Bn}}}Cd}{{{b{dAl}}c}n{{Bj{}{{Cf{Al}}}}}}{{{b{dAl}}c}n{{Bj{}{{Cf{Bf}}}}}}{{{b{Al}}{b{dCh}}}{{Bb{nCj}}}}0{{{b{Bn}}{b{dCh}}}{{Bb{nCj}}}}{BfAl}{ClAl}{cc{}}0{CnBn}{cAl{{Bj{}{{Cf{Al}}}}}}{cAl{{Bj{}{{Cf{Bf}}}}}}{{{b{Ad}}}{{Bb{AlD`}}}}{{}c{}}0{AlDb}{AlAl}{{{b{Al}}}Dd}{{{b{Bn}}Bn}{{An{Bn}}}}{{{b{Bn}}Bn}Bn}{{}Bn}{{}Al}{{{b{Df}}}{{Bb{AlDh}}}}```3{{{b{Bn}}}{{An{Dj}}}}{bBn}0{{{b{Bn}}}Cd}`{bc{}}0{bDj}{{{b{Al}}{b{dAl}}}n}{c{{Bb{e}}}{}{}}0{{}{{Bb{c}}}{}}0{bBd}0{BnCn}`````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{{Dl{c}}}}}{{Dl{c}}}{}}{{b{b{dc}}}n{}}{bn}{{{b{Ad}}{b{Ad}}{b{Ad}}{b{Ad}}c}{{Dl{c}}}{}}{e{{`{{E`{}{{Dn{c}}}}}}}{}{{E`{}{{Dn{c}}}}}}{g{{`{{E`{{b{c}}}{{Dn{e}}}}}}}{}{}{{E`{{b{c}}}{{Dn{e}}}}}}{g{{`{{E`{c}{{Dn{e}}}}}}}{}{}{{E`{c}{{Dn{e}}}}}}{i{{`{{E`{{b{dc}}e}{{Dn{g}}}}}}}{}{}{}{{E`{{b{dc}}e}{{Dn{g}}}}}}{cc{}}{{{b{Ad}}}Al}{{}c{}}{{{b{Aj}}}Eb}{{{b{Ad}}{b{Ad}}}n}{bc{}}{{{Ef{}{{Ed{c}}}}{b{e}}}{{B`{{An{Al}}{An{Al}}}}}{}{}}{Eh{{B`{{An{Al}}{An{Al}}}}}}{{{Dl{c}}{b{e}}}{{B`{{An{Al}}{An{Al}}}}}{}{}}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}:{bBd}{{{b{{Ef{}{{Ed{c}}}}}}{b{e}}}c{}{}}{{{b{Eh}}}c{}}","D":"Cn","p":[[1,"reference"],[0,"mut"],[10,"IntoQuotedOnce",0],[5,"Box",147],[5,"RuntimeData",0],[10,"Copy",148],[1,"unit"],[10,"QuotedContext",0],[5,"BorrowBounds",0],[1,"str"],[6,"Type",149],[10,"QuotedWithContext",0],[6,"Expr",150],[5,"TokenStream",53,151],[6,"Option",152],[1,"tuple"],[6,"Result",153],[5,"TypeId",154],[6,"TokenTree",151],[10,"Into",155],[10,"IntoIterator",156],[10,"ToTokens",157],[5,"Span",53,151],[1,"usize"],[5,"Range",158],[5,"LineColumn",159],[17,"Item"],[5,"Formatter",160],[5,"Error",160],[5,"TokenStream",161],[5,"Span",161],[5,"LexError",151],[5,"IntoIter",162],[1,"bool"],[5,"ParseBuffer",163],[5,"Error",164],[5,"String",165],[5,"Import",117],[17,"Output"],[10,"Fn",166],[10,"ParseFromLiteral",117],[17,"O"],[10,"FreeVariableWithContext",117],[10,"FreeVariable",117]],"r":[[18,167],[25,167],[26,168],[27,167],[28,167],[46,167],[54,151],[55,151],[99,169]],"b":[[74,"impl-Extend%3CTokenStream%3E-for-TokenStream"],[75,"impl-Extend%3CTokenTree%3E-for-TokenStream"],[76,"impl-Display-for-TokenStream"],[77,"impl-Debug-for-TokenStream"],[79,"impl-From%3CTokenTree%3E-for-TokenStream"],[80,"impl-From%3CTokenStream%3E-for-TokenStream"],[84,"impl-FromIterator%3CTokenStream%3E-for-TokenStream"],[85,"impl-FromIterator%3CTokenTree%3E-for-TokenStream"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHQAEgAAAAcACQAJABYAAAAZAAAAHAAAAB4AEAAwAAYAOQAHAEMABgBLAAYAVAADAFoAAQBhAAIAZwABAGoACgB2AA4AhgAAAIgACwA="}],["stageleft_macro",{"t":"XQQXX","n":["entry","q","quse_fn","runtime","top_level_mod"],"q":[[0,"stageleft_macro"]],"i":"`````","f":"`````","D":"h","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAAAAwA="}],["stageleft_test",{"t":"","n":[],"q":[],"i":"","f":"","D":"`","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAAA"}],["stageleft_test_macro",{"t":"QQQQQ","n":["macro_1D9EA688BDAD0220DDA345911DFF2BB6E8E5BC4E77EB90CFF313F1173FBAAC76","macro_38E565FEA38AC41C54ADE66EC4DE63627AE67920289C47F17E15FA5CAA51AA09","macro_6FDA8B564870A142D5552754F23D11EF7BE0CAEA91248C97E1841A1AD9B21FDC","macro_7FF6C2F30B0514D172E87E4B147CF7B9E2B5E5229D8E85C40921FBDF8FC88ED4","macro_F4D078123B8339975043C45164DA8B763897C4A8742B7DFFC5D753F1FE929448"],"q":[[0,"stageleft_test_macro"]],"i":"`````","f":"`````","D":"`","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAUAAQAAAAUA"}],["stageleft_tool",{"t":"QHHH","n":["gen_final","gen_final_helper","gen_macro","gen_staged_trybuild"],"q":[[0,"stageleft_tool"],[4,"std::path"],[5,"alloc::string"],[6,"syn::file"]],"i":"````","f":"`{{}b}{{{f{d}}{f{h}}}b}{{{f{d}}jl}n}","D":"`","p":[[1,"unit"],[5,"Path",4],[1,"reference"],[1,"str"],[5,"String",5],[1,"bool"],[5,"File",6]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAQAEAAAAAAAAQACAAMABAA="}],["topolotree",{"t":"IFINNNNNNNNNNNNNHCHNNNNNFFPPPFFGNNNNNNNNNNONNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNONNNNNNNNNNNNNNNNNNNNO","n":["ContributionAgg","NodeId","PostNeighborJoin","borrow","borrow_mut","clone","clone_into","clone_to_uninit","eq","equivalent","","fmt","","from","hash","into","main","protocol","run_topolotree","to_owned","to_string","try_from","try_into","type_id","OperationPayload","Payload","","Ping","Pong","QueryResponse","Timestamped","TopolotreeMessage","borrow","","","","","borrow_mut","","","","","change","clone","","","","","clone_into","","","","","clone_to_uninit","","","","","contents","data","deserialize","","","","","eq","","","","","equivalent","","","","","","","","","","fmt","","","","","from","","","","","hash","","","","into","","","","","key","","","serialize","","","","","timestamp","to_owned","","","","","try_from","","","","","try_into","","","","","type_id","","","","","value"],"q":[[0,"topolotree"],[24,"topolotree::protocol"],[129,"core::fmt"],[130,"core::hash"],[131,"alloc::vec"],[132,"bytes::bytes"],[133,"tokio::sync::mpsc::unbounded"],[134,"hydroflow::scheduled::graph"],[135,"bytes::bytes_mut"],[136,"std::io::error"],[137,"core::result"],[138,"futures_core::stream"],[139,"core::marker"],[140,"alloc::string"],[141,"core::any"],[142,"core::clone"],[143,"serde::de"],[144,"core::cmp"],[145,"serde::ser"]],"i":"```f000000000000```00000``Cd00```Bn1CfChCj34210134210342103421023342103421033442211003421034210342034210210342103342103421034210342100","f":"```{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{f}}}f}{{b{b{dc}}}h{}}{bh}{{{b{f}}{b{f}}}j}{{b{b{c}}}j{}}0{{{b{f}}{b{dl}}}n}0{cc{}}{{{b{f}}{b{dc}}}hA`}{{}c{}}{{}h}`{{{Ad{Ab}}ce{Aj{{Ah{AbAf}}}}{Aj{Af}}}Al{{Bf{}{{An{{Bd{{Ah{AbB`}}Bb}}}}}}Bh}{{Bf{}{{An{{Bd{B`Bb}}}}}}Bh}}{bc{}}{bBj}{c{{Bd{e}}}{}{}}{{}{{Bd{c}}}{}}{bBl}````````{b{{b{c}}}{}}0000{{{b{d}}}{{b{dc}}}{}}0000`{{{b{{Bn{c}}}}}{{Bn{c}}}{C`Cb}}{{{b{Cd}}}Cd}{{{b{{Cf{c}}}}}{{Cf{c}}}{C`Cb}}{{{b{Ch}}}Ch}{{{b{Cj}}}Cj}{{b{b{dc}}}h{}}0000{bh}0000``{c{{Bd{{Bn{e}}}}}Cl{CnCb}}{c{{Bd{Cd}}}Cl}{c{{Bd{{Cf{e}}}}}Cl{CnCb}}{c{{Bd{Ch}}}Cl}{c{{Bd{Cj}}}Cl}{{{b{{Bn{c}}}}{b{{Bn{c}}}}}j{D`Cb}}{{{b{Cd}}{b{Cd}}}j}{{{b{{Cf{c}}}}{b{{Cf{c}}}}}j{D`Cb}}{{{b{Ch}}{b{Ch}}}j}{{{b{Cj}}{b{Cj}}}j}{{b{b{c}}}j{}}000000000{{{b{{Bn{c}}}}{b{dl}}}n{CbCb}}{{{b{Cd}}{b{dl}}}n}{{{b{{Cf{c}}}}{b{dl}}}n{CbCb}}{{{b{Ch}}{b{dl}}}n}{{{b{Cj}}{b{dl}}}n}{cc{}}0000{{{b{{Bn{c}}}}{b{de}}}h{DbCb}A`}{{{b{Cd}}{b{dc}}}hA`}{{{b{{Cf{c}}}}{b{de}}}h{DbCb}A`}{{{b{Cj}}{b{dc}}}hA`}{{}c{}}0000```{{{b{{Bn{c}}}}e}Bd{DdCb}Df}{{{b{Cd}}c}BdDf}{{{b{{Cf{c}}}}e}Bd{DdCb}Df}{{{b{Ch}}c}BdDf}{{{b{Cj}}c}BdDf}`{bc{}}0000{c{{Bd{e}}}{}{}}0000{{}{{Bd{c}}}{}}0000{bBl}0000`","D":"Ah","p":[[1,"reference"],[0,"mut"],[5,"NodeId",0],[1,"unit"],[1,"bool"],[5,"Formatter",129],[8,"Result",129],[10,"Hasher",130],[1,"u32"],[5,"Vec",131],[5,"Bytes",132],[1,"tuple"],[5,"UnboundedSender",133],[5,"Hydroflow",134],[17,"Item"],[5,"BytesMut",135],[5,"Error",136],[6,"Result",137],[10,"Stream",138],[10,"Unpin",139],[5,"String",140],[5,"TypeId",141],[5,"Timestamped",24],[10,"Clone",142],[10,"Debug",129],[6,"TopolotreeMessage",24],[5,"Payload",24],[5,"OperationPayload",24],[5,"QueryResponse",24],[10,"Deserializer",143],[10,"Deserialize",143],[10,"PartialEq",144],[10,"Hash",130],[10,"Serialize",145],[10,"Serializer",145]],"r":[],"b":[[11,"impl-Display-for-NodeId"],[12,"impl-Debug-for-NodeId"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHUABQAAAA0ADwAAABEARABbAAMAZAAdAA=="}],["variadics",{"t":"RRKKRKRKRRRRRRTRKKRRKRKKRRRKKKMMMMMMMMMMMMMMMNMMNMMMMMMMMMQQQCQMFRKFFFKKNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNMNNNMNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["AsMutVar","AsRefVar","CloneVariadic","CopyRefVariadic","Drain","EitherRefVariadic","Extend","HomogenousVariadic","IntoIter","IntoOption","IntoVec","IntoZip","IterAnyMut","IterAnyRef","LEN","MutVar","MutVariadic","PartialEqVariadic","Prefix","RefVar","RefVariadic","Reverse","Split","SplitBySuffix","Suffix","UnRefVar","UnVec","Variadic","VariadicExt","VecVariadic","as_mut_var","as_ref_var","clone_ref_var","copy_var","drain","eq","eq_ref","extend","get","","get_mut","into_iter","into_option","into_singleton_vec","into_zip","is_empty","iter_any_mut","iter_any_ref","len","mut_to_ref","push","reverse","reverse_ref","split","split_by_suffix","split_by_suffix_ref","split_ref","unref_ref","var_args","var_expr","var_type","variadic_collections","variadic_trait","zip_vecs","DuplicateCounted","Schema","VariadicCollection","VariadicColumnMultiset","VariadicCountedHashSet","VariadicHashSet","VariadicMultiset","VariadicSet","borrow","","","","borrow_mut","","","","clone","","","","clone_into","","","","clone_to_uninit","","","","contains","","","","default","","","drain","","","","eq","","extend","","","fmt","","","from","","","","from_iter","","get","","insert","","","","into","","","","into_iter","","","","is_empty","","","","iter","","","","len","","","","new","","","next","to_owned","","","","try_from","","","","try_into","","","","type_id","","","","with_capacity_and_hasher","","with_hasher",""],"q":[[0,"variadics"],[64,"variadics::variadic_collections"],[167,"core::iter::traits::iterator"],[168,"core::default"],[169,"core::ops::range"],[170,"core::clone"],[171,"core::option"],[172,"core::cmp"],[173,"core::hash"],[174,"core::iter::traits::collect"],[175,"core::fmt"],[176,"core::result"],[177,"core::any"]],"i":"Ad0``Bh`1`D`221222Dd``E`1`4``Dj24```55BlBn6Cj0867668878888578834435`````7`F```````EbEdEfEh3210321032103210432032043203232032032103232432032103210432043204320320132103210321032103232","f":"``````````````````````````````{{{Af{b{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}iAdAd{{An{}{{Ah{}}{Aj{}}{Al{}}}}}{{B`{}{{Ah{}}{Aj{}}{Al{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{}{{Bh{}{{Bf{}}}}Bj}}{{{Af{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}gAdAd{{An{}{{Ah{}}{Aj{}}{Al{}}}}}{{B`{}{{Ah{}}{Aj{}}{Al{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{}{{Bh{}{{Bf{}}}}Bj}}{cBl{}}{{{Af{Bn}}}c{}}{{{Af{b{Bh{}{{Bf{c}}{C`{e}}{Cb{g}}}}}}i}g{{Ad{}{{Ab{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{{Cf{Cd}}Ch}}{{{Af{Cj}}{Af{Cj}}}Cl}{{cc}Cl{}}{{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}Ac}cAdAd{{An{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{B`{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{Bd{}{{Bb{Af}}}}}{{Bd{}{{Bb{{Af{b}}}}}}}{}{{Bh{}{{Bf{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}}Bj}Ad}{{{Af{{D`{}{{Cn{c}}}}}}Cd}{{Db{{Af{e}}}}}{{Bd{}{{Bb{e}}}}}{}}{{{Af{b{Bh{}{{Bf{c}}{C`{e}}{Cb{g}}}}}}Cd}Db{{Ad{}{{Ab{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}}{{{Af{b{D`{}{{Cn{c}}}}}}Cd}{{Db{{Af{be}}}}}{{Bd{}{{Bb{e}}}}}{}}{{{D`{}{{Cn{c}}}}}c{{Bd{}{{Bb{e}}}}}{}}{{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}oAdAd{{An{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{B`{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{Bd{}{{Bb{Af}}}}}{{Bd{}{{Bb{{Af{b}}}}}}}{}{{Bh{}{{Bf{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}}Bj}}{{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}AaAdAd{{An{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{B`{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{Bd{}{{Bb{Af}}}}}{{Bd{}{{Bb{{Af{b}}}}}}}{}{{Bh{}{{Bf{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}}Bj}}{{{Bh{}{{Bf{c}}{C`{e}}{Cb{g}}}}}e{{Ad{}{{Ab{{Bh{}{{Bf{c}}{C`{e}}{Cb{g}}}}}}}}}{{Bd{}{{Bb{c}}}}}{{Bd{}{{Bb{c}}}}}}{{{Af{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}ClAdAd{{An{}{{Ah{}}{Aj{}}{Al{}}}}}{{B`{}{{Ah{}}{Aj{}}{Al{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{}{{Bh{}{{Bf{}}}}Bj}}{{{Af{b{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}mAdAd{{An{}{{Ah{}}{Aj{}}{Al{}}}}}{{B`{}{{Ah{}}{Aj{}}{Al{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{}{{Bh{}{{Bf{}}}}Bj}}{{{Af{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}kAdAd{{An{}{{Ah{}}{Aj{}}{Al{}}}}}{{B`{}{{Ah{}}{Aj{}}{Al{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{}{{Bh{}{{Bf{}}}}Bj}}{{{Af{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}CdAdAd{{An{}{{Ah{}}{Aj{}}{Al{}}}}}{{B`{}{{Ah{}}{Aj{}}{Al{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{}{{Bh{}{{Bf{}}}}Bj}}{{{Dd{}{{Ah{c}}{Aj{e}}{Al{g}}}}}eAd{{An{}{{Ah{c}}{Aj{e}}}}}{{B`{}{{Ah{c}}{Al{g}}}}}}{{{Af{b{Bh{}{{Bf{c}}{C`{e}}{Cb{g}}}}}}c}Df{{Ad{}{{Ab{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}}{{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}eAdAd{{An{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{B`{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{Bd{}{{Bb{Af}}}}}{{Bd{}{{Bb{{Af{b}}}}}}}{}{{Bh{}{{Bf{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}}Bj}}{c{}{}}{{{Dj{}{{Dh{c}}}}}{{Dl{ec}}}AdAd}{{{E`{}{{Dn{c}}}}}{{Dl{ce}}}AdAd}{cDl{}}0{{{Af{{Dd{}{{Ah{c}}{Aj{e}}{Al{g}}}}}}}{}Ad{{An{}{{Ah{c}}{Aj{e}}}}}{{B`{}{{Ah{c}}{Al{g}}}}}}`````{{{Af{{Bh{}{{Bf{c}}{C`{e}}{Cb{g}}}}}}}{{`{{Bd{}{{Bb{}}}}}}}{{Ad{}{{Ab{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}}````````{Af{{Af{c}}}{}}000{{{Af{b}}}{{Af{bc}}}{}}000{{{Af{{Eb{ce}}}}}{{Eb{ce}}}ChCh}{{{Af{{Ed{ce}}}}}{{Ed{ce}}}{AdCh}Ch}{{{Af{{Ef{ce}}}}}{{Ef{ce}}}ChCh}{{{Af{{Eh{c}}}}}{{Eh{c}}}{AdEjElCh}}{{Af{Af{bc}}}Df{}}000{AfDf}000{{{Af{{F`{}{{En{c}}}}}}}ClCj}{{{Af{{Eb{ce}}}}}Cl{AdCjEjEl}Fb}{{{Af{{Ed{ce}}}}}Cl{AdCjEjElCh}Fb}{{{Af{{Eh{c}}}}}Cl{CjEjEl}}{{}{{Eb{c}}}{}}{{}{{Ed{c}}}Ad}{{}{{Eh{c}}}{AdEjEl}}{{{Af{b{F`{}{{En{c}}}}}}}{{`{{Bd{}{{Bb{c}}}}}}}Cj}{{{Af{b{Eb{ce}}}}}{{`{{Bd{}{{Bb{g}}}}}}}{AdCjEjEl}Fb{}}{{{Af{b{Ed{ce}}}}}{{`{{Bd{}{{Bb{g}}}}}}}{AdCjEjElCh}Fb{}}{{{Af{b{Eh{c}}}}}{{`{{Bd{}{{Bb{e}}}}}}}{CjEjEl}{}}{{{Af{{Eb{ce}}}}{Af{{Eb{ce}}}}}Cl{EjElCj}Fb}{{{Af{{Ed{ce}}}}{Af{{Ed{ce}}}}}Cl{EjElCjCh}Fb}{{{Af{b{Eb{ce}}}}g}Df{EjElCj}Fb{{Fd{}{{Bb{c}}}}}}{{{Af{b{Ed{ce}}}}g}Df{EjElCjCh}Fb{{Fd{}{{Bb{c}}}}}}{{{Af{b{Eh{c}}}}e}Df{EjElCj}{{Fd{}{{Bb{c}}}}}}{{{Af{{Eb{c}}}}{Af{bFf}}}Fh{FjAdCjEjEl}}{{{Af{{Ed{c}}}}{Af{bFf}}}Fh{FjAdCj}}{{{Af{{Eh{c}}}}{Af{bFf}}}Fh{FjAdCjEjEl}}{cc{}}000{e{{Eb{cg}}}{EjElCj}{{Fd{}{{Bb{c}}}}}{FbBj}}{e{{Ed{cg}}}{EjElCjCh}{{Fd{}{{Bb{c}}}}}{FbBj}}{{{Af{{Eb{ce}}}}}{{Db{{Af{c}}}}}CjFb}{{{Af{{Ed{ce}}}}}{{Db{{Af{{Dl{cCd}}}}}}}CjFb}{{{Af{b{F`{}{{En{c}}}}}}c}ClCj}{{{Af{b{Eb{ce}}}}c}Cl{AdCjEjEl}Fb}{{{Af{b{Ed{ce}}}}c}Cl{AdCjEjElCh}Fb}{{{Af{b{Eh{c}}}}c}Cl{CjEjEl}}{{}c{}}000{{{Eb{ce}}}g{AdCj}{}{}}{{{Ed{c}}}e{AdCjCh}{}}2{{{Eh{c}}}e{CjEjEl}{}}{{{Af{{F`{}{{En{c}}}}}}}ClCj}{{{Af{{Eb{ce}}}}}Cl{AdCjEjEl}Fb}{{{Af{{Ed{ce}}}}}Cl{AdCjEjElCh}Fb}{{{Af{{Eh{c}}}}}Cl{CjEjEl}}{{{Af{{F`{}{{En{c}}}}}}}{{`{{Bd{}{{Bb{}}}}}}}Cj}{{{Af{{Eb{ce}}}}}{{`{{Bd{}{{Bb{}}}}}}}{AdCjEjEl}Fb}{{{Af{{Ed{ce}}}}}{{`{{Bd{}{{Bb{}}}}}}}{AdCjEjElCh}Fb}{{{Af{{Eh{c}}}}}{{`{{Bd{}{{Bb{}}}}}}}{CjEjEl}}{{{Af{{F`{}{{En{c}}}}}}}CdCj}{{{Af{{Eb{ce}}}}}Cd{AdCjEjEl}Fb}{{{Af{{Ed{ce}}}}}Cd{AdCjEjElCh}Fb}{{{Af{{Eh{c}}}}}Cd{CjEjEl}}{{}{{Eb{c}}}{}}{{}{{Ed{c}}}Ad}{{}{{Eh{c}}}{AdEjEl}}{{{Af{b{Ef{ec}}}}}{{Db{g}}}Ch{{Bd{}{{Bb{{Dl{cCd}}}}}}}{}}{Afc{}}000{c{{Fl{e}}}{}{}}000{{}{{Fl{c}}}{}}000{AfFn}000{{Cdc}{{Eb{ec}}}{}{}}{{Cdc}{{Ed{ec}}}{}Ad}{c{{Eb{ec}}}{}{}}{c{{Ed{ec}}}{}Ad}","D":"L`","p":[[0,"mut"],[17,"Extend"],[17,"Reverse"],[17,"AsRefVar"],[17,"AsMutVar"],[17,"IterAnyRef"],[17,"IterAnyMut"],[17,"IntoOption"],[17,"IntoVec"],[10,"VariadicExt",0],[1,"reference"],[17,"UnRefVar"],[17,"RefVar"],[17,"MutVar"],[10,"RefVariadic",0],[10,"MutVariadic",0],[17,"Item"],[10,"Iterator",167],[17,"UnVec"],[10,"VecVariadic",0],[10,"Default",168],[10,"CloneVariadic",0],[10,"CopyRefVariadic",0],[17,"IntoZip"],[17,"Drain"],[1,"usize"],[10,"RangeBounds",169],[10,"Clone",170],[10,"PartialEqVariadic",0],[1,"bool"],[17,"IntoIter"],[10,"HomogenousVariadic",0],[6,"Option",171],[10,"EitherRefVariadic",0],[1,"unit"],[17,"Suffix"],[10,"Split",0],[1,"tuple"],[17,"Prefix"],[10,"SplitBySuffix",0],[5,"VariadicHashSet",64],[5,"VariadicCountedHashSet",64],[5,"DuplicateCounted",64],[5,"VariadicColumnMultiset",64],[10,"Eq",172],[10,"Hash",173],[17,"Schema"],[10,"VariadicCollection",64],[10,"BuildHasher",173],[10,"IntoIterator",174],[5,"Formatter",175],[8,"Result",175],[10,"Debug",175],[6,"Result",176],[5,"TypeId",177]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEcACgBJABMAXgAFAGUACgB0AAEAeQACAIAAAwCFAAIAiQACAI0AAgCTABAA"}],["variadics_macro",{"t":"Q","n":["tuple"],"q":[[0,"variadics_macro"]],"i":"`","f":"`","D":"b","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAEA"}],["website_playground",{"t":"FFFFFNNNNNNNNNNOHHONNNNNOONNNNNNNNHHNNNNNOOOOOHNNNNNOONNNNNNNNNNNNNNN","n":["HydroflowOutput","HydroflowResult","JsDiagnostic","JsLineColumn","JsSpan","borrow","","","","","borrow_mut","","","","","column","compile_datalog","compile_hydroflow","compiled","deserialize","","","","","diagnostics","end","from","","","","","","","","init","init_datalog_boolean_demo","into","","","","","is_error","line","mermaid","message","output","send_datalog_boolean_demo","serialize","","","","","span","start","try_from","","","","","try_into","","","","","type_id","","","",""],"q":[[0,"website_playground"],[69,"alloc::string"],[70,"wasm_bindgen"],[71,"core::result"],[72,"serde::de"],[73,"proc_macro2::location"],[74,"proc_macro2"],[75,"hydroflow_lang::diagnostic"],[76,"core::option"],[77,"serde::ser"],[78,"core::any"]],"i":"`````lAbAdAfAh432104``0432101344332210``4321024021`4321023432104321043210","f":"`````{b{{b{c}}}{}}0000{{{b{d}}}{{b{dc}}}{}}0000`{{fhhhhhh}j}0`{c{{n{l}}}A`}{c{{n{Ab}}}A`}{c{{n{Ad}}}A`}{c{{n{Af}}}A`}{c{{n{Ah}}}A`}``{cc{}}{Ajl}1{AlAb}2{AnAd}33{{}B`}{{{b{Bb}}}B`}{{}c{}}0000`````{{{b{Bb}}Bd}{{Bf{Bd}}}}{{{b{l}}c}nBh}{{{b{Ab}}c}nBh}{{{b{Ad}}c}nBh}{{{b{Af}}c}nBh}{{{b{Ah}}c}nBh}``{c{{n{e}}}{}{}}0000{{}{{n{c}}}{}}0000{bBj}0000","D":"Ad","p":[[1,"reference"],[0,"mut"],[5,"String",69],[1,"bool"],[5,"JsValue",70],[5,"JsLineColumn",0],[6,"Result",71],[10,"Deserializer",72],[5,"JsSpan",0],[5,"JsDiagnostic",0],[5,"HydroflowResult",0],[5,"HydroflowOutput",0],[5,"LineColumn",73],[5,"Span",74],[5,"Diagnostic",75],[1,"unit"],[1,"str"],[1,"i32"],[6,"Option",76],[10,"Serializer",77],[5,"TypeId",78]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADsABgAAABoAHAAAAB4AAAAgAAAAIwABACoAGwA="}]]')); +var searchIndex = new Map(JSON.parse('[["gossip_cli",{"t":"PPPFGFPNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNHHHONNNNNNNNNNNNNNNNNNOOOO","n":["Delete","Exit","Get","InteractiveApp","InteractiveCommands","Opts","Set","augment_args","","augment_args_for_update","","augment_subcommands","augment_subcommands_for_update","borrow","","","borrow_mut","","","command","","command_for_update","","commands","demux_enum","fmt","","","from","","","from_arg_matches","","","from_arg_matches_mut","","","group_id","","has_subcommand","into","","","main","parse_command","parse_key","server_address","try_from","","","try_into","","","type_id","","","update_from_arg_matches","","","update_from_arg_matches_mut","","","vzip","","","key","","","value"],"q":[[0,"gossip_cli"],[65,"gossip_cli::InteractiveCommands"],[69,"clap_builder::builder::command"],[70,"gossip_kv"],[71,"pusherator"],[72,"alloc::string"],[73,"core::fmt"],[74,"clap_builder::parser::matches::arg_matches"],[75,"clap_builder"],[76,"core::result"],[77,"clap_builder::util::id"],[78,"core::option"],[79,"core::any"]],"i":"h00```0AfAl1022102102101002102102102102102102```1102102102102102102BnC`Cb1","f":"```````{bb}00000{d{{d{c}}}{}}00{{{d{f}}}{{d{fc}}}{}}00{{}b}000`{{h{d{f{j{cegi}}}}}l{{Ab{}{{n{{j{A`}}}}}}}{{Ab{}{{n{l}}}}}{{Ab{}{{n{{j{A`}}}}}}}{{Ab{}{{n{{j{A`Ad}}}}}}}}{{{d{Af}}{d{fAh}}}Aj}{{{d{Al}}{d{fAh}}}Aj}{{{d{h}}{d{fAh}}}Aj}{cc{}}00{{{d{An}}}{{Bb{AfB`}}}}{{{d{An}}}{{Bb{AlB`}}}}{{{d{An}}}{{Bb{hB`}}}}{{{d{fAn}}}{{Bb{AfB`}}}}{{{d{fAn}}}{{Bb{AlB`}}}}{{{d{fAn}}}{{Bb{hB`}}}}{{}{{Bf{Bd}}}}0{{{d{Bh}}}Bj}{{}c{}}00{{}l}{Ad{{Bf{h}}}}{{{d{Bh}}}{{Bb{A`Ad}}}}`{c{{Bb{e}}}{}{}}00{{}{{Bb{c}}}{}}00{dBl}00{{{d{fAf}}{d{An}}}{{Bb{lB`}}}}{{{d{fAl}}{d{An}}}{{Bb{lB`}}}}{{{d{fh}}{d{An}}}{{Bb{lB`}}}}{{{d{fAf}}{d{fAn}}}{{Bb{lB`}}}}{{{d{fAl}}{d{fAn}}}{{Bb{lB`}}}}{{{d{fh}}{d{fAn}}}{{Bb{lB`}}}}<<<````","D":"Al","p":[[5,"Command",69],[1,"reference"],[0,"mut"],[6,"InteractiveCommands",0],[1,"tuple"],[1,"unit"],[17,"Item"],[5,"Key",70],[10,"Pusherator",71],[5,"String",72],[5,"Opts",0],[5,"Formatter",73],[8,"Result",73],[5,"InteractiveApp",0],[5,"ArgMatches",74],[8,"Error",75],[6,"Result",76],[5,"Id",77],[6,"Option",78],[1,"str"],[1,"bool"],[5,"TypeId",79],[15,"Get",65],[15,"Set",65],[15,"Delete",65]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADcABgAAAAAABQAAAAgAFAAgAAgALAAAAC8AFgA="}],["gossip_kv",{"t":"PGGPPPPPGPPFGPGIPPPIPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCOONNNNNCONNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNOOOOOOOOOOOOOOOFNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFIFNNNNNNNNNNNNNNNNONNNNNNNNNNNONNNONNONNNNNNNNNNNNNNNNIIIIIIIIHOHKFIFFONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHNNNNNNNNNNNNNNPGPPPGPPNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOO","n":["Ack","ClientRequest","ClientResponse","Delete","","Get","","Gossip","GossipMessage","InvalidFormat","InvalidNamespace","Key","KeyParseError","Nack","Namespace","RowKey","Set","","System","TableName","User","borrow","","","","","","borrow_mut","","","","","","clone","","","","","","clone_into","","","","","","clone_to_uninit","","","","","","deserialize","","","","","eq","","","","","","equivalent","","","","","","","","","","","","fmt","","","","","","","from","","","","","","from_str","","hash","","into","","","","","","lattices","membership","model","namespace","row_key","serialize","","","","","server","table","to_owned","","","","","","to_string","try_from","","","","","","try_into","","","","","","type_id","","","","","","util","vzip","","","","","","key","","","value","key","success","","value","member_id","","","message_id","","","writes","BoundedSetLattice","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deserialize","eq","equivalent","","fmt","from","","into","is_bot","is_top","lattice_from","merge","","new","new_from","partial_cmp","serialize","to_owned","try_from","try_into","type_id","vzip","MemberData","MemberDataBuilder","MemberId","Protocol","add_protocol","borrow","","","borrow_mut","","","build","clone","","clone_into","","clone_to_uninit","","deserialize","","endpoint","eq","","equivalent","","","","fmt","","from","","","id","into","","","name","new","","protocols","serialize","","to_owned","","try_from","","","try_into","","","type_id","","","vzip","","","Clock","NamespaceMap","Namespaces","RowKey","RowValue","Table","TableMap","TableName","delete_row","key","upsert_row","Address","InfectingWrite","MessageId","SETS_COUNTER","SeedNode","address","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","deref","deserialize","","eq","","equivalent","","fmt","","from","","","hash","id","into","","","is_bot","is_top","lattice_from","merge","partial_cmp","serialize","","server","to_owned","","try_from","","","try_into","","","type_id","","","vzip","","","Ack","ClientRequestWithAddress","Delete","Get","Gossip","GossipRequestWithAddress","Nack","Set","borrow","","borrow_mut","","demux_enum","","fmt","","from","","from_request_and_address","","into","","try_from","","try_into","","type_id","","vzip","","addr","","","key","","","value","addr","","","member_id","","","message_id","","","writes"],"q":[[0,"gossip_kv"],[141,"gossip_kv::ClientRequest"],[145,"gossip_kv::ClientResponse"],[149,"gossip_kv::GossipMessage"],[156,"gossip_kv::lattices"],[185,"gossip_kv::membership"],[241,"gossip_kv::model"],[252,"gossip_kv::server"],[309,"gossip_kv::util"],[339,"gossip_kv::util::ClientRequestWithAddress"],[346,"gossip_kv::util::GossipRequestWithAddress"],[356,"core::result"],[357,"serde::de"],[358,"core::fmt"],[359,"core::hash"],[360,"serde::ser"],[361,"alloc::string"],[362,"core::any"],[363,"core::cmp"],[364,"core::clone"],[365,"core::iter::traits::collect"],[366,"core::option"],[367,"prometheus::counter"],[368,"alloc::vec"],[369,"hydroflow::scheduled::graph"],[370,"futures_core::stream"],[371,"core::marker"],[372,"futures_sink"],[373,"pusherator"]],"i":"A```ln102`h0``3``21f`001j4351204351204351204351204351043512043511220044335512204351204351010120435```0010435`01204352120435120435120435`120435G`GbGd1GfGhGj2GlGnH`2102`Bh000000000000000000000000000````Cn0DbD`210210101010010110010210121002011010210210210210`````````Hb``````Dn0EbEd210212121021212221210222101111121`21210210210210Fl`Fh01`100101010101010101010101HdHfHh2101HjHlHn2102102","f":"`````````````````````{b{{b{c}}}{}}00000{{{b{d}}}{{b{dc}}}{}}00000{{{b{f}}}f}{{{b{h}}}h}{{{b{j}}}j}{{{b{l}}}l}{{{b{n}}}n}{{{b{A`}}}A`}{{b{b{dc}}}Ab{}}00000{bAb}00000{c{{Ad{f}}}Af}{c{{Ad{j}}}Af}{c{{Ad{l}}}Af}{c{{Ad{n}}}Af}{c{{Ad{A`}}}Af}{{{b{f}}{b{f}}}Ah}{{{b{h}}{b{h}}}Ah}{{{b{j}}{b{j}}}Ah}{{{b{l}}{b{l}}}Ah}{{{b{n}}{b{n}}}Ah}{{{b{A`}}{b{A`}}}Ah}{{b{b{c}}}Ah{}}00000000000{{{b{f}}{b{dAj}}}Al}{{{b{h}}{b{dAj}}}Al}0{{{b{j}}{b{dAj}}}Al}{{{b{l}}{b{dAj}}}Al}{{{b{n}}{b{dAj}}}Al}{{{b{A`}}{b{dAj}}}Al}{cc{}}00000{{{b{An}}}{{Ad{fc}}}{}}{{{b{An}}}{{Ad{jc}}}{}}{{{b{f}}{b{dc}}}AbB`}{{{b{j}}{b{dc}}}AbB`}{{}c{}}00000`````{{{b{f}}c}AdBb}{{{b{j}}c}AdBb}{{{b{l}}c}AdBb}{{{b{n}}c}AdBb}{{{b{A`}}c}AdBb}``{bc{}}00000{bBd}{c{{Ad{e}}}{}{}}00000{{}{{Ad{c}}}{}}00000{bBf}00000`::::::````````````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{{Bh{c}}}}}{{Bh{c}}}{BjBlBn}}{{b{b{dc}}}Ab{}}{bAb}{{}{{Bh{c}}}{BjBl}}{c{{Ad{{Bh{e}}}}}Af{BjBlC`}}{{{b{{Bh{c}}}}{b{{Bh{c}}}}}Ah{BjBl}}{{b{b{c}}}Ah{}}0{{{b{{Bh{c}}}}{b{dAj}}}Al{BjBlCb}}{Ab{{Bh{c}}}{BjBl}}{cc{}}{{}c{}}{{{b{{Bh{c}}}}}Ah{BjBl}}0{{{Bh{c}}}{{Bh{c}}}{BjBl}}{{{b{d{Bh{c}}}}{Bh{c}}}Ah{BjBl}}{{{b{d{Bh{c}}}}e}Ah{BjBl}{{Cf{}{{Cd{c}}}}}};{e{{Bh{c}}}{BjBl}{{Cf{}{{Cd{c}}}}}}{{{b{{Bh{c}}}}{b{{Bh{c}}}}}{{Cj{Ch}}}{BjBl}}{{{b{{Bh{c}}}}e}Ad{BjBlCl}Bb}{bc{}}{c{{Ad{e}}}{}{}}{{}{{Ad{c}}}{}}{bBf};````{{{Cn{c}}{D`{c}}}{{Cn{c}}}{CbBnBjBlCl}}{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{Cn{c}}}{{Db{c}}}{CbBnBjBlCl}}{{{b{{Db{c}}}}}{{Db{c}}}{CbBnBjBlClBn}}{{{b{{D`{c}}}}}{{D`{c}}}Bn}{{b{b{dc}}}Ab{}}0{bAb}0{c{{Ad{{Db{e}}}}}Af{CbBnBjBlClC`}}{c{{Ad{{D`{e}}}}}AfC`}`{{{b{{Db{c}}}}{b{{Db{c}}}}}Ah{CbBnBjBlClDd}}{{{b{{D`{c}}}}{b{{D`{c}}}}}AhDd}{{b{b{c}}}Ah{}}000{{{b{{Db{c}}}}{b{dAj}}}Al{CbBnBjBlClCb}}{{{b{{D`{c}}}}{b{dAj}}}AlCb}{cc{}}00`{{}c{}}00`{Df{{Cn{c}}}{CbBnBjBlCl}}{{Bdc}{{D`{c}}}{}}`{{{b{{Db{c}}}}e}Ad{CbBnBjBlClCl}Bb}{{{b{{D`{c}}}}e}AdClBb}{bc{}}0{c{{Ad{e}}}{}{}}00{{}{{Ad{c}}}{}}00{bBf}00888````````{{cfDhDj}{{Dl{c}}}{}}`{{cfDhDjBd}{{Dl{c}}}{}}``````{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{b{{Dn{c}}}}}{{Dn{c}}}{E`Bn}}{{{b{Eb}}}Eb}{{b{b{dc}}}Ab{}}0{bAb}0{{{b{Ed}}}{{b{Ef}}}}{c{{Ad{{Dn{e}}}}}Af{E`C`}}{c{{Ad{Eb}}}Af}{{{b{{Dn{c}}}}{b{{Dn{c}}}}}Ah{E`Dd}}{{{b{Eb}}{b{Eb}}}Ah}{{b{b{c}}}Ah{}}0{{{b{{Dn{c}}}}{b{dAj}}}Al{E`Cb}}{{{b{Eb}}{b{dAj}}}Al}{cc{}}00{{{b{{Dn{c}}}}{b{de}}}Ab{E`Bl}B`}`{{}c{}}00{{{b{Eb}}}Ah}0{EbEb}{{{b{dEb}}Eb}Ah}{{{b{Eb}}{b{Eb}}}{{Cj{Ch}}}}{{{b{{Dn{c}}}}e}Ad{E`Cl}Bb}{{{b{Eb}}c}AdBb}{{eikoAa{Db{c}}{Eh{{Dn{c}}}}Ac}Ej{E`El}{{F`{}{{Cd{{En{lc}}}}}}Fb}Cb{{Ff{{En{nc}}}{{Fd{g}}}}Fb}{{F`{}{{Cd{{En{A`c}}}}}}Fb}Cb{{Ff{{En{A`c}}}{{Fd{m}}}}Fb}{{F`{}{{Cd{Ab}}}}Fb}{{F`{}{{Cd{{Eh{{Dn{c}}}}}}}}Fb}}{bc{}}0{c{{Ad{e}}}{}{}}00{{}{{Ad{c}}}{}}00{bBf}00;;;````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{Fh{c}}{b{d{En{egi}}}}}Ab{}{{Fj{}{{Cd{{En{jc}}}}}}}{{Fj{}{{Cd{{En{jc}}}}}}}{{Fj{}{{Cd{{En{jBdc}}}}}}}}{{{Fl{c}}{b{d{En{egi}}}}}Ab{}{{Fj{}{{Cd{{En{BdBdc}}}}}}}{{Fj{}{{Cd{{En{BdBd{Dl{Fn}}c}}}}}}}{{Fj{}{{Cd{{En{BdBdc}}}}}}}}{{{b{{Fh{c}}}}{b{dAj}}}AlCb}{{{b{{Fl{c}}}}{b{dAj}}}AlCb}{cc{}}0{{lc}{{Fh{c}}}{}}{{A`c}{{Fl{c}}}{}}{{}c{}}0<<;;::00`````````````````","D":"Jj","p":[[1,"reference"],[0,"mut"],[6,"Namespace",0],[6,"KeyParseError",0],[5,"Key",0],[6,"ClientRequest",0],[6,"ClientResponse",0],[6,"GossipMessage",0],[1,"unit"],[6,"Result",356],[10,"Deserializer",357],[1,"bool"],[5,"Formatter",358],[8,"Result",358],[1,"str"],[10,"Hasher",359],[10,"Serializer",360],[5,"String",361],[5,"TypeId",362],[5,"BoundedSetLattice",156],[10,"Eq",363],[10,"Hash",359],[10,"Clone",364],[10,"Deserialize",357],[10,"Debug",358],[17,"Item"],[10,"IntoIterator",365],[6,"Ordering",363],[6,"Option",366],[10,"Serialize",360],[5,"MemberDataBuilder",185],[5,"Protocol",185],[5,"MemberData",185],[10,"PartialEq",363],[8,"MemberId",185],[8,"TableName",241],[8,"RowKey",241],[8,"Namespaces",241],[5,"SeedNode",252],[10,"Address",252],[5,"InfectingWrite",252],[5,"SETS_COUNTER",252],[8,"IntCounter",367],[5,"Vec",368],[5,"Hydroflow",369],[10,"DeserializeOwned",357],[1,"tuple"],[10,"Stream",370],[10,"Unpin",371],[17,"Error"],[10,"Sink",372],[6,"ClientRequestWithAddress",309],[10,"Pusherator",373],[6,"GossipRequestWithAddress",309],[8,"Clock",241],[15,"Get",141],[15,"Set",141],[15,"Delete",141],[15,"Get",145],[15,"Set",145],[15,"Delete",145],[15,"Gossip",149],[15,"Ack",149],[15,"Nack",149],[8,"RowValue",241],[15,"Get",339],[15,"Set",339],[15,"Delete",339],[15,"Gossip",346],[15,"Ack",346],[15,"Nack",346]],"r":[],"b":[[75,"impl-Debug-for-KeyParseError"],[76,"impl-Display-for-KeyParseError"],[174,"impl-Merge%3CBoundedSetLattice%3CT,+N%3E%3E-for-BoundedSetLattice%3CT,+N%3E"],[175,"impl-Merge%3CU%3E-for-BoundedSetLattice%3CT,+N%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAA8BFgAAAAAAAwAAAAkAAAAWADsAWAADAGIAAgBnAAUAbgAuAJ4ACwCsAA0AvAAAAL8ABQDGAAcAzwAHAOIADwDzAAEA/gAZABsBAQAgAQYAKAENAD4BBwBMARgA"}],["gossip_server",{"t":"FNNNNHONNNNNCNNNNNNNNNNOONNNHHOCHHHNNNNNNNSSSFFFONNNNNNNNNNNHNNNNNNNNNNNNNONNNNNONNHHNNNNNNNONNNNNNFNNNNHNNNNN","n":["Opts","augment_args","augment_args_for_update","borrow","borrow_mut","clap_duration_from_secs","client_port","clone","clone_into","clone_to_uninit","command","command_for_update","config","eq","equivalent","","","","","fmt","from","from_arg_matches","from_arg_matches_mut","gossip_frequency","gossip_port","group_id","hash","into","main","make_seed_node","member_suffix_len","membership","metrics_handler","setup_inbound_deserialization","setup_outbound_serialization","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","CONFIG_ROOT","DYNAMIC_CONFIG_PATH","STATIC_CONFIG_PATH","SeedNodeSettings","ServerSettings","UnboundedSenderEventHandler","address","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","deserialize","","dynamic_config_path","eq","equivalent","","","","","fmt","","from","","","handle_event","hash","id","into","","","new","","seed_nodes","serialize","","setup_settings_watch","static_config_path","to_owned","try_from","","","try_into","","","tx","type_id","","","vzip","","","LowercaseAlphanumeric","borrow","borrow_mut","from","into","member_name","sample","try_from","try_into","type_id","vzip"],"q":[[0,"gossip_server"],[42,"gossip_server::config"],[99,"gossip_server::membership"],[110,"clap_builder::builder::command"],[111,"core::time"],[112,"core::num::dec2flt"],[113,"core::result"],[114,"core::fmt"],[115,"clap_builder::parser::matches::arg_matches"],[116,"clap_builder"],[117,"clap_builder::util::id"],[118,"core::option"],[119,"core::hash"],[120,"core::net::socket_addr"],[121,"gossip_kv::server"],[122,"warp::reply"],[123,"core::convert"],[124,"futures_core::stream"],[125,"bytes::bytes_mut"],[126,"std::io::error"],[127,"serde::de"],[128,"core::marker"],[129,"futures_sink"],[130,"bytes::bytes"],[131,"serde::ser"],[132,"core::any"],[133,"std::path"],[134,"notify::event"],[135,"notify::error"],[136,"tokio::sync::mpsc::unbounded"],[137,"config::error"],[138,"notify"],[139,"gossip_kv::membership"],[140,"rand::rng"]],"i":"`A`000`000000`000000000000000``0````0000000``````BdDnDh210222202`2222220210212210210002``21021021102102`F`000`00000","f":"`{bb}0{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{{d{h}}}{{n{jl}}}}`{{{d{A`}}}A`}{{d{d{fc}}}Ab{}}{dAb}{{}b}0`{{{d{A`}}{d{A`}}}Ad}{{d{d{c}}}Ad{}}0000{{{d{A`}}{d{fAf}}}Ah}{cc{}}{{{d{Aj}}}{{n{A`Al}}}}{{{d{fAj}}}{{n{A`Al}}}}``{{}{{B`{An}}}}{{{d{A`}}{d{fc}}}AbBb}{{}c{}}{{}Ab}{{{d{Bd}}}{{Bh{Bf}}}}``{{}{{n{{`{Bj}}Bl}}}}{c{{`{{Cb{}{{Bn{{C`{eBf}}}}}}}}}{{Cb{}{{Bn{{n{{C`{CdBf}}Cf}}}}}}}{ChCjCl}}{c{{`{{D`{{C`{eBf}}}{{Cn{Cf}}}}}}}{{D`{{C`{DbBf}}}{{Cn{Cf}}}}}{DdCjCl}}{dc{}}{c{{n{e}}}{}{}}{{}{{n{c}}}{}}{dDf}{{{d{fA`}}{d{Aj}}}{{n{AbAl}}}}{{{d{fA`}}{d{fAj}}}{{n{AbAl}}}};```````{d{{d{c}}}{}}00{{{d{f}}}{{d{fc}}}{}}00{{{d{Bd}}}Bd}{{d{d{fc}}}Ab{}}{dAb}{c{{n{Dh}}}Dj}{c{{n{Bd}}}Dj}{{{d{h}}}Dl}{{{d{Bd}}{d{Bd}}}Ad}{{d{d{c}}}Ad{}}0000{{{d{Dh}}{d{fAf}}}Ah}{{{d{Bd}}{d{fAf}}}Ah}{cc{}}00{{{d{fDn}}{Eb{E`}}}Ab}{{{d{Bd}}{d{fc}}}AbBb}`{{}c{}}00{{{Ed{{Eb{E`}}}}}Dn}{{}{{n{DhEf}}}}`{{{d{Dh}}c}nEh}{{{d{Bd}}c}nEh}{{}{{C`{EjDh{`{{Cb{}{{Bn{Dh}}}}}}}}}}={dc{}}{c{{n{e}}}{}{}}00{{}{{n{c}}}{}}00`{dDf}00999`{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}>;{El{{d{En}}}}{{{d{F`}}{d{fc}}}Fb{FdFf}}654=","D":"Ch","p":[[5,"Command",110],[1,"reference"],[0,"mut"],[1,"str"],[5,"Duration",111],[5,"ParseFloatError",112],[6,"Result",113],[5,"Opts",0],[1,"unit"],[1,"bool"],[5,"Formatter",114],[8,"Result",114],[5,"ArgMatches",115],[8,"Error",116],[5,"Id",117],[6,"Option",118],[10,"Hasher",119],[5,"SeedNodeSettings",42],[6,"SocketAddr",120],[5,"SeedNode",121],[10,"Reply",122],[6,"Infallible",123],[17,"Item"],[1,"tuple"],[10,"Stream",124],[5,"BytesMut",125],[5,"Error",126],[10,"Deserialize",127],[10,"Debug",114],[10,"Send",128],[17,"Error"],[10,"Sink",129],[5,"Bytes",130],[10,"Serialize",131],[5,"TypeId",132],[5,"ServerSettings",42],[10,"Deserializer",127],[5,"PathBuf",133],[5,"UnboundedSenderEventHandler",42],[5,"Event",134],[8,"Result",135],[5,"UnboundedSender",136],[6,"ConfigError",137],[10,"Serializer",131],[8,"RecommendedWatcher",138],[1,"usize"],[8,"MemberId",139],[5,"LowercaseAlphanumeric",99],[1,"char"],[10,"Rng",140],[10,"Sized",128]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFIADgAAAAUACAAMABYAAQAaAAEAHQAAAB8AAQAkAAkAMgATAEkAAQBPAAAAUgABAFUADgBlAAEAagAEAA=="}],["hydro_cli",{"t":"FFFFFNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNN","n":["AnyhowError","AnyhowWrapper","Deployment","Host","Service","__clone_box","_core","arguments","","","","as_ptr","as_ref","borrow","","","","","borrow_mut","","","","","clone","clone_into","clone_to_uninit","deref","doc","","","","extract","","","","","","","","","","fmt","","from","","","","","from_borrowed_ptr_or_opt","from_owned_ptr_or_opt","into","","","","","into_py","","","","","items_iter","","","","lazy_type_object","","","","new_err","source","to_object","to_owned","to_string","try_from","","","","","","try_from_exact","try_from_unchecked","try_into","","","","","type_id","","","","","type_object_raw","","","","","underlying","vzip","","","",""],"q":[[0,"hydro_cli"],[102,"dyn_clone::sealed"],[103,"pyo3::marker"],[104,"pyo3::types::module"],[105,"pyo3::err"],[106,"pyo3::types::any"],[107,"pyo3::instance"],[108,"pyo3_ffi::object"],[109,"core::ffi::c_str"],[110,"core::result"],[111,"core::fmt"],[112,"core::option"],[113,"pyo3::impl_::pyclass"],[114,"pyo3::impl_::pyclass::lazy_type_object"],[115,"pyo3::err::err_state"],[116,"core::marker"],[117,"core::error"],[118,"alloc::string"],[119,"core::convert"],[120,"core::any"]],"i":"`````Ah`0B`BbBdAb004321043214440432104443322110004321000432104321432143210004000432100043210432104321404321","f":"`````{{bd}f}{{h{b{j}}}{{l{f}}}}{h{{A`{n}}}}000{{{b{Ab}}}Ad}{{{b{Ab}}}{{b{n}}}}{b{{b{c}}}{}}0000{{{b{Af}}}{{b{Afc}}}{}}0000{{{b{Ah}}}Ah}{{b{b{Afc}}}f{}}{bf}5{h{{l{{b{Aj}}}}}}000{{{b{n}}}{{l{{b{Ab}}}}}}{{{b{n}}}{{An{cAl}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{AfAh}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{Ah}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{B`}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{AfB`}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{Bb}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{AfBb}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{AfBd}}}}}{}}{{{b{n}}{b{Afc}}}{{l{{b{Bd}}}}}{}}{{{b{Ab}}{b{AfBf}}}{{An{fBh}}}}0{cc{}}0000{{hAd}{{Bj{{b{c}}}}}{}}0{{}c{}}0000{{{b{Ab}}h}{{A`{Ab}}}}{{Ahh}Bl}{{B`h}Bl}{{Bbh}Bl}{{Bdh}Bl}{{}Bn}000{{}{{b{{C`{Ah}}}}}}{{}{{b{{C`{B`}}}}}}{{}{{b{{C`{Bb}}}}}}{{}{{b{{C`{Bd}}}}}}{cAl{CbCdCf}}{{{b{Ab}}}{{Bj{{b{Ch}}}}}}{{{b{Ab}}h}Bl}{bc{}}{bCj}{c{{An{e}}}{}{}}{c{{An{{b{e}}Cl}}}{{Cn{{b{n}}}}}{}}11110{c{{b{e}}}{{Cn{{b{n}}}}}{}}{{}{{An{c}}}{}}0000{bD`}0000{hDb}0000`{{}c{}}0000","D":"Ah","p":[[1,"reference"],[5,"Private",102],[1,"unit"],[5,"Python",103],[5,"PyModule",104],[8,"PyResult",105],[5,"PyAny",106],[5,"Py",107],[5,"AnyhowError",0],[5,"PyObject",108],[0,"mut"],[5,"AnyhowWrapper",0],[5,"CStr",109],[5,"PyErr",105],[6,"Result",110],[5,"Deployment",0],[5,"Host",0],[5,"Service",0],[5,"Formatter",111],[5,"Error",111],[6,"Option",112],[8,"PyObject",107],[5,"PyClassItemsIter",113],[5,"LazyTypeObject",114],[10,"PyErrArguments",115],[10,"Send",116],[10,"Sync",116],[10,"Error",117],[5,"String",118],[5,"PyDowncastError",105],[10,"Into",119],[5,"TypeId",120],[5,"PyTypeObject",108]],"r":[],"b":[[33,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26mut+AnyhowWrapper"],[34,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26AnyhowWrapper"],[35,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26Deployment"],[36,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26mut+Deployment"],[37,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26Host"],[38,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26mut+Host"],[39,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26mut+Service"],[40,"impl-PyFunctionArgument%3C\'a,+\'py%3E-for-%26Service"],[41,"impl-Display-for-AnyhowError"],[42,"impl-Debug-for-AnyhowError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFoABQAAAAsADQAeADEAAQA4AAwARgAgAA=="}],["hydro_deploy",{"t":"EGEPEPPEKIGEPPKKPPEPPFFFGKRKPPPNMCNNNNNNNNNNNNMMNNNMMMCNMMCNNNNNMNNMNNNNNNCNCMNNNNNNMMCCMMMMMCMMMMMMMMCOOONNNNNNNNNNNNNNNNNNNCNNNNNNMFFNNNNNNNNONNNNNNNONNNNONNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNIINNFNNNNNNNNNNNONNONNONNNNNNNNFFFNNNNNNNNNNOONNNNNNNNNONNNNNONNONNNNNNNNNNNNNNNNNNNNPGPPFNNNNNNNNNNNNNNNNNNNNNNNNNCNNCNNNNCNNNNNNNNPPFPPPFKKKPPPPFIGGPPFPNNMNNNNNNNNNNNNNNNNNNNNNONNNNNNNMNMNNNMNNNMNNNNNNNNNMNNNOOMNNNMNNNNMNNNOOOOMNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNIFNNNNNNNOOOOOOONNONNNNNFNNNNNNNNNONNCNNNNNNNNNNFNNNNNNNNNNNNNNNNNGPPPPGFPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMNMNNMJFFFFFFFNNNNNNNNNNNNNNONNONNNNNNNNNNNNNNNNNNNNNNNOOONOONNNNNOONNNNNNNNNNNNNNNNNNNNNOONNNNNNNHH","n":["AzureHost","ClientStrategy","CustomService","Demux","Deployment","ExternalTcpPort","ForwardedTcpPort","GcpComputeEngineHost","Host","HostStrategyGetter","HostTargetType","HydroflowCrate","InternalTcpPort","","LaunchedBinary","LaunchedHost","Linux","Local","LocalhostHost","Merge","Null","ResourceBatch","ResourcePool","ResourceResult","ServerStrategy","Service","","ServiceBuilder","Tagged","UnixSocket","","__clone_box","as_any","azure","borrow","","","","","","borrow_mut","","","","","","build","can_connect_to","clone","clone_into","clone_to_uninit","collect_resources","","copy_binary","custom_service","default","deploy","deploy_stdout","deployment","eq","equivalent","","","","exit_code","fmt","","forward_port","from","","","","","","gcp","hash","hydroflow_crate","id","into","","","","","","launch_binary","launched","localhost","progress","provision","ready","request_custom_binary","request_port","server_config","ssh","start","stderr","stdin","stdout","stop","","strategy_as_server","target_type","terraform","","","","to_owned","try_from","","","","","","try_into","","","","","","type_id","","","","","","util","vzip","","","","","","wait","AzureHost","LaunchedVirtualMachine","as_any","borrow","","borrow_mut","","can_connect_to","collect_resources","copy_binary","external_ip","forward_port","from","","get_cloud_provider","get_external_ip","get_internal_ip","id","internal_ip","into","","launch_binary","launched","","new","provision","request_custom_binary","request_port","resource_result","server_config","ssh_user","strategy_as_server","target_type","try_from","","try_into","","type_id","","vzip","","CustomClientPort","CustomService","as_any","borrow","","borrow_mut","","collect_resources","connect","declare_client","deploy","from","","host","instantiate","instantiate_reverse","into","","new","","on","ready","record_server_config","record_server_strategy","server","server_port","source_path","start","stop","try_from","","try_into","","type_id","","vzip","","AddAzureHostDeploymentBuilder","AddGcpComputeEngineHostDeploymentBuilder","AzureHost","CustomService","Deployment","GcpComputeEngineHost","Localhost","add_azure_host","add_gcp_compute_engine_host","add_host","add_service","borrow","borrow_mut","default","deploy","from","hosts","into","new","resource_pool","run_ctrl_c","run_until","services","start","start_ctrl_c","start_until","stop","try_from","try_into","type_id","vzip","GcpComputeEngineHost","GcpNetwork","LaunchedComputeEngine","as_any","borrow","","","borrow_mut","","","can_connect_to","collect_resources","copy_binary","existing_vpc","external_ip","fmt","forward_port","from","","","get_cloud_provider","get_external_ip","get_internal_ip","id","internal_ip","into","","","launch_binary","launched","","new","","project","provision","request_custom_binary","request_port","resource_result","server_config","ssh_user","strategy_as_server","target_type","try_from","","","try_into","","","type_id","","","vzip","","","Bin","CrateTarget","Default","Example","HydroflowCrate","__clone_box","","args","bin","borrow","","borrow_mut","","build","clone","","clone_into","","clone_to_uninit","","display_name","eq","example","features","from","","into","","new","no_default_features","ports","profile","rustflags","service","target_dir","to_owned","","tracing","tracing_options","try_from","","try_into","","type_id","","vzip","","Demux","DemuxSelect","DemuxSink","Direct","","Forwarded","HydroflowPortConfig","HydroflowServer","HydroflowSink","HydroflowSource","Merge","MergeSelect","Null","","NullSourceSink","ReverseSinkInstantiator","ServerConfig","SourcePath","Tagged","","TaggedSource","TaggedUnwrap","__clone_box","","as_any","","","","borrow","","","","","","borrow_mut","","","","","","clone","","clone_into","","clone_to_uninit","","demux","from","","","","","","from_strategy","get_port","","host","","","","instantiate","","","","instantiate_reverse","","","","into","","","","","","launched_host","","load_instantiated","merge","","port","record_server_config","","","","record_server_strategy","","","","send_to","server","","","","service","service_host","service_server_defns","source","source_path","","","","tag","to_owned","","try_from","","","","","","try_into","","","","","","type_id","","","","","","vzip","","","","","","wrap_reverse_server_config","","HydroflowCrateService","add_connection","borrow","borrow_mut","collect_resources","deploy","exit_code","from","get_port","into","new","ready","start","stderr","stdout","stop","try_from","try_into","type_id","update_meta","vzip","NewTracingOptionsBuilder","TracingOptions","__clone_box","borrow","borrow_mut","builder","clone","clone_into","clone_to_uninit","dtrace_outfile","flamegraph_options","flamegraph_outfile","fold_dtrace_options","fold_outfile","fold_perf_options","frequency","from","into","perf_raw_outfile","to_owned","try_from","try_into","type_id","vzip","LocalhostHost","as_any","borrow","borrow_mut","can_connect_to","client_only","collect_resources","fmt","from","id","","into","launched","launched_binary","new","provision","request_custom_binary","request_port","strategy_as_server","target_type","try_from","try_into","type_id","vzip","LaunchedLocalhostBinary","borrow","borrow_mut","deploy_stdout","drop","exit_code","from","into","new","stderr","stdin","stdout","stop","try_from","try_into","type_id","vzip","wait","BarTree","Finished","","Group","Leaf","LeafStatus","ProgressTracker","Root","Started","__clone_box","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","end_task","eq","equivalent","","","","fmt","","from","","","into","","","leaf","println","progress_leaf","rich_leaf","start_task","to_owned","try_from","","","try_into","","","type_id","","","vzip","","","with_group","LaunchedSshHost","get_cloud_provider","get_external_ip","get_internal_ip","open_ssh_session","resource_result","server_config","ssh_key_path","ssh_user","TERRAFORM_ALPHABET","TerraformBatch","TerraformConfig","TerraformOutput","TerraformPool","TerraformProvider","TerraformResult","TerraformResultOutput","borrow","","","","","","","borrow_mut","","","","","","","data","default","","deployment_folder","deserialize","","","","","drop","","fmt","","from","","","","","","","into","","","","","","","output","outputs","provider","provision","required_providers","resource","serialize","","","","","source","terraform","try_from","","","","","","","try_into","","","","","","","type_id","","","","","","","value","version","vzip","","","","","","","async_retry","prioritized_broadcast"],"q":[[0,"hydro_deploy"],[133,"hydro_deploy::azure"],[174,"hydro_deploy::custom_service"],[211,"hydro_deploy::deployment"],[242,"hydro_deploy::gcp"],[296,"hydro_deploy::hydroflow_crate"],[343,"hydro_deploy::hydroflow_crate::ports"],[473,"hydro_deploy::hydroflow_crate::service"],[494,"hydro_deploy::hydroflow_crate::tracing_options"],[518,"hydro_deploy::localhost"],[542,"hydro_deploy::localhost::launched_binary"],[560,"hydro_deploy::progress"],[612,"hydro_deploy::ssh"],[621,"hydro_deploy::terraform"],[713,"hydro_deploy::util"],[715,"dyn_clone::sealed"],[716,"core::any"],[717,"core::future::future"],[718,"alloc::boxed"],[719,"core::pin"],[720,"alloc::sync"],[721,"alloc::string"],[722,"tokio::sync::oneshot"],[723,"core::option"],[724,"core::fmt"],[725,"core::net::socket_addr"],[726,"core::hash"],[727,"hydroflow_deploy_integration"],[728,"tokio::sync::mpsc::unbounded"],[729,"anyhow"],[730,"core::result"],[731,"std::collections::hash::map"],[732,"tokio::sync::rwlock"],[733,"core::ops::function"],[734,"alloc::vec"],[735,"core::convert"],[736,"core::iter::traits::collect"],[737,"std::path"],[738,"serde::ser"],[739,"async_process"],[740,"indicatif::progress_bar"],[741,"serde::de"],[742,"core::time"],[743,"std::sync::mutex"],[744,"std::io::error"],[745,"futures_core::stream"],[746,"core::marker"]],"i":"```Db`0Af`````10``Aj0`22`````A``3321h`Al54BfBh5276105435553AdAn`31Bl`8888803815:9438`8`65:943816``62661`20000266`54385:94385:94385:9438`5:94380``EdEf1011100001000100101111110001101010101``ElEn101010001111010110111110001010101``Gh0`00000000000000000000000000```HbHf1H`12022101011201112112012220022211122120120120120I``00`0Hj00101001010100100101000`00`0100`10101010Gd0`Fd11````1101````01`1Ij2IdIfIh3In2154602154646464610215466Fh5Il2465436543624376816866602460246002466662024626824376824376824376824376802`J`0000000000000000000``D`000000000000000000000`Gn00000000000`0000000000`Jf0000000000000000`JjJn00``011Jl21021222022222210210210000020210210210210`Kd0000000````````KfKhKlKnL`LdLb65432105651543206121654321065432105155455432035654321065432106543210236543210``","f":"```````````````````````````````{{bd}f}{{{b{h}}}{{b{j}}}}`{b{{b{c}}}{}}00000{{{b{l}}}{{b{lc}}}{}}00000{{{A`{}{{n{c}}}}Ab}cAd}{{{b{h}}Af}Ah}{{{b{Aj}}}Aj}{{b{b{lc}}}f{}}{bf}{{{b{h}}{b{lAl}}}f}{{{b{Ad}}{b{lAl}}}f}{{{b{An}}{b{`}}}{{Bd{{Bb{B`}}}}}}`{{}Bf}{{{b{lAd}}{b{{Bj{Bh}}}}}{{Bd{{Bb{B`}}}}}}{{{b{Bl}}}{{C`{Bn}}}}`{{{b{Aj}}{b{Aj}}}Ah}{{b{b{c}}}Ah{}}000{{{b{Bl}}}{{Cd{Cb}}}}{{{b{Bh}}{b{lCf}}}Ch}{{{b{Aj}}{b{lCf}}}Ch}{{{b{An}}{b{Cj}}}{{Bd{{Bb{B`}}}}}}{cc{}}00000`{{{b{Aj}}{b{lc}}}fCl}`{{{b{h}}}Ab}{{}c{}}00000{{{b{An}}Bn{b{`}}{b{{Cn{Bn}}}}{Cd{D`}}}{{Bd{{Bb{B`}}}}}}{{{b{h}}}{{Cd{{Bj{An}}}}}}``{{{b{h}}{b{{Bj{Bh}}}}}{{Bj{An}}}}{{{b{lAd}}}{{Bd{{Bb{B`}}}}}}{{{b{h}}}f}{{{b{h}}{b{Db}}}f}{{{b{An}}{b{Db}}}Dd}`3{{{b{Bl}}}{{Df{Bn}}}}{{{b{Bl}}}{{Dh{Bn}}}}1{{{b{lBl}}}{{Bd{{Bb{B`}}}}}}6{{{b{h}}{b{h}}}{{Dn{{Dl{AfDj}}}}}}{{{b{h}}}Aj}````{bc{}}{c{{E`{e}}}{}{}}00000{{}{{E`{c}}}{}}00000{bEb}00000`{{}c{}}000007``{{{b{Ed}}}{{b{j}}}}{b{{b{c}}}{}}0{{{b{l}}}{{b{lc}}}{}}0{{{b{Ed}}Af}Ah}{{{b{Ed}}{b{lAl}}}f}{{b{b{`}}}{{Bd{{Bb{B`}}}}}}`{{b{b{Cj}}}{{Bd{{Bb{B`}}}}}}{cc{}}0{{{b{Ef}}}Bn}{{{b{Ef}}}{{Cd{Bn}}}}1{{{b{Ed}}}Ab}`;;{{bBn{b{`}}{b{{Cn{Bn}}}}{Cd{D`}}}{{Bd{{Bb{B`}}}}}}{{{b{Ed}}}{{Cd{{Bj{An}}}}}}`{{AbBnBnBn{Cd{{Eh{BnBn}}}}Bn{Cd{Bn}}}Ed}{{{b{Ed}}{b{{Bj{Bh}}}}}{{Bj{An}}}}{{{b{Ed}}}f}{{{b{Ed}}{b{Db}}}f}{{{b{Ef}}}{{b{{Bj{Bh}}}}}}{{b{b{Db}}}Dd}{{{b{Ef}}}{{b{Ej}}}}{{{b{Ed}}{b{h}}}{{Dn{{Dl{AfDj}}}}}}{{{b{Ed}}}Aj}{c{{E`{e}}}{}{}}0{{}{{E`{c}}}{}}0{bEb}0{{}c{}}0``{{{b{El}}}{{b{j}}}}{b{{b{c}}}{}}0{{{b{l}}}{{b{lc}}}{}}0{{{b{En}}{b{lAl}}}f}{{{b{El}}}F`}{{{b{En}}{b{{Bj{{Fb{En}}}}}}}El}{{{b{lEn}}{b{{Bj{Bh}}}}}{{Bd{{Bb{B`}}}}}}{cc{}}0{{{b{El}}}{{Bj{h}}}}{{{b{El}}{b{Fd}}}{{Dn{{Bb{Ff}}}}}}{{{b{El}}{b{{Bj{h}}}}{Bj{Fh}}{b{Fj}}}{{Dn{Fl}}}};;{{Ab{Bj{h}}{G`{Fn}}}En}{{{Gb{{Fb{En}}}}}El}`{{{b{lEn}}}{{Bd{{Bb{B`}}}}}}{{{b{El}}Gd}f}{{{b{El}}Db}f}{{{b{El}}}{{Bj{Fh}}}}{{{b{El}}}Gf}{{{b{El}}}Fd}55{c{{E`{e}}}{}{}}0{{}{{E`{c}}}{}}0{bEb}0{{}c{}}0``{{{b{lGh}}}Gj}{{{b{lGh}}{Bj{h}}{G`{Fn}}}{{Bj{{Fb{En}}}}}}`{{{b{lGh}}}Gl}{{{b{Gh}}}{{Bj{Gn}}}}{{{b{lGh}}BnBnBn{Cd{{Eh{BnBn}}}}Bn{Cd{Bn}}}{{Bj{Ed}}}}{{{b{lGh}}BnBnBnBn{Bj{{Fb{H`}}}}{Cd{Bn}}{Cd{Bn}}}{{Bj{Hb}}}}{{{b{lGh}}e}{{Bj{c}}}h{{Ff{Ab}{{Hd{c}}}}}}{{{b{lGh}}e}{{Bj{{Fb{c}}}}}Ad{{A`{}{{n{c}}}}}}{b{{b{c}}}{}}{{{b{l}}}{{b{lc}}}{}}{{}Gh}{{{b{lGh}}}{{Dn{f}}}}{cc{}}`=2`1{{{b{lGh}}c}{{Dn{f}}}{{B`{}{{Hd{f}}}}}}`2202{c{{E`{e}}}{}{}}{{}{{E`{c}}}{}}{bEb}{{}c{}}```{{{b{Hb}}}{{b{j}}}}:::999{{{b{Hb}}Af}Ah}{{{b{Hb}}{b{lAl}}}f}{{b{b{`}}}{{Bd{{Bb{B`}}}}}}``{{{b{H`}}{b{lCf}}}Ch}{{b{b{Cj}}}{{Bd{{Bb{B`}}}}}};;;{{{b{Hf}}}Bn}{{{b{Hf}}}{{Cd{Bn}}}}1{{{b{Hb}}}Ab}`999{{bBn{b{`}}{b{{Cn{Bn}}}}{Cd{D`}}}{{Bd{{Bb{B`}}}}}}{{{b{Hb}}}{{Cd{{Bj{An}}}}}}`{{Abcegi{Bj{{Fb{H`}}}}{Cd{Bn}}{Cd{Bn}}}Hb{{Hh{Bn}}}{{Hh{Bn}}}{{Hh{Bn}}}{{Hh{Bn}}}}{{c{Cd{Bn}}}H`{{Hh{Bn}}}}`{{{b{Hb}}{b{{Bj{Bh}}}}}{{Bj{An}}}}{{{b{Hb}}}f}{{{b{Hb}}{b{Db}}}f}{{{b{Hf}}}{{b{{Bj{Bh}}}}}}{{b{b{Db}}}Dd}{{{b{Hf}}}{{b{Ej}}}}{{{b{Hb}}{b{h}}}{{Dn{{Dl{AfDj}}}}}}{{{b{Hb}}}Aj}{c{{E`{e}}}{}{}}00{{}{{E`{c}}}{}}00{bEb}00{{}c{}}00`````{{bd}f}0{{Hje}Hj{{Hh{Bn}}}{{Hn{}{{Hl{c}}}}}}{{Hjc}Hj{{Hh{Bn}}}}{b{{b{c}}}{}}0{{{b{l}}}{{b{lc}}}{}}0{{HjAb}c{}}{{{b{I`}}}I`}{{{b{Hj}}}Hj}{{b{b{lc}}}f{}}0{bf}07{{{b{I`}}{b{I`}}}Ah}89{cc{}}0<<{{c{Bj{h}}}Hj{{Hh{Ib}}}}{HjHj}`;;`{{Hjc}Hj{{Hh{Ib}}}}{bc{}}0{{Hjc}Hj{{Hh{D`}}}}`{c{{E`{e}}}{}{}}0{{}{{E`{c}}}{}}0{bEb}0{{}c{}}0``````````````````````{{bd}f}0{{{b{Id}}}{{b{j}}}}{{{b{If}}}{{b{j}}}}{{{b{Ih}}}{{b{j}}}}{{{b{Ij}}}{{b{j}}}}{b{{b{c}}}{}}00000{{{b{l}}}{{b{lc}}}{}}00000{{{b{Ij}}}Ij}{{{b{Gd}}}Gd}{{b{b{lc}}}f{}}0{bf}0`{cc{}}00000{{{b{Af}}{Bj{Fh}}}Gd}{{{b{Fh}}}Gf}{{{b{Ij}}}Gf}{{{b{Il}}}{{Bj{h}}}}{{{b{In}}}{{Bj{h}}}}{{{b{If}}}{{Bj{h}}}}{{{b{Ij}}}{{Bj{h}}}}{{{b{Id}}{b{Fd}}}{{Dn{{Bb{Ff}}}}}}{{{b{If}}{b{Fd}}}{{Dn{{Bb{Ff}}}}}}{{{b{Ih}}{b{Fd}}}{{Dn{{Bb{Ff}}}}}}{{{b{Ij}}{b{Fd}}}{{Dn{{Bb{Ff}}}}}}{{{b{Id}}{b{{Bj{h}}}}{Bj{Fh}}{b{Fj}}}{{Dn{Fl}}}}{{{b{If}}{b{{Bj{h}}}}{Bj{Fh}}{b{Fj}}}{{Dn{Fl}}}}{{{b{Ih}}{b{{Bj{h}}}}{Bj{Fh}}{b{Fj}}}{{Dn{Fl}}}}{{{b{Ij}}{b{{Bj{h}}}}{Bj{Fh}}{b{Fj}}}{{Dn{Fl}}}}{{}c{}}00000{{{b{Fh}}}{{Bj{An}}}}{{{b{Ij}}}{{Bj{An}}}}{{{b{Gd}}{b{Fj}}}{{Bd{{Bb{B`}}}}}}{{{b{Ij}}}Ij}``{{{b{Il}}Gd}f}{{{b{In}}Gd}f}{{{b{If}}Gd}f}{{{b{Ij}}Gd}f}{{{b{Il}}Db}f}{{{b{In}}Db}f}{{{b{If}}Db}f}{{{b{Ij}}Db}f}{{{b{Il}}{b{Id}}}f}{{{b{Il}}}{{Bj{Fh}}}}{{{b{In}}}{{Bj{Fh}}}}{{{b{If}}}{{Bj{Fh}}}}{{{b{Ij}}}{{Bj{Fh}}}}````{{{b{Il}}}Fd}{{{b{In}}}Fd}{{{b{If}}}Fd}{{{b{Ij}}}Fd}`{bc{}}0{c{{E`{e}}}{}{}}00000{{}{{E`{c}}}{}}00000{bEb}00000{{}c{}}00000{{{b{Il}}Gd}Gd}{{{b{In}}Gd}Gd}`{{{b{lJ`}}{b{{Bj{{Fb{J`}}}}}}Bn{b{Id}}}{{Dn{f}}}}{b{{b{c}}}{}}{{{b{l}}}{{b{lc}}}{}}{{{b{J`}}{b{lAl}}}f}{{{b{lJ`}}{b{{Bj{Bh}}}}}{{Bd{{Bb{B`}}}}}}{{{b{J`}}}{{Cd{Cb}}}}{cc{}}{{{b{J`}}Bn{b{{Bj{{Fb{J`}}}}}}}Ij}:{{AbIb{Bj{h}}{Cd{Bn}}{Cd{Bn}}{Cd{Bn}}{Cd{Bn}}{Cd{Ib}}Ah{Cd{D`}}{Cd{{G`{Bn}}}}{Cd{{G`{Bn}}}}{Cd{Bn}}{G`{Fn}}}J`}{{{b{lJ`}}}{{Bd{{Bb{B`}}}}}}0{{{b{J`}}}{{Df{Bn}}}}01{c{{E`{e}}}{}{}}{{}{{E`{c}}}{}}{bEb}{{{b{lJ`}}c}fJb}{{}c{}}``{{bd}f}?>{{}Jd}{{{b{D`}}}D`}{{b{b{lc}}}f{}}{bf}```````>5`{bc{}}:986`{{{b{Gn}}}{{b{j}}}}{b{{b{c}}}{}}{{{b{l}}}{{b{lc}}}{}}{{{b{Gn}}Af}Ah}{{{b{Gn}}}Gn}{{{b{Gn}}{b{lAl}}}f}{{{b{Gn}}{b{lCf}}}Ch}{cc{}}{{{b{Gn}}}Ab}`?{{{b{Gn}}}{{Cd{{Bj{An}}}}}}`{AbGn}{{{b{Gn}}{b{{Bj{Bh}}}}}{{Bj{An}}}}{{{b{Gn}}}f}{{{b{Gn}}{b{Db}}}f}{{{b{Gn}}{b{h}}}{{Dn{{Dl{AfDj}}}}}}{{{b{Gn}}}Aj}{c{{E`{e}}}{}{}}{{}{{E`{c}}}{}}{bEb}{{}c{}}`{b{{b{c}}}{}}{{{b{l}}}{{b{lc}}}{}}{{{b{Jf}}}{{C`{Bn}}}}{{{b{lJf}}}f}{{{b{Jf}}}{{Cd{Cb}}}}{cc{}}6{{JhBn{Cd{D`}}}Jf}{{{b{Jf}}}{{Df{Bn}}}}{{{b{Jf}}}{{Dh{Bn}}}}1{{{b{lJf}}}{{Bd{{Bb{B`}}}}}}=<;:0`````````{{bd}f}:::999{{{b{Jj}}}Jj}{{b{b{lc}}}f{}}{bf}{{{b{lJl}}{G`{Ab}}}f}{{{b{Jj}}{b{Jj}}}Ah}{{b{b{c}}}Ah{}}000{{{b{Jj}}{b{lCf}}}Ch}{{{b{Jn}}{b{lCf}}}Ch}==={{}c{}}00{{cg}{{`{{B`{}{{Hd{e}}}}}}}{{Hh{Bn}}}{}{{B`{}{{Hd{e}}}}}}{cf{{K`{Ej}}}}{{ci}{{`{{B`{}{{Hd{e}}}}}}}{{Hh{Bn}}}{}{{B`{}{{Hd{e}}}}}{{Ff{{Bb{Fj}}{Bb{Fj}}}{{Hd{g}}}}}}{{ci}{{`{{B`{}{{Hd{e}}}}}}}{{Hh{Bn}}}{}{{B`{}{{Hd{e}}}}}{{Ff{{Bb{Fj}}}{{Hd{g}}}}}}{{{b{lJl}}{G`{Ab}}BnAh{Cd{Ab}}Ah}{{Dl{Ab{Bj{Kb}}}}}}{bc{}}{c{{E`{e}}}{}{}}00{{}{{E`{c}}}{}}00{bEb}00999{{c{Cd{Ab}}i}{{`{{B`{}{{Hd{e}}}}}}}{{Hh{Bn}}}{}{{B`{}{{Hd{e}}}}}{{Ff{}{{Hd{g}}}}}}`{{{b{Kd}}}Bn}{{{b{Kd}}}{{Cd{Bn}}}}1{{{b{Kd}}}{{Bd{{Bb{B`}}}}}}{{{b{Kd}}}{{b{{Bj{Bh}}}}}}{{{b{Kd}}{b{Db}}}Dd}{{{b{Kd}}}Ib}{{{b{Kd}}}{{b{Ej}}}}````````{b{{b{c}}}{}}000000{{{b{l}}}{{b{lc}}}{}}000000`{{}Kf}{{}Kh}`{c{{E`{Kh}}}Kj}{c{{E`{Kl}}}Kj}{c{{E`{Kn}}}Kj}{c{{E`{L`}}}Kj}{c{{E`{Lb}}}Kj}{{{b{lKf}}}f}{{{b{lLd}}}f}{{{b{L`}}{b{lCf}}}Ch}{{{b{Ld}}{b{lCf}}}Ch}{cc{}}000000{{}c{}}000000```{{Kh{b{lKf}}}{{Dn{Ld}}}}``{{{b{Kh}}c}E`Lf}{{{b{Kl}}c}E`Lf}{{{b{Kn}}c}E`Lf}{{{b{L`}}c}E`Lf}{{{b{Lb}}c}E`Lf}``{c{{E`{e}}}{}{}}000000{{}{{E`{c}}}{}}000000{bEb}000000``9999999{{gAbLh}{{Dn{c}}}{}{{B`{}{{Hd{{Dn{c}}}}}}}{{Lj{}{{Hd{e}}}}}}{{ce}{{Dl{{Bj{{Ln{{Cd{{Ll{Bn}}}}}}}}{Bj{{Ln{{G`{{Dh{Bn}}}}}}}}}}}{{Mb{}{{Hl{{M`{Bn}}}}}}MdMf}{{Fj{Bn}}Md}}","D":"Nn","p":[[1,"reference"],[5,"Private",715],[1,"unit"],[10,"Host",0],[10,"Any",716],[0,"mut"],[17,"Service"],[10,"ServiceBuilder",0],[1,"usize"],[10,"Service",0],[6,"ClientStrategy",0],[1,"bool"],[6,"HostTargetType",0],[5,"ResourceBatch",0],[10,"LaunchedHost",0],[10,"Future",717],[5,"Box",718],[5,"Pin",719],[5,"ResourcePool",0],[5,"ResourceResult",0],[5,"Arc",720],[10,"LaunchedBinary",0],[5,"String",721],[5,"Receiver",722],[1,"i32"],[6,"Option",723],[5,"Formatter",724],[8,"Result",724],[6,"SocketAddr",725],[10,"Hasher",726],[1,"slice"],[5,"TracingOptions",494],[6,"ServerStrategy",0],[6,"ServerBindConfig",727],[5,"UnboundedReceiver",728],[5,"UnboundedSender",728],[8,"HostStrategyGetter",0],[1,"tuple"],[8,"Result",729],[6,"Result",730],[5,"TypeId",716],[5,"AzureHost",133],[5,"LaunchedVirtualMachine",133],[5,"HashMap",731],[1,"str"],[5,"CustomClientPort",174],[5,"CustomService",174],[5,"ConnectedDirect",727],[5,"RwLock",732],[6,"SourcePath",343],[10,"FnOnce",733],[10,"HydroflowServer",343],[10,"Fn",733],[8,"ReverseSinkInstantiator",343],[1,"u16"],[5,"Vec",734],[5,"Weak",720],[6,"ServerConfig",343],[6,"ServerPort",727],[5,"Deployment",211],[8,"AddAzureHostDeploymentBuilder",211],[8,"AddGcpComputeEngineHostDeploymentBuilder",211],[5,"LocalhostHost",518],[5,"GcpNetwork",242],[5,"GcpComputeEngineHost",242],[17,"Output"],[5,"LaunchedComputeEngine",242],[10,"Into",735],[5,"HydroflowCrate",296],[17,"Item"],[10,"IntoIterator",736],[6,"CrateTarget",296],[5,"PathBuf",737],[10,"HydroflowSink",343],[5,"NullSourceSink",343],[5,"DemuxSink",343],[5,"HydroflowPortConfig",343],[10,"HydroflowSource",343],[5,"TaggedSource",343],[5,"HydroflowCrateService",473],[10,"Serialize",738],[8,"NewTracingOptionsBuilder",494],[5,"LaunchedLocalhostBinary",542],[5,"Child",739],[6,"LeafStatus",560],[5,"ProgressTracker",560],[6,"BarTree",560],[10,"AsRef",735],[5,"ProgressBar",740],[10,"LaunchedSshHost",612],[5,"TerraformPool",621],[5,"TerraformBatch",621],[10,"Deserializer",741],[5,"TerraformConfig",621],[5,"TerraformProvider",621],[5,"TerraformOutput",621],[5,"TerraformResultOutput",621],[5,"TerraformResult",621],[10,"Serializer",738],[5,"Duration",742],[10,"FnMut",733],[5,"Sender",722],[5,"Mutex",743],[8,"Result",744],[10,"Stream",745],[10,"Send",746],[10,"Unpin",746]],"r":[[0,133],[2,174],[4,211],[7,242],[11,296],[18,518]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFQCNQAAAAEAAwAVABoABgAiAA0AMQACADYAAgA7AAkASwACAFUAAwBcAAAAXgAAAGAAAgBmAB4AhgALAJQABACbABQAsQAIALwAAgDBABIA1gAMAOQAAADmAAEA6gABAO4AFQAHAQQADwEdAC4BAQAyAQoAPgEAAEABAABGAQEASQEOAFoBBwBkASIAjQEGAJUBAgCZAQIAogE+AOIBAADkAQoA8AEDAPUBAgD5AQAA+wEAAP0BAAACAgwAEAIBABMCEQAnAiQAUgIfAHMCEwCIAggAnwIsAA=="}],["hydroflow",{"t":"YIQEECQEQQQQEEEQXQQEQQECEEXEEEECQQQEECFFFKFFFFFFHNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNMNNNNNNNNNMNNMNNNHOOONNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNCCCNNNCNNNCNNCCCNNCCNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMMMMMMMMKKKRFFKFMNNNNNNNNMNNNNNNNNNNNNNNNNNNMNNNNNCNNNNNMNNNMNNNNNNNMNNNNNNNRKKKRMMMFKFNNNNNNNNNNNMNNNNNNNNNNNNFOONNNNNNNNNNNNCNNNNIKFFGIIGIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNTFFTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNPPFFFPPGGIIIIIIIIIIHHHHHNNNNNNNNNNCNNNNNNHHHHHCCHNNNNNNNNNNNHHCCHHHCHCHHHHNNNNNNNNNNNNNNNNNHHHHHHHHHCHHKFNNMNNNNNNNNNNNNNNNNNNKYKRKMMPGIKFFKKFPPPPFFIIIIRPPPPFPPPPRGPGGGRRKPPPPFPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNHHNNNNNNNNNNNNNMNNMNNOQHONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNFFFFIFKIFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNCPPFFFGNNNNNNNNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNH","n":["DemuxEnum","Never","assert_var_impl","bincode","bytes","compiled","datalog","futures","hydroflow_expect_warnings","hydroflow_parser","hydroflow_syntax","hydroflow_syntax_noemit","itertools","lang","lattices","launch","main","monotonic_fn","morphism","pusherator","rassert","rassert_eq","rustc_hash","scheduled","serde","serde_json","test","tokio","tokio_stream","tokio_util","tracing","util","var_args","var_expr","var_type","variadics","web_time","pull","AntiJoin","CrossJoin","CrossJoinState","HalfJoinState","HalfJoinStateFold","HalfJoinStateFoldFrom","HalfJoinStateReduce","HalfMultisetJoinState","HalfSetJoinState","SymmetricHashJoin","anti_join_into_iter","borrow","","","","","","","","","borrow_mut","","","","","","","","","build","","","clear","","","","","default","","","","","","fmt","","fold_into","","from","","","","","","","","","full_probe","","","into","","","","","","","","","into_iter","","","is_empty","","iter","","","len","","","multiunzip","","","new","next","","","pop_match","","","probe","","","reduce_into","symmetric_hash_join_into_iter","table","","","try_from","","","","","","","","","try_into","","","","","","","","","type_id","","","","","","","","","HandoffId","StateId","SubgraphId","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","cmp","","context","eq","","","equivalent","","","","","","fmt","","","","","from","","","graph","graph_ext","handoff","hash","","","input","into","","","net","partial_cmp","","port","query","reactor","serialize","","state","ticks","to_owned","","","to_string","","try_from","","","try_into","","","type_id","","","Context","abort_tasks","add_state","borrow","borrow_mut","current_stratum","current_subgraph","current_tick","current_tick_start","from","into","is_first_run_this_tick","join_tasks","remove_state","request_task","schedule_subgraph","set_state_tick_hook","spawn_tasks","state_mut","state_ref","try_from","try_into","type_id","waker","Hydroflow","abort_tasks","add_channel_input","add_input","add_input_from_stream","add_read_tcp_stream","add_state","add_subgraph","add_subgraph_2in_2out","add_subgraph_2in_out","add_subgraph_2sink","add_subgraph_in_2out","add_subgraph_in_out","add_subgraph_n_m","add_subgraph_sink","add_subgraph_source","add_subgraph_stratified","add_subgraph_stratified_n_m","add_tcp_stream","add_write_tcp_stream","borrow","borrow_mut","context_mut","current_stratum","current_tick","default","diagnostics","drop","from","inbound_tcp_vertex","inbound_tcp_vertex_port","into","join_tasks","make_edge","meta_graph","new","next_stratum","outbound_tcp_vertex","reactor","recv_events","recv_events_async","request_task","run","run_async","run_available","run_available_async","run_stratum","run_tick","schedule_subgraph","set_state_tick_hook","teeing_handoff_drop","teeing_handoff_tee","try_from","try_into","try_recv_events","type_id","GraphExt","add_channel_input","add_input","add_input_from_stream","add_subgraph_2in_2out","add_subgraph_2in_out","add_subgraph_2sink","add_subgraph_in_2out","add_subgraph_in_out","add_subgraph_sink","add_subgraph_source","CanReceive","Handoff","HandoffMeta","Inner","Iter","TeeingHandoff","TryCanReceive","VecHandoff","any_ref","","","borrow","","","borrow_mut","","","borrow_mut_swap","","","clone","","clone_into","","clone_to_uninit","","cmp","default","","eq","equivalent","","fmt","from","","","give","","","","","","handoff_list","hash","into","","","into_iter","is_bottom","","","partial_cmp","take_inner","","","to_owned","","try_from","","","try_give","","try_into","","","type_id","","","Ctx","HandoffList","PortList","PortListSplit","Suffix","make_ctx","set_graph_meta","split_ctx","Buffer","Give","Input","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","default","flush","from","","give","","","into","","new","to_owned","try_from","","try_into","","type_id","","Message","address","batch","borrow","borrow_mut","clone","clone_into","clone_to_uninit","decode","eq","equivalent","","fmt","from","into","network_vertex","to_owned","try_from","try_into","type_id","Address","Polarity","Port","PortCtx","RECV","RecvCtx","RecvPort","SEND","SendCtx","SendPort","borrow","","","","borrow_mut","","","","borrow_mut_swap","","drop","","from","","","","give","","into","","","","ref_cast","ref_cast_mut","take_inner","","tee","","try_from","","","","try_give","","try_into","","","","type_id","","","","Operator","Query","borrow","","borrow_mut","","concat","","default","filter","from","","into","","map","new","run_available","sink","source","tee","try_from","","try_into","","type_id","","Reactor","borrow","borrow_mut","clone","clone_into","clone_to_uninit","from","into","into_waker","to_owned","trigger","try_from","try_into","type_id","StateHandle","StateHandleErased","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","cmp","","eq","","equivalent","","","","fmt","","from","","","hash","","into","","partial_cmp","","to_owned","","try_from","","","try_into","","type_id","","SINGLE_TICK","TickDuration","TickInstant","ZERO","add","","add_assign","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","cmp","","default","","deserialize","","eq","","equivalent","","","","fmt","","","","from","","hash","","into","","neg","new","","partial_cmp","","serialize","","sub","","","sub_assign","","ticks","to_owned","","to_string","","try_from","","try_into","","type_id","","Delete","","DroppableChild","MonotonicFn","Morphism","Persist","","Persistence","PersistenceKeyed","TcpFramedSink","TcpFramedStream","UdpBytesSink","UdpBytesStream","UdpFramedSink","UdpFramedStream","UdpLinesSink","UdpLinesStream","UdpSink","UdpStream","bind_tcp","bind_tcp_bytes","bind_tcp_lines","bind_udp_bytes","bind_udp_lines","borrow","","","","","borrow_mut","","","","","clear","clone","","clone_into","","clone_to_uninit","","collect_ready","collect_ready_async","connect_tcp","connect_tcp_bytes","connect_tcp_lines","demux_enum","deploy","deserialize_from_bytes","drop","from","","","","","into","","","","","ipv4_resolve","iter_batches_stream","monotonic_map","multiset","ready_iter","run_cargo_example","serialize_to_bytes","simulation","sort_unstable_by_key_hrtb","sparse_vec","tcp_bytes","tcp_bytestream","tcp_framed","tcp_lines","to_owned","","try_from","","","","","try_into","","","","","type_id","","","","","udp_bytes","udp_bytestream","udp_framed","udp_lines","unbounded_channel","unix_bytes","unix_bytestream","unix_framed","unix_lines","unsync","unsync_channel","wait_for_process_output","Clear","ClearDefault","borrow","borrow_mut","clear","","clone","clone_into","clone_to_uninit","cmp","default","eq","equivalent","","fmt","from","hash","into","partial_cmp","to_owned","try_from","try_into","type_id","DemuxEnum","","DemuxEnumBase","Output","SingleVariant","demux_enum","single_variant","Bound","BoundConnection","BufferedDrain","Connected","ConnectedDemux","ConnectedDirect","ConnectedSink","ConnectedSource","ConnectedTagged","Demux","","","","DemuxDrain","DeployPorts","DynSink","DynStream","DynStreamSink","InitConfig","Input","Merge","","","","MergeSource","Null","","","","Output","RealizedServerPort","Server","ServerBindConfig","ServerOrBound","ServerPort","Sink","Stream","StreamSink","Tagged","","","","TaggedSource","TcpPort","","","","UnixSocket","","","","accept_tcp","bind","borrow","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","clone","","clone_into","","clone_to_uninit","","connect","connect_local_blocking","deserialize","","fmt","","","","","from","","","","","","","","","","","","","from_defn","","","","init","init_no_ack_start","instantiate","into","","","","","","","","","","","","into_sink","","","into_source","","","keys","launch","launch_flow","meta","poll_close","poll_flush","poll_next","","poll_ready","port","serialize","","sink_port","start_send","to_owned","","try_from","","","","","","","","","","","","try_into","","","","","","","","","","","","try_poll_next","","type_id","","","","","","","","","","","","MonotonicMap","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","fmt","from","get_mut_clear","get_mut_default","get_mut_with","into","new_init","to_owned","try_from","try_into","type_id","HashMultiSet","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","eq","equivalent","","fmt","from","from_iter","insert","into","to_owned","try_from","try_into","type_id","Address","Fleet","Host","HostBuilder","Hostname","Inbox","MessageSender","MessageWithAddress","Outbox","TransducerBuilderContext","add_host","borrow","","","","","","","borrow_mut","","","","","","","build","clone","clone_into","clone_to_uninit","default","deserialize","eq","equivalent","","fmt","from","","","","","","","get_host","get_host_mut","hash","into","","","","","","","new","","","new_inbox","new_outbox","process_network","run_single_tick_all_hosts","run_tick","run_until_quiescent","send","serialize","to_owned","try_from","","","","","","","try_into","","","","","","","type_id","","","","","","","with_transducer","SparseVec","borrow","borrow_mut","default","delete","from","into","iter","push","try_from","try_into","type_id","mpsc","Closed","Full","Receiver","SendError","Sender","TrySendError","borrow","","","","borrow_mut","","","","bounded","channel","clone","","","clone_into","","","clone_to_uninit","","","close","close_this_sender","drop","","eq","","equivalent","","","","fmt","","","","from","","","","","into","","","","is_closed","poll_close","poll_flush","poll_next","poll_ready","poll_recv","recv","send","start_send","to_owned","","","to_string","","try_from","","","","try_into","","","","try_poll_next","try_send","type_id","","","","unbounded"],"q":[[0,"hydroflow"],[37,"hydroflow::compiled"],[38,"hydroflow::compiled::pull"],[162,"hydroflow::scheduled"],[234,"hydroflow::scheduled::context"],[258,"hydroflow::scheduled::graph"],[314,"hydroflow::scheduled::graph_ext"],[325,"hydroflow::scheduled::handoff"],[393,"hydroflow::scheduled::handoff::handoff_list"],[401,"hydroflow::scheduled::input"],[428,"hydroflow::scheduled::net"],[448,"hydroflow::scheduled::net::network_vertex"],[449,"hydroflow::scheduled::port"],[500,"hydroflow::scheduled::query"],[526,"hydroflow::scheduled::reactor"],[540,"hydroflow::scheduled::state"],[580,"hydroflow::scheduled::ticks"],[643,"hydroflow::util"],[746,"hydroflow::util::clear"],[769,"hydroflow::util::demux_enum"],[776,"hydroflow::util::deploy"],[960,"hydroflow::util::monotonic_map"],[978,"hydroflow::util::multiset"],[997,"hydroflow::util::simulation"],[1083,"hydroflow::util::sparse_vec"],[1095,"hydroflow::util::unsync"],[1096,"hydroflow::util::unsync::mpsc"],[1173,"rustc_hash"],[1174,"core::iter::traits::iterator"],[1175,"core::cmp"],[1176,"core::hash"],[1177,"core::clone"],[1178,"hydroflow::compiled::pull::half_join_state"],[1179,"hydroflow::compiled::pull::half_join_state::multiset"],[1180,"hydroflow::compiled::pull::half_join_state::set"],[1181,"hydroflow::compiled::pull::half_join_state::fold"],[1182,"hydroflow::compiled::pull::half_join_state::fold_from"],[1183,"hydroflow::compiled::pull::half_join_state::reduce"],[1184,"hydroflow::compiled::pull::cross_join"],[1185,"core::fmt"],[1186,"core::ops::function"],[1187,"core::slice::iter"],[1188,"smallvec"],[1189,"std::collections::hash::map"],[1190,"core::option"],[1191,"hydroflow::compiled::pull::symmetric_hash_join"],[1192,"hydroflow::compiled::pull::anti_join"],[1193,"core::result"],[1194,"core::any"],[1195,"serde::ser"],[1196,"alloc::string"],[1197,"std::time"],[1198,"alloc::boxed"],[1199,"core::future::future"],[1200,"core::task::wake"],[1201,"std::sync::mpsc"],[1202,"alloc::borrow"],[1203,"core::convert"],[1204,"futures_core::stream"],[1205,"tokio::net::tcp::stream"],[1206,"hydroflow::scheduled::handoff::vector"],[1207,"alloc::vec"],[1208,"hydroflow_lang::diagnostic"],[1209,"serde::de"],[1210,"core::marker"],[1211,"hydroflow_lang::graph::hydroflow_graph"],[1212,"hydroflow::scheduled::handoff::tee"],[1213,"core::cell"],[1214,"core::iter::traits::collect"],[1215,"variadics"],[1216,"bytes::bytes"],[1217,"tokio::sync::mpsc::error"],[1218,"core::net::socket_addr"],[1219,"hydroflow::util::tcp"],[1220,"std::io::error"],[1221,"tokio_util::codec::decoder"],[1222,"tokio_util::codec::encoder"],[1223,"bytes::bytes_mut"],[1224,"tokio_util::codec::lines_codec"],[1225,"hydroflow::util::udp"],[1226,"hydroflow::util::monotonic"],[1227,"core::default"],[1228,"tokio_util::codec::length_delimited"],[1229,"bincode::error"],[1230,"core::task::poll"],[1231,"futures_util::stream::poll_fn"],[1232,"std::process"],[1233,"tokio::net::tcp::split_owned"],[1234,"tokio_util::codec::framed_write"],[1235,"tokio_util::codec::framed_read"],[1236,"tokio_util::codec::bytes_codec"],[1237,"tokio::net::udp"],[1238,"tokio::sync::mpsc::unbounded"],[1239,"tokio_stream::wrappers::mpsc_unbounded"],[1240,"tokio::net::unix::stream"],[1241,"tokio::net::unix::split_owned"],[1242,"core::num::nonzero"],[1243,"hydroflow_deploy_integration"],[1244,"core::pin"],[1245,"futures_sink"],[1246,"core::iter::traits::double_ended"],[1247,"core::iter::traits::marker"],[1248,"hydroflow_macro"],[1249,"hydroflow_datalog"],[1250,"hydroflow::util::socket"]],"i":"`````````````````````````````````````````````````BdCjCnAlB`BbD`AhAj876543210Af216542196542121659876543210219876543218730002102187388730210214`654987654321987654321987654321```DfDhDj21021021021010`21022110022110210```210`210`10```21``21021210210210`Ed0000000000000000000000`Fd000000000000000000000000000000000000000000000000000000`Jf000000000```Gb````JhGnJd10Jn2104211010100210000210Gd33352`13211432153221321Kh6432432Hd```AIb110```GfFj101111010Kn212112212121`Gl0000000000000`0000``````````HfHbLdLb3210Hh12H`5432Hj3654333234165430365436543``LhLj1010011010100101101010`J`000000000000``EfM`101010101010110010100101010101101010Mb``0Ej1010101010101010101010011001101010110101010010110101010101AIdAIf```10`````````````````10A@jOfOh43210`101010````````24321043210``````````````10432104321043210``````````````ACj0ACh111111111111111111```ACn`ACl1AD`````````ADfADlADbADn``````AEf4321`4321AFd`6```10`5432`5432543263AEnAF`AFjAFnAFf:98;7AFhAE`65432<;:=910<:<:<:==<:<;:=965432<;;:=910ADh763``=76543=<;>:219768736``1225421=;:2=;76543=<;>:2176543=<;>:215476543=<;>:21`AGb0000000000000000`AGf00000000000000000``````````AGhAIhAIjAGjAGnAGl5AH`5432160200060000054321606605432160260116636AHf116543271654327165432713`AHj0000000000`AI`0````NfNjLn32103``203203203122103003300332103321032221211222030321032103122103`","f":"````````````````````````````````````````````````{{g{f{b{d{c}}}}{f{b{d{{h{ce}}}}}}j}{{`{{n{}{{l{{h{ce}}}}}}}}}{A`AbAd}{A`AbAd}{{n{}{{l{{h{ce}}}}}}}}{f{{f{c}}}{}}00000000{{{f{b}}}{{f{bc}}}{}}00000000{{{f{bAf}}c{f{e}}}j{}{}}{{{f{b{Ah{ceg}}}}c{f{e}}}j{AdA`Ab}AdAd}{{{f{b{Aj{ceg}}}}c{f{e}}}j{AdA`Ab}{AdA`}Ad}{{{f{b{Al{ce}}}}}An{}{}}{{{f{b{B`{ce}}}}}An{}{}}{{{f{b{Bb{ce}}}}}An{}{}}{{{f{b{Ah{ceg}}}}}An{}{}{}}{{{f{b{Aj{ceg}}}}}An{}{}{}}{{}{{Bd{ce}}}{}{}}{{}{{Al{ce}}}{}{}}{{}{{B`{ce}}}{}{}}{{}{{Bb{ce}}}{}{}}{{}{{Ah{ceg}}}{}{}{}}{{}{{Aj{ceg}}}{}{}{}}{{{f{{Ah{ceg}}}}{f{bBf}}}BhBjBjBj}{{{f{{Aj{ceg}}}}{f{bBf}}}BhBjBjBj}{{{f{b{Al{ce}}}}imo}An{A`Ab}{}{}{{n{}{{l{{h{cg}}}}}}}{}{{Bn{{f{be}}g}{{Bl{k}}}}}{{Bn{}{{Bl{e}}}}}}{{{f{b{B`{ce}}}}imo}An{A`Ab}{}{}{{n{}{{l{{h{cg}}}}}}}{}{{Bn{{f{be}}g}{{Bl{k}}}}}{{Bn{g}{{Bl{e}}}}}}{cc{}}00000000{{{f{Af}}{f{c}}}{{C`{e}}}{}{}}{{{f{{Ah{ceg}}}}{f{c}}}{{C`{e}}}{AdA`Ab}AdAd}{{{f{{Aj{ceg}}}}{f{c}}}{{C`{e}}}{AdA`Ab}{AdA`}Ad}{{}c{}}00000000000{{{f{Af}}}j}0{{{f{Af}}}{{Cf{c{Cd{{Cb{e}}}}}}}{}{}}{{{f{{Ah{ceg}}}}}{{Cf{c{Cd{{Cb{e}}}}}}}{AdA`Ab}AdAd}{{{f{{Aj{ceg}}}}}{{Cf{c{Cd{{Cb{e}}}}}}}{AdA`Ab}{AdA`}Ad}{{{f{Af}}}Ch}{{{f{{Ah{ceg}}}}}Ch{AdA`Ab}AdAd}{{{f{{Aj{ceg}}}}}Ch{AdA`Ab}{AdA`}Ad}{{}{{h{ce}}}{}{}}00{{ei{f{b{Bd{cg}}}}}{{Cj{ecig}}}{A`Ad}{{n{}{{l{c}}}}}{A`Ad}{{n{}{{l{g}}}}}}{{{f{b{Cj{ecig}}}}}{{Cl{k}}}{A`Ad}{{n{}{{l{c}}}}}{A`Ad}{{n{}{{l{g}}}}}{}}{{{f{b{Cn{cgekimo}}}}}{{Cl{Aa}}}{A`AbAd}Ad{{n{}{{l{{h{ce}}}}}}}Ad{{n{}{{l{{h{ci}}}}}}}{{Af{cei}}}{{Af{cie}}}{}}{{{f{b{D`{ceg}}}}}{{Cl{i}}}{A`AbAd}{A`AbAd}{{n{}{{l{{h{ce}}}}}}}{}}{{{f{bAf}}}{{Cl{{h{ceg}}}}}{}{}{}}{{{f{b{Ah{ceg}}}}}{{Cl{{h{cge}}}}}{AdA`Ab}AdAd}{{{f{b{Aj{ceg}}}}}{{Cl{{h{cge}}}}}{AdA`Ab}{AdA`}Ad}{{{f{bAf}}{f{c}}{f{e}}}{{Cl{{h{ceg}}}}}{}{}{}}{{{f{b{Ah{ceg}}}}{f{c}}{f{g}}}{{Cl{{h{cge}}}}}{AdA`Ab}AdAd}{{{f{b{Aj{ceg}}}}{f{c}}{f{g}}}{{Cl{{h{cge}}}}}{AdA`Ab}{AdA`}Ad}{{{f{b{Bb{ce}}}}gk}An{A`Ab}{}{{n{}{{l{{h{ce}}}}}}}{}{{Bn{{f{be}}e}{{Bl{i}}}}}}{{gk{f{bm}}{f{bo}}j}{{`{{n{}{{l{{h{c{h{ei}}}}}}}}}}}{A`AbAd}Ad{{n{}{{l{{h{ce}}}}}}}Ad{{n{}{{l{{h{ci}}}}}}}{{Af{cei}}}{{Af{cie}}}}```{c{{Db{e}}}{}{}}00000000{{}{{Db{c}}}{}}00000000{fDd}00000000```{f{{f{c}}}{}}00{{{f{b}}}{{f{bc}}}{}}00{{{f{Df}}}Df}{{{f{Dh}}}Dh}{{{f{Dj}}}Dj}{{f{f{bc}}}An{}}00{fAn}00{{{f{Dh}}{f{Dh}}}Dl}{{{f{Dj}}{f{Dj}}}Dl}`{{{f{Df}}{f{Df}}}j}{{{f{Dh}}{f{Dh}}}j}{{{f{Dj}}{f{Dj}}}j}{{f{f{c}}}j{}}00000{{{f{Df}}{f{bBf}}}Bh}0{{{f{Dh}}{f{bBf}}}Bh}0{{{f{Dj}}{f{bBf}}}Bh}{cc{}}00```{{{f{Df}}{f{bc}}}AnDn}{{{f{Dh}}{f{bc}}}AnDn}{{{f{Dj}}{f{bc}}}AnDn}`{{}c{}}00`{{{f{Dh}}{f{Dh}}}{{Cl{Dl}}}}{{{f{Dj}}{f{Dj}}}{{Cl{Dl}}}}```{{{f{Df}}c}DbE`}{{{f{Dh}}c}DbE`}``{fc{}}00{fEb}0{c{{Db{e}}}{}{}}00{{}{{Db{c}}}{}}00{fDd}00`{{{f{bEd}}}An}{{{f{bEd}}c}{{Ef{c}}}Eh}{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Ed}}}Ch}{{{f{Ed}}}Df}{{{f{Ed}}}Ej}{{{f{Ed}}}El}{cc{}}{{}c{}}{{{f{Ed}}}j}:{{{f{bEd}}{Ef{c}}}{{En{c}}}Eh}{{{f{bEd}}c}An{{F`{}{{Bl{An}}}}}}{{{f{Ed}}Dfj}An}{{{f{bEd}}{Ef{c}}e}AnEh{{Bn{{f{bc}}}}}}>{{{f{bEd}}{Ef{c}}}{{f{bc}}}Eh}{{{f{Ed}}{Ef{c}}}{{f{c}}}Eh}{c{{Db{e}}}{}{}}{{}{{Db{c}}}{}}{fDd}{{{f{Ed}}}Fb}`{{{f{bFd}}}An}{{{f{bFd}}c{Ff{g}}}{{Fj{e{Fh{e}}}}}{{G`{{Fn{Fl}}}}}{}{Gb{Gd{e}}}}{{{f{bFd}}c{Ff{g}}}{{Fj{e{Gf{e}}}}}{{G`{{Fn{Fl}}}}}{}{Gb{Gd{e}}}}{{{f{bFd}}c{Ff{g}}i}An{{G`{{Fn{Fl}}}}}{}{Gb{Gd{e}}}{{Gh{}{{l{e}}}}}}{{{f{bFd}}Gj}{{H`{{Gn{Gl}}}}}}{{{f{bFd}}c}{{Ef{c}}}Eh}{{{f{bFd}}cegi}Df{{G`{{Fn{Fl}}}}}{{Hd{Hb}}}{{Hd{Hf}}}{{Bn{{f{bEd}}}}}}{{{f{bFd}}c{H`{e}}{H`{g}}{Ff{i}}{Ff{k}}m}Df{{G`{{Fn{Fl}}}}}GbGbGbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hh{g}}}}{f{{Hj{i}}}}{f{{Hj{k}}}}}}}}{{{f{bFd}}c{H`{e}}{H`{g}}{Ff{i}}k}Df{{G`{{Fn{Fl}}}}}GbGbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hh{g}}}}{f{{Hj{i}}}}}}}}{{{f{bFd}}c{H`{e}}{H`{g}}i}Df{{G`{{Fn{Fl}}}}}GbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hh{g}}}}}}}}{{{f{bFd}}c{H`{e}}{Ff{g}}{Ff{i}}k}Df{{G`{{Fn{Fl}}}}}GbGbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hj{g}}}}{f{{Hj{i}}}}}}}}{{{f{bFd}}c{H`{e}}{Ff{g}}i}Df{{G`{{Fn{Fl}}}}}GbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hj{g}}}}}}}}{{{f{bFd}}c{Hl{{H`{e}}}}{Hl{{Ff{g}}}}i}Df{{G`{{Fn{Fl}}}}}GbGb{{Bn{{f{bEd}}{f{{Hn{{f{{Hh{e}}}}}}}}{f{{Hn{{f{{Hj{g}}}}}}}}}}}}{{{f{bFd}}c{H`{e}}g}Df{{G`{{Fn{Fl}}}}}Gb{{Bn{{f{Ed}}{f{{Hh{e}}}}}}}}{{{f{bFd}}c{Ff{e}}g}Df{{G`{{Fn{Fl}}}}}Gb{{Bn{{f{Ed}}{f{{Hj{e}}}}}}}}{{{f{bFd}}cChegji}Df{{G`{{Fn{Fl}}}}}{{Hd{Hb}}}{{Hd{Hf}}}{{Bn{{f{bEd}}}}}}{{{f{bFd}}cCh{Hl{{H`{e}}}}{Hl{{Ff{g}}}}i}Df{{G`{{Fn{Fl}}}}}GbGb{{Bn{{f{bEd}}{f{{Hn{{f{{Hh{e}}}}}}}}{f{{Hn{{f{{Hj{g}}}}}}}}}}}}{{{f{bFd}}Gj}{{h{{Ff{{Gn{Gl}}}}{H`{{Gn{Gl}}}}}}}}{{{f{bFd}}Gj}{{Ff{{Gn{Gl}}}}}}{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{bFd}}Df}{{f{bEd}}}}{{{f{Fd}}}Ch}{{{f{Fd}}}Ej}{{}Fd}{{{f{Fd}}}{{Cl{{f{{Hn{{Ib{I`}}}}}}}}}}{{{f{bFd}}}An}{cc{}}{{{f{bFd}}}{{h{Id{H`{{Gn{c}}}}}}}{IfIh}}{{{f{bFd}}Id}{{H`{{Gn{c}}}}}{IfIh}}{{}c{}}{{{f{bFd}}}{{`{F`}}}}{{{f{bFd}}c}{{h{{Ff{e}}{H`{e}}}}}{{G`{{Fn{Fl}}}}}Gb}{{{f{Fd}}}{{Cl{{f{Ij}}}}}}9{{{f{bFd}}j}j}{{{f{bFd}}}{{Ff{{Gn{{h{Ilc}}}}}}}{InIh}}{{{f{Fd}}}J`}{{{f{bFd}}}{{Cl{Ch}}}}0{{{f{bFd}}c}An{{F`{}{{Bl{An}}}}}}{{{f{bFd}}}{{Cl{Jb}}}}0{{{f{bFd}}}j}000{{{f{bFd}}Df}j}{{{f{bFd}}{Ef{c}}e}AnEh{{Bn{{f{bc}}}}}}{{{f{bFd}}{H`{{Jd{c}}}}}AnAd}{{{f{bFd}}{f{{H`{{Jd{c}}}}}}}{{H`{{Jd{c}}}}}Ad}{c{{Db{e}}}{}{}}{{}{{Db{c}}}{}}{{{f{bFd}}}Ch}{fDd}`{{{f{bJf}}c{Ff{g}}}{{Fj{e{Fh{e}}}}}{{G`{{Fn{Fl}}}}}{}{Gb{Gd{e}}}}{{{f{bJf}}c{Ff{g}}}{{Fj{e{Gf{e}}}}}{{G`{{Fn{Fl}}}}}{}{Gb{Gd{e}}}}{{{f{bJf}}c{Ff{g}}i}An{{G`{{Fn{Fl}}}}}{}{Gb{Gd{e}}}{{Gh{}{{l{e}}}}}}{{{f{bJf}}c{H`{e}}{H`{g}}{Ff{i}}{Ff{k}}m}Df{{G`{{Fn{Fl}}}}}GbGbGbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hh{g}}}}{f{{Hj{i}}}}{f{{Hj{k}}}}}}}}{{{f{bJf}}c{H`{e}}{H`{g}}{Ff{i}}k}Df{{G`{{Fn{Fl}}}}}GbGbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hh{g}}}}{f{{Hj{i}}}}}}}}{{{f{bJf}}c{H`{e}}{H`{g}}i}Df{{G`{{Fn{Fl}}}}}GbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hh{g}}}}}}}}{{{f{bJf}}c{H`{e}}{Ff{g}}{Ff{i}}k}Df{{G`{{Fn{Fl}}}}}GbGbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hj{g}}}}{f{{Hj{i}}}}}}}}{{{f{bJf}}c{H`{e}}{Ff{g}}i}Df{{G`{{Fn{Fl}}}}}GbGb{{Bn{{f{Ed}}{f{{Hh{e}}}}{f{{Hj{g}}}}}}}}{{{f{bJf}}c{H`{e}}g}Df{{G`{{Fn{Fl}}}}}Gb{{Bn{{f{Ed}}{f{{Hh{e}}}}}}}}{{{f{bJf}}c{Ff{e}}g}Df{{G`{{Fn{Fl}}}}}Gb{{Bn{{f{Ed}}{f{{Hj{e}}}}}}}}````````{{{f{Jh}}}{{f{Eh}}}}{{{f{{Gn{c}}}}}{{f{Eh}}}{}}{{{f{{Jd{c}}}}}{{f{Eh}}}{}}{f{{f{c}}}{}}00{{{f{b}}}{{f{bc}}}{}}00{{{f{{Gb{}{{Jj{c}}}}}}}{{Jl{c}}}{}}{{{f{{Gn{c}}}}}{{Jl{e}}}{}{}}{{{f{{Jd{c}}}}}{{Jl{e}}}{}{}}{{{f{{Jd{c}}}}}{{Jd{c}}}Ad}{{{f{{Jn{c}}}}}{{Jn{c}}}{K`Ad}}{{f{f{bc}}}An{}}0{fAn}0{{{f{{Jn{c}}}}{f{{Jn{c}}}}}Dl{K`Kb}}{{}{{Gn{c}}}{}}{{}{{Jd{c}}}{}}{{{f{{Jn{c}}}}{f{{Jn{c}}}}}j{K`Kd}}{{f{f{c}}}j{}}0{{{f{{Jn{c}}}}{f{bBf}}}Bh{K`Bj}}{cc{}}00{{{f{Gd}}c}c{}}{{{f{{Gn{c}}}}{Hl{c}}}{{Hl{c}}}{}}{{{f{{Gn{c}}}}{Jn{e}}}{{Jn{e}}}{}{{n{}{{l{c}}}}}}{{{f{{Gn{c}}}}{Cl{c}}}{{Cl{c}}}{}}{{{f{{Gb{}{{Jj{c}}}}}}e}e{}{}}{{{f{{Jd{c}}}}{Hl{c}}}{{Hl{c}}}Ad}`{{{f{{Jn{c}}}}{f{be}}}An{K`Ab}Dn}{{}c{}}00{{{Jn{c}}}eK`{}}{{{f{Jh}}}j}{{{f{{Gn{c}}}}}j{}}{{{f{{Jd{c}}}}}j{}}{{{f{{Jn{c}}}}{f{{Jn{c}}}}}{{Cl{Dl}}}{K`Kf}}{{{f{{Gb{}{{Jj{c}}}}}}}c{}}{{{f{{Gn{c}}}}}e{}{}}{{{f{{Jd{c}}}}}e{}{}}{fc{}}0{c{{Db{e}}}{}{}}00{{{f{Kh}}c}{{Db{cc}}}{}}{{{f{{Gb{}{{Jj{c}}}}}}e}{{Db{ee}}}{}{}}{{}{{Db{c}}}{}}00{fDd}00`````{{{f{{Hd{}{{Kj{c}}}}}}{f{{Hn{`}}}}}cKl}{{{f{{Hd{}{{Kj{c}}}}}}{f{b{Hn{`}}}}{f{b{Hl{Dh}}}}Dfj}AnKl}{ch{}}```{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{f{{Gf{c}}}}}{{Gf{c}}}{}}{{f{f{bc}}}An{}}{fAn}{{}{{Gf{c}}}{}}{{{f{{Fj{ce}}}}}An{}{{Kn{c}}}}{cc{}}0{{{f{Kn}}c}j{}}{{{f{{Gf{c}}}}c}j{}}{{{f{{Fj{ce}}}}c}An{}{{Kn{c}}}}{{}c{}}0{{J`Dfe}{{Fj{ce}}}{}{{Kn{c}}}}{fc{}}{c{{Db{e}}}{}{}}0{{}{{Db{c}}}{}}0{fDd}0```{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Gl}}}Gl}{{f{f{bc}}}An{}}{fAn}{L`Gl}{{{f{Gl}}{f{Gl}}}j}{{f{f{c}}}j{}}0{{{f{Gl}}{f{bBf}}}Bh}{cc{}}?`=<;:``````````99998888{{{f{{Hh{c}}}}}JlGb}{{{f{{Lb{Hbc}}}}}JlGb}{{{Ld{Hb{Jd{c}}}}{f{bFd}}}AnAd}{{{H`{{Jd{c}}}}{f{bFd}}}AnAd}4444{{{f{{Hj{e}}}}c}c{}{{Gd{c}}Gb}}{{{f{{Lb{Hfe}}}}c}c{}{{Gd{c}}Gb}}{{}c{}}000{{{f{c}}}{{f{{Lb{eg}}}}}{}Lf{}}{{{f{bc}}}{{f{b{Lb{eg}}}}}{}Lf{}}{{{f{{Hh{c}}}}}{}Gb}{{{f{{Lb{Hbc}}}}}{}Gb}{{{f{{Ld{Hb{Jd{c}}}}}}{f{bFd}}}{{H`{{Jd{c}}}}}Ad}{{{f{{H`{{Jd{c}}}}}}{f{bFd}}}{{H`{{Jd{c}}}}}Ad}{c{{Db{e}}}{}{}}000{{{f{{Hj{e}}}}c}{{Db{cc}}}{}{{Kh{c}}Gb}}{{{f{{Lb{Hfe}}}}c}{{Db{cc}}}{}{{Kh{c}}Gb}}{{}{{Db{c}}}{}}000{fDd}000``{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{Lh{c}}{Lh{c}}}{{Lh{c}}}{}}{{{f{bLj}}{Hl{{Lh{c}}}}}{{Lh{c}}}{}}{{}Lj}{{{Lh{c}}e}{{Lh{c}}}{}{{Ll{{f{c}}}{{Bl{j}}}}}}{cc{}}0{{}c{}}0{{{Lh{c}}g}{{Lh{e}}}{}{}{{Ll{c}{{Bl{e}}}}}}4{{{f{bLj}}}An}{{{Lh{c}}e}An{}{{Ll{c}}}}{{{f{bLj}}e}{{Lh{c}}}{}{{Bn{{f{Ed}}{f{{Hj{{Gn{c}}}}}}}}}}{{{Lh{c}}Ch}{{Hl{{Lh{c}}}}}Ad}{c{{Db{e}}}{}{}}0??>>`=<{{{f{J`}}}J`}{{f{f{bc}}}An{}}{fAn}:9{{J`Df}Fb}{fc{}}{{{f{J`}}Df}{{Db{An{Ln{{h{Dfj}}}}}}}}6{{}{{Db{c}}}{}}{fDd}``{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{f{{Ef{c}}}}}{{Ef{c}}}{}}{{{f{M`}}}M`}::99{{{f{{Ef{c}}}}{f{{Ef{c}}}}}DlKb}{{{f{M`}}{f{M`}}}Dl}{{{f{{Ef{c}}}}{f{{Ef{c}}}}}jKd}{{{f{M`}}{f{M`}}}j}{{f{f{c}}}j{}}000{{{f{{Ef{c}}}}{f{bBf}}}BhBj}{{{f{M`}}{f{bBf}}}Bh}{cc{}}0{{{Ef{c}}}M`Eh}{{{f{{Ef{c}}}}{f{be}}}AnAbDn}{{{f{M`}}{f{bc}}}AnDn}{{}c{}}0{{{f{{Ef{c}}}}{f{{Ef{c}}}}}{{Cl{Dl}}}Kf}{{{f{M`}}{f{M`}}}{{Cl{Dl}}}}{fc{}}0{c{{Db{e}}}{}{}}{M`{{Db{{Ef{c}}e}}}Eh{}}1{{}{{Db{c}}}{}}0{fDd}0````{{EjMb}c{}}{{MbMb}c{}}{{{f{bEj}}Mb}An}{{{f{bMb}}Mb}An}{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{f{Ej}}}Ej}{{{f{Mb}}}Mb}{{f{f{bc}}}An{}}0{fAn}0{{{f{Ej}}{f{Ej}}}Dl}{{{f{Mb}}{f{Mb}}}Dl}{{}Ej}{{}Mb}{c{{Db{Ej}}}Md}{c{{Db{Mb}}}Md}{{{f{Ej}}{f{Ej}}}j}{{{f{Mb}}{f{Mb}}}j}{{f{f{c}}}j{}}000{{{f{Ej}}{f{bBf}}}Bh}0{{{f{Mb}}{f{bBf}}}Bh}0{cc{}}0{{{f{Ej}}{f{bc}}}AnDn}{{{f{Mb}}{f{bc}}}AnDn}{{}c{}}0{Mbc{}}{MfEj}{MhMb}{{{f{Ej}}{f{Ej}}}{{Cl{Dl}}}}{{{f{Mb}}{f{Mb}}}{{Cl{Dl}}}}{{{f{Ej}}c}DbE`}{{{f{Mb}}c}DbE`}{{EjEj}c{}}{{EjMb}c{}}{{MbMb}c{}}{{{f{bEj}}Mb}An}{{{f{bMb}}Mb}An}`{fc{}}0{fEb}0{c{{Db{e}}}{}{}}0{{}{{Db{c}}}{}}0{fDd}0```````````````````{{Mje}{{Db{{h{{Ml{c}}{Mn{e}}Mj}}N`}}}{}{AdNb{Nd{c}}}}{Mj{{h{{Nf{{h{L`Mj}}}}{Nj{{Db{{h{NhMj}}N`}}}}Mj}}}}{Mj{{h{{Nf{{h{EbMj}}}}{Nj{{Db{{h{EbMj}}Nl}}}}Mj}}}}{Mj{{h{NnO`Mj}}}}{Mj{{h{ObOdMj}}}}{f{{f{c}}}{}}0000{{{f{b}}}{{f{bc}}}{}}0000`{{{f{{Of{c}}}}}{{Of{c}}}Ad}{{{f{{Oh{c}}}}}{{Oh{c}}}Ad}{{f{f{bc}}}An{}}0{fAn}0{ceGhOj}{ceGh{OlOn}}{e{{h{{Ml{c}}{Mn{e}}}}}{}{AdNb{Nd{c}}}}{{}{{h{{Ml{L`}}{Mn{A@`}}}}}}{{}{{h{{Ml{Eb}}{Mn{A@b}}}}}}``{c{{A@d{e}}}{{A@h{{Hn{A@f}}}}}If}{{{f{bA@j}}}An}{cc{}}0000{{}c{}}0000{{{f{Fl}}}{{Db{MjN`}}}}{{cCh}{{AA`{{`{{Bn{{f{bA@l}}}{{Bl{{A@n{Cl}}}}}}}}}}}{K`AAb}}``{c{{`{{n{}{{l{}}}}}}}Gh}{{{f{Fl}}{f{Fl}}}{{h{A@jAAdAAf}}}}{cL`In}`{{{f{b{Hn{c}}}}g}An{}Kb{{Ll{{f{c}}}{{Bl{{f{e}}}}}}}}`{Gj{{h{{AAj{AAhA@`}}{AAn{AAlA@`}}}}}}{Gj{{h{{AAj{AAhAB`}}{AAn{AAlAB`}}}}}}{{Gjc}{{h{{AAj{AAhc}}{AAn{AAlc}}}}}{AdNb}}{Gj{{h{{AAj{AAhA@b}}{AAn{AAlA@b}}}}}}{fc{}}0{c{{Db{e}}}{}{}}0000{{}{{Db{c}}}{}}0000{fDd}0000{ABb{{h{NnO`Mj}}}}{ABb{{h{ABdABfMj}}}}{{ABbe}{{h{{ABh{ec}}{ABj{e}}Mj}}}{}{{Nd{c}}Nb}}{ABb{{h{{ABh{A@bEb}}{ABj{A@b}}Mj}}}}{{}{{h{{ABl{c}}{ABn{c}}}}}{}}{AC`{{h{{AAj{ACbA@`}}{AAn{ACdA@`}}}}}}{AC`{{h{{AAj{ACbAB`}}{AAn{ACdAB`}}}}}}{{AC`c}{{h{{AAj{ACbc}}{AAn{ACdc}}}}}{AdNb}}{AC`{{h{{AAj{ACbA@b}}{AAn{ACdA@b}}}}}}`{{{Cl{ACf}}}{{h{{Nf{c}}{Nj{c}}}}}{}}{{{f{bEb}}{f{bAAf}}{f{Fl}}}An}``{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{bACh}}}An}{{{f{b{ACj{c}}}}}AnOl}{{{f{{ACj{c}}}}}{{ACj{c}}}{OlAd}}{{f{f{bc}}}An{}}{fAn}{{{f{{ACj{c}}}}{f{{ACj{c}}}}}Dl{OlKb}}{{}{{ACj{c}}}Ol}{{{f{{ACj{c}}}}{f{{ACj{c}}}}}j{OlKd}}{{f{f{c}}}j{}}0{{{f{{ACj{c}}}}{f{bBf}}}Bh{OlBj}}{cc{}}{{{f{{ACj{c}}}}{f{be}}}An{OlAb}Dn}{{}c{}}{{{f{{ACj{c}}}}{f{{ACj{c}}}}}{{Cl{Dl}}}{OlKf}}{fc{}}{c{{Db{e}}}{}{}}{{}{{Db{c}}}{}}{fDd}`````{{ACl{f{bc}}}An{}}{{{ACn{}{{Bl{c}}}}}c{}}```````````````````````````````````````````````````{{{f{bAD`}}}Gj}{ADb{{ADd{{En{F`}}}}}}{f{{f{c}}}{}}00000000000{{{f{b}}}{{f{bc}}}{}}00000000000{{{f{ADf}}}ADf}{{{f{ADb}}}ADb}{{f{f{bc}}}An{}}0{fAn}0{AD`cADh}0{c{{Db{ADf}}}Md}{c{{Db{ADb}}}Md}{{{f{ADf}}{f{bBf}}}{{Db{AnADj}}}}{{{f{ADl}}{f{bBf}}}{{Db{AnADj}}}}{{{f{ADb}}{f{bBf}}}{{Db{AnADj}}}}{{{f{AD`}}{f{bBf}}}{{Db{AnADj}}}}{{{f{ADn}}{f{bBf}}}{{Db{AnADj}}}}{cc{}}000000{{{f{ADf}}}ADl}11111{AD`{{ADd{{En{F`}}}}}}000{{}{{AE`{c}}}{IfOl}}0{{{f{ADf}}}AD`}{{}c{}}00000000000{{{AEf{}{{AEb{c}}{AEd{e}}}}}eIh{{AEj{c}{{AEh{N`}}}}IhAEl}}{AEn{{ADd{{En{AEj}}}}}}{{{AF`{c}}}{}AEf}{{{AFd{}{{Bl{c}}{AFb{e}}}}}eIh{{Gh{}{{l{{Db{cN`}}}}}}IhAEl}}{AEn{{ADd{{En{Gh}}}}}}{{{AFf{c}}}{}AFd}``{FdAn}`{{{ADd{{f{b{AFh{ce}}}}}}{f{bA@l}}}{{A@n{{Db{An}}}}}{}{{AEj{c}{{AEh{N`}}}}IhAEl}}0{{{ADd{{f{b{AFj{ce}}}}}}{f{bA@l}}}{{A@n{Cl}}}AAb{{Gh{}{{l{c}}}}IhAElAFl}}{{{ADd{{f{b{AFn{ce}}}}}}{f{bA@l}}}{{A@n{Cl}}}AAb{{Gh{}{{l{{Db{cN`}}}}}}IhAElAFl}}2{{{f{{AE`{c}}}}{f{Fl}}}AD`{}}{{{f{ADf}}c}DbE`}{{{f{ADb}}c}DbE`}{{{f{ADn}}}ADf}{{{ADd{{f{b{AFh{ce}}}}}}{h{AG`c}}}{{Db{An}}}{}{{AEj{c}{{AEh{N`}}}}IhAEl}}{fc{}}0{c{{Db{e}}}{}{}}00000000000{{}{{Db{c}}}{}}00000000000{{{ADd{{f{bc}}}}{f{bA@l}}}{{A@n{{Cl{Db}}}}}{}}0{fDd}00000000000`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{{AGb{ce}}}}}{{AGb{ce}}}{KfAd}Ad}{{f{f{bc}}}An{}}{fAn}{{}{{AGb{ce}}}KfOl}{{{f{{AGb{ce}}}}{f{bBf}}}Bh{KfBj}Bj}{cc{}}{{{f{b{AGb{ce}}}}c}{{f{be}}}KfACh}{{{f{b{AGb{ce}}}}c}{{f{be}}}KfOl}{{{f{b{AGb{ce}}}}cg}{{f{be}}}Kf{}{{AGd{}{{Bl{e}}}}}}{{}c{}}{c{{AGb{ec}}}{}Kf}{fc{}}{c{{Db{e}}}{}{}}{{}{{Db{c}}}{}}{fDd}`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{{AGf{c}}}}}{{AGf{c}}}{AdAbA`}}{{f{f{bc}}}An{}}{fAn}{{}{{AGf{c}}}{AbA`}}{{{f{{AGf{c}}}}{f{{AGf{c}}}}}j{KdAbA`}}{{f{f{c}}}j{}}0{{{f{{AGf{c}}}}{f{bBf}}}Bh{BjAbA`}}{cc{}}{e{{AGf{c}}}{AbA`}{{K`{}{{l{c}}}}}}{{{f{b{AGf{c}}}}c}An{AbA`}}{{}c{}}{fc{}}{c{{Db{e}}}{}{}}{{}{{Db{c}}}{}}{fDd}``````````{{{f{bAGh}}Ebc}{{f{AGj}}}{{AGd{{f{bAGl}}}{{Bl{Fd}}}}}}{f{{f{c}}}{}}000000{{{f{b}}}{{f{bc}}}{}}000000{AGnAGj}{{{f{AH`}}}AH`}{{f{f{bc}}}An{}}{fAn}{{}AGh}{c{{Db{AH`}}}Md}{{{f{AH`}}{f{AH`}}}j}{{f{f{c}}}j{}}0{{{f{AH`}}{f{bBf}}}Bh}{cc{}}000000{{{f{AGh}}{f{Fl}}}{{Cl{{f{AGj}}}}}}{{{f{bAGh}}{f{Fl}}}{{Cl{{f{bAGj}}}}}}{{{f{AH`}}{f{bc}}}AnDn}{{}c{}}000000{AHbAGn}:{{AHbEb}AH`}{{{f{bAGl}}Eb}{{ABn{{h{cAH`}}}}}{}}{{{f{bAGl}}Eb}{{`{{AEj{{h{cAH`}}}{{AEh{AHd}}}}}}}{}}{{{f{bAGh}}}An}{{{f{bAGh}}}j}{{{f{bAGj}}}j}2{{{f{AHf}}AHh}An}{{{f{AH`}}c}DbE`}{fc{}}{c{{Db{e}}}{}{}}000000{{}{{Db{c}}}{}}000000{fDd}000000{{AGnc}AGn{{AGd{{f{bAGl}}}{{Bl{Fd}}}}}}`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{}{{AHj{c}}}{}}{{{f{b{AHj{c}}}}{f{c}}}An{AdA`Ab}}{cc{}}{{}c{}}{{{f{{AHj{c}}}}}{{`{{AHl{}{{l{{f{c}}}}}}AHnAd}}}{AdA`Ab}}{{{f{b{AHj{c}}}}c}An{AdA`Ab}};:9```````77776666{Ch{{h{{Nf{c}}{Nj{c}}}}}{}}{{{Cl{ACf}}}{{h{{Nf{c}}{Nj{c}}}}}{}}{{{f{{Nf{c}}}}}{{Nf{c}}}{}}{{{f{{Ln{c}}}}}{{Ln{c}}}Ad}{{{f{{AI`{c}}}}}{{AI`{c}}}Ad}{{f{f{bc}}}An{}}00{fAn}00{{{f{b{Nj{c}}}}}An{}}{{{f{b{Nf{c}}}}}An{}}01{{{f{{Ln{c}}}}{f{{Ln{c}}}}}jKd}{{{f{{AI`{c}}}}{f{{AI`{c}}}}}jKd}{{f{f{c}}}j{}}000{{{f{{Ln{c}}}}{f{bBf}}}{{Db{AnADj}}}{}}0{{{f{{AI`{c}}}}{f{bBf}}}{{Db{AnADj}}}{}}0{cc{}}00{{{Ln{c}}}{{AI`{c}}}{}}1{{}c{}}000{{{f{{Nf{c}}}}}j{}}{{{ADd{{f{b{Nf{c}}}}}}{f{bA@l}}}{{A@n{{Db{Ane}}}}}{}{}}0{{{ADd{{f{b{Nj{c}}}}}}{f{bA@l}}}{{A@n{{Cl{e}}}}}{}{}}1{{{f{b{Nj{c}}}}{f{A@l}}}{{A@n{{Cl{c}}}}}{}}{{{f{b{Nj{c}}}}}{{Cl{c}}}{}}{{{f{{Nf{c}}}}c}{{Db{An{Ln{c}}}}}{}}{{{ADd{{f{b{Nf{c}}}}}}c}{{Db{Ane}}}{}{}}{fc{}}00{fEb}0{c{{Db{e}}}{}{}}000{{}{{Db{c}}}{}}000{{{ADd{{f{bc}}}}{f{bA@l}}}{{A@n{{Cl{Db}}}}}{}}{{{f{{Nf{c}}}}c}{{Db{An{AI`{c}}}}}{}}{fDd}000{{}{{h{{Nf{c}}{Nj{c}}}}}{}}","D":"CBb","p":[[0,"mut"],[8,"FxHashSet",1173],[1,"reference"],[1,"tuple"],[1,"bool"],[17,"Item"],[10,"Iterator",1174],[10,"Eq",1175],[10,"Hash",1176],[10,"Clone",1177],[10,"HalfJoinState",38,1178],[5,"HalfMultisetJoinState",38,1179],[5,"HalfSetJoinState",38,1180],[5,"HalfJoinStateFold",38,1181],[1,"unit"],[5,"HalfJoinStateFoldFrom",38,1182],[5,"HalfJoinStateReduce",38,1183],[5,"CrossJoinState",38,1184],[5,"Formatter",1185],[8,"Result",1185],[10,"Debug",1185],[17,"Output"],[10,"FnMut",1186],[5,"Iter",1187],[1,"array"],[5,"SmallVec",1188],[5,"Iter",1189],[1,"usize"],[5,"CrossJoin",38,1184],[6,"Option",1190],[5,"SymmetricHashJoin",38,1191],[5,"AntiJoin",38,1192],[6,"Result",1193],[5,"TypeId",1194],[5,"SubgraphId",162],[5,"HandoffId",162],[5,"StateId",162],[6,"Ordering",1175],[10,"Hasher",1176],[10,"Serializer",1195],[5,"String",1196],[5,"Context",234],[5,"StateHandle",540],[10,"Any",1194],[5,"TickInstant",580],[5,"SystemTime",1197],[5,"Box",1198],[10,"Future",1199],[5,"Waker",1200],[5,"Hydroflow",258],[8,"SendPort",449],[5,"SyncSender",1201],[5,"Input",401],[1,"str"],[6,"Cow",1202],[10,"Into",1203],[10,"Handoff",325],[10,"CanReceive",325],[5,"Buffer",401],[10,"Stream",1204],[5,"TcpStream",1205],[5,"Message",428],[5,"VecHandoff",325,1206],[8,"RecvPort",449],[6,"RECV",449],[10,"PortList",393],[6,"SEND",449],[8,"RecvCtx",449],[8,"SendCtx",449],[5,"Vec",1207],[1,"slice"],[5,"SerdeSpan",1208],[5,"Diagnostic",1208],[1,"u16"],[10,"DeserializeOwned",1209],[10,"Send",1210],[5,"HydroflowGraph",1211],[8,"Address",448],[10,"Serialize",1195],[5,"Reactor",526],[8,"Never",0],[5,"TeeingHandoff",325,1212],[10,"GraphExt",314],[10,"HandoffMeta",325],[17,"Inner"],[5,"RefMut",1213],[5,"Iter",325],[10,"IntoIterator",1214],[10,"Ord",1175],[10,"PartialEq",1175],[10,"PartialOrd",1175],[10,"TryCanReceive",325],[17,"Ctx"],[10,"Variadic",1215],[10,"Give",401],[5,"Bytes",1216],[5,"PortCtx",449],[5,"Port",449],[10,"Polarity",449],[5,"Operator",500],[5,"Query",500],[10,"Fn",1186],[5,"SendError",1096,1217],[5,"StateHandleErased",540],[5,"TickDuration",580],[10,"Deserializer",1209],[1,"u64"],[1,"i64"],[6,"SocketAddr",1218],[8,"TcpFramedSink",643,1219],[8,"TcpFramedStream",643,1219],[5,"Error",1220],[10,"Decoder",1221],[10,"Encoder",1222],[5,"Sender",1096],[5,"BytesMut",1223],[5,"Receiver",1096],[6,"LinesCodecError",1224],[8,"UdpSink",643,1225],[8,"UdpStream",643,1225],[8,"UdpLinesSink",643,1225],[8,"UdpLinesStream",643,1225],[5,"MonotonicFn",643,1226],[5,"Morphism",643,1226],[10,"FromIterator",1214],[10,"Default",1227],[10,"Extend",1214],[5,"LengthDelimitedCodec",1228],[5,"LinesCodec",1224],[8,"Result",1229],[1,"u8"],[10,"AsRef",1203],[5,"DroppableChild",643],[5,"Context",1200],[6,"Poll",1230],[5,"PollFn",1231],[10,"Unpin",1210],[5,"ChildStdin",1232],[5,"ChildStdout",1232],[5,"OwnedWriteHalf",1233],[5,"FramedWrite",1234],[5,"OwnedReadHalf",1233],[5,"FramedRead",1235],[5,"BytesCodec",1236],[5,"UdpSocket",1237],[8,"UdpBytesSink",643,1225],[8,"UdpBytesStream",643,1225],[8,"UdpFramedSink",643,1225],[8,"UdpFramedStream",643,1225],[5,"UnboundedSender",1238],[5,"UnboundedReceiverStream",1239],[5,"UnixStream",1240],[5,"OwnedWriteHalf",1241],[5,"OwnedReadHalf",1241],[8,"NonZeroUsize",1242],[10,"Clear",746],[5,"ClearDefault",746],[10,"DemuxEnum",769],[10,"SingleVariant",769],[6,"ServerOrBound",776,1243],[6,"ServerBindConfig",776,1243],[5,"Pin",1244],[6,"ServerPort",776,1243],[10,"Connected",776,1243],[5,"Error",1185],[6,"RealizedServerPort",776,1243],[6,"BoundConnection",776,1243],[5,"DeployPorts",776],[17,"Input"],[17,"Sink"],[10,"ConnectedSink",776,1243],[17,"Error"],[10,"Sink",1245],[10,"Sync",1210],[5,"ConnectedDirect",776,1243],[5,"ConnectedDemux",776,1243],[17,"Stream"],[10,"ConnectedSource",776,1243],[5,"ConnectedTagged",776,1243],[5,"DemuxDrain",776,1243],[5,"MergeSource",776,1243],[10,"Sized",1210],[5,"TaggedSource",776,1243],[1,"u32"],[5,"MonotonicMap",960],[10,"FnOnce",1186],[5,"HashMultiSet",978],[5,"Fleet",997],[5,"Host",997],[5,"TransducerBuilderContext",997],[5,"HostBuilder",997],[5,"Address",997],[8,"Hostname",997],[6,"Infallible",1203],[10,"MessageSender",997],[8,"MessageWithAddress",997],[5,"SparseVec",1083],[10,"DoubleEndedIterator",1246],[10,"FusedIterator",1247],[6,"TrySendError",1096,1217],[10,"PortListSplit",393],[6,"Persistence",643],[6,"PersistenceKeyed",643],[5,"Inbox",997],[5,"Outbox",997]],"r":[[0,1248],[6,1249],[9,1248],[10,1248],[11,1248],[17,1248],[18,1248],[32,1215],[33,1215],[34,1215],[38,1192],[39,1184],[40,1184],[41,1178],[42,1181],[43,1182],[44,1183],[45,1179],[46,1180],[47,1191],[48,1192],[131,1191],[330,1212],[332,1206],[646,1226],[647,1226],[652,1219],[653,1219],[654,1225],[655,1225],[656,1225],[657,1225],[658,1225],[659,1225],[660,1225],[661,1225],[662,1219],[686,1219],[713,1219],[714,1219],[715,1219],[716,1219],[734,1225],[735,1225],[736,1225],[737,1225],[739,1250],[740,1250],[741,1250],[742,1250],[770,1248],[777,1243],[778,1243],[779,1243],[780,1243],[781,1243],[782,1243],[783,1243],[784,1243],[789,1243],[791,1243],[792,1243],[793,1243],[794,1243],[800,1243],[806,1243],[808,1243],[809,1243],[810,1243],[813,1243],[818,1243],[907,0],[1099,1217],[1101,1217]],"b":[[192,"impl-Display-for-SubgraphId"],[193,"impl-Debug-for-SubgraphId"],[194,"impl-Display-for-HandoffId"],[195,"impl-Debug-for-HandoffId"],[362,"impl-CanReceive%3CVec%3CT%3E%3E-for-VecHandoff%3CT%3E"],[363,"impl-CanReceive%3CIter%3CI%3E%3E-for-VecHandoff%3CT%3E"],[364,"impl-CanReceive%3COption%3CT%3E%3E-for-VecHandoff%3CT%3E"],[610,"impl-Debug-for-TickInstant"],[611,"impl-Display-for-TickInstant"],[612,"impl-Debug-for-TickDuration"],[613,"impl-Display-for-TickDuration"],[627,"impl-Sub-for-TickInstant"],[628,"impl-Sub%3CTickDuration%3E-for-TickInstant"],[1131,"impl-Display-for-SendError%3CT%3E"],[1132,"impl-Debug-for-SendError%3CT%3E"],[1133,"impl-Debug-for-TrySendError%3CT%3E"],[1134,"impl-Display-for-TrySendError%3CT%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAQDYAABAAAABAABAAgAAAANAAQAFAAAABcAAAAZAAYAJAABACcAHABFABAAXwACAGsAEQB+AAEAgQAhAKYAEAC4AA0AzAADANQAAQDZAAEA3QANAO4AAQD/AAIABQEDAAsBBAARAQEAFQEDABwBAAAeAQAAIAEBACgBAAA3AQEAOgEAAE8BBwBYAQ4AawECAG8BAABxAQAAdQEAAHcBAAB5AQAAewEGAIQBBQCSAQsAoAECAKUBFAC8AQUAywEHAOEBAQDnAQMA7QERAAMCCwAQAgQAGAIAABoCAgAfAhMANQICADoCCgBJAh0AaQIBAG0CAABwAggAegIJAJwCCQCnAgUAswIAALUCAADOAhAA7QIBAPACCQD7AgAA/QIEAAMDAAAJAw0AGAMSACwDOABsAwAAcgMGAIUDOwDCAwYAzwMDANQDCQDfAwAA4gMDAPEDDQAABAgAEgQAACQEFgA9BAIARQQCAE8EBwBZBAgAZAQLAHMEAAB6BAMAgQQOAJEEAwA="}],["hydroflow_datalog",{"t":"Q","n":["datalog"],"q":[[0,"hydroflow_datalog"]],"i":"`","f":"`","D":"b","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAAA"}],["hydroflow_datalog_core",{"t":"HHHH","n":["gen_hydroflow_graph","hydroflow_graph_to_program","parse_pipeline","parse_static"],"q":[[0,"hydroflow_datalog_core"],[4,"proc_macro2"],[5,"hydroflow_lang::graph::hydroflow_graph"],[6,"hydroflow_lang::diagnostic"],[7,"alloc::vec"],[8,"core::result"],[9,"alloc::string"],[10,"rust_sitter"],[11,"hydroflow_lang::parse"],[12,"core::ops::function"],[13,"syn::expr"]],"i":"````","f":"{b{{j{d{h{f}}}}}}{{dl}l}{{{Ab{{A`{n}}}}{Ab{c}}}{{j{Ad{h{f}}}}}{{An{{Ah{AfAf}}}{{Aj{Al}}}}}}{{{Ab{{A`{n}}}}{Ab{c}}}{{j{B`{h{f}}}}}{{An{{Ah{AfAf}}}{{Aj{Al}}}}}}","D":"`","p":[[5,"Literal",4],[5,"HydroflowGraph",5],[5,"Diagnostic",6],[5,"Vec",7],[6,"Result",8],[5,"TokenStream",4],[5,"String",9],[5,"Spanned",10],[1,"reference"],[6,"Pipeline",11],[1,"usize"],[1,"tuple"],[17,"Output"],[5,"Span",4],[10,"Fn",12],[6,"Expr",13]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAQAEAAAAAAAAQACAAMABAA="}],["hydroflow_deploy_integration",{"t":"PGIKFFKKFPPPPFIIIIRPPPPFPPPPRGPGGGRRKPPPPFPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNMNNMNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Bound","BoundConnection","BufferedDrain","Connected","ConnectedDemux","ConnectedDirect","ConnectedSink","ConnectedSource","ConnectedTagged","Demux","","","","DemuxDrain","DynSink","DynStream","DynStreamSink","InitConfig","Input","Merge","","","","MergeSource","Null","","","","Output","RealizedServerPort","Server","ServerBindConfig","ServerOrBound","ServerPort","Sink","Stream","StreamSink","Tagged","","","","TaggedSource","TcpPort","","","","UnixSocket","","","","accept_tcp","bind","borrow","","","","","","","","","","","borrow_mut","","","","","","","","","","","clone","","clone_into","","clone_to_uninit","","connect","connect_local_blocking","deserialize","","fmt","","","","","from","","","","","","","","","","","","from_defn","","","","instantiate","into","","","","","","","","","","","into_sink","","","into_source","","","keys","poll_close","poll_flush","poll_next","","poll_ready","serialize","","sink_port","start_send","to_owned","","try_from","","","","","","","","","","","try_into","","","","","","","","","","","try_poll_next","","type_id","","","","","","","","","",""],"q":[[0,"hydroflow_deploy_integration"],[170,"tokio::net::tcp::stream"],[171,"core::future::future"],[172,"alloc::boxed"],[173,"core::pin"],[174,"core::result"],[175,"serde::de"],[176,"core::fmt"],[177,"core::marker"],[178,"std::io::error"],[179,"futures_sink"],[180,"futures_core::stream"],[181,"core::task::wake"],[182,"core::task::poll"],[183,"core::option"],[184,"serde::ser"],[185,"core::any"]],"i":"d````````AbB`jBb`````Bh4321`4321Cn`6```10`5432`5432543263CdChDnEfDf:98;7Dh54321;:9<80;9;9;9<<;9;:9<854321;::9<80Af652<65432<;:=91865762511431<:91<:65432<;:=9165432<;:=914365432<;:=91","f":"``````````````````````````````````````````````````{{{f{bd}}}h}{j{{A`{{n{l}}}}}}{f{{f{c}}}{}}0000000000{{{f{b}}}{{f{bc}}}{}}0000000000{{{f{Ab}}}Ab}{{{f{j}}}j}{{f{f{bc}}}Ad{}}0{fAd}0{dcAf}0{c{{Ah{Ab}}}Aj}{c{{Ah{j}}}Aj}{{{f{Ab}}{f{bAl}}}An}{{{f{B`}}{f{bAl}}}An}{{{f{j}}{f{bAl}}}An}{{{f{d}}{f{bAl}}}An}{{{f{Bb}}{f{bAl}}}An}{cc{}}00000{{{f{Ab}}}B`}11111{d{{A`{{n{l}}}}}}000{{{f{Ab}}}d}{{}c{}}0000000000{{{Bh{}{{Bd{c}}{Bf{e}}}}}eBj{{C`{c}{{Bl{Bn}}}}BjCb}}{Cd{{Cf{c}}}{}}{{{Ch{c}}}eBh{}}{{{Cn{}{{Cj{c}}{Cl{e}}}}}eBj{{Db{}{{D`{{Ah{cBn}}}}}}BjCb}}{CdDd}{{{Df{c}}}eCn{}}`{{{A`{{f{b{Dh{ce}}}}}}{f{bDj}}}{{Dl{{Ah{Adg}}}}}{}{{C`{c}{{Bl{Bn}}}}BjCb}{}}0{{{A`{{f{b{Dn{ce}}}}}}{f{bDj}}}{{Dl{{E`{g}}}}}Eb{{Db{}{{D`{c}}}}BjCbEd}{}}{{{A`{{f{b{Ef{ce}}}}}}{f{bDj}}}{{Dl{{E`{g}}}}}Eb{{Db{}{{D`{{Ah{cBn}}}}}}BjCbEd}{}}2{{{f{Ab}}c}AhEh}{{{f{j}}c}AhEh}{{{f{Bb}}}Ab}{{{A`{{f{b{Dh{ce}}}}}}{El{Ejc}}}{{Ah{Adg}}}{}{{C`{c}{{Bl{Bn}}}}BjCb}{}}{fc{}}0{c{{Ah{e}}}{}{}}0000000000{{}{{Ah{c}}}{}}0000000000{{{A`{{f{bc}}}}{f{bDj}}}{{Dl{{E`{Ah}}}}}{}}0{fEn}0000000000","D":"Bn","p":[[0,"mut"],[6,"ServerOrBound",0],[1,"reference"],[5,"TcpStream",170],[6,"ServerBindConfig",0],[10,"Future",171],[5,"Box",172],[5,"Pin",173],[6,"ServerPort",0],[1,"unit"],[10,"Connected",0],[6,"Result",174],[10,"Deserializer",175],[5,"Formatter",176],[8,"Result",176],[6,"RealizedServerPort",0],[6,"BoundConnection",0],[17,"Input"],[17,"Sink"],[10,"ConnectedSink",0],[10,"Send",177],[17,"Error"],[5,"Error",178],[10,"Sink",179],[10,"Sync",177],[5,"ConnectedDirect",0],[8,"DynSink",0],[5,"ConnectedDemux",0],[17,"Output"],[17,"Stream"],[10,"ConnectedSource",0],[17,"Item"],[10,"Stream",180],[8,"DynStream",0],[5,"ConnectedTagged",0],[5,"DemuxDrain",0],[5,"Context",181],[6,"Poll",182],[5,"MergeSource",0],[6,"Option",183],[10,"Unpin",177],[10,"Sized",177],[5,"TaggedSource",0],[10,"Serializer",184],[1,"u32"],[1,"tuple"],[5,"TypeId",185]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJMABQAAACEAIwA2AGAAAABmAAQAdgA0AA=="}],["hydroflow_lang",{"t":"CCCCCCFPPGPFPNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNOOONONNNONNNNNNNNNNNNNNNNNGPFPPFFFGFFPPFPPPFPFPGPPFGNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOHCNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNOOONNNCONNNNNNHONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNOOOOHHHPPGPPPGPSPPPPPPPSSGFFGPGSSSKPPPPPPPPPPPPPFIOONNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNMONNNMNNNNHHONNNNNNNNNNNNNOOONNOOHOONNNNNNNNOONNOOHOOOOHONNNNOOOONOOOMONNNNNNNNNNNNNNNNNNNNNONNNNNNNNOOOOFGFPFFPPPFPPPFFPPPGPFFFGFPNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNOONONOOOONNNNNNNNNNNNNNHNOOOOOOOONNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOFFNNNNNNNNNNNNNNNNNNHHHFNNNNNNNNNNNNNNNNN","n":["diagnostic","graph","parse","pretty_span","process_singletons","union_find","Diagnostic","Error","Help","Level","Note","SerdeSpan","Warning","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","cmp","column","deserialize","","","emit","eq","fmt","","","","","","from","","","","","hash","into","","","is_error","","level","line","message","partial_cmp","path","serialize","","","span","spanned","to_owned","","","to_serde","to_string","","to_tokens","try_from","","","try_into","","","type_id","","","Color","Comp","DiMulGraph","Dot","Elided","FlatGraphBuilder","GraphEdgeId","GraphLoopId","GraphNode","GraphNodeId","GraphSubgraphId","Handoff","Hoff","HydroflowGraph","Int","Mermaid","ModuleBoundary","OpInstGenerics","Operator","OperatorInstance","Path","PortIndexValue","Pull","Push","WriteConfig","WriteGraphType","add_statement","add_statement_with_loop","arguments_pre","arguments_raw","as_code","as_error_message_string","assert_valid","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","build","build_hfcode","clone","","","","","","","","","","","","clone_into","","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","","cmp","","","","","","combine","command","command_for_update","data","","","","default","","","","","","","","degree_in","degree_out","deserialize","","","","","","","","","edge","","edge_ids","","edge_ports","edges","","eliminate_extra_unions_tees","eq","","","","","","fmt","","","","","","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","","from_arg_matches","","from_arg_matches_mut","","from_hfcode","from_hfmodule","from_ported","generic_args","generics","get_operator_generics","graph_algorithms","group_id","has_subcommand","hash","","","","input_ports","insert_edge","","insert_intermediate_node","insert_intermediate_vertex","insert_loop","insert_node","insert_node_op_inst","insert_node_op_insts_all","insert_subgraph","into","","","","","","","","","","","","","","is_specified","loop_children","loop_ids","loop_parent","loops","max_stratum","merge_modules","mermaid_string_flat","new","","","no_handoffs","no_pull_push","no_references","no_subgraphs","no_varnames","node","node_color_map","node_degree_in","node_degree_out","node_ids","node_loop","node_op_inst","node_predecessor_edges","node_predecessor_nodes","node_predecessors","node_singleton_references","node_subgraph","node_successor_edges","node_successor_nodes","node_successors","node_varname","nodes","op_constraints","op_short_text","op_text_no_imports","open_dot","open_graph","open_mermaid","ops","output_ports","partial_cmp","","","","","","partition_graph","persistence_args","predecessor_edges","predecessor_vertices","predecessors","remove_edge","","remove_from_subgraph","remove_intermediate_node","remove_intermediate_vertex","remove_vertex","serialize","","","","","","","","","set_node_singleton_references","set_subgraph_laziness","set_subgraph_stratum","singletons_referenced","span","","subgraph","subgraph_ids","subgraph_stratum","subgraphs","successor_edges","successor_vertices","successors","surface_syntax_string","to_dot","to_mermaid","to_name_string","to_owned","","","","","","","","","","","","to_possible_value","to_pretty_string","to_string","try_from","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","type_args","type_id","","","","","","","","","","","","","","update_from_arg_matches","","update_from_arg_matches_mut","","value_variants","with_capacity","write_dot","write_mermaid","write_mermaid_flat","write_surface_syntax","dst_span","import_expr","input","src_span","scc_kosaraju","topo_sort","topo_sort_scc","CompilerFusionOperator","Control","DelayType","Filter","Fixed","Flatten","FloType","Fold","IDENTITY_WRITE_FN","KeyedFold","LatticeFold","Map","MonotoneAccum","MultiIn","MultiOut","Mutable","NULL_WRITE_FN","OPERATORS","OperatorCategory","OperatorConstraints","OperatorWriteOutput","Persistence","","PortListSpec","RANGE_0","RANGE_1","RANGE_ANY","RangeTrait","Sink","Source","","Static","Stratum","Tick","","TickLazy","Unwindowing","","Variadic","Windowing","","WriteContextArgs","WriteFn","arguments","arguments_handles","borrow","","","","","","","","borrow_mut","","","","","","","","categories","clone","","","","","clone_into","","","","","clone_to_uninit","","","","","cmp","","","","contains","context","default","description","deserialize","end_bound","eq","","","","find_node_op_constraints","find_op_op_constraints","flo_type","fmt","","","","","from","","","","","","","","hard_range_inn","hard_range_out","has_singleton_output","hash","human_string","hydroflow","ident","identity_write_iterator_fn","input_delaytype_fn","inputs","into","","","","","","","","is_external_input","is_pull","make_ident","name","","node_id","null_write_iterator_fn","num_args","op_inst","op_name","op_span","operator_lookup","outputs","partial_cmp","","","","persistence_args","ports_inn","ports_out","root","serialize","singleton_output_ident","soft_range_inn","soft_range_out","start_bound","subgraph_id","to_owned","","","","","try_from","","","","","","","","try_into","","","","","","","","type_args","type_id","","","","","","","","write_fn","write_iterator","write_iterator_after","write_prologue","HfCode","HfStatement","Import","","IndexInt","Indexing","Int","Link","Loop","LoopStatement","ModuleBoundary","Name","Named","NamedHfStatement","Operator","","Paren","Path","Pipeline","","PipelineLink","PipelineParen","PipelineStatement","PortIndex","Ported","Use","args","","args_raw","arrow","bang","borrow","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","brace_token","bracket_token","clone","","","","","","","","","clone_into","","","","","","","","","clone_to_uninit","","","","","","","","","cmp","eq","equals","filename","fmt","","","","","","","","","from","","","","","","","","","","","","","","hash","ident","import","index","inn","inner","into","","","","","","","","","","","","","","lhs","loop_token","name","","name_string","out","paren_token","","","parse","","","","","","","","","","","","","","parse_terminated","partial_cmp","path","pipeline","","","rhs","semi_token","","singletons_referenced","span","","","","","","","","","","","","","","","statements","","to_owned","","","","","","","","","to_pretty_string","to_tokens","","","","","","","","","","","","","","try_from","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","type_arguments","type_id","","","","","","","","","","","","","","value","PrettyRowCol","PrettySpan","borrow","","borrow_mut","","fmt","","from","","into","","to_string","","try_from","","try_into","","type_id","","postprocess_singletons","postprocess_singletons_handles","preprocess_singletons","UnionFind","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","find","from","into","new","same_set","to_owned","try_from","try_into","type_id","union","with_capacity"],"q":[[0,"hydroflow_lang"],[6,"hydroflow_lang::diagnostic"],[78,"hydroflow_lang::graph"],[455,"hydroflow_lang::graph::GraphNode"],[459,"hydroflow_lang::graph::graph_algorithms"],[462,"hydroflow_lang::graph::ops"],[648,"hydroflow_lang::parse"],[901,"hydroflow_lang::pretty_span"],[921,"hydroflow_lang::process_singletons"],[924,"hydroflow_lang::union_find"],[942,"core::clone"],[943,"core::cmp"],[944,"core::result"],[945,"serde::de"],[946,"core::fmt"],[947,"syn::error"],[948,"proc_macro2"],[949,"core::hash"],[950,"core::option"],[951,"serde::ser"],[952,"alloc::string"],[953,"core::convert"],[954,"core::any"],[955,"hydroflow_lang::graph::flat_graph_builder"],[956,"hydroflow_lang::graph::hydroflow_graph"],[957,"alloc::vec"],[958,"hydroflow_lang::graph::di_mul_graph"],[959,"slotmap"],[960,"clap_builder::builder::command"],[961,"syn::item"],[962,"std::path"],[963,"slotmap::basic"],[964,"core::iter::traits::exact_size"],[965,"core::iter::traits::marker"],[966,"clap_builder::parser::matches::arg_matches"],[967,"clap_builder"],[968,"syn::spanned"],[969,"clap_builder::util::id"],[970,"slotmap::sparse_secondary"],[971,"core::iter::traits::double_ended"],[972,"std::io::error"],[973,"core::slice::iter"],[974,"core::iter::adapters::copied"],[975,"alloc::borrow"],[976,"clap_builder::builder::possible_value"],[977,"alloc::collections::btree::map"],[978,"core::marker"],[979,"core::iter::traits::collect"],[980,"core::ops::function"],[981,"core::ops::range"],[982,"std::collections::hash::map"],[983,"syn::expr"],[984,"syn::token"],[985,"syn::punctuated"],[986,"syn::path"],[987,"syn::parse"],[988,"quote::to_tokens"],[989,"core::default"],[990,"hydroflow_lang::graph::eliminate_extra_unions_tees"],[991,"hydroflow_lang::graph::flat_to_partitioned"]],"i":"```````f0`0`00hl21021021021020210122111002110022102110120210112101101210210210`En`E`Cn``````Eh3`120`0`1`33``Cd0Ej0Cj4D`Dn07714207EbEdEfCh97El=;6975<4321:80=;9`65<4321:80=;65<4321:80=;65<4321:80=;4321=;;<<43216975432166674321:=;6767767`4321=;6975<4321:80=;;66975<44332211:80=;;5<5<99;08``5<432186776777776975<4321:80=;;77777776975555577777777777777777855777`84321=;`0666677766674321:=;7778:;7777666777:65<4321:80=;<:;6975<4321:80=;6975<4321:80=;06975<4321:80=;5<5<<67777NfNh01```Jh0`0Nj1`1`111Jb22Jf``````3`````33Jj1221240340``Jd04Kd4Jn24736150247315247352473524735473Jl318506584``226584726135842228033`2372613584233823`2333`3658422235322036358472613584726135842726135842111```L```Fn1Cf`220``221`0`````0Gh00LfLbDj4MbMdMf94GdLd7Lh;9Lj7;654=83291<:041=83291<:0=83291<:0=83291<:00068=83291<:07;654=83291<:00481337;654=83291<:094:6:382:7;654=83291<:0`0:652965:7;654=83291<:0074=83291<:0:7;654=83291<:07;654=83291<:07;654=83291<:0:7;654=83291<:00``MnN`1010101010101010````Nb0000000000000000","f":"`````````````{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{b{f}}}f}{{{b{{h{c}}}}}{{h{c}}}j}{{{b{l}}}l}{{b{b{dc}}}n{}}00{bn}00{{{b{f}}{b{f}}}A`}`{c{{Ab{f}}}Ad}{c{{Ab{{h{e}}}}}AdAf}{c{{Ab{l}}}Ad}{{{b{h}}}n}{{{b{f}}{b{f}}}Ah}{{{b{f}}{b{dAj}}}Al}{{{b{{h{l}}}}{b{dAj}}}Al}{{{b{h}}{b{dAj}}}Al}{{{b{{h{c}}}}{b{dAj}}}AlAn}{{{b{l}}{b{dAj}}}Al}0{cc{}}0{B`h}1{Bbl}{{{b{f}}{b{dc}}}nBd}{{}c{}}00{{{b{f}}}Ah}{{{b{{h{c}}}}}Ah{}}```{{{b{f}}{b{f}}}{{Bf{A`}}}}`{{{b{f}}c}AbBh}{{{b{{h{c}}}}e}AbBjBh}{{{b{l}}c}AbBh}`{{Bbfc}h{{Bn{Bl}}}}{bc{}}00{{{b{h}}}{{h{l}}}}{bBl}0{{{b{h}}}C`}{c{{Ab{e}}}{}{}}00{{}{{Ab{c}}}{}}00{bCb}00``````````````````````````{{{b{dCd}}Cf}n}{{{b{dCd}}Cf{Bf{Ch}}}n}``{{{b{Cj}}{b{C`}}AhC`{b{d{Cl{h}}}}}C`}{{{b{Cn}}}Bl}{{{b{{D`{ce}}}}}nDbDb}{DdDd}000{b{{b{c}}}{}}0000000000000{{{b{d}}}{{b{dc}}}{}}0000000000000{Cd{{Dh{Cj{Cl{Df}}{Cl{h}}}}}}{{Dj{b{C`}}Dl}{{Dh{{Bf{{Dh{CjC`}}}}{Cl{h}}}}}}{{{b{{D`{ce}}}}}{{D`{ce}}}{Dbj}{Dbj}}{{{b{Dn}}}Dn}{{{b{E`}}}E`}{{{b{Eb}}}Eb}{{{b{Ed}}}Ed}{{{b{Ef}}}Ef}{{{b{Ch}}}Ch}{{{b{Eh}}}Eh}{{{b{Ej}}}Ej}{{{b{El}}}El}{{{b{En}}}En}{{{b{Cn}}}Cn}{{b{b{dc}}}n{}}00000000000{bn}00000000000{{{b{Eb}}{b{Eb}}}A`}{{{b{Ed}}{b{Ed}}}A`}{{{b{Ef}}{b{Ef}}}A`}{{{b{Ch}}{b{Ch}}}A`}{{{b{En}}{b{En}}}A`}{{{b{Cn}}{b{Cn}}}A`}{{CnCn}{{Ab{CnCn}}}}{{}Dd}0{{{b{Eb}}}F`}{{{b{Ed}}}F`}{{{b{Ef}}}F`}{{{b{Ch}}}F`}{{}{{D`{ce}}}DbDb}{{}Cd}{{}Cj}{{}Dn}{{}Eb}{{}Ed}{{}Ef}{{}Ch}{{{b{{D`{ce}}}}c}FbDbDb}0{c{{Ab{{D`{eg}}}}}Ad{DbAf}{DbAf}}{c{{Ab{Cj}}}Ad}{c{{Ab{Eb}}}Ad}{c{{Ab{Ed}}}Ad}{c{{Ab{Ef}}}Ad}{c{{Ab{Ch}}}Ad}{c{{Ab{Eh}}}Ad}{c{{Ab{En}}}Ad}{c{{Ab{Cn}}}Ad}{{{b{{D`{ce}}}}e}{{Bf{{Dh{cc}}}}}DbDb}{{{b{Cj}}Ed}{{Dh{EbEb}}}}{{{b{{D`{ce}}}}}{{Fd{e{Dh{cc}}}}}DbDb}{{{b{Cj}}}{{Fd{Ed{Dh{EbEb}}}}}}{{{b{Cj}}Ed}{{Dh{{b{Cn}}{b{Cn}}}}}}{{{b{{D`{ce}}}}}{{`{{Fh{}{{Ff{{Dh{e{Dh{cc}}}}}}}}FjjAn}}}DbDb}{{{b{Cj}}}{{`{{Fh{}{{Ff{{Dh{Ed{Dh{EbEb}}}}}}}}FjjAn}}}}{{{b{dCj}}}n}{{{b{Eb}}{b{Eb}}}Ah}{{{b{Ed}}{b{Ed}}}Ah}{{{b{Ef}}{b{Ef}}}Ah}{{{b{Ch}}{b{Ch}}}Ah}{{{b{En}}{b{En}}}Ah}{{{b{Cn}}{b{Cn}}}Ah}{{{b{{D`{ce}}}}{b{dAj}}}Al{DbAn}{DbAn}}{{{b{Cd}}{b{dAj}}}Al}{{{b{Cj}}{b{dAj}}}Al}{{{b{Dn}}{b{dAj}}}Al}{{{b{E`}}{b{dAj}}}Al}{{{b{Eb}}{b{dAj}}}Al}{{{b{Ed}}{b{dAj}}}Al}{{{b{Ef}}{b{dAj}}}Al}{{{b{Ch}}{b{dAj}}}Al}{{{b{Eh}}{b{dAj}}}Al}{{{b{Ej}}{b{dAj}}}Al}{{{b{El}}{b{dAj}}}Al}{{{b{En}}{b{dAj}}}Al}{{{b{Cn}}{b{dAj}}}Al}0{cc{}}{{{Fl{c{Dh{ee}}}}}{{D`{ec}}}DbDb}11111{F`Eb}{F`Ed}3{F`Ef}4{F`Ch}555555{FnCn}{{{b{G`}}}{{Ab{DnGb}}}}{{{b{G`}}}{{Ab{E`Gb}}}}{{{b{dG`}}}{{Ab{DnGb}}}}{{{b{dG`}}}{{Ab{E`Gb}}}}{{DjDl}Cd}0{{{Gd{c}}}{{Dh{CncCn}}}Gf}``{{{b{d{Cl{h}}}}{b{Gh}}}El}`{{}{{Bf{Gj}}}}{{{b{Gl}}}Ah}{{{b{Eb}}{b{dc}}}nBd}{{{b{Ed}}{b{dc}}}nBd}{{{b{Ef}}{b{dc}}}nBd}{{{b{Ch}}{b{dc}}}nBd}`{{{b{d{D`{ce}}}}cc}eDbDb}{{{b{dCj}}EbCnEbCn}Ed}{{{b{dCj}}EdEh}{{Dh{EbEd}}}}{{{b{d{D`{ce}}}}ce}{{Bf{{Dh{ee}}}}}DbDb}{{{b{dCj}}{Bf{Ch}}}Ch}{{{b{dCj}}Eh{Bf{Gn}}{Bf{Ch}}}Eb}{{{b{dCj}}EbEj}n}{{{b{dCj}}{b{d{Cl{h}}}}}n}{{{b{dCj}}{Cl{Eb}}}{{Ab{Ef{Dh{EbEf}}}}}}{{}c{}}0000000000000{{{b{Cn}}}Ah}{{{b{Cj}}Ch}{{b{{Cl{Ch}}}}}}{{{b{Cj}}}{{Fd{Ch{Cl{Eb}}}}}}{{{b{Cj}}Ch}{{Bf{Ch}}}}{{{b{Cj}}}{{H`{Ch{Cl{Eb}}}}}}{{{b{Cj}}}{{Bf{Fb}}}}{{{b{dCj}}}{{Ab{nh}}}}{{{b{Cj}}}Bl}{{}{{D`{ce}}}DbDb}{{}Cd}{{}Cj}`````{{{b{Cj}}Eb}{{b{Eh}}}}{{{b{Cj}}}{{Hb{EbEn}}}}{{{b{Cj}}Eb}Fb}0{{{b{Cj}}}{{Fd{EbEh}}}}{{{b{Cj}}Eb}{{Bf{Ch}}}}{{{b{Cj}}Eb}{{Bf{{b{Ej}}}}}}{{{b{Cj}}Eb}{{`{{Hd{}{{Ff{Ed}}}}FhFjjAn}}}}{{{b{Cj}}Eb}{{`{{Hd{}{{Ff{Eb}}}}FhFjjAn}}}}{{{b{Cj}}Eb}{{`{{Hd{}{{Ff{{Dh{EdEb}}}}}}FhFjjAn}}}}{{{b{Cj}}Eb}{{b{{Hf{{Bf{Eb}}}}}}}}{{{b{Cj}}Eb}{{Bf{Ef}}}}432{{{b{Cj}}Eb}{{Bf{Gn}}}}{{{b{Cj}}}{{H`{EbEh}}}}```{{{b{Cj}}{b{Dn}}}{{Hh{n}}}}{{{b{Cj}}E`{Bf{Dn}}}{{Hh{n}}}}1``{{{b{Eb}}{b{Eb}}}{{Bf{A`}}}}{{{b{Ed}}{b{Ed}}}{{Bf{A`}}}}{{{b{Ef}}{b{Ef}}}{{Bf{A`}}}}{{{b{Ch}}{b{Ch}}}{{Bf{A`}}}}{{{b{En}}{b{En}}}{{Bf{A`}}}}{{{b{Cn}}{b{Cn}}}{{Bf{A`}}}}{Cj{{Ab{Cjh}}}}`{{{b{{D`{ce}}}}c}{{Hl{{Hj{e}}}}}DbDb}{{{b{{D`{ce}}}}c}{{`{{Hd{}{{Ff{c}}}}FhFjjAn}}}DbDb}{{{b{{D`{ce}}}}c}{{`{{Hd{}{{Ff{{Dh{ec}}}}}}FhFjjAn}}}DbDb}{{{b{d{D`{ce}}}}e}{{Bf{{Dh{cc}}}}}DbDb}{{{b{dCj}}Ed}n}{{{b{dCj}}Eb}Ah}{{{b{dCj}}Eb}n}{{{b{d{D`{ce}}}}c}{{Bf{{Dh{e{Dh{ee}}}}}}}DbDb}{{{b{d{D`{ce}}}}c}nDbDb}{{{b{{D`{ce}}}}g}Ab{DbBj}{DbBj}Bh}{{{b{Cj}}c}AbBh}{{{b{Eb}}c}AbBh}{{{b{Ed}}c}AbBh}{{{b{Ef}}c}AbBh}{{{b{Ch}}c}AbBh}{{{b{Eh}}c}AbBh}{{{b{En}}c}AbBh}{{{b{Cn}}c}AbBh}{{{b{dCj}}Eb{Cl{{Bf{Eb}}}}}{{Bf{{Cl{{Bf{Eb}}}}}}}}{{{b{dCj}}EfAh}Ah}{{{b{dCj}}EfFb}{{Bf{Fb}}}}`{{{b{Eh}}}Bb}{{{b{Cn}}}Bb}{{{b{Cj}}Ef}{{b{{Cl{Eb}}}}}}{{{b{Cj}}}{{Fd{Ef{Cl{Eb}}}}}}{{{b{Cj}}Ef}{{Bf{Fb}}}}{{{b{Cj}}}{{H`{Ef{Cl{Eb}}}}}}{{{b{{D`{ce}}}}c}{{Hl{{Hj{e}}}}}DbDb}{{{b{{D`{ce}}}}c}{{`{{Hd{}{{Ff{c}}}}FhFjjAn}}}DbDb}{{{b{{D`{ce}}}}c}{{`{{Hd{}{{Ff{{Dh{ec}}}}}}FhFjjAn}}}DbDb}{{{b{Cj}}}Bl}{{{b{Cj}}{b{Dn}}}Bl}0{{{b{Eh}}}{{Hn{Gl}}}}{bc{}}00000000000{{{b{E`}}}{{Bf{I`}}}}2{bBl}{c{{Ab{e}}}{}{}}0000000000000{{}{{Ab{c}}}{}}0000000000000`{bCb}0000000000000{{{b{dDn}}{b{G`}}}{{Ab{nGb}}}}{{{b{dE`}}{b{G`}}}{{Ab{nGb}}}}{{{b{dDn}}{b{dG`}}}{{Ab{nGb}}}}{{{b{dE`}}{b{dG`}}}{{Ab{nGb}}}}{{}{{b{{Hf{E`}}}}}}{Fb{{D`{ce}}}DbDb}{{{b{Cj}}c{b{Dn}}}AlIb}0{{{b{Cj}}{b{dc}}}AlIb}0````{{eim}{{Id{cc}}}{IfIhIj}{{Il{}{{Ff{c}}}}}{{Il{}{{Ff{c}}}}}{{J`{c}{{In{g}}}}}{{Il{}{{Ff{c}}}}}{{J`{c}{{In{k}}}}}}{{ei}{{Ab{{Cl{c}}{Cl{c}}}}}{IfIhIj}{{Il{}{{Ff{c}}}}}{{Il{}{{Ff{c}}}}}{{J`{c}{{In{g}}}}}}{{gko}{{Cl{c}}}{IfIhIj}{{Il{}{{Ff{c}}}}}{{J`{}{{In{e}}}}}{{Il{}{{Ff{c}}}}}{{J`{c}{{In{i}}}}}{{Il{}{{Ff{c}}}}}{{J`{c}{{In{m}}}}}}`````````````````````````````````````````````{b{{b{c}}}{}}0000000{{{b{d}}}{{b{dc}}}{}}0000000`{{{b{Jb}}}Jb}{{{b{Jd}}}Jd}{{{b{Jf}}}Jf}{{{b{Jh}}}Jh}{{{b{Jj}}}Jj}{{b{b{dc}}}n{}}0000{bn}0000{{{b{Jb}}{b{Jb}}}A`}{{{b{Jf}}{b{Jf}}}A`}{{{b{Jh}}{b{Jh}}}A`}{{{b{Jj}}{b{Jj}}}A`}{{{b{Jl}}{b{c}}}Ah{}}`{{}Jn}{Jh{{b{Gl}}}}{c{{Ab{Jf}}}Ad}{{{b{Jl}}}{{K`{{b{c}}}}}Kb}{{{b{Jb}}{b{Jb}}}Ah}{{{b{Jf}}{b{Jf}}}Ah}{{{b{Jh}}{b{Jh}}}Ah}{{{b{Jj}}{b{Jj}}}Ah}{{{b{Eh}}}{{Bf{{b{Kd}}}}}}{{{b{Gh}}}{{Bf{{b{Kd}}}}}}`{{{b{Kd}}{b{dAj}}}Al}{{{b{Jb}}{b{dAj}}}Al}{{{b{Jf}}{b{dAj}}}Al}{{{b{Jh}}{b{dAj}}}Al}{{{b{Jj}}{b{dAj}}}Al}{cc{}}0000000```{{{b{Jh}}{b{dc}}}nBd}{{{b{Jl}}}Bl}``{{{b{Jd}}}C`}``{{}c{}}0000000``{{{b{Jd}}c}Gn{{Kf{Gl}}}}{Jh{{b{Gl}}}}``3````{{}{{b{{Kh{{b{Gl}}{b{Kd}}}}}}}}`{{{b{Jb}}{b{Jb}}}{{Bf{A`}}}}{{{b{Jf}}{b{Jf}}}{{Bf{A`}}}}{{{b{Jh}}{b{Jh}}}{{Bf{A`}}}}{{{b{Jj}}{b{Jj}}}{{Bf{A`}}}}````{{{b{Jf}}c}AbBh}```{{{b{Jl}}}{{K`{{b{c}}}}}Kb}`{bc{}}0000{c{{Ab{e}}}{}{}}0000000{{}{{Ab{c}}}{}}0000000`{bCb}0000000``````````````````````````````{{{b{Gh}}}{{b{{Kn{KjKl}}}}}}````{b{{b{c}}}{}}0000000000000{{{b{d}}}{{b{dc}}}{}}0000000000000``{{{b{L`}}}L`}{{{b{Lb}}}Lb}{{{b{{Gd{c}}}}}{{Gd{c}}}j}{{{b{Ld}}}Ld}{{{b{Lf}}}Lf}{{{b{Lh}}}Lh}{{{b{Fn}}}Fn}{{{b{Gh}}}Gh}{{{b{Lj}}}Lj}{{b{b{dc}}}n{}}00000000{bn}00000000{{{b{Lj}}{b{Lj}}}A`}{{{b{Lj}}{b{Lj}}}Ah}``{{{b{L`}}{b{dAj}}}Al}{{{b{Lb}}{b{dAj}}}Al}{{{b{{Gd{c}}}}{b{dAj}}}AlAn}{{{b{Ld}}{b{dAj}}}Al}{{{b{Lf}}{b{dAj}}}Al}{{{b{Lh}}{b{dAj}}}Al}{{{b{Fn}}{b{dAj}}}Al}{{{b{Gh}}{b{dAj}}}Al}{{{b{Lj}}{b{dAj}}}Al}{cc{}}0000000000000{{{b{Lj}}{b{dc}}}nBd}`````{{}c{}}0000000000000``{{{b{Gh}}}Ll}`{{{b{Gh}}}Bl}````{Ln{{M`{Dj}}}}{Ln{{M`{Cf}}}}{Ln{{M`{Mb}}}}{Ln{{M`{Md}}}}{Ln{{M`{Mf}}}}{Ln{{M`{L`}}}}{Ln{{M`{Lb}}}}{Ln{{M`{{Gd{c}}}}}Mh}{Ln{{M`{Ld}}}}{Ln{{M`{Lf}}}}{Ln{{M`{Lh}}}}{Ln{{M`{Fn}}}}{Ln{{M`{Gh}}}}{Ln{{M`{Lj}}}}{C`{{M`{{Kn{ce}}}}}MhMh}{{{b{Lj}}{b{Lj}}}{{Bf{A`}}}}````````{bBb}0000000000000```{bc{}}00000000{{{b{Gh}}}Bl}{{{b{Dj}}{b{dC`}}}n}{{{b{Cf}}{b{dC`}}}n}{{{b{Mb}}{b{dC`}}}n}{{{b{Md}}{b{dC`}}}n}{{{b{Mf}}{b{dC`}}}n}{{{b{L`}}{b{dC`}}}n}{{{b{Lb}}{b{dC`}}}n}{{{b{{Gd{c}}}}{b{dC`}}}nMj}{{{b{Ld}}{b{dC`}}}n}{{{b{Lf}}{b{dC`}}}n}{{{b{Lh}}{b{dC`}}}n}{{{b{Fn}}{b{dC`}}}n}{{{b{Gh}}{b{dC`}}}n}{{{b{Lj}}{b{dC`}}}n}{c{{Ab{e}}}{}{}}0000000000000{{}{{Ab{c}}}{}}0000000000000{{{b{Gh}}}{{Bf{{b{{Kn{MlKl}}}}}}}}{bCb}0000000000000```{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{Mn}}{b{dAj}}}Al}{{{b{N`}}{b{dAj}}}Al}{cc{}}0{{}c{}}0{bBl}0::9977{{C`c{b{Gn}}}{{Kn{KjKl}}}{{Il{}{{Ff{Gn}}}}}}{{C`c}{{Kn{KjKl}}}{{Il{}{{Ff{Gn}}}}}}{{C`{b{d{Cl{Gn}}}}}C`}`98{{{b{{Nb{c}}}}}{{Nb{c}}}{Dbj}}{{b{b{dc}}}n{}}{bn}{{}{{Nb{c}}}{DbNd}}{{{b{d{Nb{c}}}}c}cDb}:9{{}{{Nb{c}}}Db}{{{b{d{Nb{c}}}}cc}AhDb}{bc{}}{c{{Ab{e}}}{}{}}{{}{{Ab{c}}}{}}{bCb}{{{b{d{Nb{c}}}}cc}nDb}{Fb{{Nb{c}}}Db}","D":"BJn","p":[[1,"reference"],[0,"mut"],[6,"Level",6],[5,"Diagnostic",6],[10,"Clone",942],[5,"SerdeSpan",6],[1,"unit"],[6,"Ordering",943],[6,"Result",944],[10,"Deserializer",945],[10,"Deserialize",945],[1,"bool"],[5,"Formatter",946],[8,"Result",946],[10,"Debug",946],[5,"Error",947],[5,"Span",948],[10,"Hasher",949],[6,"Option",950],[10,"Serializer",951],[10,"Serialize",951],[5,"String",952],[10,"Into",953],[5,"TokenStream",948],[5,"TypeId",954],[5,"FlatGraphBuilder",78,955],[6,"HfStatement",648],[5,"GraphLoopId",78],[5,"HydroflowGraph",78,956],[5,"Vec",957],[6,"PortIndexValue",78],[5,"DiMulGraph",78,958],[10,"Key",959],[5,"Command",960],[5,"ItemUse",961],[1,"tuple"],[5,"HfCode",648],[5,"PathBuf",962],[5,"WriteConfig",78,956],[6,"WriteGraphType",78,956],[5,"GraphNodeId",78],[5,"GraphEdgeId",78],[5,"GraphSubgraphId",78],[6,"GraphNode",78],[5,"OperatorInstance",78],[5,"OpInstGenerics",78],[6,"Color",78],[5,"KeyData",959],[1,"usize"],[5,"Keys",963],[17,"Item"],[10,"ExactSizeIterator",964],[10,"FusedIterator",965],[5,"SlotMap",963],[6,"PortIndex",648],[5,"ArgMatches",966],[8,"Error",967],[5,"Ported",648],[10,"Spanned",968],[5,"Operator",648],[5,"Id",969],[1,"str"],[5,"Ident",948],[5,"Iter",963],[5,"SparseSecondaryMap",970],[10,"DoubleEndedIterator",971],[1,"slice"],[8,"Result",972],[5,"Iter",973],[5,"Copied",974],[6,"Cow",975],[5,"PossibleValue",976],[10,"Write",946],[5,"BTreeMap",977],[10,"Copy",978],[10,"Eq",943],[10,"Ord",943],[10,"IntoIterator",979],[17,"Output"],[10,"FnMut",980],[6,"DelayType",462],[5,"WriteContextArgs",462],[6,"Persistence",462],[6,"OperatorCategory",462],[6,"FloType",462],[10,"RangeTrait",462],[5,"OperatorWriteOutput",462],[6,"Bound",981],[10,"Sized",978],[5,"OperatorConstraints",462],[10,"AsRef",953],[5,"HashMap",982],[6,"Expr",983],[5,"Comma",984],[5,"Punctuated",985],[6,"Pipeline",648],[5,"Import",648],[5,"PipelineParen",648],[5,"PipelineLink",648],[5,"Indexing",648],[5,"IndexInt",648],[5,"Path",986],[8,"ParseStream",987],[8,"Result",947],[5,"NamedHfStatement",648],[5,"PipelineStatement",648],[5,"LoopStatement",648],[10,"Parse",987],[10,"ToTokens",988],[6,"GenericArgument",986],[5,"PrettySpan",901],[5,"PrettyRowCol",901],[5,"UnionFind",924],[10,"Default",989],[15,"Handoff",455],[15,"ModuleBoundary",455],[6,"PortListSpec",462]],"r":[[80,958],[83,955],[91,956],[102,956],[103,956],[220,990],[350,991]],"b":[[36,"impl-Display-for-Diagnostic%3CSerdeSpan%3E"],[37,"impl-Display-for-Diagnostic"],[38,"impl-Debug-for-Diagnostic%3CS%3E"],[39,"impl-Debug-for-SerdeSpan"],[40,"impl-Display-for-SerdeSpan"],[240,"impl-Display-for-PortIndexValue"],[241,"impl-Debug-for-PortIndexValue"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFcCOAAOAA8AHwACACMABgAsAAAALgABADgAAAA6AAIAPwACAEMAAQBGAAgAcAAfAJIAKQC9AA0AzQAIAN4AFAD0AAAA+gABAP0AAAD/AAAABgEEABIBBQBZAQUAagEIAIQBDACSARwAsAESAM8BAQDSAQAA1AEAANYBAADYAQIA3AEBAOUBAADrAQEA8wEAAPYBAAD8AQ8ADQISACICAAAkAgAAJgIDAC0CBAA9AgAAWQIDAGECAABnAhQAfQIHAIkCFgChAkwA/AIFABADOgBMAzkAiAMFAJIDBwCeAwUAqQMDAA=="}],["hydroflow_macro",{"t":"YXQQQXQQ","n":["DemuxEnum","hydroflow_main","hydroflow_parser","hydroflow_syntax","hydroflow_syntax_noemit","hydroflow_test","monotonic_fn","morphism"],"q":[[0,"hydroflow_macro"]],"i":"````````","f":"````````","D":"j","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAMAEAAAAAAAAQACAAYA"}],["hydroflow_plus",{"t":"EEEEEEEEEEEEEEEEECCCCECCCQCCCCGGNNNNNNNNNNNNNNSFIFNNNNCNNNCNCNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKKKKFGRRFGNNNNNNNNMNNMMMNNNNNNNNNNNNNNNNNNNNRRKRKRRRKRRERRKKRRRKRRRRKRKMMMMMMMMMMMMCMMNNCMMMMMMCMMMMMMMMMNNNNMFNNOHHONHHHHHHNNNNONNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPPPFGFPPPPPPPPPPPPPGGGPPPPPPPPPIPPPPPFPPNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOEEPEEPKGEEPREPENNCHNNNCNNNNNCMNNNMNMCNMNNNNNNNCNNNNNKRRRMMJFEFFKRNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNONNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNKKFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCHHHFNNNNNNNHNNNJFNNNNNNNNNNNNRRFKNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNMNNNNMNNNNNNNNNNNNNRKFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Bounded","CLUSTER_SELF_ID","Cluster","ClusterId","ExternalProcess","FlowBuilder","Location","NoOrder","Optional","Process","RUNTIME_CONTEXT","Singleton","Stream","Tick","Timestamped","TotalOrder","Unbounded","boundedness","builder","cycle","deploy","hydroflow","ir","location","optional","q","rewrites","runtime_context","singleton","stream","Bounded","Unbounded","borrow","","borrow_mut","","from","","into","","try_from","","try_into","","type_id","","FLOW_USED_MESSAGE","FlowBuilder","FlowState","FlowStateInner","borrow","","borrow_mut","","built","cluster","compile","compile_no_network","compiled","create","deploy","","drop","external_process","finalize","flow_state","from","","into","","new","optimize_with","process","try_from","","try_into","","type_id","","with_cluster","with_default_optimize","with_external","with_process","BuiltFlow","borrow","borrow_mut","compile","compile_no_network","deploy","drop","from","into","ir","optimize_with","try_from","try_into","type_id","with_cluster","with_default_optimize","with_external","with_process","CompiledFlow","CompiledFlowWithId","borrow","","borrow_mut","","from","","hydroflow_ir","into","","take_ir","to_tokens","","try_from","","try_into","","type_id","","with_dynamic_id","DeployFlow","DeployResult","borrow","","borrow_mut","","compile","compile_no_network","connect_sink_bincode","connect_sink_bytes","connect_source_bincode","connect_source_bytes","deploy","drop","from","","get_cluster","get_external","get_process","into","","ir","raw_port","try_from","","try_into","","type_id","","with_cluster","with_external","with_process","CycleCollection","CycleCollectionWithInitial","CycleComplete","DeferTick","ForwardRef","ForwardRefMarker","Location","","TickCycle","TickCycleMarker","borrow","","","","borrow_mut","","","","complete","","complete_next_tick","create_source","","defer_tick","from","","","","into","","","","try_from","","","","try_into","","","","type_id","","","","Cluster","","ClusterSpec","CompileEnv","Deploy","ExternalProcess","","ExternalRawPort","ExternalSpec","GraphId","","HydroflowPlusMeta","InstantiateEnv","","IntoProcessSpec","LocalDeploy","Meta","","","Node","Port","","Process","","ProcessSpec","","RegisterPort","allocate_cluster_port","allocate_external_port","allocate_process_port","as_bincode_sink","as_bincode_source","as_bytes_sink","as_bytes_source","build","","","cluster_ids","cluster_self_id","deploy_runtime","e2o_connect","e2o_source","has_trivial_node","","in_memory_graph","instantiate","into_process_spec","m2m_connect","m2m_sink_source","m2o_connect","m2o_sink_source","macro_runtime","next_port","o2e_connect","o2e_sink","o2m_connect","o2m_sink_source","o2o_connect","o2o_sink_source","raw_port","register","trivail_cluster","trivial_cluster","trivial_process","","update_meta","HydroflowPlusMeta","borrow","borrow_mut","cluster_id","cluster_members","cluster_self_id","clusters","default","deploy_e2o","deploy_m2m","deploy_m2o","deploy_o2e","deploy_o2m","deploy_o2o","deserialize","from","into","serialize","subgraph_id","try_from","try_into","type_id","MultiGraph","MultiNode","SingleNode","SingleProcessGraph","borrow","","","","borrow_mut","","","","clone","","clone_into","","clone_to_uninit","","from","","","","has_trivial_node","","instantiate","","into","","","","next_port","","to_owned","","trivial_cluster","","trivial_process","","try_from","","","","try_into","","","","type_id","","","","update_meta","","DeployRuntime","DeployRuntimeCluster","DeployRuntimeNode","allocate_cluster_port","allocate_external_port","allocate_process_port","as_bincode_sink","as_bincode_source","as_bytes_sink","as_bytes_source","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","cluster_ids","cluster_self_id","e2o_connect","e2o_source","from","","","has_trivial_node","","instantiate","","into","","","m2m_connect","m2m_sink_source","m2o_connect","m2o_sink_source","next_port","","o2e_connect","o2e_sink","o2m_connect","o2m_sink_source","o2o_connect","o2o_sink_source","raw_port","register","to_owned","","trivail_cluster","trivial_cluster","trivial_process","","try_from","","","try_into","","","type_id","","","update_meta","","AntiJoin","Building","Chain","CrossProduct","CrossSingleton","CycleSink","CycleSource","DebugExpr","DebugInstantiate","DebugPipelineFn","DeferTick","Delta","DestSink","Difference","Enumerate","ExternalNetwork","Filter","FilterMap","Finalized","FlatMap","Fold","FoldKeyed","ForEach","HfPlusLeaf","HfPlusNode","HfPlusSource","Inspect","Iter","Join","Map","Network","Persist","Placeholder","Reduce","ReduceKeyed","SeenTees","Sort","Source","Spin","Stream","Tee","TeeNode","Unique","Unpersist","borrow","","","","","","","borrow_mut","","","","","","","clone","","clone_into","","clone_to_uninit","","compile_network","","connect_network","","dbg_dedup_tee","deref","emit","","fmt","","","","","","","from","","","","","","","","into","","","","","","","span","to_owned","","to_tokens","transform_bottom_up","transform_children","","try_from","","","","","","","try_into","","","","","","","type_id","","","","","","","f","ident","input","","","location_kind","sink","acc","","deserialize_pipeline","f","","","","","","","from_key","from_location","ident","init","","inner","input","","","","","","","","","","","instantiate_fn","is_static","location_kind","","serialize_pipeline","source","to_key","to_location","CanSend","Cluster","","ClusterId","ExternalProcess","","Location","LocationId","NoTick","Process","","Root","Tick","","Timestamped","borrow","borrow_mut","can_send","check_matching_location","clone","clone_into","clone_to_uninit","cluster","eq","equivalent","","","","external_process","flow_state","fmt","forward_ref","from","id","into","is_top_level","process","raw_id","root","","singleton","source_interval","source_interval_delayed","source_iter","source_stream","spin","tick","","to_owned","try_from","try_into","type_id","CanSend","In","Out","OutStrongestOrder","is_demux","tagged_type","CLUSTER_SELF_ID","Cluster","ClusterId","ClusterIds","ClusterSelfId","IsCluster","Tag","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","cluster_id","flow_state","from","","","id","into","","","is_demux","","is_top_level","members","root","tagged_type","","to_owned","","","to_tokens","","try_from","","","try_into","","","type_id","","","ClusterId","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deserialize","eq","equivalent","","","","fmt","","from","from_raw","hash","into","raw_id","serialize","to_owned","to_string","try_from","try_into","type_id","ExternalBincodeSink","ExternalBincodeStream","ExternalBytesPort","ExternalProcess","borrow","","","","borrow_mut","","","","clone","clone_into","clone_to_uninit","flow_state","from","","","","id","into","","","","is_top_level","root","source_external_bincode","source_external_bytes","to_owned","try_from","","","","try_into","","","","type_id","","","","Process","borrow","borrow_mut","clone","clone_into","clone_to_uninit","flow_state","from","id","into","is_demux","","","is_top_level","root","tagged_type","","","to_owned","try_from","try_into","type_id","NoTick","NoTimestamp","Tick","Timestamped","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","cycle","cycle_with_initial","flow_state","","forward_ref","forward_ref_timestamped","from","","id","","into","","is_top_level","","outer","root","","singleton","singleton_first_tick","spin_batch","to_owned","","try_from","","try_into","","type_id","","Optional","all_ticks","borrow","borrow_mut","clone","clone_into","clone_to_uninit","complete","","","continue_if","continue_unless","create_source","","","defer_tick","","delta","drop_timestamp","filter","filter_map","flat_map_ordered","flat_map_unordered","flatten_ordered","flatten_unordered","from","","","into","into_singleton","into_stream","latest","latest_tick","map","persist","sample_eager","sample_every","some","then","timestamped","to_owned","try_from","try_into","type_id","union","unwrap_or","zip","persist_pullup","profiler","properties","persist_pullup","increment_counter","profiling","PropertyDatabase","add_commutative_tag","borrow","borrow_mut","default","from","into","is_tagged_commutative","properties_optimize","try_from","try_into","type_id","RUNTIME_CONTEXT","RuntimeContext","borrow","borrow_mut","clone","clone_into","clone_to_uninit","from","into","to_owned","to_tokens","try_from","try_into","type_id","Location","Out","Singleton","ZipResult","all_ticks","borrow","borrow_mut","clone","clone_into","clone_to_uninit","complete","","","continue_if","continue_unless","create_source","","","defer_tick","","delta","drop_timestamp","filter","filter_map","flat_map_ordered","flat_map_unordered","from","","into","into_stream","latest","latest_tick","make","","","","","map","other_ir_node","","","","","other_location","","","","","persist","sample_eager","sample_every","timestamped","to_owned","try_from","try_into","type_id","zip","Min","MinOrder","NoOrder","Stream","TotalOrder","all_ticks","anti_join","assume_ordering","borrow","","","borrow_mut","","","broadcast_bincode","broadcast_bincode_interleaved","broadcast_bytes","broadcast_bytes_interleaved","chain","clone","clone_into","clone_to_uninit","cloned","complete","","continue_if","continue_unless","count","create_source","","cross_product","cross_singleton","decouple_cluster","decouple_process","defer_tick","","delta","dest_sink","drop_timestamp","enumerate","filter","filter_map","filter_not_in","first","flat_map_ordered","flat_map_unordered","flatten_ordered","flatten_unordered","fold","fold_commutative","fold_keyed","fold_keyed_commutative","for_each","from","","","","inspect","into","","","join","keys","last","map","max","max_by_key","min","persist","reduce","reduce_commutative","reduce_keyed","reduce_keyed_commutative","round_robin_bincode","round_robin_bincode_interleaved","round_robin_bytes","round_robin_bytes_interleaved","sample_every","send_bincode","send_bincode_external","send_bincode_interleaved","send_bytes","send_bytes_external","send_bytes_interleaved","sort","tick_batch","timeout","timestamp_source","timestamped","to_owned","try_from","","","try_into","","","type_id","","","union","","unique"],"q":[[0,"hydroflow_plus"],[30,"hydroflow_plus::boundedness"],[46,"hydroflow_plus::builder"],[83,"hydroflow_plus::builder::built"],[101,"hydroflow_plus::builder::compiled"],[122,"hydroflow_plus::builder::deploy"],[154,"hydroflow_plus::cycle"],[198,"hydroflow_plus::deploy"],[264,"hydroflow_plus::deploy::deploy_runtime"],[286,"hydroflow_plus::deploy::in_memory_graph"],[338,"hydroflow_plus::deploy::macro_runtime"],[405,"hydroflow_plus::ir"],[527,"hydroflow_plus::ir::HfPlusLeaf"],[534,"hydroflow_plus::ir::HfPlusNode"],[569,"hydroflow_plus::location"],[621,"hydroflow_plus::location::can_send"],[627,"hydroflow_plus::location::cluster"],[679,"hydroflow_plus::location::cluster::cluster_id"],[704,"hydroflow_plus::location::external_process"],[746,"hydroflow_plus::location::process"],[768,"hydroflow_plus::location::tick"],[810,"hydroflow_plus::optional"],[857,"hydroflow_plus::rewrites"],[860,"hydroflow_plus::rewrites::persist_pullup"],[861,"hydroflow_plus::rewrites::profiler"],[863,"hydroflow_plus::rewrites::properties"],[875,"hydroflow_plus::runtime_context"],[889,"hydroflow_plus::singleton"],[946,"hydroflow_plus::stream"],[1048,"core::result"],[1049,"core::any"],[1050,"alloc::vec"],[1051,"core::ops::function"],[1052,"hydroflow_lang::graph::hydroflow_graph"],[1053,"alloc::collections::btree::map"],[1054,"proc_macro2"],[1055,"core::option"],[1056,"stageleft"],[1057,"futures_sink"],[1058,"alloc::boxed"],[1059,"core::pin"],[1060,"serde::ser"],[1061,"serde::de"],[1062,"futures_core::stream"],[1063,"core::future::future"],[1064,"core::marker"],[1065,"syn::expr"],[1066,"syn::stmt"],[1067,"hydroflow::util::deploy"],[1068,"alloc::string"],[1069,"std::collections::hash::map"],[1070,"hydroflow_lang::graph::flat_graph_builder"],[1071,"core::cell"],[1072,"core::fmt"],[1073,"core::clone"],[1074,"tokio::time::instant"],[1075,"core::time"],[1076,"core::iter::traits::collect"],[1077,"syn::ty"],[1078,"core::hash"],[1079,"bytes::bytes"],[1080,"core::convert"],[1081,"futures_channel::mpsc"],[1082,"core::cmp"],[1083,"stageleft_macro"]],"i":"````````````````````````````````KlN`101010101010````A@hj10`000`0`0000010100001010100000`Aj0000000000000000``nCn10101101101010101``BhA`1011000011100001010101010111``````FfFj``ElF`EjEn3210Ed2165Fb54325432543254325432BjAf`0`100`10`0Hb``210`1021`C``222Fl000G`BlBn66`6676`546666`56666663367765`Hj00``00``````00000000````A@jA@lIdIf32101010103210321032101010323232103210321010```A@n00Ih00010Ij210101010222221022102102222102222221110222221021021010JfJl111An2```22022Kd3323331```303333333`33003`332KbInJ`34652103461010104646`14652103465211034652103461101646521034652103465210346AA`AAb1AAd110AAfAAhAAjAAlAAnAB`ABbABdABfABh77ABj:9ABl8765ABn5<;43::0AC`3;0;;``Eh``0````0Fh`1`11``111`11111`0101010`101000000`01111`A@f0000``````ACblMbMd210210210210`22102210222222221010210210210`Mf00000000000000000000000````DnDbE`Ah3210000032100321000000321032103210`Bf00000000000000000000````MnLn101010100010001010101001000010101010`Nb000000000000000000000000000000000000000000000```````Ob000000`000``Od00000000000ACd0``Kn0000000000000000000000000001000001000010000000000000Oj````Ld00OlNj21022222222222222222222222222222222222222221022210222222222222222222222222222222102102102222","f":"````````````````````````````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{cc{}}0{{}c{}}0{c{{f{e}}}{}{}}0{{}{{f{c}}}{}}0{bh}0````6655`{{{b{j}}}{{l{c}}}{}}{{jb}n}{jn}`{{}j}`{{j{b{d}}}{{A`{c}}}{{Af{}{{Ab{Ad}}}}}}{{{b{dj}}}Ad}{{{b{j}}}{{Ah{c}}}{}}{jAj}{{{b{j}}}{{b{Al}}}}==<<5{{jc}Aj{{Bd{{B`{An}}}{{Bb{{B`{An}}}}}}}}{{{b{j}}}{{Bf{c}}}{}}==<<;;{{j{b{{l{c}}}}g}{{Bh{e}}}{}Bj{{Bl{e}}}}{j{{Bh{c}}}Bj}{{j{b{{Ah{c}}}}g}{{Bh{e}}}{}Bj{{Bn{e}}}}{{j{b{{Bf{c}}}}g}{{Bh{e}}}{}Bj{{C`{e}}}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{Ajb}n}{Ajn}{{Aj{b{d}}}{{A`{c}}}{{Af{}{{Ab{Ad}}}}}}{{{b{dAj}}}Ad}{cc{}}{{}c{}}{{{b{Aj}}}{{b{{B`{An}}}}}}{{Ajc}Aj{{Bd{{B`{An}}}{{Bb{{B`{An}}}}}}}}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}{{Aj{b{{l{c}}}}g}{{Bh{e}}}{}Bj{{Bl{e}}}}{Aj{{Bh{c}}}Bj}{{Aj{b{{Ah{c}}}}g}{{Bh{e}}}{}Bj{{Bn{e}}}}{{Aj{b{{Bf{c}}}}g}{{Bh{e}}}{}Bj{{C`{e}}}}``{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0<<{{{b{{n{c}}}}}{{b{{Cf{CbCd}}}}}{}}<<{{{n{c}}}{{Cf{CbCd}}}{}}{{{n{Ad}}{b{c}}}{{Cl{{Cj{Ch}}{Cj{Ch}}}}}{}}{{Cn{b{c}}}{{Cl{{Cj{Ch}}{Cj{Ch}}}}}{}}<<;;::{{{n{Cb}}c}Cn{{D`{CbAd}}}}``6655{{{Bh{c}}b}nAf}{{{Bh{c}}}nBj}{{{b{{A`{c}}}}{Db{e}}}{{Dh{{Df{Dd}}}}}Af{DjDl}}{{{b{{A`{c}}}}Dn}{{Dh{{Df{Dd}}}}}Af}{{{b{{A`{c}}}}{E`{e}}}{{Dh{{Df{Eb}}}}}Af{DjDl}}{{{b{{A`{c}}}}Dn}{{Dh{{Df{Eb}}}}}Af}{{{Bh{c}}{b{d}}}{{A`{c}}}{{Af{}{{Ab{Ad}}}}}}{{{b{d{Bh{c}}}}}AdBj}{cc{}}0{{{b{{A`{c}}}}{b{{l{e}}}}}bAf{}}{{{b{{A`{c}}}}{b{{Ah{e}}}}}bAf{}}{{{b{{A`{c}}}}{b{{Bf{e}}}}}bAf{}}{{}c{}}0{{{b{{Bh{c}}}}}{{b{{B`{An}}}}}Bj}{{{b{{A`{c}}}}Dn}{}Af}{c{{f{e}}}{}{}}0{{}{{f{c}}}{}}0{bh}0{{{Bh{c}}{b{{l{e}}}}g}{{Bh{c}}}Bj{}{{Bl{c}}}}{{{Bh{c}}{b{{Ah{e}}}}g}{{Bh{c}}}Bj{}{{Bn{c}}}}{{{Bh{c}}{b{{Bf{e}}}}g}{{Bh{c}}}Bj{}{{C`{c}}}}``````````{b{{b{c}}}{}}000{{{b{d}}}{{b{dc}}}{}}000{{EdEfEh}Ad}{{{Ej{c}}c}Ad{{Ed{El}}}}{{{En{c}}c}Ad{{Ed{F`}}Fb}}{{Efc}{{Ff{}{{Fd{c}}}}}Fh}{{Ef{Fj{}{{Fd{c}}}}c}{{Fj{}{{Fd{c}}}}}Fh}{FbFb}{cc{}}000{{}c{}}000????>>>>====```````````````````````````{{{b{c}}}e{}{}}00{{{b{Fl}}Cb}{{`{{Fn{}{{Bb{{Dh{{Df{Dd}}}}}}}}}}}}{{{b{Fl}}Cb}{{`{{Fn{}{{Bb{{Dh{{Df{Eb}}}}}}}}}}}}10{{G`Cb{b{Gb}}}}{{BlCb{b{Gb}}}}{{BnCb{b{Gb}}}}{{{b{c}}Cb}{{`{{D`{{b{{B`{Gd}}}}Ad}}Gf}}}{}}{{{b{c}}}{{`{{D`{GdAd}}Gf}}}{}}`{{{b{c}}{b{e}}{b{g}}{b{e}}}{{Df{Bd}}}{}{}{}}{{{b{c}}{b{e}}{b{g}}{b{i}}{b{g}}}Gh{}{}{}{}}{{}Gj}0`{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}{b{dg}}{b{de}}Cd{B`{Hd}}}Ad{}{}{}}{{{C`{}{{Hf{c}}}}}c{{G`{e}}}{BjHh}}{{{b{c}}{b{e}}{b{c}}{b{e}}}{{Df{Bd}}}{}{}}{{{b{c}}{b{e}}{b{g}}{b{e}}{b{g}}}{{Cl{GhGh}}}{}{}{}}6{{{b{c}}{b{e}}{b{g}}{b{i}}{b{g}}}{{Cl{GhGh}}}{}{}{}{}}`{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}}c{}{}{}}878132{{{b{Fl}}Cb}}{{{b{Fl}}Cb}Ad}{Cbc{}}000{{{b{d{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}{b{e}}}Ad{}{}{}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{{{Hn{{b{{Hl{Hj}}}}}}Cb}{{`{{D`{{b{{B`{Gd}}}}Ad}}Gf}}}}{{{Hn{{b{{Hl{Hj}}}}}}}{{`{{D`{GdAd}}Gf}}}}`{{}Hj}{{{Hn{{b{{Hl{Hj}}}}}}{b{Gb}}{b{Gb}}}Gh}{{{Hn{{b{{Hl{Hj}}}}}}{b{Gb}}{b{Gb}}}{{Cl{GhGh}}}}0100{c{{f{Hj}}}I`}{cc{}}{{}c{}}{{{b{Hj}}c}fIb}`{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}````====<<<<{{{b{Id}}}Id}{{{b{If}}}If}{{b{b{dc}}}Ad{}}0{bAd}09999{{}Gj}0{{{b{Id}}{b{dc}}{b{de}}Cd{B`{Hd}}}Ad{}{}}{{{b{If}}{b{dc}}{b{de}}Cd{B`{Hd}}}Ad{}{}};;;;{{{b{Id}}}Ad}{{{b{If}}}Ad}{bc{}}0{Cbc{}}000====<<<<;;;;{{{b{dId}}{b{c}}}Ad{}}{{{b{dIf}}{b{c}}}Ad{}}```{{{b{c}}}e{}{}}00{{{b{Ih}}Cb}{{`{{Fn{}{{Bb{{Dh{{Df{Dd}}}}}}}}}}}}{{{b{Ih}}Cb}{{`{{Fn{}{{Bb{{Dh{{Df{Eb}}}}}}}}}}}}10{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{b{Ih}}}Ih}{{{b{Ij}}}Ij}{{b{b{dc}}}Ad{}}0{bAd}0{{{b{c}}Cb}{{`{{D`{{b{{B`{Gd}}}}Ad}}Gf}}}{}}{{{b{c}}}{{`{{D`{GdAd}}Gf}}}{}}{{{b{c}}{b{e}}{b{g}}{b{e}}}{{Df{Bd}}}{}{}{}}{{{b{c}}{b{e}}{b{g}}{b{i}}{b{g}}}Gh{}{}{}{}}{cc{}}00{{}Gj}0{{{b{Ih}}{b{dc}}{b{de}}Cd{B`{Hd}}}Ad{}{}}{{{b{Ij}}{b{dc}}{b{de}}Cd{B`{Hd}}}Ad{}{}}{{}c{}}00{{{b{c}}{b{e}}{b{c}}{b{e}}}{{Df{Bd}}}{}{}}{{{b{c}}{b{e}}{b{g}}{b{e}}{b{g}}}{{Cl{GhGh}}}{}{}{}}8{{{b{c}}{b{e}}{b{g}}{b{i}}{b{g}}}{{Cl{GhGh}}}{}{}{}{}}{{{b{Ih}}}Il}{{{b{Ij}}}Il};:;243{{{b{Ih}}Cb}}{{{b{Ih}}Cb}Ad}{bc{}}0{Cbc{}}{Cb}10{c{{f{e}}}{}{}}00{{}{{f{c}}}{}}00{bh}00{{{b{dIh}}{b{c}}}Ad{}}{{{b{dIj}}{b{c}}}Ad{}}````````````````````````````````````````````{b{{b{c}}}{}}000000{{{b{d}}}{{b{dc}}}{}}000000{{{b{In}}}In}{{{b{J`}}}J`}{{b{b{dc}}}Ad{}}0{bAd}0{{Anb{b{dJb}}{b{{Jd{Cb}}}}{b{{Jd{Cb}}}}{b{{Jd{Cb}}}}}An}{{{b{dJf}}b{b{dJb}}{b{{Jd{Cb}}}}{b{{Jd{Cb}}}}{b{{Jd{Cb}}}}}Ad}{{An{b{dJb}}}An}{{{b{dJf}}{b{dJb}}}Ad}{ec{}{{Bd{}{{Bb{c}}}}}}{{{b{In}}}{{b{c}}}{}}{{{b{An}}{b{d{Cf{CbJh}}}}{b{d{Jd{Jj{Cl{EfCb}}}}}}{b{dCb}}}Ad}{{{b{Jf}}{b{d{Cf{CbJh}}}}{b{d{Jd{Jj{Cl{EfCb}}}}}}{b{dCb}}}{{Cl{EfCb}}}}{{{b{Jl}}{b{dJn}}}K`}{{{b{Kb}}{b{dJn}}}K`}{{{b{In}}{b{dJn}}}K`}{{{b{J`}}{b{dJn}}}K`}{{{b{Kd}}{b{dJn}}}K`}{{{b{An}}{b{dJn}}}K`}{{{b{Jf}}{b{dJn}}}K`}{cc{}}0{GhIn}11111{{}c{}}000000{bKf}{bc{}}0{{{b{In}}{b{dCh}}}Ad}{{{b{dJf}}e{b{dJb}}{b{dc}}}Ad{}{{Kh{{b{dJf}}{b{dc}}}}Gf}}{{Anc{b{dJb}}}An{{Kh{{b{dJf}}{b{dJb}}}}}}{{{b{dJf}}c{b{dJb}}}Ad{{Kh{{b{dJf}}{b{dJb}}}}}}{c{{f{e}}}{}{}}000000{{}{{f{c}}}{}}000000{bh}000000`````````````````````````````````````````````````````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{{{b{c}}{b{c}}}AdFh}{{{b{Eh}}}Eh}{{b{b{dc}}}Ad{}}{bAd}`{{{b{Eh}}{b{Eh}}}Gj}{{b{b{c}}}Gj{}}000`{{{b{{Fh{}{{Kj{c}}}}}}}{{b{Al}}}Fh}{{{b{Eh}}{b{dJn}}}K`}{{{b{{Fh{}{{Kj{c}}}}}}}{{Cl{{Ej{e}}e}}}Fh{{Ff{El}{{Fd{{Fh{}{{Kj{c}}}}}}}}}}{cc{}}{{{b{{Fh{}{{Kj{c}}}}}}}EhFh}{{}c{}}{{}Gj}`{{{b{Eh}}}Cb}{{{b{{Fh{}{{Kj{c}}}}}}}cFh}{{{b{Eh}}}{{b{Eh}}}}{{{b{{Fh{}{{Kj{c}}}}}}g}{{Kn{e{Fh{}{{Kj{c}}}}Kl}}}FhL`{{D`{e{Fh{}{{Kj{c}}}}}}}}{{{b{{Fh{}{{Kj{c}}}}}}e}{{Ld{Lb{Fh{}{{Kj{c}}}}Kl}}}Fh{{D`{Lf{Fh{}{{Kj{c}}}}}}Gf}}{{{b{{Fh{}{{Kj{c}}}}}}eg}{{Ld{Lb{Fh{}{{Kj{c}}}}Kl}}}Fh{{D`{Lf{Fh{}{{Kj{c}}}}}}Gf}{{D`{Lf{Fh{}{{Kj{c}}}}}}Gf}}{{{b{{Fh{}{{Kj{c}}}}}}i}{{Ld{e{Fh{}{{Kj{c}}}}Kl}}}Fh{}{{Lj{}{{Lh{e}}}}}{{D`{g{Fh{}{{Kj{c}}}}}}}}{{{b{{Fh{}{{Kj{c}}}}}}i}{{Ld{e{Fh{}{{Kj{c}}}}Kl}}}Fh{}{{Eb{}{{Lh{e}}}}Ll}{{D`{g{Fh{}{{Kj{c}}}}}}}}{{{b{{Fh{}{{Kj{c}}}}}}}{{Ld{Ad{Fh{}{{Kj{c}}}}Kl}}}Fh}`{{{b{{Fh{}{{Kj{c}}}}}}}{{Ln{{Fh{}{{Kj{c}}}}}}}Fh}{bc{}}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}````>{{}{{Cj{M`}}}}```````{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{b{{l{c}}}}}{{l{c}}}{}}{{{b{{Mb{c}}}}}{{Mb{c}}}{}}{{{b{Md}}}Md}{{b{b{dc}}}Ad{}}00{bAd}00`{{{b{{l{c}}}}}{{b{Al}}}{}}{cc{}}00{{{b{{l{c}}}}}Eh{}}{{}c{}}00{{}Gj}00{{{b{{l{c}}}}}{{Mb{c}}}{}}{{{b{{l{c}}}}}e{}{}}>>{bc{}}00{{{Mb{c}}{b{e}}}{{Cl{{Cj{Ch}}{Cj{Ch}}}}}{}{}}{{Md{b{c}}}{{Cl{{Cj{Ch}}{Cj{Ch}}}}}Fh}{c{{f{e}}}{}{}}00{{}{{f{c}}}{}}00{bh}00`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{{Mf{c}}}}}{{Mf{c}}}{}}{{b{b{dc}}}Ad{}}{bAd}{c{{f{{Mf{e}}}}}I`{}}{{{b{{Mf{c}}}}{b{{Mf{c}}}}}Gj{}}{{b{b{c}}}Gj{}}000{{{b{{Mf{c}}}}{b{dJn}}}K`{}}0{cc{}}{Gd{{Mf{c}}}{}}{{{b{{Mf{c}}}}{b{de}}}Ad{}Mh}{{}c{}}`{{{b{{Mf{c}}}}e}f{}Ib}{bc{}}{bIl}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}````{b{{b{c}}}{}}000{{{b{d}}}{{b{dc}}}{}}000{{{b{{Ah{c}}}}}{{Ah{c}}}{}}{{b{b{dc}}}Ad{}}{bAd}{{{b{{Ah{c}}}}}{{b{Al}}}{}}????{{{b{{Ah{c}}}}}Eh{}}===={{}Gj}{{{b{{Ah{c}}}}}e{}{}}{{{b{{Ah{c}}}}{b{e}}}{{Cl{{Db{g}}{Ld{geKl}}}}}{}{FhMj}{DjDl}}{{{b{{Ah{c}}}}{b{e}}}{{Cl{Dn{Ld{MleKl}}}}}{}{FhMj}}?====<<<<;;;;`:9{{{b{{Bf{c}}}}}{{Bf{c}}}{}}87{{{b{{Bf{c}}}}}{{b{Al}}}{}}{cc{}}{{{b{{Bf{c}}}}}Eh{}}{{}c{}}8888{{{b{{Bf{c}}}}}e{}{}}{{}{{Cj{M`}}}}00{bc{}}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{{Mn{c}}}}}{{Mn{c}}}L`}{{{b{{Ln{c}}}}}{{Ln{c}}}L`}{{b{b{dc}}}Ad{}}0{bAd}0{{{b{{Ln{c}}}}}{{Cl{{En{e}}e}}}{MjFh}{{Ff{F`}{{Fd{{Ln{c}}}}}}Fb}}{{{b{{Ln{c}}}}e}{{Cl{{En{e}}e}}}{MjFh}{{Fj{F`}{{Fd{{Ln{c}}}}}}Fb}}{{{b{{Mn{c}}}}}{{b{Al}}}Fh}{{{b{{Ln{c}}}}}{{b{Al}}}Fh}{{{b{{Ln{c}}}}}{{Cl{{Ej{e}}e}}}{MjFh}{{Ff{El}{{Fd{{Ln{c}}}}}}}}{{{b{{Ln{c}}}}}{{Cl{{Ej{e}}e}}}Fh{{Ff{El}{{Fd{{Mn{c}}}}}}}}{cc{}}0{{{b{{Mn{c}}}}}EhFh}{{{b{{Ln{c}}}}}EhFh}{{}c{}}0{{}Gj}0{{{b{{Ln{c}}}}}{{b{c}}}Fh}{{{b{{Mn{c}}}}}eFh{}}{{{b{{Ln{c}}}}}eFh{}}{{{b{{Ln{c}}}}g}{{Kn{e{Ln{c}}N`}}}{MjFh}L`{{D`{ec}}}}{{{b{{Ln{c}}}}g}{{Nb{e{Ln{c}}N`}}}{MjFh}L`{{D`{e{Ln{c}}}}}}{{{b{{Ln{c}}}}e}{{Ld{Ad{Ln{c}}N`}}}{MjNdFh}{{D`{Cbc}}Gf}}{bc{}}0{c{{f{e}}}{}{}}0{{}{{f{c}}}{}}0{bh}0`{{{Nb{c{Ln{e}}N`}}}{{Ld{c{Mn{e}}Kl}}}{}Fh}{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{{Nb{ceg}}}}}{{Nb{ceg}}}L`Fh{}}{{b{b{dc}}}Ad{}}{bAd}{{{Nb{c{Ln{e}}N`}}EfEh}Ad{}Fh}0{{{Nb{ceg}}EfEh}Ad{}{FhMj}{}}{{{Nb{ceN`}}{Nb{geN`}}}{{Nb{ceN`}}}{}Fh{}}0{{Efc}{{Nb{ecg}}}{FhMj}{}{}}{{Ef{Ln{c}}}{{Nb{e{Ln{c}}N`}}}Fh{}}0{{{Nb{c{Ln{e}}N`}}}{{Nb{c{Ln{e}}N`}}}{}Fh}00{{{Nb{c{Mn{e}}g}}}{{Nb{ceg}}}{}{FhMj}{}}{{{Nb{ceg}}k}{{Nb{ceg}}}{}Fh{}{{Nf{{b{c}}}{{Bb{Gj}}}}}{{Nh{ie}}}}{{{Nb{ceg}}m}{{Nb{ieg}}}{}Fh{}{}{{Nf{c}{{Bb{{Cj{i}}}}}}}{{Nh{ke}}}}{{{Nb{ceg}}o}{{Ld{ieg}}}{}Fh{}{}{{Lj{}{{Lh{i}}}}}{{Nf{c}{{Bb{k}}}}}{{Nh{me}}}}{{{Nb{ceg}}o}{{Ld{iegNj}}}{}Fh{}{}{{Lj{}{{Lh{i}}}}}{{Nf{c}{{Bb{k}}}}}{{Nh{me}}}}{{{Nb{egi}}}{{Ld{cgi}}}{}{{Lj{}{{Lh{c}}}}}Fh{}}{{{Nb{egi}}}{{Ld{cgiNj}}}{}{{Lj{}{{Lh{c}}}}}Fh{}}{{{Kn{ceg}}}{{Nb{ceg}}}{}Fh{}}{{{Nb{ceN`}}}{{Nb{ceKl}}}{}Fh}{cc{}}{{}c{}}{{{Nb{ceg}}}{{Kn{{Cj{c}}eg}}}L`Fh{}}{{{Nb{ceN`}}}{{Ld{ceN`}}}{}Fh}{{{Nb{c{Ln{e}}N`}}}{{Nb{c{Mn{e}}Kl}}}{}Fh}{{{Nb{c{Mn{e}}g}}}{{Nb{c{Ln{e}}N`}}}{}{FhMj}{}}{{{Nb{ceg}}m}{{Nb{ieg}}}{}Fh{}{}{{Nf{c}{{Bb{i}}}}}{{Nh{ke}}}}{{{Nb{c{Ln{e}}N`}}}{{Ld{c{Ln{e}}N`}}}{}Fh}{{{Nb{ceg}}}{{Ld{ceKl}}}{}{FhMj}{}}{{{Nb{ceg}}i}{{Ld{ceKl}}}{}{NdFhMj}{}{{D`{Lfe}}Gf}};{{{Nb{ceN`}}{Kn{geN`}}}{{Nb{geN`}}}{}Fh{}}{{{Nb{ceg}}{b{{Ln{e}}}}}{{Nb{c{Mn{e}}g}}}{}{FhMj}{}}{bc{}}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}{{{Nb{ceg}}{Nb{ceg}}}{{Nb{ceg}}}{}Fh{}}{{{Nb{ceg}}{Kn{ceg}}}{{Kn{ceg}}}{}Fh{}}{{{Nb{ceg}}k}{{Nb{{Cl{ci}}eg}}}{}Fh{}L`{{Nl{{Nb{ieg}}}}}}```{{{B`{An}}}{{B`{An}}}}{{{b{dNn}}}Ad}{{{B`{An}}{Hn{{b{{Jj{{B`{Nn}}}}}}}}{Hn{{b{{Jj{{O`{{Cl{CbNn}}}}}}}}}}}{{B`{An}}}}`{{{b{dOb}}k{b{i}}}k{}{}{{Nf{{b{dc}}e}}}{}{{D`{gi}}L`}}{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{}Ob}{cc{}}{{}c{}}{{{b{Ob}}{b{Gh}}}Gj}{{{B`{An}}{b{Ob}}}{{B`{An}}}}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}``98{{{b{Od}}}Od}{{b{b{dc}}}Ad{}}{bAd}98{bc{}}{{Od{b{c}}}{{Cl{{Cj{Ch}}{Cj{Ch}}}}}Fh}765````{{{Kn{c{Ln{e}}N`}}}{{Ld{c{Mn{e}}Kl}}}{}Fh}?>{{{b{{Kn{ceg}}}}}{{Kn{ceg}}}L`Fh{}}54{{{Kn{c{Ln{e}}N`}}EfEh}Ad{}Fh}0{{{Kn{ceg}}EfEh}Ad{}{FhMj}{}}{{{Kn{ceg}}{Nb{ieN`}}}{{Nb{ceN`}}}{}Fh{}{}}0{{Efc}{{Kn{ecg}}}{FhMj}{}{}}{{Ef{Ln{c}}}{{Kn{e{Ln{c}}N`}}}Fh{}}{{Ef{Kn{c{Ln{e}}N`}}{Ln{e}}}{{Kn{c{Ln{e}}N`}}}{}Fh}{{{Kn{c{Ln{e}}N`}}}{{Kn{c{Ln{e}}N`}}}{}Fh}0{{{Kn{c{Ln{e}}N`}}}{{Nb{c{Ln{e}}N`}}}{}Fh}{{{Kn{c{Mn{e}}g}}}{{Nb{ceg}}}{}{FhMj}{}}{{{Kn{ceg}}k}{{Nb{ceg}}}{}Fh{}{{Nf{{b{c}}}{{Bb{Gj}}}}}{{Nh{ie}}}}{{{Kn{ceg}}m}{{Nb{ieg}}}{}Fh{}{}{{Nf{c}{{Bb{{Cj{i}}}}}}}{{Nh{ke}}}}{{{Kn{ceg}}o}{{Ld{ieg}}}{}Fh{}{}{{Lj{}{{Lh{i}}}}}{{Nf{c}{{Bb{k}}}}}{{Nh{me}}}}0{{{Kn{ceN`}}}{{Kn{ceKl}}}{}Fh}{cc{}}{{}c{}}{{{Kn{c{Ln{e}}N`}}}{{Ld{c{Ln{e}}N`}}}{}Fh}{{{Kn{c{Ln{e}}N`}}}{{Kn{c{Mn{e}}Kl}}}{}Fh}{{{Kn{c{Mn{e}}g}}}{{Kn{c{Ln{e}}N`}}}{}{FhMj}{}}{{cJf}e{}{}}{{{Mn{c}}Jf}eFh{}}{{{Ln{c}}Jf}eFh{}}01{{{Kn{ceg}}m}{{Kn{ieg}}}{}Fh{}{}{{Nf{c}{{Bb{i}}}}}{{Nh{ke}}}}{cJf{}}{{{Kn{c{Ln{e}}g}}}JfL`Fh{}}{{{Nb{c{Ln{e}}g}}}JfL`Fh{}}{{{Kn{c{Mn{e}}g}}}JfL`Fh{}}{{{Nb{c{Mn{e}}g}}}JfL`Fh{}}{{{b{c}}}e{}{}}{{{b{{Nb{c{Ln{e}}g}}}}}{{Ln{e}}}L`Fh{}}{{{b{{Kn{c{Mn{e}}g}}}}}{{Mn{e}}}L`Fh{}}{{{b{{Kn{c{Ln{e}}g}}}}}{{Ln{e}}}L`Fh{}}{{{b{{Nb{c{Mn{e}}g}}}}}{{Mn{e}}}L`Fh{}}{{{Kn{c{Ln{e}}N`}}}{{Ld{c{Ln{e}}N`}}}{}Fh}{{{Kn{ceg}}}{{Ld{ceKl}}}{}{FhMj}{}}{{{Kn{ceg}}i}{{Ld{ceKl}}}{}{NdFhMj}{}{{D`{Lfe}}Gf}}{{{Kn{ceg}}{b{{Ln{e}}}}}{{Kn{c{Mn{e}}g}}}{}{FhMj}{}}{bc{}}{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}{{{Kn{ceg}}i}k{}Fh{}{}{}}`````{{{Ld{c{Ln{e}}N`g}}}{{Ld{c{Mn{e}}Klg}}}{}Fh{}}{{{Ld{{Cl{ce}}gik}}{Ld{cgN`m}}}{{Ld{{Cl{ce}}gik}}}{OfOh}{}Fh{}{}{}}{{{Ld{cegi}}}{{Ld{cegk}}}{}Fh{}{}{}}{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{Ld{cegi}}{b{{l{k}}}}}{{Ld{{l{k}}Kl}}}{L`DjDl}{FhMj}{}Oj{}}{{{Ld{cegi}}{b{{l{k}}}}}{{Ld{c{l{k}}Kl}}}{L`DjDl}{FhMj}{}Oj{}}{{{Ld{cegi}}{b{{l{k}}}}}{{Ld{{l{k}}Kl}}}L`{FhMj}{}Oj{}}{{{Ld{cegi}}{b{{l{k}}}}}{{Ld{Ml{l{k}}Kl}}}L`{FhMj}{}Oj{}}{{{Ld{ceN`Ol}}{Ld{ceN`Ol}}}{{Ld{ceN`Ol}}}{}Fh}{{{b{{Ld{cegi}}}}}{{Ld{cegi}}}L`Fh{}{}}{{b{b{dc}}}Ad{}}{bAd}{{{Ld{cegi}}}{{Ld{cegi}}}L`Fh{}{}}{{{Ld{cegi}}EfEh}Ad{}{FhMj}{}{}}{{{Ld{c{Ln{e}}N`g}}EfEh}Ad{}Fh{}}{{{Ld{cegi}}{Nb{keN`}}}{{Ld{cegi}}}{}Fh{}{}{}}0{{{Ld{cegi}}}{{Kn{Cbeg}}}{}Fh{}{{Oj{Nj}{{On{Nj}}}}}}{{Ef{Ln{c}}}{{Ld{e{Ln{c}}N`g}}}Fh{}{}}{{Efc}{{Ld{ecgi}}}{FhMj}{}{}{}}{{{Ld{cegi}}{Ld{kegi}}}{{Ld{{Cl{ck}}egi}}}L`Fh{}{}L`}{{{Ld{cegi}}m}{{Ld{{Cl{ck}}egi}}}{}Fh{}{}L`{{Nl{{Nb{keN`}}}}}}{{{Ld{c{l{e}}gi}}{b{{l{k}}}}}{{Ld{c{l{k}}Kli}}}{L`DjDl}{}{}Oj{}}{{{Ld{cegi}}{b{{Bf{k}}}}}{{Ld{c{Bf{k}}Kli}}}{L`DjDl}{FhMj}{}{{Oj{}{{On{}}}}}{}}{{{Ld{c{Ln{e}}N`g}}}{{Ld{c{Ln{e}}N`g}}}{}Fh{}}00{{{Ld{cegi}}m}Ad{}{FhMj}{}{}{Ll{Dd{c}}}{{D`{ke}}}}{{{Ld{c{Mn{e}}gi}}}{{Ld{cegi}}}{}{FhMj}{}{}}{{{Ld{cegOl}}}{{Ld{{Cl{Cbc}}egOl}}}{}Fh{}}{{{Ld{cegi}}m}{{Ld{cegi}}}{}Fh{}{}{{Nf{{b{c}}}{{Bb{Gj}}}}}{{Nh{ke}}}}{{{Ld{cegi}}o}{{Ld{kegi}}}{}Fh{}{}{}{{Nf{c}{{Bb{{Cj{k}}}}}}}{{Nh{me}}}}{{{Ld{cegi}}{Ld{ceN`k}}}{{Ld{ceN`i}}}{OfOh}Fh{}{}{}}{{{Ld{cegOl}}}{{Nb{ceg}}}{}Fh{}}{{{Ld{cegi}}Aa}{{Ld{kegi}}}{}Fh{}{}{}{{Lj{}{{Lh{k}}}}}{{Nf{c}{{Bb{m}}}}}{{Nh{oe}}}}{{{Ld{cegi}}Aa}{{Ld{kegNj}}}{}Fh{}{}{}{{Lj{}{{Lh{k}}}}}{{Nf{c}{{Bb{m}}}}}{{Nh{oe}}}}{{{Ld{egik}}}{{Ld{cgik}}}{}{{Lj{}{{Lh{c}}}}}Fh{}{}}{{{Ld{egik}}}{{Ld{cgiNj}}}{}{{Lj{}{{Lh{c}}}}}Fh{}{}}{{{Ld{cegOl}}mAa}{{Kn{ieg}}}{}Fh{}{}{{Nf{}{{Bb{i}}}}}{{Nh{ke}}}{{Nf{{b{di}}c}}}{{Nh{oe}}}}{{{Ld{cegi}}oAc}{{Kn{keg}}}{}Fh{}{{Oj{Nj}{{On{Nj}}}}}{}{{Nf{}{{Bb{k}}}}}{{Nh{me}}}{{Nf{{b{dk}}c}}}{{Nh{Aae}}}}{{{Ld{{Cl{ce}}{Ln{g}}N`}}mAa}{{Ld{{Cl{ci}}{Ln{g}}N`}}}{OfOh}{}Fh{}{{Nf{}{{Bb{i}}}}}{{Nh{k{Ln{g}}}}}{{Nf{{b{di}}e}}}{{Nh{o{Ln{g}}}}}}{{{Ld{{Cl{ce}}{Ln{g}}N`i}}oAc}{{Ld{{Cl{ck}}{Ln{g}}N`i}}}{OfOh}{}Fh{}{}{{Nf{}{{Bb{k}}}}}{{Nh{m{Ln{g}}}}}{{Nf{{b{dk}}e}}}{{Nh{Aa{Ln{g}}}}}}{{{Ld{cegi}}m}Ad{}{FhMj}{}{}{{Nf{c}}}{{Nh{ke}}}}{cc{}}0{{{Ld{cegOl}}}{{Ld{cegNj}}}{}Fh{}}1{{{Ld{cegi}}m}{{Ld{cegi}}}{}Fh{}{}{{Nf{{b{c}}}}}{{Nh{ke}}}}{{}c{}}00{{{Ld{{Cl{ce}}gik}}{Ld{{Cl{cm}}gio}}}{{Ld{{Cl{c{Cl{em}}}}giNj}}}{OfOh}{}Fh{}{}{}{}}{{{Ld{{Cl{ce}}{Ln{g}}N`i}}}{{Ld{c{Ln{g}}N`i}}}{OfOh}{}Fh{}}?{{{Ld{cegi}}o}{{Ld{kegi}}}{}Fh{}{}{}{{Nf{c}{{Bb{k}}}}}{{Nh{me}}}}{{{Ld{cegi}}}{{Nb{ceg}}}A@`Fh{}{{Oj{Nj}{{On{Nj}}}}}}{{{Ld{cegi}}o}{{Nb{ceg}}}{}Fh{}{{Oj{Nj}{{On{Nj}}}}}A@`{{Nf{{b{c}}}{{Bb{k}}}}}{{Nh{me}}Gf}}1{{{Ld{c{Ln{e}}N`g}}}{{Ld{c{Ln{e}}N`g}}}L`Fh{}}{{{Ld{cegOl}}k}{{Nb{ceg}}}{}Fh{}{{Nf{{b{dc}}c}}}{{Nh{ie}}}}{{{Ld{cegi}}m}{{Nb{ceg}}}{}Fh{}{{Oj{Nj}{{On{Nj}}}}}{{Nf{{b{dc}}c}}}{{Nh{ke}}}}{{{Ld{{Cl{ce}}{Ln{g}}N`}}k}{{Ld{{Cl{ce}}{Ln{g}}N`}}}{OfOh}{}Fh{{Nf{{b{de}}e}}}{{Nh{i{Ln{g}}}}}}{{{Ld{{Cl{ce}}{Ln{g}}N`i}}m}{{Ld{{Cl{ce}}{Ln{g}}N`i}}}{OfOh}{}Fh{}{{Nf{{b{de}}e}}}{{Nh{k{Ln{g}}}}}}{{{Ld{cegOl}}{b{{l{i}}}}}{{Ld{{l{i}}Kl}}}{L`DjDl}{FhMj}{}{}}{{{Ld{cegOl}}{b{{l{i}}}}}{{Ld{c{l{i}}Kl}}}{L`DjDl}{FhMj}{}{}}{{{Ld{cegOl}}{b{{l{i}}}}}{{Ld{{l{i}}Kl}}}L`{FhMj}{}{}}{{{Ld{cegOl}}{b{{l{i}}}}}{{Ld{Ml{l{i}}Kl}}}L`{FhMj}{}{}}{{{Ld{cegi}}k}{{Ld{ceKli}}}{}{FhMjNd}{}{}{{D`{Lfe}}Gf}}{{{Ld{cegi}}{b{k}}}{{Ld{kKl}}}{}{FhMj}{}OjFh}{{{Ld{cikm}}{b{{Ah{e}}}}}E`{}{}{DjDl}{{A@f{{Ah{e}}}{{A@b{gc}}{A@d{gg}}}}FhMj}{}{}}{{{Ld{cegi}}{b{k}}}{{Ld{mkKl}}}{}{FhMj}{}OjFh{DjDl}}2{{{Ld{cegi}}{b{{Ah{k}}}}}Dn{}{FhMj}{}{}{}}{{{Ld{cegi}}{b{k}}}{{Ld{MlkKl}}}{}{FhMj}{}OjFh}{{{Ld{ceN`g}}}{{Ld{ceN`Ol}}}A@`Fh{}}{{{Ld{c{Mn{e}}gi}}}{{Ld{c{Ln{e}}N`i}}}{}{FhMj}{}{}}{{{Ld{cegi}}k}{{Nb{AdeKl}}}{}{FhMjNd}{}{{Oj{Nj}{{On{Nj}}}}}{{D`{Lf{Ln{e}}}}Gf}}{{{b{{Ld{c{Mn{e}}gi}}}}}{{Ln{e}}}{}{FhMj}{}{}}{{{Ld{cegi}}{b{{Ln{e}}}}}{{Ld{c{Mn{e}}gi}}}{}{FhMjNd}{}{}}{bc{}}{c{{f{e}}}{}{}}00{{}{{f{c}}}{}}00{bh}00{{{Ld{ceN`i}}{Ld{cekg}}}{{Ld{cek}}}{}Fh{}{{Oj{g}}}{}}{{{Ld{ceKlNj}}{Ld{ceKlNj}}}{{Ld{ceKlNj}}}{}{FhMjNd}}{{{Ld{cegi}}}{{Ld{cegi}}}{OfOh}Fh{}{}}","D":"On","p":[[1,"reference"],[0,"mut"],[6,"Result",1048],[5,"TypeId",1049],[5,"FlowBuilder",46],[5,"Cluster",627],[5,"CompiledFlow",101],[5,"DeployResult",122],[17,"CompileEnv"],[1,"unit"],[10,"Deploy",198],[5,"ExternalProcess",704],[5,"BuiltFlow",83],[8,"FlowState",46],[6,"HfPlusLeaf",405],[5,"Vec",1050],[17,"Output"],[10,"FnOnce",1051],[5,"Process",746],[5,"DeployFlow",122],[10,"LocalDeploy",198],[10,"ClusterSpec",198],[10,"ExternalSpec",198],[10,"IntoProcessSpec",198],[1,"usize"],[5,"HydroflowGraph",1052],[5,"BTreeMap",1053],[5,"TokenStream",1054],[6,"Option",1055],[1,"tuple"],[5,"CompiledFlowWithId",101],[10,"QuotedWithContext",1056],[5,"ExternalBincodeSink",704],[10,"Sink",1057],[5,"Box",1058],[5,"Pin",1059],[10,"Serialize",1060],[10,"DeserializeOwned",1061],[5,"ExternalBytesPort",704],[5,"ExternalBincodeStream",704],[10,"Stream",1062],[10,"CycleComplete",154],[5,"Ident",1054],[6,"LocationId",569],[5,"ForwardRef",154],[6,"ForwardRefMarker",154],[5,"TickCycle",154],[6,"TickCycleMarker",154],[10,"DeferTick",154],[17,"Location"],[10,"CycleCollection",154],[10,"Location",569],[10,"CycleCollectionWithInitial",154],[10,"RegisterPort",198],[10,"Future",1063],[10,"ProcessSpec",198],[1,"str"],[1,"u32"],[10,"Copy",1064],[6,"Expr",1065],[1,"bool"],[17,"Port"],[17,"Meta"],[17,"InstantiateEnv"],[10,"Node",198],[6,"Stmt",1066],[17,"ProcessSpec"],[10,"Sized",1064],[5,"HydroflowPlusMeta",264],[5,"DeployPorts",1067],[5,"RuntimeData",1056],[10,"Deserializer",1061],[10,"Serializer",1060],[5,"SingleNode",286],[5,"MultiNode",286],[5,"DeployRuntimeNode",338],[5,"DeployRuntimeCluster",338],[5,"String",1068],[5,"DebugExpr",405],[5,"DebugPipelineFn",405],[8,"SeenTees",405],[5,"HashMap",1069],[6,"HfPlusNode",405],[5,"FlatGraphBuilder",1070],[5,"RefCell",1071],[6,"DebugInstantiate",405],[5,"Formatter",1072],[8,"Result",1072],[5,"TeeNode",405],[6,"HfPlusSource",405],[5,"Span",1054],[10,"FnMut",1051],[17,"Root"],[6,"Unbounded",30],[5,"Singleton",889],[10,"Clone",1073],[5,"Instant",1074],[5,"Stream",946],[5,"Duration",1075],[17,"Item"],[10,"IntoIterator",1076],[10,"Unpin",1064],[5,"Tick",768],[6,"Type",1077],[5,"ClusterIds",627],[5,"ClusterSelfId",627],[5,"ClusterId",679],[10,"Hasher",1078],[10,"NoTick",768],[5,"Bytes",1079],[5,"Timestamped",768],[6,"Bounded",30],[5,"Optional",810],[10,"NoTimestamp",768],[10,"Fn",1051],[10,"IntoQuotedMut",1056],[5,"NoOrder",946],[10,"Into",1080],[1,"u64"],[5,"UnboundedSender",1081],[5,"PropertyDatabase",863],[5,"RuntimeContext",875],[10,"Eq",1082],[10,"Hash",1078],[10,"MinOrder",946],[5,"TotalOrder",946],[17,"Min"],[10,"Ord",1082],[17,"In"],[17,"Out"],[10,"CanSend",621],[5,"FlowStateInner",46],[5,"SingleProcessGraph",286],[5,"MultiGraph",286],[5,"DeployRuntime",338],[15,"ForEach",527],[15,"CycleSink",527],[15,"DestSink",527],[15,"Fold",534],[15,"FoldKeyed",534],[15,"Network",534],[15,"Map",534],[15,"FlatMap",534],[15,"Filter",534],[15,"FilterMap",534],[15,"Inspect",534],[15,"Reduce",534],[15,"ReduceKeyed",534],[15,"CycleSource",534],[15,"Tee",534],[15,"Enumerate",534],[15,"Source",534],[10,"IsCluster",627],[10,"ZipResult",889]],"r":[[0,30],[1,627],[2,627],[3,679],[4,704],[5,46],[6,569],[7,946],[8,810],[9,746],[10,875],[11,889],[12,946],[13,768],[14,768],[15,946],[16,30],[25,1083],[209,264],[569,621],[570,627],[572,679],[573,704],[577,768],[578,746],[581,768],[583,768],[629,679]],"b":[[658,"impl-CanSend%3C\'a,+Cluster%3C\'a,+C2%3E%3E-for-Cluster%3C\'a,+C1%3E"],[659,"impl-CanSend%3C\'a,+Process%3C\'a,+P2%3E%3E-for-Cluster%3C\'a,+C1%3E"],[663,"impl-CanSend%3C\'a,+Process%3C\'a,+P2%3E%3E-for-Cluster%3C\'a,+C1%3E"],[664,"impl-CanSend%3C\'a,+Cluster%3C\'a,+C2%3E%3E-for-Cluster%3C\'a,+C1%3E"],[691,"impl-Display-for-ClusterId%3CC%3E"],[692,"impl-Debug-for-ClusterId%3CC%3E"],[756,"impl-CanSend%3C\'a,+Cluster%3C\'a,+C2%3E%3E-for-Process%3C\'a,+P1%3E"],[757,"impl-CanSend%3C\'a,+Process%3C\'a,+P2%3E%3E-for-Process%3C\'a,+P1%3E"],[758,"impl-CanSend%3C\'a,+ExternalProcess%3C\'a,+E2%3E%3E-for-Process%3C\'a,+P1%3E"],[761,"impl-CanSend%3C\'a,+Process%3C\'a,+P2%3E%3E-for-Process%3C\'a,+P1%3E"],[762,"impl-CanSend%3C\'a,+ExternalProcess%3C\'a,+E2%3E%3E-for-Process%3C\'a,+P1%3E"],[763,"impl-CanSend%3C\'a,+Cluster%3C\'a,+C2%3E%3E-for-Process%3C\'a,+P1%3E"],[817,"impl-CycleComplete%3C\'a,+ForwardRefMarker%3E-for-Optional%3CT,+Tick%3CL%3E,+Bounded%3E"],[818,"impl-CycleComplete%3C\'a,+TickCycleMarker%3E-for-Optional%3CT,+Tick%3CL%3E,+Bounded%3E"],[819,"impl-CycleComplete%3C\'a,+ForwardRefMarker%3E-for-Optional%3CT,+L,+B%3E"],[822,"impl-CycleCollection%3C\'a,+ForwardRefMarker%3E-for-Optional%3CT,+L,+B%3E"],[823,"impl-CycleCollection%3C\'a,+TickCycleMarker%3E-for-Optional%3CT,+Tick%3CL%3E,+Bounded%3E"],[824,"impl-CycleCollection%3C\'a,+ForwardRefMarker%3E-for-Optional%3CT,+Tick%3CL%3E,+Bounded%3E"],[825,"impl-DeferTick-for-Optional%3CT,+Tick%3CL%3E,+Bounded%3E"],[826,"impl-Optional%3CT,+Tick%3CL%3E,+Bounded%3E"],[835,"impl-From%3CSingleton%3CT,+L,+B%3E%3E-for-Optional%3CT,+L,+B%3E"],[836,"impl-From%3COptional%3CT,+L,+Bounded%3E%3E-for-Optional%3CT,+L,+Unbounded%3E"],[899,"impl-CycleComplete%3C\'a,+ForwardRefMarker%3E-for-Singleton%3CT,+Tick%3CL%3E,+Bounded%3E"],[900,"impl-CycleComplete%3C\'a,+TickCycleMarker%3E-for-Singleton%3CT,+Tick%3CL%3E,+Bounded%3E"],[901,"impl-CycleComplete%3C\'a,+ForwardRefMarker%3E-for-Singleton%3CT,+L,+B%3E"],[904,"impl-CycleCollection%3C\'a,+ForwardRefMarker%3E-for-Singleton%3CT,+L,+B%3E"],[905,"impl-CycleCollection%3C\'a,+ForwardRefMarker%3E-for-Singleton%3CT,+Tick%3CL%3E,+Bounded%3E"],[906,"impl-CycleCollectionWithInitial%3C\'a,+TickCycleMarker%3E-for-Singleton%3CT,+Tick%3CL%3E,+Bounded%3E"],[907,"impl-DeferTick-for-Singleton%3CT,+Tick%3CL%3E,+Bounded%3E"],[908,"impl-Singleton%3CT,+Tick%3CL%3E,+Bounded%3E"],[922,"impl-ZipResult%3C\'a,+Singleton%3CU,+Timestamped%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Timestamped%3CL%3E,+B%3E"],[923,"impl-ZipResult%3C\'a,+Optional%3CU,+Tick%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Tick%3CL%3E,+B%3E"],[924,"impl-ZipResult%3C\'a,+Singleton%3CU,+Tick%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Tick%3CL%3E,+B%3E"],[925,"impl-ZipResult%3C\'a,+Optional%3CU,+Timestamped%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Timestamped%3CL%3E,+B%3E"],[928,"impl-ZipResult%3C\'a,+Singleton%3CU,+Tick%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Tick%3CL%3E,+B%3E"],[929,"impl-ZipResult%3C\'a,+Optional%3CU,+Tick%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Tick%3CL%3E,+B%3E"],[930,"impl-ZipResult%3C\'a,+Singleton%3CU,+Timestamped%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Timestamped%3CL%3E,+B%3E"],[931,"impl-ZipResult%3C\'a,+Optional%3CU,+Timestamped%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Timestamped%3CL%3E,+B%3E"],[933,"impl-ZipResult%3C\'a,+Optional%3CU,+Tick%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Tick%3CL%3E,+B%3E"],[934,"impl-ZipResult%3C\'a,+Singleton%3CU,+Timestamped%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Timestamped%3CL%3E,+B%3E"],[935,"impl-ZipResult%3C\'a,+Singleton%3CU,+Tick%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Tick%3CL%3E,+B%3E"],[936,"impl-ZipResult%3C\'a,+Optional%3CU,+Timestamped%3CL%3E,+B%3E%3E-for-Singleton%3CT,+Timestamped%3CL%3E,+B%3E"],[969,"impl-CycleComplete%3C\'a,+ForwardRefMarker%3E-for-Stream%3CT,+L,+B,+Order%3E"],[970,"impl-CycleComplete%3C\'a,+TickCycleMarker%3E-for-Stream%3CT,+Tick%3CL%3E,+Bounded,+Order%3E"],[974,"impl-CycleCollection%3C\'a,+TickCycleMarker%3E-for-Stream%3CT,+Tick%3CL%3E,+Bounded,+Order%3E"],[975,"impl-CycleCollection%3C\'a,+ForwardRefMarker%3E-for-Stream%3CT,+L,+B,+Order%3E"],[980,"impl-DeferTick-for-Stream%3CT,+Tick%3CL%3E,+Bounded,+Order%3E"],[981,"impl-Stream%3CT,+Tick%3CL%3E,+Bounded,+Order%3E"],[1045,"impl-Stream%3CT,+L,+Bounded,+Order%3E"],[1046,"impl-Stream%3CT,+L,+Unbounded,+NoOrder%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJkDNgAAABkAGwADACEAAwApABkARwATAF0ADgBuAAAAcQAXAIsAAgCQAA4AoAASALsAFQDSAEUAGgEWADUBAwA9AS8AcAEDAHcBNQCwATQA5wEAAPQBZQBbAgAAXQIFAGUCCwByAgEAdQIWAI8CAACTAiIAtwIBALoCFgDVAgAA2gIXAPMCAAD1Ag0ABAMQABcDAQAbAyoASAMCAEwDAQBQAw4AYgMCAGcDCwB1Ax8AlwMBAJoDEACtAwUAuAMBALsDEADOAxkA6gMAAOwDAADwAw8AAQQGAAoEDgA="}],["hydroflow_plus_test",{"t":"CCCCCCCCCCCCFFNNNNHNNNNNNNNNNNNHFFNNNNNNNNHNNNNNNNNFFKFNNNNNNNNNNNNNNNNNNNNNNNNNONHONNNNNNNNNNNNNNFNNNNHNNNNKFKFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONHHONNNNNNNNNNNNNONNNHHHHHHFFFNNNNNNNNNNNNNNNNNNHNNNNNNCFFNNNNHNNNNNNNNNNNN","n":["cluster","distributed","compute_pi","many_to_many","map_reduce","paxos","paxos_bench","paxos_kv","quorum","request_response","simple_cluster","two_pc","Leader","Worker","borrow","","borrow_mut","","compute_pi","from","","into","","try_from","","try_into","","type_id","","vzip","","many_to_many","Leader","Worker","borrow","","borrow_mut","","from","","into","","map_reduce","try_from","","try_into","","type_id","","vzip","","Acceptor","Ballot","PaxosPayload","Proposer","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","cmp","compare","deserialize","eq","equivalent","","","","fmt","from","","","hash","into","","","num","partial_cmp","paxos_core","proposer_id","serialize","to_owned","try_from","","","try_into","","","type_id","","","vzip","","","Client","borrow","borrow_mut","from","into","paxos_bench","try_from","try_into","type_id","vzip","KvKey","KvPayload","KvValue","Replica","SequencedKv","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","cmp","compare","deserialize","","eq","","equivalent","","","","","","","","fmt","","from","","","into","","","key","kv","partial_cmp","paxos_kv","replica","seq","serialize","","to_owned","","try_from","","","try_into","","","type_id","","","value","vzip","","","collect_quorum","collect_quorum_with_response","join_responses","decouple_cluster","decouple_process","simple_cluster","Client","Coordinator","Participants","borrow","","","borrow_mut","","","from","","","into","","","try_from","","","try_into","","","two_pc","type_id","","","vzip","","","first_ten","P1","P2","borrow","","borrow_mut","","first_ten_distributed","from","","into","","try_from","","try_into","","type_id","","vzip",""],"q":[[0,"hydroflow_plus_test"],[2,"hydroflow_plus_test::cluster"],[12,"hydroflow_plus_test::cluster::compute_pi"],[31,"hydroflow_plus_test::cluster::many_to_many"],[32,"hydroflow_plus_test::cluster::map_reduce"],[51,"hydroflow_plus_test::cluster::paxos"],[98,"hydroflow_plus_test::cluster::paxos_bench"],[108,"hydroflow_plus_test::cluster::paxos_kv"],[170,"hydroflow_plus_test::cluster::quorum"],[172,"hydroflow_plus_test::cluster::request_response"],[173,"hydroflow_plus_test::cluster::simple_cluster"],[176,"hydroflow_plus_test::cluster::two_pc"],[204,"hydroflow_plus_test::distributed"],[205,"hydroflow_plus_test::distributed::first_ten"],[224,"hydroflow_plus::builder"],[225,"hydroflow_plus::location::cluster"],[226,"hydroflow_plus::location::process"],[227,"core::result"],[228,"core::any"],[229,"core::cmp"],[230,"serde::de"],[231,"core::fmt"],[232,"core::hash"],[233,"core::option"],[234,"hydroflow_plus::location::cluster::cluster_id"],[235,"hydroflow_plus::boundedness"],[236,"hydroflow_plus::stream"],[237,"serde::ser"],[238,"core::clone"],[239,"hydroflow_plus::location::tick"],[240,"hydroflow_plus::location"],[241,"hydroflow_plus::location::external_process"],[242,"alloc::string"]],"i":"``````````````jn10`101010101010```AjAl101010`10101010````BnC`An210000000000000210021000`000210210210210`D`000`0000`````DbDdDh2101010100010101111000010210210100``010102102102101210`````````FhFfFj210210210210210`210210```FnG`10`101010101010","f":"``````````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{f}}h}{{Ab{{l{j}}{A`{n}}}}}}{cc{}}0{{}c{}}0{c{{Ad{e}}}{}{}}0{{}{{Ad{c}}}{}}0{bAf}033{{{b{f}}}{{l{Ah}}}}``88775544{{{b{f}}}{{Ab{{A`{Aj}}{l{Al}}}}}}44332255````999888{{{b{An}}}An}{{b{b{dc}}}Ah{}}{bAh}{{{b{An}}{b{An}}}B`}{{b{b{c}}}B`{}}{c{{Ad{An}}}Bb}{{{b{An}}{b{An}}}Bd}{{b{b{c}}}Bd{}}000{{{b{An}}{b{dBf}}}Bh}???{{{b{An}}{b{dc}}}AhBj}???`{{{b{An}}{b{An}}}{{Bl{B`}}}}{{{b{{l{Bn}}}}{b{{l{C`}}}}{Ch{{Ab{{Cb{c}}h}}{l{C`}}CdCf}}{Ch{e{l{Bn}}Cd}}hCjCjh}{{Ab{{Ch{An{l{Bn}}Cd}}{Ch{{Ab{h{Bl{e}}}}{l{Bn}}CdCf}}}}}{}Cl}`{{{b{An}}c}AdCn}{bc{}}{c{{Ad{e}}}{}{}}00{{}{{Ad{c}}}{}}00{bAf}00{{}c{}}00`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{cc{}}3{{{b{f}}hhhhCjCjh}{{Ab{{l{Bn}}{l{C`}}{l{D`}}{l{Db}}}}}}7654`````333222{{{b{{Dd{ce}}}}}{{Dd{ce}}}DfDf}{{{b{{Dh{ce}}}}}{{Dh{ce}}}DfDf}{{b{b{dc}}}Ah{}}0{bAh}0{{{b{{Dh{ce}}}}{b{{Dh{ce}}}}}B`DjDl}{{b{b{c}}}B`{}}{c{{Ad{{Dd{eg}}}}}BbDnDn}{c{{Ad{{Dh{eg}}}}}BbDnDn}{{{b{{Dd{ce}}}}{b{{Dd{ce}}}}}BdE`E`}{{{b{{Dh{ce}}}}{b{{Dh{ce}}}}}BdE`E`}{{b{b{c}}}Bd{}}0000000{{{b{{Dd{ce}}}}{b{dBf}}}BhEbEb}{{{b{{Dh{ce}}}}{b{dBf}}}BhEbEb}>>>{{}c{}}00``{{{b{{Dh{ce}}}}{b{{Dh{ce}}}}}{{Bl{B`}}}DjDl}{{{b{{l{Bn}}}}{b{{l{C`}}}}{b{{l{Db}}}}{Ch{{Dd{ce}}{l{Bn}}Cd}}hCjCjhh}{{Ab{{Ch{An{l{Bn}}Cd}}{Ch{{Dd{ce}}{l{Db}}Cd}}}}}DjDl}{{{b{{l{Db}}}}{Ch{{Dh{ce}}{l{Db}}CdCf}}h}{{Ab{{Ch{h{l{Db}}Cd}}{Ch{{Dd{ce}}{l{Db}}Cd}}}}}DjDl}`{{{b{{Dd{ce}}}}g}AdEdEdCn}{{{b{{Dh{ce}}}}g}AdEdEdCn}{bc{}}0{c{{Ad{e}}}{}{}}00{{}{{Ad{c}}}{}}00{bAf}00`999{{{Ch{{Ab{c{Ad{Ahe}}}}{Ef{g}}Cdi}}hh}{{Ab{{Ch{c{Ef{g}}Cdi}}{Ch{{Ab{ce}}{Ef{g}}Cdi}}}}}{DfEhEj}Df{ElEn}{}}{{{Ch{{Ab{c{Ad{eg}}}}{Ef{i}}Cdk}}hh}{{Ab{{Ch{{Ab{ce}}{Ef{i}}Cdk}}{Ch{{Ab{cg}}{Ef{i}}Cdk}}}}}{DfEhEj}DfDf{ElEn}{}}{{{b{{F`{c}}}}{Ch{{Ab{eg}}{Ef{c}}CdCf}}{Ch{{Ab{ei}}{F`{c}}FbCf}}}{{Ch{{Ab{e{Ab{ig}}}}{Ef{c}}CdCf}}}{ElEn}{DfEhEj}DfDf}{{{b{f}}}{{Ab{{l{Ah}}{l{Ah}}}}}}{{{b{f}}}{{Ab{{A`{Ah}}{A`{Ah}}}}}}{{{b{f}}}{{Ab{{A`{Ah}}{l{Ah}}}}}}```{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{cc{}}00{{}c{}}00<<<;;;{{{b{f}}Fd}{{Ab{{A`{Ff}}{l{Fh}}{A`{Fj}}}}}};;;111```4433{{{b{{Fl{Ah}}}}{b{{A`{Fn}}}}{b{{A`{G`}}}}}{{Gd{Gb}}}}3322>>==<<22","D":"Df","p":[[1,"reference"],[0,"mut"],[5,"FlowBuilder",224],[1,"usize"],[5,"Worker",12],[5,"Cluster",225],[5,"Leader",12],[5,"Process",226],[1,"tuple"],[6,"Result",227],[5,"TypeId",228],[1,"unit"],[5,"Leader",32],[5,"Worker",32],[5,"Ballot",51],[6,"Ordering",229],[10,"Deserializer",230],[1,"bool"],[5,"Formatter",231],[8,"Result",231],[10,"Hasher",232],[6,"Option",233],[5,"Proposer",51],[5,"Acceptor",51],[5,"ClusterId",234],[6,"Unbounded",235],[5,"NoOrder",236],[5,"Stream",236],[1,"u64"],[10,"PaxosPayload",51],[10,"Serializer",237],[5,"Client",98],[5,"Replica",108],[5,"KvPayload",108],[10,"Clone",238],[5,"SequencedKv",108],[10,"KvKey",108],[10,"KvValue",108],[10,"Deserialize",230],[10,"PartialEq",229],[10,"Debug",231],[10,"Serialize",237],[5,"Timestamped",239],[10,"Eq",229],[10,"Hash",232],[10,"Location",240],[10,"NoTick",239],[5,"Tick",239],[6,"Bounded",235],[1,"u32"],[5,"Coordinator",176],[5,"Participants",176],[5,"Client",176],[5,"ExternalProcess",241],[5,"P1",205],[5,"P2",205],[5,"String",242],[5,"ExternalBincodeSink",241]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAL0ADAAAABMAGAAOACsAHgBNAAAAUQABAFQAEQBoACUAlAACAJgAFACuAAsAwAAUANkABwA="}],["hydroflow_plus_test_local",{"t":"CCCCCCCCQHQQHHQQQQQ","n":["local","chat_app","compute_pi","count_elems","first_ten","graph_reachability","negation","teed_join","chat_app","compute_pi","compute_pi_runtime","count_elems","count_elems_generic","first_ten","first_ten_runtime","graph_reachability","test_anti_join","test_difference","teed_join"],"q":[[0,"hydroflow_plus_test_local"],[1,"hydroflow_plus_test_local::local"],[8,"hydroflow_plus_test_local::local::chat_app"],[9,"hydroflow_plus_test_local::local::compute_pi"],[11,"hydroflow_plus_test_local::local::count_elems"],[13,"hydroflow_plus_test_local::local::first_ten"],[15,"hydroflow_plus_test_local::local::graph_reachability"],[16,"hydroflow_plus_test_local::local::negation"],[18,"hydroflow_plus_test_local::local::teed_join"],[19,"hydroflow_plus::builder"],[20,"stageleft"],[21,"hydroflow_plus::location::process"],[22,"tokio_stream::wrappers::mpsc_unbounded"],[23,"tokio::sync::mpsc::unbounded"],[24,"hydroflow::scheduled::graph"]],"i":"```````````````````","f":"`````````{{{d{b}}{h{f}}}{{l{j}}}}``{{b{h{{n{c}}}}{h{{d{{Ab{A`}}}}}}}{{`{{Af{Ad}}}}}{}}{{{d{b}}}j}`````","D":"`","p":[[5,"FlowBuilder",19],[1,"reference"],[1,"usize"],[5,"RuntimeData",20],[1,"unit"],[5,"Process",21],[5,"UnboundedReceiverStream",22],[1,"u32"],[5,"UnboundedSender",23],[5,"Hydroflow",24],[10,"Quoted",20]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABMAAQAAABMA"}],["hydroflow_plus_test_local_macro",{"t":"QQQQQQQQ","n":["macro_0317123C21A365AAC8F7C904D715749D52C4408A36766C2EA4952E8548FDF2CF","macro_1C0FE8523A30CEE48113F7CA958EDC55F81545A0CB32FC13A73E2E0B86C69967","macro_88FF4FF66B42C3C3EA6A3A776AD3BBB5A0E778C545379CD74D8134F1BDE2467B","macro_B8B04B5C82DD37E36A884DD155638B3BB603ECEE77232C187CB7749C8C3633D4","macro_DBD6835F761FB7B759E0367E64D404553FF74D0CDA5EC33E48C8D94A09338A20","macro_E29C1936765CFB0AEE40C7D85645A072229E6DD9B20D78BFFDFDF0B90F8550E2","macro_F32B896FDC4E575B912C55F307713AE1C491601401B080576A445697B5F5D872","macro_F395CBD2498F0C0291586D539B1C53802F7DE61514FE27DB041B53B7578FA011"],"q":[[0,"hydroflow_plus_test_local_macro"]],"i":"````````","f":"````````","D":"`","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAgAAQAAAAgA"}],["latency_measure",{"t":"HCFFPPPFFGNNNNNNNNNNONNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNONNNNNNNNNNNNNNNNNNNNONNNNN","n":["main","protocol","OperationPayload","Payload","","Ping","Pong","QueryResponse","Timestamped","TopolotreeMessage","borrow","","","","","borrow_mut","","","","","change","clone","","","","","clone_into","","","","","clone_to_uninit","","","","","contents","data","deserialize","","","","","eq","","","","","equivalent","","","","","","","","","","fmt","","","","","from","","","","","hash","","","","into","","","","","key","","","serialize","","","","","timestamp","to_owned","","","","","try_from","","","","","try_into","","","","","type_id","","","","","value","vzip","","","",""],"q":[[0,"latency_measure"],[2,"latency_measure::protocol"],[112,"core::clone"],[113,"core::fmt"],[114,"core::result"],[115,"serde::de"],[116,"core::cmp"],[117,"core::hash"],[118,"serde::ser"],[119,"core::any"]],"i":"````n00```h1A`AbAd3421013421034210342102334210342103344221100342103421034203421021034210334210342103421034210034210","f":"{{}b}`````````{d{{d{c}}}{}}0000{{{d{f}}}{{d{fc}}}{}}0000`{{{d{{h{c}}}}}{{h{c}}}{jl}}{{{d{n}}}n}{{{d{{A`{c}}}}}{{A`{c}}}{jl}}{{{d{Ab}}}Ab}{{{d{Ad}}}Ad}{{d{d{fc}}}b{}}0000{db}0000``{c{{Af{{h{e}}}}}Ah{Ajl}}{c{{Af{n}}}Ah}{c{{Af{{A`{e}}}}}Ah{Ajl}}{c{{Af{Ab}}}Ah}{c{{Af{Ad}}}Ah}{{{d{{h{c}}}}{d{{h{c}}}}}Al{Anl}}{{{d{n}}{d{n}}}Al}{{{d{{A`{c}}}}{d{{A`{c}}}}}Al{Anl}}{{{d{Ab}}{d{Ab}}}Al}{{{d{Ad}}{d{Ad}}}Al}{{d{d{c}}}Al{}}000000000{{{d{{h{c}}}}{d{fB`}}}Bb{ll}}{{{d{n}}{d{fB`}}}Bb}{{{d{{A`{c}}}}{d{fB`}}}Bb{ll}}{{{d{Ab}}{d{fB`}}}Bb}{{{d{Ad}}{d{fB`}}}Bb}{cc{}}0000{{{d{{h{c}}}}{d{fe}}}b{Bdl}Bf}{{{d{n}}{d{fc}}}bBf}{{{d{{A`{c}}}}{d{fe}}}b{Bdl}Bf}{{{d{Ad}}{d{fc}}}bBf}{{}c{}}0000```{{{d{{h{c}}}}e}Af{Bhl}Bj}{{{d{n}}c}AfBj}{{{d{{A`{c}}}}e}Af{Bhl}Bj}{{{d{Ab}}c}AfBj}{{{d{Ad}}c}AfBj}`{dc{}}0000{c{{Af{e}}}{}{}}0000{{}{{Af{c}}}{}}0000{dBl}0000`99999","D":"Ad","p":[[1,"unit"],[1,"reference"],[0,"mut"],[5,"Timestamped",2],[10,"Clone",112],[10,"Debug",113],[6,"TopolotreeMessage",2],[5,"Payload",2],[5,"OperationPayload",2],[5,"QueryResponse",2],[6,"Result",114],[10,"Deserializer",115],[10,"Deserialize",115],[1,"bool"],[10,"PartialEq",116],[5,"Formatter",113],[8,"Result",113],[10,"Hash",117],[10,"Hasher",117],[10,"Serialize",118],[10,"Serializer",118],[5,"TypeId",119]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGYAAwAAAD8ARQADAE4AIgA="}],["lattices",{"t":"KRRKQFKFQQKYKYKYKKYKKYFKYFKKKRRFFFRKFFFKOMNCNNNNNNNNNNNNNNNNMNNONNNNNNNNNNNNNNNNNNNNMMNENNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNCMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNNNNNNNNNCCMNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNMNNNNNNNNNCNNNNNNNNNCCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCOEMHHHHHHHHHHHHHHHHHHHHHHHHFFFFKRFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOKRKFFKTRRRRRRRNNNNNNNNNNCMNNNNNMNNNNNNNMNNNNNNNNNNNNNMNNMNNNMNNNNNMNNNNNNNMNNMNNCCNNMNNNMNNNNNMNNNMNNNCNNNNNNNNKKKRRRRRRMMMMMKRFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFIIIIIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIFIINNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFPFPFGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFIIIIIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFIIIIIIINNNNNNNNNNNNNNNNNNNNNNNNNNHHHHHHHHHHHFIIIIIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Addition","Atom","AtomIter","Atomize","ColtType","Conflict","DeepReveal","DomPair","GhtType","GhtTypeWithSchema","IsBot","","IsTop","","Lattice","","LatticeBimorphism","LatticeFrom","","LatticeMorphism","LatticeOrd","","Max","Merge","","Min","Multiplication","NaiveLatticeOrd","One","Output","","Pair","PairBimorphism","Point","Revealed","Semiring","VecUnion","WithBot","WithTop","Zero","a","add","add_owned","algebra","as_reveal_mut","","","","","","","","as_reveal_ref","","","","","","","","atomize","","","b","borrow","","","","","","","","","","borrow_mut","","","","","","","","","","call","","","cc_traits","clone","","","","","","","","","clone_into","","","","","","","","","clone_to_uninit","","","","","","","","","closure_to_bimorphism","closure_to_morphism","cmp","","collections","deep_reveal","","","","","","","","","","default","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","deserialize","","","","","","","","","eq","","","","","","","","","equivalent","","","","","","","","","","","","","","","","","","fmt","","","","","","","","","from","","","","","","","","","","","ght","into","","","","","","","","","","into_reveal","","","","","","","","is_bot","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","is_top","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","key","lattice_from","","","","","","","","","","map_union","map_union_with_tombstones","merge","","","","","","","","","","merge_owned","mul","mul_owned","naive_cmp","new","","","","","","","","","new_from","","","","","","","","one","partial_cmp","","","","","","","","","semiring_application","serialize","","","","","","","","","set_union","set_union_with_tombstones","test","to_owned","","","","","","","","","try_from","","","","","","","","","","try_into","","","","","","","","","","type_id","","","","","","","","","","union_find","val","variadics","zero","abelian_group","absorbing_element","associativity","bilinearity","commutative_monoid","commutative_ring","commutativity","distributive","field","get_single_function_properties","group","idempotency","identity","integral_domain","inverse","left_distributes","linearity","monoid","no_nonzero_zero_divisors","nonzero_inverse","right_distributes","ring","semigroup","semiring","ArrayMap","ArraySet","EmptyMap","EmptySet","MapMapValues","MapValue","OptionMap","OptionSet","SingletonMap","SingletonSet","VecMap","VecSet","borrow","","","","","","","","","","borrow_mut","","","","","","","","","","clone","","","","","","","","","","clone_into","","","","","","","","","","clone_to_uninit","","","","","","","","","","cmp","","","","","","","","","","default","","","","deserialize","","","","","","","","eq","","","","","","","","","","equivalent","","","","","","","","","","","","","","","","","","","","fmt","","","","","","","","from","","","","","","","","","","","","","","","","","","","get","","","","","","","","","","get_key_value","","","","","get_key_value_mut","","","","","get_mut","","","","","","","","","hash","","","","","","","","","","into","","","","","","","","","","into_iter","","","","","","","","","","into_ref","","","","","","","","","","","","","","","is_empty","","iter","","","","","","","","","","","","","","iter_mut","","","","","","","","keys","","len","","","","","","","","","","map_values","","","","","new","partial_cmp","","","","","","","","","","serialize","","","","","","","","to_owned","","","","","","","","","","try_from","","","","","","","","","","try_into","","","","","","","","","","type_id","","","","","","","","","","upcast_item_mut","","","","","","","","","upcast_item_ref","","","","","","","","","","upcast_key_ref","","","","","vals","","GeneralizedHashTrieNode","Get","GhtGet","GhtInner","GhtLeaf","GhtPrefixIter","HEIGHT","Head","Item","KeyType","Schema","Storage","SuffixSchema","ValType","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","colt","contains","","","","default","","drain","","","","eq","","equivalent","","find_containing_leaf","","","","fmt","","force","","force_drain","","from","","from_iter","","get","","","get_mut","","","height","insert","","","","into","","into_iter","","","","is_bot","","is_top","","iter","","","iter_tuples","","","lattice","macros","merge","","merge_node","","","","new_from","","","","partial_cmp","","prefix_iter","","","","recursive_iter","","","","test","to_owned","","try_from","","try_into","","type_id","","ColtForestNode","ColtGet","ColtGetTail","Force","Get","Head","Schema","Storage","SuffixSchema","force","force_drain","get","iter","merge","DeepJoinLatticeBimorphism","","GhtBimorphism","GhtCartesianProductBimorphism","GhtNodeKeyedBimorphism","GhtValTypeProductBimorphism","borrow","","","","borrow_mut","","","","call","","","","default","","","","from","","","","into","","","","new","","try_from","","","","try_into","","","","type_id","","","","KeyedBimorphism","MapUnion","MapUnionArrayMap","MapUnionBTreeMap","MapUnionHashMap","MapUnionOptionMap","MapUnionSingletonMap","MapUnionVec","as_reveal_mut","as_reveal_ref","atomize","borrow","","borrow_mut","","call","clone","clone_into","clone_to_uninit","deep_reveal","default","deserialize","eq","equivalent","","fmt","from","","into","","into_reveal","is_bot","is_top","lattice_from","merge","new","","new_from","partial_cmp","serialize","to_owned","try_from","","try_into","","type_id","","MapUnionHashMapWithTombstoneHashSet","MapUnionWithTombstones","MapUnionWithTombstonesSingletonMapOnly","MapUnionWithTombstonesTombstoneSingletonSetOnly","as_reveal_mut","as_reveal_ref","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deserialize","eq","equivalent","","fmt","from","into","into_reveal","is_bot","is_top","lattice_from","merge","new","new_from","partial_cmp","serialize","to_owned","try_from","try_into","type_id","BinaryTrust","ConfidenceScore","Cost","Finite","FuzzyLogic","Infinity","Multiplicity","U32WithInfinity","add","","","","","borrow","","","","","","borrow_mut","","","","","","clone","clone_into","clone_to_uninit","default","eq","","equivalent","","fmt","","from","","","","","","into","","","","","","mul","","","","","new","","","","","one","","","","","to_owned","try_from","","","","","","try_into","","","","","","type_id","","","","","","zero","","","","","CartesianProductBimorphism","SetUnion","SetUnionArray","SetUnionBTreeSet","SetUnionHashSet","SetUnionOptionSet","SetUnionSingletonSet","SetUnionVec","as_reveal_mut","as_reveal_ref","atomize","borrow","","borrow_mut","","call","clone","clone_into","clone_to_uninit","deep_reveal","default","","deserialize","eq","equivalent","","fmt","from","","into","","into_reveal","is_bot","is_top","lattice_from","merge","new","new_from","partial_cmp","serialize","to_owned","try_from","","try_into","","type_id","","SetUnionWithTombstones","SetUnionWithTombstonesArray","SetUnionWithTombstonesBTreeSet","SetUnionWithTombstonesHashSet","SetUnionWithTombstonesOptionSet","SetUnionWithTombstonesSingletonSet","SetUnionWithTombstonesTombstoneOnlySet","SetUnionWithTombstonesVec","as_reveal_mut","as_reveal_ref","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","eq","equivalent","","fmt","from","into","into_reveal","is_bot","is_top","lattice_from","merge","new","new_from","partial_cmp","to_owned","try_from","try_into","type_id","cartesian_power","check_all","check_atomize_each","check_lattice_bimorphism","check_lattice_default_is_bot","check_lattice_is_bot","check_lattice_is_top","check_lattice_morphism","check_lattice_ord","check_lattice_properties","check_partial_ord_properties","UnionFind","UnionFindArrayMap","UnionFindBTreeMap","UnionFindHashMap","UnionFindOptionMap","UnionFindSingletonMap","UnionFindVec","as_reveal_mut","as_reveal_ref","atomize","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deep_reveal","default","deserialize","eq","equivalent","","fmt","from","into","into_reveal","is_bot","is_top","lattice_from","merge","new","new_from","partial_cmp","same","serialize","to_owned","try_from","try_into","type_id","union"],"q":[[0,"lattices"],[426,"lattices::algebra"],[450,"lattices::collections"],[791,"lattices::ght"],[902,"lattices::ght::colt"],[916,"lattices::ght::lattice"],[960,"lattices::map_union"],[1007,"lattices::map_union_with_tombstones"],[1039,"lattices::semiring_application"],[1125,"lattices::set_union"],[1172,"lattices::set_union_with_tombstones"],[1206,"lattices::test"],[1217,"lattices::union_find"],[1256,"lattices::conflict"],[1257,"core::option"],[1258,"lattices::dom_pair"],[1259,"lattices::ord"],[1260,"lattices::pair"],[1261,"lattices::vec_union"],[1262,"alloc::vec"],[1263,"lattices::with_bot"],[1264,"lattices::with_top"],[1265,"core::iter::traits::iterator"],[1266,"core::clone"],[1267,"lattices::point"],[1268,"core::ops::function"],[1269,"core::cmp"],[1270,"core::default"],[1271,"core::result"],[1272,"serde::de"],[1273,"core::fmt"],[1274,"core::convert"],[1275,"serde::ser"],[1276,"core::any"],[1277,"alloc::string"],[1278,"cc_traits"],[1279,"core::marker"],[1280,"core::borrow"],[1281,"core::hash"],[1282,"variadics::variadic_collections"],[1283,"variadics"],[1284,"core::iter::traits::collect"],[1285,"cc_traits::non_alias"],[1286,"core::iter::traits::exact_size"],[1287,"core::cell"],[1288,"lattices_macro"]],"i":"`Bd0``````````````````````````C`Cb```Db`````Afd0`jnAbAd5AhAlAn65438210<10865438CdCh4328765:10432=<1`8765:04328765:04328765:0432``65`;8765:043276666666666666655555555555555:104328765:04328765:043288776655::004433228765:043287665:10432`8765:104328765:432Bf98777777777777777666666666666666;1543Gb:9888888888888888777777777777777<26549Bl;:98=3765``Gd<;:9>48760Gh0Gj>=<;Af7;:9?><07;:9GljnAbAd5>>>>=====`{{{b{{Af{c}}}}}{{Af{c}}}{AhAj}}{{{b{Al}}}Al}{{{b{{An{c}}}}}{{An{c}}}{AhAj}}{{{b{B`}}}B`}{{{b{Bb}}}Bb}{{b{b{dc}}}h{}}0000{bh}0000``{c{{j{{Af{e}}}}}l{BdAj}}{c{{j{Al}}}l}{c{{j{{An{e}}}}}l{BdAj}}{c{{j{B`}}}l}{c{{j{Bb}}}l}{{{b{{Af{c}}}}{b{{Af{c}}}}}Bf{BhAj}}{{{b{Al}}{b{Al}}}Bf}{{{b{{An{c}}}}{b{{An{c}}}}}Bf{BhAj}}{{{b{B`}}{b{B`}}}Bf}{{{b{Bb}}{b{Bb}}}Bf}{{b{b{c}}}Bf{}}000000000{{{b{{Af{c}}}}{b{dn}}}A`{AjAj}}{{{b{Al}}{b{dn}}}A`}{{{b{{An{c}}}}{b{dn}}}A`{AjAj}}{{{b{B`}}{b{dn}}}A`}{{{b{Bb}}{b{dn}}}A`}{cc{}}0000{{{b{{Af{c}}}}{b{de}}}h{BjAj}Bl}{{{b{Al}}{b{dc}}}hBl}{{{b{{An{c}}}}{b{de}}}h{BjAj}Bl}{{{b{Bb}}{b{dc}}}hBl}{{}c{}}0000```{{{b{{Af{c}}}}e}j{BnAj}Ab}{{{b{Al}}c}jAb}{{{b{{An{c}}}}e}j{BnAj}Ab}{{{b{B`}}c}jAb}{{{b{Bb}}c}jAb}`{bc{}}0000{c{{j{e}}}{}{}}0000{{}{{j{c}}}{}}0000{bAd}0000`","D":"Ah","p":[[1,"reference"],[0,"mut"],[6,"GossipOrIncrement",0],[1,"unit"],[6,"Result",125],[10,"Deserializer",126],[5,"Formatter",127],[8,"Result",127],[10,"Serializer",128],[5,"TypeId",129],[5,"Timestamped",20],[10,"Clone",130],[10,"Debug",127],[6,"TopolotreeMessage",20],[5,"Payload",20],[5,"OperationPayload",20],[5,"QueryResponse",20],[10,"Deserialize",126],[1,"bool"],[10,"PartialEq",131],[10,"Hash",132],[10,"Hasher",132],[10,"Serialize",128]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHEABAAAAAsADgBDAFcAAwBgAB0A"}],["pn_delta",{"t":"PGPINNNNNNNNNHCNNNNNFFPPPFFGNNNNNNNNNNONNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNONNNNNNNNNNNNNNNNNNNNO","n":["Gossip","GossipOrIncrement","Increment","NextStateType","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deserialize","fmt","from","into","main","protocol","serialize","to_owned","try_from","try_into","type_id","OperationPayload","Payload","","Ping","Pong","QueryResponse","Timestamped","TopolotreeMessage","borrow","","","","","borrow_mut","","","","","change","clone","","","","","clone_into","","","","","clone_to_uninit","","","","","contents","data","deserialize","","","","","eq","","","","","equivalent","","","","","","","","","","fmt","","","","","from","","","","","hash","","","","into","","","","","key","","","serialize","","","","","timestamp","to_owned","","","","","try_from","","","","","try_into","","","","","type_id","","","","","value"],"q":[[0,"pn_delta"],[20,"pn_delta::protocol"],[125,"core::result"],[126,"serde::de"],[127,"core::fmt"],[128,"serde::ser"],[129,"core::any"],[130,"core::clone"],[131,"core::cmp"],[132,"core::hash"]],"i":"f`0`000000000``00000``Al00```Af1AnB`Bb34210134210342103421023342103421033442211003421034210342034210210342103342103421034210342100","f":"````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{f}}}f}{{b{b{dc}}}h{}}{bh}{c{{j{f}}}l}{{{b{f}}{b{dn}}}A`}{cc{}}{{}c{}}{{}h}`{{{b{f}}c}jAb}{bc{}}{c{{j{e}}}{}{}}{{}{{j{c}}}{}}{bAd}````````>>>>>=====`{{{b{{Af{c}}}}}{{Af{c}}}{AhAj}}{{{b{Al}}}Al}{{{b{{An{c}}}}}{{An{c}}}{AhAj}}{{{b{B`}}}B`}{{{b{Bb}}}Bb}{{b{b{dc}}}h{}}0000{bh}0000``{c{{j{{Af{e}}}}}l{BdAj}}{c{{j{Al}}}l}{c{{j{{An{e}}}}}l{BdAj}}{c{{j{B`}}}l}{c{{j{Bb}}}l}{{{b{{Af{c}}}}{b{{Af{c}}}}}Bf{BhAj}}{{{b{Al}}{b{Al}}}Bf}{{{b{{An{c}}}}{b{{An{c}}}}}Bf{BhAj}}{{{b{B`}}{b{B`}}}Bf}{{{b{Bb}}{b{Bb}}}Bf}{{b{b{c}}}Bf{}}000000000{{{b{{Af{c}}}}{b{dn}}}A`{AjAj}}{{{b{Al}}{b{dn}}}A`}{{{b{{An{c}}}}{b{dn}}}A`{AjAj}}{{{b{B`}}{b{dn}}}A`}{{{b{Bb}}{b{dn}}}A`}{cc{}}0000{{{b{{Af{c}}}}{b{de}}}h{BjAj}Bl}{{{b{Al}}{b{dc}}}hBl}{{{b{{An{c}}}}{b{de}}}h{BjAj}Bl}{{{b{Bb}}{b{dc}}}hBl}{{}c{}}0000```{{{b{{Af{c}}}}e}j{BnAj}Ab}{{{b{Al}}c}jAb}{{{b{{An{c}}}}e}j{BnAj}Ab}{{{b{B`}}c}jAb}{{{b{Bb}}c}jAb}`{bc{}}0000{c{{j{e}}}{}{}}0000{{}{{j{c}}}{}}0000{bAd}0000`","D":"Ah","p":[[1,"reference"],[0,"mut"],[6,"GossipOrIncrement",0],[1,"unit"],[6,"Result",125],[10,"Deserializer",126],[5,"Formatter",127],[8,"Result",127],[10,"Serializer",128],[5,"TypeId",129],[5,"Timestamped",20],[10,"Clone",130],[10,"Debug",127],[6,"TopolotreeMessage",20],[5,"Payload",20],[5,"OperationPayload",20],[5,"QueryResponse",20],[10,"Deserialize",126],[1,"bool"],[10,"PartialEq",131],[10,"Hash",132],[10,"Hasher",132],[10,"Serialize",128]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHEABAAAAAsADgBDAFcAAwBgAB0A"}],["pusherator",{"t":"FRRKRKKNNNCNCNCCCNNMCNNCNNCCCNMNCNCNNNNCNFNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNN","n":["InputBuild","Item","ItemOut","IteratorToPusherator","Output","Pusherator","PusheratorBuild","borrow","borrow_mut","default","demux","","filter","","filter_map","flatten","for_each","","from","give","inspect","","into","map","","new","null","partition","pivot","pull_to_push","push_to","","switch","","tee","","try_from","try_into","type_id","unzip","","Demux","borrow","borrow_mut","from","give","into","new","try_from","try_into","type_id","Filter","FilterBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","FilterMap","FilterMapBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","Flatten","FlattenBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","ForEach","borrow","borrow_mut","from","give","into","new","try_from","try_into","type_id","Inspect","InspectBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","Map","MapBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","Null","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","from","give","into","new","to_owned","try_from","try_into","type_id","Partition","PartitionBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","Pivot","PivotBuild","borrow","","borrow_mut","","from","","into","","new","","push_to","run","step","try_from","","try_into","","type_id","","Switch","SwitchBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","Tee","TeeBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id","","Unzip","UnzipBuild","borrow","","borrow_mut","","from","","give","into","","new","","push_to","try_from","","try_into","","type_id",""],"q":[[0,"pusherator"],[41,"pusherator::demux"],[51,"pusherator::filter"],[71,"pusherator::filter_map"],[91,"pusherator::flatten"],[111,"pusherator::for_each"],[121,"pusherator::inspect"],[141,"pusherator::map"],[161,"pusherator::null"],[176,"pusherator::partition"],[196,"pusherator::pivot"],[217,"pusherator::switch"],[237,"pusherator::tee"],[257,"pusherator::unzip"],[277,"core::ops::function"],[278,"core::result"],[279,"core::any"],[280,"core::option"],[281,"core::iter::traits::collect"],[282,"core::clone"],[283,"core::iter::traits::iterator"],[284,"either"]],"i":"`Afl`0``f00`1`1```102`10`10```An21`2`2111`2`Bl00000000``BnA`1010110100101010``C`Cd1010110100101010``CfCj1010110100101010`Cl00000000``CnAj1010110100101010``D`Al1010110100101010`Db0000000000000``DfDh1010110100101010``DjB`10101010011101010``DnBb1010110100101010``EbBd1010110100101010``EdBj1010110100101010","f":"```````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{}{{f{c}}}{}}`{{{l{}{{h{c}}{j{e}}}}ig}e{}{}{}{{n{c{b{dg}}}}}}`{{{l{}{{h{c}}{j{e}}}}g}{{A`{{l{}{{h{c}}{j{e}}}}g}}}{}{}{{n{{b{c}}}{{j{Ab}}}}}}```{{{l{}{{h{c}}{j{e}}}}g}e{}{}{{n{c}}}}{cc{}}{{{b{d{Af{}{{Ad{c}}}}}}c}Ah{}}`{{{l{}{{h{c}}{j{e}}}}g}{{Aj{{l{}{{h{c}}{j{e}}}}g}}}{}{}{{n{{b{c}}}}}}{{}c{}}`{{{l{}{{h{c}}{j{e}}}}i}{{Al{{l{}{{h{c}}{j{e}}}}i}}}{}{}{}{{n{c}{{j{g}}}}}}8```{An{{B`{An}}}}{{{l{}{{h{c}}{j{e}}}}g}e{}{}{{Af{}{{Ad{c}}}}}}{{{f{c}}g}i{}{}{{Af{}{{Ad{e}}}}}{}}`{{{l{}{{h{c}}{j{e}}}}g}{{Bb{{l{}{{h{c}}{j{e}}}}g}}}{}{}Af}`{{{l{}{{h{c}}{j{e}}}}g}{{Bd{{l{}{{h{c}}{j{e}}}}g}}}{}{}{{Af{}{{Ad{c}}}}}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{bBh}`{{{l{}{{h{c}}{j{e}}}}g}{{Bj{{l{}{{h{c}}{j{e}}}}g}}}{}{}Af}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}?{{{b{d{Bl{gec}}}}i}Ah{}{}{{n{c{b{de}}}}}{}}={{ge}{{Bl{gec}}}{}{}{{n{c{b{de}}}}}}765``3322{cc{}}0{{{b{d{Bn{ce}}}}g}AhAf{{n{b}{{j{Ab}}}}}{}}{{}c{}}0{{ce}{{Bn{ec}}}{{n{b}{{j{Ab}}}}}Af}{{ce}{{A`{ce}}}l{{n{b}{{j{Ab}}}}}}{{{A`{ce}}i}kl{{n{b}{{j{Ab}}}}}{}{{Af{}{{Ad{g}}}}}{}}==<<;;``998855{{{b{d{C`{cge}}}}i}AhAf{}{{n{e}{{j{Cb}}}}}{}}44{{eg}{{C`{gec}}}{}{{n{c}{{j{Cb}}}}}Af}{{cg}{{Cd{cg}}}l{}{{n{}{{j{{Cb{e}}}}}}}}{{{Cd{cg}}k}ml{}{{n{}{{j{{Cb{e}}}}}}}{}{{Af{}{{Ad{i}}}}}{}}{c{{Bf{e}}}{}{}}0{{}{{Bf{c}}}{}}0{bBh}0``{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0>>{{{b{d{Cf{ce}}}}g}Ah{{Af{}{{Ad{}}}}}Ch{}}=={c{{Cf{ce}}}{{Af{}{{Ad{}}}}}Ch}{c{{Cj{c}}}l}{{{Cj{c}}g}il{}{{Af{}{{Ad{e}}}}}{}}887766`54{cc{}}{{{b{d{Cl{ec}}}}g}Ah{}{{n{c}}}{}}{{}c{}}{e{{Cl{ec}}}{}{{n{c}}}}<;:``998833{{{b{d{Cn{ce}}}}g}AhAf{{n{b}}}{}}22{{ce}{{Cn{ec}}}{{n{b}}}Af}{{ce}{{Aj{ce}}}l{{n{b}}}}{{{Aj{ce}}i}kl{{n{b}}}{}{{Af{}{{Ad{g}}}}}{}}{c{{Bf{e}}}{}{}}0{{}{{Bf{c}}}{}}0{bBh}0``{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0<<{{{b{d{D`{cge}}}}i}AhAf{}{{n{e}{{j{}}}}}{}};;{{eg}{{D`{gec}}}{}{{n{c}{{j{}}}}}Af}{{cg}{{Al{cg}}}l{}{{n{}{{j{e}}}}}}{{{Al{cg}}k}ml{}{{n{}{{j{e}}}}}{}{{Af{}{{Ad{i}}}}}{}}887766`54{{{b{{Db{c}}}}}{{Db{c}}}Dd}{{b{b{dc}}}Ah{}}{bAh}{{}{{Db{c}}}{}}{cc{}}{{{b{d{Db{c}}}}e}Ah{}{}}{{}c{}}3{bc{}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{bBh}``{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}088{{{b{d{Df{ceg}}}}i}AhAf{{Af{}{{Ad{}}}}}{{n{b}{{j{Ab}}}}}{}}77{{ceg}{{Df{egc}}}{{n{b}{{j{Ab}}}}}Af{{Af{}{{Ad{}}}}}}{{ceg}{{Dh{ceg}}}l{{Af{}{{Ad{}}}}}{{n{b}{{j{Ab}}}}}}{{{Dh{ceg}}k}ml{{Af{}{{Ad{}}}}}{{n{b}{{j{Ab}}}}}{}{{Af{}{{Ad{i}}}}}{}}887766``5544<<::{{ce}{{Dj{ce}}}Dl{{Af{}{{Ad{}}}}}}{c{{B`{c}}}Dl}{{{B`{c}}g}iDl{}{{Af{}{{Ad{e}}}}}{}}{{{Dj{ce}}}AhDl{{Af{}{{Ad{}}}}}}{{{b{d{Dj{ce}}}}}AbDl{{Af{}{{Ad{}}}}}}==<<;;``::99{cc{}}0{{{b{d{Dn{ce}}}}g}AhAfAf{}}{{}c{}}0{{ce}{{Dn{ce}}}AfAf}{{eg}{{Bb{eg}}}{}{{l{}{{h{{E`{c}}}}}}}Af}{{{Bb{eg}}k}m{}{{l{}{{h{{E`{c}}}}}}}Af{}{{Af{}{{Ad{i}}}}}{}}{c{{Bf{e}}}{}{}}0{{}{{Bf{c}}}{}}0{bBh}0``{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0::{{{b{d{Eb{ce}}}}g}AhAf{{Af{}{{Ad{}}}}}{}}99{{ce}{{Eb{ce}}}Af{{Af{}{{Ad{}}}}}}{{ce}{{Bd{ce}}}l{{Af{}{{Ad{}}}}}}{{{Bd{ce}}i}kl{{Af{}{{Ad{}}}}}{}{{Af{}{{Ad{g}}}}}{}}887766``5544>>{{{b{d{Ed{ce}}}}g}AhAfAf{}}=={{ce}{{Ed{ce}}}AfAf}{{eg}{{Bj{eg}}}{}{{l{}{{h{{Ef{c}}}}}}}Af}{{{Bj{eg}}k}m{}{{l{}{{h{{Ef{c}}}}}}}Af{}{{Af{}{{Ad{i}}}}}{}}<<;;::","D":"Fb","p":[[1,"reference"],[0,"mut"],[5,"InputBuild",0],[17,"ItemOut"],[17,"Output"],[10,"PusheratorBuild",0],[10,"FnMut",277],[5,"FilterBuild",51],[1,"bool"],[17,"Item"],[10,"Pusherator",0],[1,"unit"],[5,"InspectBuild",121],[5,"MapBuild",141],[10,"IteratorToPusherator",0],[5,"PivotBuild",196],[5,"SwitchBuild",217],[5,"TeeBuild",237],[6,"Result",278],[5,"TypeId",279],[5,"UnzipBuild",257],[5,"Demux",41],[5,"Filter",51],[5,"FilterMap",71],[6,"Option",280],[5,"FilterMapBuild",71],[5,"Flatten",91],[10,"IntoIterator",281],[5,"FlattenBuild",91],[5,"ForEach",111],[5,"Inspect",121],[5,"Map",141],[5,"Null",161],[10,"Clone",282],[5,"Partition",176],[5,"PartitionBuild",176],[5,"Pivot",196],[10,"Iterator",283],[5,"Switch",217],[6,"Either",284],[5,"Tee",237],[5,"Unzip",257],[1,"tuple"]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAOQAHAABABEAFAACABgAFAAuAAAAMAAJADwAAAA/AA4AUAAAAFMADgBkAAAAZwALAHQAAAB2AAkAggAAAIUADgCWAAAAmQAPAKoAAACsAAoAuQAAALwADgDPABAA4gAAAOUADgD2AAAA+QAOAAoBAAANAQgA"}],["relalg",{"t":"PPGPPPPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Bool","ColRef","Datum","Eq","Int","Literal","Plus","ScalarExpr","String","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","eq","","equivalent","","","","eval","fmt","","from","","hash","","into","","is_true","span","to_owned","","to_tokens","try_from","","try_into","","type_id",""],"q":[[0,"relalg"],[45,"core::fmt"],[46,"core::hash"],[47,"proc_macro2"],[48,"core::result"],[49,"core::any"]],"i":"fh`0100`1101010101010110001010101010100101010","f":"`````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{f}}}f}{{{b{h}}}h}{{b{b{dc}}}j{}}0{bj}0{{{b{f}}{b{f}}}l}{{{b{h}}{b{h}}}l}{{b{b{c}}}l{}}000{{{b{h}}{b{{n{f}}}}}f}{{{b{f}}{b{dA`}}}Ab}{{{b{h}}{b{dA`}}}Ab}{cc{}}0{{{b{f}}{b{dc}}}jAd}{{{b{h}}{b{dc}}}jAd}{{}c{}}0{{{b{f}}}l}{bAf}{bc{}}0{{{b{h}}{b{dAh}}}j}{c{{Aj{e}}}{}{}}0{{}{{Aj{c}}}{}}0{bAl}0","D":"h","p":[[1,"reference"],[0,"mut"],[6,"Datum",0],[6,"ScalarExpr",0],[1,"unit"],[1,"bool"],[1,"slice"],[5,"Formatter",45],[8,"Result",45],[10,"Hasher",46],[5,"Span",47],[5,"TokenStream",47],[6,"Result",48],[5,"TypeId",49]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACkAAwAAABwAHwABACMACgA="}],["stageleft",{"t":"FKKQKKKFNNNNNNNNMNXNNCNNNQHQXCNNNNNNNNNNNNQQNNXNNNNNNIFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNEEQNNNNNENNNNNNNNNNNKKFRKNNNNNHHHHHNHNMHNMNNNNHNNN","n":["BorrowBounds","IntoQuotedMut","IntoQuotedOnce","PATH_SEPARATOR","Quoted","QuotedContext","QuotedWithContext","RuntimeData","borrow","","borrow_mut","","boxed","clone","clone_into","clone_to_uninit","create","","entry","from","","internal","into","","new","q","quote_type","quse_fn","runtime","runtime_support","splice_fn0","splice_fn0_ctx","splice_fn1","splice_fn1_borrow","splice_fn1_borrow_ctx","splice_fn1_ctx","splice_fn2_borrow_mut","splice_fn2_borrow_mut_ctx","splice_typed","splice_typed_ctx","splice_untyped","splice_untyped_ctx","stageleft_crate","stageleft_no_entry_crate","to_owned","to_tokens","top_level_mod","try_from","","try_into","","type_id","","CaptureVec","Span","TokenStream","append","append_all","append_separated","append_terminated","borrow","","borrow_mut","","byte_range","call_site","clone","","clone_into","","clone_to_uninit","","default","end","extend","","fmt","","","from","","","","","from_iter","","from_str","into","","into_iter","into_token_stream","is_empty","join","located_at","mixed_site","new","parse","proc_macro2","proc_macro_crate","quote","resolved_at","source_text","span","","start","syn","to_owned","","to_string","to_tokens","try_from","","try_into","","type_id","","unwrap","FreeVariable","FreeVariableWithContext","Import","O","ParseFromLiteral","borrow","borrow_mut","clone","clone_into","clone_to_uninit","create_import","fn0_type_hint","fn1_borrow_type_hint","fn1_type_hint","fn2_borrow_mut_type_hint","from","get_final_crate_name","into","parse_from_literal","set_macro_to_crate","to_owned","to_tokens","","","try_from","try_into","type_hint","type_id","uninitialized",""],"q":[[0,"stageleft"],[53,"stageleft::internal"],[117,"stageleft::runtime_support"],[147,"alloc::boxed"],[148,"core::marker"],[149,"syn::ty"],[150,"syn::expr"],[151,"proc_macro2"],[152,"core::option"],[153,"core::result"],[154,"core::any"],[155,"core::convert"],[156,"core::iter::traits::collect"],[157,"quote::to_tokens"],[158,"core::ops::range"],[159,"proc_macro2::location"],[160,"core::fmt"],[161,"proc_macro"],[162,"proc_macro2::token_stream"],[163,"syn::parse"],[164,"syn::error"],[165,"alloc::string"],[166,"core::ops::function"],[167,"stageleft_macro"],[168,"stageleft::type_name"],[169,"quote"]],"i":"````````Abj10f111A`3`32`322`````Ah00000000000``33`434343```Al0000Bn10001010101011110111001111011100011```00100`10111010100```Ef`Dl0000`````0`0Eb`12Eh222`230","f":"````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{f{{h{f}}}}{{{b{{j{c}}}}}{{j{c}}}l}{{b{b{dc}}}n{}}{bn}{{}A`}{{}Ab}`{cc{}}0`{{}c{}}0{{{b{Ad}}}{{j{c}}}{}}`{{}Af}```{AhAj}{{Ah{b{c}}}Aj{}}1100101010``{bc{}}{{{j{c}}{b{e}}}{{B`{{An{Al}}{An{Al}}}}}{}{}}`{c{{Bb{e}}}{}{}}0{{}{{Bb{c}}}{}}0{bBd}0```{{{b{dAl}}c}n{{Bh{Bf}}}}{{{b{dAl}}c}nBj}{{{b{dAl}}ce}nBjBl}0{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{Bn}}}{{Cb{C`}}}}{{}Bn}{{{b{Al}}}Al}{{{b{Bn}}}Bn}{{b{b{dc}}}n{}}0{bn}0{{}Al}{{{b{Bn}}}Cd}{{{b{dAl}}c}n{{Bj{}{{Cf{Al}}}}}}{{{b{dAl}}c}n{{Bj{}{{Cf{Bf}}}}}}{{{b{Al}}{b{dCh}}}{{Bb{nCj}}}}0{{{b{Bn}}{b{dCh}}}{{Bb{nCj}}}}{BfAl}{ClAl}{cc{}}0{CnBn}{cAl{{Bj{}{{Cf{Al}}}}}}{cAl{{Bj{}{{Cf{Bf}}}}}}{{{b{Ad}}}{{Bb{AlD`}}}}{{}c{}}0{AlDb}{AlAl}{{{b{Al}}}Dd}{{{b{Bn}}Bn}{{An{Bn}}}}{{{b{Bn}}Bn}Bn}{{}Bn}{{}Al}{{{b{Df}}}{{Bb{AlDh}}}}```3{{{b{Bn}}}{{An{Dj}}}}{bBn}0{{{b{Bn}}}Cd}`{bc{}}0{bDj}{{{b{Al}}{b{dAl}}}n}{c{{Bb{e}}}{}{}}0{{}{{Bb{c}}}{}}0{bBd}0{BnCn}`````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{{Dl{c}}}}}{{Dl{c}}}{}}{{b{b{dc}}}n{}}{bn}{{{b{Ad}}{b{Ad}}{b{Ad}}{b{Ad}}c}{{Dl{c}}}{}}{e{{`{{E`{}{{Dn{c}}}}}}}{}{{E`{}{{Dn{c}}}}}}{g{{`{{E`{{b{c}}}{{Dn{e}}}}}}}{}{}{{E`{{b{c}}}{{Dn{e}}}}}}{g{{`{{E`{c}{{Dn{e}}}}}}}{}{}{{E`{c}{{Dn{e}}}}}}{i{{`{{E`{{b{dc}}e}{{Dn{g}}}}}}}{}{}{}{{E`{{b{dc}}e}{{Dn{g}}}}}}{cc{}}{{{b{Ad}}}Al}{{}c{}}{{{b{Aj}}}Eb}{{{b{Ad}}{b{Ad}}}n}{bc{}}{{{Ef{}{{Ed{c}}}}{b{e}}}{{B`{{An{Al}}{An{Al}}}}}{}{}}{Eh{{B`{{An{Al}}{An{Al}}}}}}{{{Dl{c}}{b{e}}}{{B`{{An{Al}}{An{Al}}}}}{}{}}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}:{bBd}{{{b{{Ef{}{{Ed{c}}}}}}{b{e}}}c{}{}}{{{b{Eh}}}c{}}","D":"Cn","p":[[1,"reference"],[0,"mut"],[10,"IntoQuotedOnce",0],[5,"Box",147],[5,"RuntimeData",0],[10,"Copy",148],[1,"unit"],[10,"QuotedContext",0],[5,"BorrowBounds",0],[1,"str"],[6,"Type",149],[10,"QuotedWithContext",0],[6,"Expr",150],[5,"TokenStream",53,151],[6,"Option",152],[1,"tuple"],[6,"Result",153],[5,"TypeId",154],[6,"TokenTree",151],[10,"Into",155],[10,"IntoIterator",156],[10,"ToTokens",157],[5,"Span",53,151],[1,"usize"],[5,"Range",158],[5,"LineColumn",159],[17,"Item"],[5,"Formatter",160],[5,"Error",160],[5,"TokenStream",161],[5,"Span",161],[5,"LexError",151],[5,"IntoIter",162],[1,"bool"],[5,"ParseBuffer",163],[5,"Error",164],[5,"String",165],[5,"Import",117],[17,"Output"],[10,"Fn",166],[10,"ParseFromLiteral",117],[17,"O"],[10,"FreeVariableWithContext",117],[10,"FreeVariable",117]],"r":[[18,167],[25,167],[26,168],[27,167],[28,167],[46,167],[54,151],[55,151],[99,169]],"b":[[74,"impl-Extend%3CTokenStream%3E-for-TokenStream"],[75,"impl-Extend%3CTokenTree%3E-for-TokenStream"],[76,"impl-Display-for-TokenStream"],[77,"impl-Debug-for-TokenStream"],[79,"impl-From%3CTokenTree%3E-for-TokenStream"],[80,"impl-From%3CTokenStream%3E-for-TokenStream"],[84,"impl-FromIterator%3CTokenStream%3E-for-TokenStream"],[85,"impl-FromIterator%3CTokenTree%3E-for-TokenStream"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHQAEgAAAAcACQAJABYAAAAZAAAAHAAAAB4AEAAwAAYAOQAHAEMABgBLAAYAVAADAFoAAQBhAAIAZwABAGoACgB2AA4AhgAAAIgACwA="}],["stageleft_macro",{"t":"XQQXX","n":["entry","q","quse_fn","runtime","top_level_mod"],"q":[[0,"stageleft_macro"]],"i":"`````","f":"`````","D":"h","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAAAAwA="}],["stageleft_test",{"t":"","n":[],"q":[],"i":"","f":"","D":"`","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAAA"}],["stageleft_test_macro",{"t":"QQQQQ","n":["macro_1D9EA688BDAD0220DDA345911DFF2BB6E8E5BC4E77EB90CFF313F1173FBAAC76","macro_38E565FEA38AC41C54ADE66EC4DE63627AE67920289C47F17E15FA5CAA51AA09","macro_6FDA8B564870A142D5552754F23D11EF7BE0CAEA91248C97E1841A1AD9B21FDC","macro_7FF6C2F30B0514D172E87E4B147CF7B9E2B5E5229D8E85C40921FBDF8FC88ED4","macro_F4D078123B8339975043C45164DA8B763897C4A8742B7DFFC5D753F1FE929448"],"q":[[0,"stageleft_test_macro"]],"i":"`````","f":"`````","D":"`","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAUAAQAAAAUA"}],["stageleft_tool",{"t":"QHHH","n":["gen_final","gen_final_helper","gen_macro","gen_staged_trybuild"],"q":[[0,"stageleft_tool"],[4,"std::path"],[5,"alloc::string"],[6,"syn::file"]],"i":"````","f":"`{{}b}{{{f{d}}{f{h}}}b}{{{f{d}}jl}n}","D":"`","p":[[1,"unit"],[5,"Path",4],[1,"reference"],[1,"str"],[5,"String",5],[1,"bool"],[5,"File",6]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAQAEAAAAAAAAQACAAMABAA="}],["topolotree",{"t":"IFINNNNNNNNNNNNNHCHNNNNNFFPPPFFGNNNNNNNNNNONNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNONNNNNNNNNNNNNNNNNNNNO","n":["ContributionAgg","NodeId","PostNeighborJoin","borrow","borrow_mut","clone","clone_into","clone_to_uninit","eq","equivalent","","fmt","","from","hash","into","main","protocol","run_topolotree","to_owned","to_string","try_from","try_into","type_id","OperationPayload","Payload","","Ping","Pong","QueryResponse","Timestamped","TopolotreeMessage","borrow","","","","","borrow_mut","","","","","change","clone","","","","","clone_into","","","","","clone_to_uninit","","","","","contents","data","deserialize","","","","","eq","","","","","equivalent","","","","","","","","","","fmt","","","","","from","","","","","hash","","","","into","","","","","key","","","serialize","","","","","timestamp","to_owned","","","","","try_from","","","","","try_into","","","","","type_id","","","","","value"],"q":[[0,"topolotree"],[24,"topolotree::protocol"],[129,"core::fmt"],[130,"core::hash"],[131,"alloc::vec"],[132,"bytes::bytes"],[133,"tokio::sync::mpsc::unbounded"],[134,"hydroflow::scheduled::graph"],[135,"bytes::bytes_mut"],[136,"std::io::error"],[137,"core::result"],[138,"futures_core::stream"],[139,"core::marker"],[140,"alloc::string"],[141,"core::any"],[142,"core::clone"],[143,"serde::de"],[144,"core::cmp"],[145,"serde::ser"]],"i":"```f000000000000```00000``Cd00```Bn1CfChCj34210134210342103421023342103421033442211003421034210342034210210342103342103421034210342100","f":"```{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{f}}}f}{{b{b{dc}}}h{}}{bh}{{{b{f}}{b{f}}}j}{{b{b{c}}}j{}}0{{{b{f}}{b{dl}}}n}0{cc{}}{{{b{f}}{b{dc}}}hA`}{{}c{}}{{}h}`{{{Ad{Ab}}ce{Aj{{Ah{AbAf}}}}{Aj{Af}}}Al{{Bf{}{{An{{Bd{{Ah{AbB`}}Bb}}}}}}Bh}{{Bf{}{{An{{Bd{B`Bb}}}}}}Bh}}{bc{}}{bBj}{c{{Bd{e}}}{}{}}{{}{{Bd{c}}}{}}{bBl}````````{b{{b{c}}}{}}0000{{{b{d}}}{{b{dc}}}{}}0000`{{{b{{Bn{c}}}}}{{Bn{c}}}{C`Cb}}{{{b{Cd}}}Cd}{{{b{{Cf{c}}}}}{{Cf{c}}}{C`Cb}}{{{b{Ch}}}Ch}{{{b{Cj}}}Cj}{{b{b{dc}}}h{}}0000{bh}0000``{c{{Bd{{Bn{e}}}}}Cl{CnCb}}{c{{Bd{Cd}}}Cl}{c{{Bd{{Cf{e}}}}}Cl{CnCb}}{c{{Bd{Ch}}}Cl}{c{{Bd{Cj}}}Cl}{{{b{{Bn{c}}}}{b{{Bn{c}}}}}j{D`Cb}}{{{b{Cd}}{b{Cd}}}j}{{{b{{Cf{c}}}}{b{{Cf{c}}}}}j{D`Cb}}{{{b{Ch}}{b{Ch}}}j}{{{b{Cj}}{b{Cj}}}j}{{b{b{c}}}j{}}000000000{{{b{{Bn{c}}}}{b{dl}}}n{CbCb}}{{{b{Cd}}{b{dl}}}n}{{{b{{Cf{c}}}}{b{dl}}}n{CbCb}}{{{b{Ch}}{b{dl}}}n}{{{b{Cj}}{b{dl}}}n}{cc{}}0000{{{b{{Bn{c}}}}{b{de}}}h{DbCb}A`}{{{b{Cd}}{b{dc}}}hA`}{{{b{{Cf{c}}}}{b{de}}}h{DbCb}A`}{{{b{Cj}}{b{dc}}}hA`}{{}c{}}0000```{{{b{{Bn{c}}}}e}Bd{DdCb}Df}{{{b{Cd}}c}BdDf}{{{b{{Cf{c}}}}e}Bd{DdCb}Df}{{{b{Ch}}c}BdDf}{{{b{Cj}}c}BdDf}`{bc{}}0000{c{{Bd{e}}}{}{}}0000{{}{{Bd{c}}}{}}0000{bBl}0000`","D":"Ah","p":[[1,"reference"],[0,"mut"],[5,"NodeId",0],[1,"unit"],[1,"bool"],[5,"Formatter",129],[8,"Result",129],[10,"Hasher",130],[1,"u32"],[5,"Vec",131],[5,"Bytes",132],[1,"tuple"],[5,"UnboundedSender",133],[5,"Hydroflow",134],[17,"Item"],[5,"BytesMut",135],[5,"Error",136],[6,"Result",137],[10,"Stream",138],[10,"Unpin",139],[5,"String",140],[5,"TypeId",141],[5,"Timestamped",24],[10,"Clone",142],[10,"Debug",129],[6,"TopolotreeMessage",24],[5,"Payload",24],[5,"OperationPayload",24],[5,"QueryResponse",24],[10,"Deserializer",143],[10,"Deserialize",143],[10,"PartialEq",144],[10,"Hash",130],[10,"Serialize",145],[10,"Serializer",145]],"r":[],"b":[[11,"impl-Display-for-NodeId"],[12,"impl-Debug-for-NodeId"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHUABQAAAA0ADwAAABEARABbAAMAZAAdAA=="}],["variadics",{"t":"RRKKRKRKRRRRRRTRKKRRKRKKRRRKKKMMMMMMMMMMMMMMMNMMNMMMMMMMMMQQQCQMFRKFFFKKNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNMNNNMNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["AsMutVar","AsRefVar","CloneVariadic","CopyRefVariadic","Drain","EitherRefVariadic","Extend","HomogenousVariadic","IntoIter","IntoOption","IntoVec","IntoZip","IterAnyMut","IterAnyRef","LEN","MutVar","MutVariadic","PartialEqVariadic","Prefix","RefVar","RefVariadic","Reverse","Split","SplitBySuffix","Suffix","UnRefVar","UnVec","Variadic","VariadicExt","VecVariadic","as_mut_var","as_ref_var","clone_ref_var","copy_var","drain","eq","eq_ref","extend","get","","get_mut","into_iter","into_option","into_singleton_vec","into_zip","is_empty","iter_any_mut","iter_any_ref","len","mut_to_ref","push","reverse","reverse_ref","split","split_by_suffix","split_by_suffix_ref","split_ref","unref_ref","var_args","var_expr","var_type","variadic_collections","variadic_trait","zip_vecs","DuplicateCounted","Schema","VariadicCollection","VariadicColumnMultiset","VariadicCountedHashSet","VariadicHashSet","VariadicMultiset","VariadicSet","borrow","","","","borrow_mut","","","","clone","","","","clone_into","","","","clone_to_uninit","","","","contains","","","","default","","","drain","","","","eq","","extend","","","fmt","","","from","","","","from_iter","","get","","insert","","","","into","","","","into_iter","","","","is_empty","","","","iter","","","","len","","","","new","","","next","to_owned","","","","try_from","","","","try_into","","","","type_id","","","","with_capacity_and_hasher","","with_hasher",""],"q":[[0,"variadics"],[64,"variadics::variadic_collections"],[167,"core::iter::traits::iterator"],[168,"core::default"],[169,"core::ops::range"],[170,"core::clone"],[171,"core::option"],[172,"core::cmp"],[173,"core::hash"],[174,"core::iter::traits::collect"],[175,"core::fmt"],[176,"core::result"],[177,"core::any"]],"i":"Ad0``Bh`1`D`221222Dd``E`1`4``Dj24```55BlBn6Cj0867668878888578834435`````7`F```````EbEdEfEh3210321032103210432032043203232032032103232432032103210432043204320320132103210321032103232","f":"``````````````````````````````{{{Af{b{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}iAdAd{{An{}{{Ah{}}{Aj{}}{Al{}}}}}{{B`{}{{Ah{}}{Aj{}}{Al{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{}{{Bh{}{{Bf{}}}}Bj}}{{{Af{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}gAdAd{{An{}{{Ah{}}{Aj{}}{Al{}}}}}{{B`{}{{Ah{}}{Aj{}}{Al{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{}{{Bh{}{{Bf{}}}}Bj}}{cBl{}}{{{Af{Bn}}}c{}}{{{Af{b{Bh{}{{Bf{c}}{C`{e}}{Cb{g}}}}}}i}g{{Ad{}{{Ab{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{{Cf{Cd}}Ch}}{{{Af{Cj}}{Af{Cj}}}Cl}{{cc}Cl{}}{{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}Ac}cAdAd{{An{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{B`{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{Bd{}{{Bb{Af}}}}}{{Bd{}{{Bb{{Af{b}}}}}}}{}{{Bh{}{{Bf{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}}Bj}Ad}{{{Af{{D`{}{{Cn{c}}}}}}Cd}{{Db{{Af{e}}}}}{{Bd{}{{Bb{e}}}}}{}}{{{Af{b{Bh{}{{Bf{c}}{C`{e}}{Cb{g}}}}}}Cd}Db{{Ad{}{{Ab{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}}{{{Af{b{D`{}{{Cn{c}}}}}}Cd}{{Db{{Af{be}}}}}{{Bd{}{{Bb{e}}}}}{}}{{{D`{}{{Cn{c}}}}}c{{Bd{}{{Bb{e}}}}}{}}{{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}oAdAd{{An{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{B`{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{Bd{}{{Bb{Af}}}}}{{Bd{}{{Bb{{Af{b}}}}}}}{}{{Bh{}{{Bf{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}}Bj}}{{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}AaAdAd{{An{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{B`{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{Bd{}{{Bb{Af}}}}}{{Bd{}{{Bb{{Af{b}}}}}}}{}{{Bh{}{{Bf{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}}Bj}}{{{Bh{}{{Bf{c}}{C`{e}}{Cb{g}}}}}e{{Ad{}{{Ab{{Bh{}{{Bf{c}}{C`{e}}{Cb{g}}}}}}}}}{{Bd{}{{Bb{c}}}}}{{Bd{}{{Bb{c}}}}}}{{{Af{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}ClAdAd{{An{}{{Ah{}}{Aj{}}{Al{}}}}}{{B`{}{{Ah{}}{Aj{}}{Al{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{}{{Bh{}{{Bf{}}}}Bj}}{{{Af{b{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}mAdAd{{An{}{{Ah{}}{Aj{}}{Al{}}}}}{{B`{}{{Ah{}}{Aj{}}{Al{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{}{{Bh{}{{Bf{}}}}Bj}}{{{Af{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}kAdAd{{An{}{{Ah{}}{Aj{}}{Al{}}}}}{{B`{}{{Ah{}}{Aj{}}{Al{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{}{{Bh{}{{Bf{}}}}Bj}}{{{Af{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}CdAdAd{{An{}{{Ah{}}{Aj{}}{Al{}}}}}{{B`{}{{Ah{}}{Aj{}}{Al{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}{}{{Bh{}{{Bf{}}}}Bj}}{{{Dd{}{{Ah{c}}{Aj{e}}{Al{g}}}}}eAd{{An{}{{Ah{c}}{Aj{e}}}}}{{B`{}{{Ah{c}}{Al{g}}}}}}{{{Af{b{Bh{}{{Bf{c}}{C`{e}}{Cb{g}}}}}}c}Df{{Ad{}{{Ab{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}}{{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}eAdAd{{An{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{B`{}{{Ah{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}{Aj{g}}{Al{i}}}}}{{Bd{}{{Bb{Af}}}}}{{Bd{}{{Bb{{Af{b}}}}}}}{}{{Bh{}{{Bf{{Ad{}{{d{c}}{f{e}}{h{g}}{j{i}}{l{k}}{n{m}}{A`{o}}{Ab{Aa}}}}}}}}Bj}}{c{}{}}{{{Dj{}{{Dh{c}}}}}{{Dl{ec}}}AdAd}{{{E`{}{{Dn{c}}}}}{{Dl{ce}}}AdAd}{cDl{}}0{{{Af{{Dd{}{{Ah{c}}{Aj{e}}{Al{g}}}}}}}{}Ad{{An{}{{Ah{c}}{Aj{e}}}}}{{B`{}{{Ah{c}}{Al{g}}}}}}`````{{{Af{{Bh{}{{Bf{c}}{C`{e}}{Cb{g}}}}}}}{{`{{Bd{}{{Bb{}}}}}}}{{Ad{}{{Ab{}}}}}{{Bd{}{{Bb{}}}}}{{Bd{}{{Bb{}}}}}}````````{Af{{Af{c}}}{}}000{{{Af{b}}}{{Af{bc}}}{}}000{{{Af{{Eb{ce}}}}}{{Eb{ce}}}ChCh}{{{Af{{Ed{ce}}}}}{{Ed{ce}}}{AdCh}Ch}{{{Af{{Ef{ce}}}}}{{Ef{ce}}}ChCh}{{{Af{{Eh{c}}}}}{{Eh{c}}}{AdEjElCh}}{{Af{Af{bc}}}Df{}}000{AfDf}000{{{Af{{F`{}{{En{c}}}}}}}ClCj}{{{Af{{Eb{ce}}}}}Cl{AdCjEjEl}Fb}{{{Af{{Ed{ce}}}}}Cl{AdCjEjElCh}Fb}{{{Af{{Eh{c}}}}}Cl{CjEjEl}}{{}{{Eb{c}}}{}}{{}{{Ed{c}}}Ad}{{}{{Eh{c}}}{AdEjEl}}{{{Af{b{F`{}{{En{c}}}}}}}{{`{{Bd{}{{Bb{c}}}}}}}Cj}{{{Af{b{Eb{ce}}}}}{{`{{Bd{}{{Bb{g}}}}}}}{AdCjEjEl}Fb{}}{{{Af{b{Ed{ce}}}}}{{`{{Bd{}{{Bb{g}}}}}}}{AdCjEjElCh}Fb{}}{{{Af{b{Eh{c}}}}}{{`{{Bd{}{{Bb{e}}}}}}}{CjEjEl}{}}{{{Af{{Eb{ce}}}}{Af{{Eb{ce}}}}}Cl{EjElCj}Fb}{{{Af{{Ed{ce}}}}{Af{{Ed{ce}}}}}Cl{EjElCjCh}Fb}{{{Af{b{Eb{ce}}}}g}Df{EjElCj}Fb{{Fd{}{{Bb{c}}}}}}{{{Af{b{Ed{ce}}}}g}Df{EjElCjCh}Fb{{Fd{}{{Bb{c}}}}}}{{{Af{b{Eh{c}}}}e}Df{EjElCj}{{Fd{}{{Bb{c}}}}}}{{{Af{{Eb{c}}}}{Af{bFf}}}Fh{FjAdCjEjEl}}{{{Af{{Ed{c}}}}{Af{bFf}}}Fh{FjAdCj}}{{{Af{{Eh{c}}}}{Af{bFf}}}Fh{FjAdCjEjEl}}{cc{}}000{e{{Eb{cg}}}{EjElCj}{{Fd{}{{Bb{c}}}}}{FbBj}}{e{{Ed{cg}}}{EjElCjCh}{{Fd{}{{Bb{c}}}}}{FbBj}}{{{Af{{Eb{ce}}}}}{{Db{{Af{c}}}}}CjFb}{{{Af{{Ed{ce}}}}}{{Db{{Af{{Dl{cCd}}}}}}}CjFb}{{{Af{b{F`{}{{En{c}}}}}}c}ClCj}{{{Af{b{Eb{ce}}}}c}Cl{AdCjEjEl}Fb}{{{Af{b{Ed{ce}}}}c}Cl{AdCjEjElCh}Fb}{{{Af{b{Eh{c}}}}c}Cl{CjEjEl}}{{}c{}}000{{{Eb{ce}}}g{AdCj}{}{}}{{{Ed{c}}}e{AdCjCh}{}}2{{{Eh{c}}}e{CjEjEl}{}}{{{Af{{F`{}{{En{c}}}}}}}ClCj}{{{Af{{Eb{ce}}}}}Cl{AdCjEjEl}Fb}{{{Af{{Ed{ce}}}}}Cl{AdCjEjElCh}Fb}{{{Af{{Eh{c}}}}}Cl{CjEjEl}}{{{Af{{F`{}{{En{c}}}}}}}{{`{{Bd{}{{Bb{}}}}}}}Cj}{{{Af{{Eb{ce}}}}}{{`{{Bd{}{{Bb{}}}}}}}{AdCjEjEl}Fb}{{{Af{{Ed{ce}}}}}{{`{{Bd{}{{Bb{}}}}}}}{AdCjEjElCh}Fb}{{{Af{{Eh{c}}}}}{{`{{Bd{}{{Bb{}}}}}}}{CjEjEl}}{{{Af{{F`{}{{En{c}}}}}}}CdCj}{{{Af{{Eb{ce}}}}}Cd{AdCjEjEl}Fb}{{{Af{{Ed{ce}}}}}Cd{AdCjEjElCh}Fb}{{{Af{{Eh{c}}}}}Cd{CjEjEl}}{{}{{Eb{c}}}{}}{{}{{Ed{c}}}Ad}{{}{{Eh{c}}}{AdEjEl}}{{{Af{b{Ef{ec}}}}}{{Db{g}}}Ch{{Bd{}{{Bb{{Dl{cCd}}}}}}}{}}{Afc{}}000{c{{Fl{e}}}{}{}}000{{}{{Fl{c}}}{}}000{AfFn}000{{Cdc}{{Eb{ec}}}{}{}}{{Cdc}{{Ed{ec}}}{}Ad}{c{{Eb{ec}}}{}{}}{c{{Ed{ec}}}{}Ad}","D":"L`","p":[[0,"mut"],[17,"Extend"],[17,"Reverse"],[17,"AsRefVar"],[17,"AsMutVar"],[17,"IterAnyRef"],[17,"IterAnyMut"],[17,"IntoOption"],[17,"IntoVec"],[10,"VariadicExt",0],[1,"reference"],[17,"UnRefVar"],[17,"RefVar"],[17,"MutVar"],[10,"RefVariadic",0],[10,"MutVariadic",0],[17,"Item"],[10,"Iterator",167],[17,"UnVec"],[10,"VecVariadic",0],[10,"Default",168],[10,"CloneVariadic",0],[10,"CopyRefVariadic",0],[17,"IntoZip"],[17,"Drain"],[1,"usize"],[10,"RangeBounds",169],[10,"Clone",170],[10,"PartialEqVariadic",0],[1,"bool"],[17,"IntoIter"],[10,"HomogenousVariadic",0],[6,"Option",171],[10,"EitherRefVariadic",0],[1,"unit"],[17,"Suffix"],[10,"Split",0],[1,"tuple"],[17,"Prefix"],[10,"SplitBySuffix",0],[5,"VariadicHashSet",64],[5,"VariadicCountedHashSet",64],[5,"DuplicateCounted",64],[5,"VariadicColumnMultiset",64],[10,"Eq",172],[10,"Hash",173],[17,"Schema"],[10,"VariadicCollection",64],[10,"BuildHasher",173],[10,"IntoIterator",174],[5,"Formatter",175],[8,"Result",175],[10,"Debug",175],[6,"Result",176],[5,"TypeId",177]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEcACgBJABMAXgAFAGUACgB0AAEAeQACAIAAAwCFAAIAiQACAI0AAgCTABAA"}],["variadics_macro",{"t":"Q","n":["tuple"],"q":[[0,"variadics_macro"]],"i":"`","f":"`","D":"b","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAEA"}],["website_playground",{"t":"FFFFFNNNNNNNNNNOHHONNNNNOONNNNNNNNHHNNNNNOOOOOHNNNNNOONNNNNNNNNNNNNNN","n":["HydroflowOutput","HydroflowResult","JsDiagnostic","JsLineColumn","JsSpan","borrow","","","","","borrow_mut","","","","","column","compile_datalog","compile_hydroflow","compiled","deserialize","","","","","diagnostics","end","from","","","","","","","","init","init_datalog_boolean_demo","into","","","","","is_error","line","mermaid","message","output","send_datalog_boolean_demo","serialize","","","","","span","start","try_from","","","","","try_into","","","","","type_id","","","",""],"q":[[0,"website_playground"],[69,"alloc::string"],[70,"wasm_bindgen"],[71,"core::result"],[72,"serde::de"],[73,"proc_macro2::location"],[74,"proc_macro2"],[75,"hydroflow_lang::diagnostic"],[76,"core::option"],[77,"serde::ser"],[78,"core::any"]],"i":"`````lAbAdAfAh432104``0432101344332210``4321024021`4321023432104321043210","f":"`````{b{{b{c}}}{}}0000{{{b{d}}}{{b{dc}}}{}}0000`{{fhhhhhh}j}0`{c{{n{l}}}A`}{c{{n{Ab}}}A`}{c{{n{Ad}}}A`}{c{{n{Af}}}A`}{c{{n{Ah}}}A`}``{cc{}}{Ajl}1{AlAb}2{AnAd}33{{}B`}{{{b{Bb}}}B`}{{}c{}}0000`````{{{b{Bb}}Bd}{{Bf{Bd}}}}{{{b{l}}c}nBh}{{{b{Ab}}c}nBh}{{{b{Ad}}c}nBh}{{{b{Af}}c}nBh}{{{b{Ah}}c}nBh}``{c{{n{e}}}{}{}}0000{{}{{n{c}}}{}}0000{bBj}0000","D":"Ad","p":[[1,"reference"],[0,"mut"],[5,"String",69],[1,"bool"],[5,"JsValue",70],[5,"JsLineColumn",0],[6,"Result",71],[10,"Deserializer",72],[5,"JsSpan",0],[5,"JsDiagnostic",0],[5,"HydroflowResult",0],[5,"HydroflowOutput",0],[5,"LineColumn",73],[5,"Span",74],[5,"Diagnostic",75],[1,"unit"],[1,"str"],[1,"i32"],[6,"Option",76],[10,"Serializer",77],[5,"TypeId",78]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADsABgAAABoAHAAAAB4AAAAgAAAAIwABACoAGwA="}]]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); -//{"start":39,"fragment_lengths":[2290,8715,4429,3591,18790,37049,173,923,3868,20728,324,37723,6669,1406,792,2396,46952,221,2290,174,2748,2766,7338,1185,5536,223,135,542,415,3463,8858,167,1724]} \ No newline at end of file +//{"start":39,"fragment_lengths":[2290,8715,4429,3591,18790,37049,173,923,3868,21864,324,37723,6669,1406,792,2396,46952,221,2290,174,2748,2766,7338,1185,5536,223,135,542,415,3463,8858,167,1724]} \ No newline at end of file diff --git a/doc/search.desc/hydroflow_lang/hydroflow_lang-desc-0-.js b/doc/search.desc/hydroflow_lang/hydroflow_lang-desc-0-.js index 36cbc07b6e01..fe7c650a00d1 100644 --- a/doc/search.desc/hydroflow_lang/hydroflow_lang-desc-0-.js +++ b/doc/search.desc/hydroflow_lang/hydroflow_lang-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("hydroflow_lang", 0, "Hydroflow surface syntax\nCompatibility for proc_macro diagnostics, which are …\nGraph representation stages for Hydroflow graphs.\nAST for surface syntax, modelled on syn’s ASTs.\nPretty, human-readable printing of proc_macro2::Spans.\nUtility methods for processing singleton references: …\nUnion-find data structure, see UnionFind.\nDiagnostic. A warning or error (or lower Level) with a …\nAn error.\nA help message.\nDiagnostic reporting level.\nA note.\nA serializable and deserializable version of Span. Cannot …\nA warning.\nColumn number, one-indexed.\nEmit the diagnostic. Only works from the proc_macro …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIf this level is Level::Error.\nIf this diagnostic’s level is Level::Error.\nSeverity level.\nLine number, one-indexed.\nHuman-readable message.\nThe source file path.\nSpan (source code location).\nCreate a new diagnostic from the given span, level, and …\nConverts this into a serializable and deserializable …\nUsed to emulate Diagnostic::emit by turning this …\nPush, Pull, Comp, or Hoff polarity.\nComputation (yellow)\nA directed multigraph where an vertex’s inbound and …\nDot (Graphviz) graphs.\nElided, unspecified port. We have this variant, rather …\nWraper around HydroflowGraph to build a flat graph from …\nID to identify an edge.\nA node, corresponding to an operator or a handoff.\nID to identify a node (operator or handoff) in …\nID to identify a subgraph in HydroflowGraph.\nA handoff point, used between subgraphs (or within a …\nHandoff (grey) – not a color for operators, inserted …\nAn abstract “meta graph” representation of a Hydroflow …\nAn integer value: [0], [1], etc. Can be negative although …\nMermaid graphs.\nModule Boundary, used for importing modules. Only exists …\nOperator generic arguments, split into specific categories.\nAn operator.\nMeta-data relating to operators which may be useful …\nA name or path. [pos], [neg], etc. Can use :: separators …\nHelper struct for PortIndex which keeps span information …\nPull (green)\nPush (blue)\nConfiguration for writing graphs.\nEnum for choosing between mermaid and dot graph writing.\nAdd a single HfStatement line to this HydroflowGraph.\nArguments provided by the user into the operator as …\nUnparsed arguments, for singleton parsing.\nEmit this HydroflowGraph as runnable Rust source code …\nFormats self as a human-readable string for error messages.\nAssert that self is in a consistent state, for debugging. …\nBuild into an unpartitioned HydroflowGraph, returning a …\nThe main function of this module. Compiles a HfCode AST …\nReturn Err(self) if there is a conflict.\nThe degree (number of edges/vertices) going into v, i.e. …\nThe degree (number of edges/vertices) coming out of v, …\nGet the source and destination vertex IDs for the given …\nGet the src and dst for an edge: …\nReturn an iterator over all edge IDs E.\nIterator of all edge IDs GraphEdgeId.\nGet the source and destination ports for an edge: …\nReturn an iterator over all edges in form (E, (V, V)).\nIterator over all edges: …\nRemoves missing unions and tees. Must be applied BEFORE …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConvert the Hydroflow code AST into a graph builder.\nConvert the Hydroflow code AST into a graph builder.\nFor a Ported value like [port_in]name[port_out], get the …\nOperator generic (type or lifetime) arguments.\nGeneric arguments.\nGets the generic arguments for the operator.\nGeneral graph algorithm utility functions\nPort values used as this operator’s input.\nCreates an edge going from src to dst and returns the edge …\nInsert an edge between nodes thru the given ports.\nInserts a node between two existing nodes connected by the …\nFor an edge from A --> B, insert a new vertex V along that …\nInsert a node, assigning the given varname.\nInsert an operator instance for the given node. Panics if …\nAssign all operator instances if not set. Write diagnostic …\nCreate a subgraph consisting of node_ids. Returns an error …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if self is not PortIndexValue::Elided.\nReturns the the stratum number of the largest (latest) …\nWhen modules are imported into a flat graph, they come …\nConvert into a mermaid graph. Ignores subgraphs.\nCreates an empty DiMulGraph.\nCreate a new empty graph builder.\nCreate a new empty HydroflowGraph.\nWill not render handoffs if set.\nWill not render pull/push shapes if set.\nWill not render singleton references if set.\nSubgraphs will not be rendered if set.\nVariable names will not be rendered if set.\nGet a node with its operator instance (if applicable).\nColor mode (pull vs. push, handoff vs. comp) for nodes. …\nDegree into a node, i.e. the number of predecessors.\nDegree out of a node, i.e. the number of successors.\nIterator of node IDs GraphNodeId.\nGet the OperatorInstance for a given node. Node must be an …\nPredecessor edges, iterator of GraphEdgeId of incoming …\nPredecessor nodes, iterator of GraphNodeId.\nPredecessors, iterator of (GraphEdgeId, GraphNodeId) of …\nGets the singletons referenced by a node. Returns an empty …\nGet subgraph for node.\nSuccessor edges, iterator of GraphEdgeId of outgoing edges.\nSuccessor nodes, iterator of GraphNodeId.\nSuccessors, iterator of (GraphEdgeId, GraphNodeId) of …\nGet the debug variable name attached to a graph node.\nIterator over (GraphNodeId, &Node) pairs.\nName of the operator (will match OperatorConstraints::name…\nOp text will only be their name instead of the whole …\nOp text will exclude any line that starts with “use”.\nOpens this as dot/graphviz graph in the Graphviz Online …\nOpens the graph based on graph_type, which can be parsed …\nOpens this as a mermaid graph in the mermaid.live browser …\nHydroflow’s operators\nPort values used as this operator’s output.\nMain method for this module. Partions a flat HydroflowGraph…\nLifetime persistence arguments. Corresponds to a prefix of …\nReturn an iterator of all edge IDs going into v.\nReturn an iterator of all predecessor vertex IDs of v.\nReturn an iterator of all predecessor edge IDs and vertex …\nRemove an edge from the graph. If the edgeId is found then …\nRemoves an edge and its corresponding ports and edge type …\nRemoves a node from its subgraph. Returns true if the node …\nRemove the node node_id but preserves and connects the …\nFor a vertex with one incoming edge and one outgoing edge, …\nRemove a vertex from the graph, it must have no edges to …\nSet the singletons referenced for the node_id operator. …\nSet subgraph’s laziness, returning the old value.\nSet subgraph’s stratum number, returning the old value …\nSingleton references within the operator arguments.\nReturn the source code span of the node (for operators) or …\nReturns the span of this port value.\nNodes belonging to the given subgraph.\nIterator over all subgraph IDs.\nGets the stratum number of the subgraph.\nIterator over all subgraphs, ID and members: …\nReturn an iterator of all edge IDs coming out of v.\nReturn an iterator of all successor vertex IDs of v.\nReturn an iterator of all successor edge IDs and vertex …\nConvert back into surface syntax.\nWrites this graph as DOT (graphviz) into a string.\nWrites this graph as mermaid into a string.\nReturn the name of the node as a string, excluding …\nReturn the node as a human-readable string.\nType persistence arguments. Corersponds to a (suffix) of …\nCreates a DiMulGraph with pre-allocated memory for capacity…\nWrites this graph as DOT (graphviz) into the given Write.\nWrites this graph as mermaid into the given Write.\nConvert into a mermaid graph. Ignores subgraphs.\nConvert back into surface syntax.\nThe span of the output out of the handoff.\nThe span of the import!() expression that imported this …\nIf this module is an input or output boundary.\nThe span of the input into the handoff.\nFinds the strongly connected components in the graph. A …\nTopologically sorts a set of nodes. Returns a list where …\nComputers the topological sort of the nodes of a possibly …\nThe delay (soft barrier) type, for each input to an …\nA specific number of named ports.\nOperatorConstraints::write_fn for unary identity operators.\nMonotone accumulation: can delay to reduce flow rate, but …\nMutability.\nOperatorConstraints::write_fn for the null operator - an …\nAll Hydroflow operators.\nOperator categories, for docs.\nAn instance of this struct represents a single hydroflow …\nThe code generated and returned by a …\nPersistence lifetimes: 'tick, 'static, or 'mutable.\nSpecification of the named (or unnamed) ports for an …\nConvenience range: exactly zero.\nConvenience range: exactly one.\nConvenience range: zero or more (any number).\nAn object-safe version of RangeBounds.\nPersistene across all ticks.\nInput must be collected over the preceeding stratum.\nInput must be collected over the previous tick.\nPersistence for one tick at-a-time only.\nInput must be collected over the previous tick but also …\nAny number of unnamed (or optionally named) ports.\nContext arguments provided to OperatorConstraints::write_fn…\nType alias for OperatorConstraints::write_fn’s type.\nArguments provided by the user into the operator as …\nSame as Self::arguments but with only StateHandles, no …\nOperator categories, for docs.\nReturns if item is contained in this range.\ncontext ident, the name of the provided …\nHuman description, for docs.\nEnd (upper) bound.\nFind an operator by GraphNode.\nFind an operator by an AST Operator.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nInput argument range required to not show an error.\nOutput argument range required to not show an error.\nIf this operator has a singleton reference output. For …\nTurn this range into a human-readable string.\ndf ident, the name of the …\nIdent the iterator or pullerator should be assigned to.\nHelper to write the write_iterator portion of …\nDetermines if this input must be preceeded by a stratum …\nInput operator idents (or ref idents; used for pull).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIf this operator receives external inputs and therefore …\nIf a pull iterator (true) or pusherator (false) should be …\nGenerate a (almost certainly) unique identifier with the …\nHuman-readible heading name, for docs.\nOperator’s name.\nNode ID identifying this operator in the flat or …\nHelper to write the write_iterator portion of …\nNumber of arguments i.e. operator(a, b, c) has num_args = 3…\nOperator instance arguments object.\nOperator name.\nThe source span of this operator.\nGet the operator lookup table, generating it if needed.\nOutput operator idents (or ref idents; used for push).\nHow many persistence lifetime arguments can be provided.\nWhat named or numbered input ports to expect?\nWhat named or numbered output ports to expect?\nhydroflow crate name for use #root::something.\nIdent for the singleton output of this operator, if any.\nInput argument range required to not show a warning.\nOutput argument range required to not show an warning.\nStart (lower) bound.\nSubgraph ID in which this operator is contained.\nHow many generic type arguments can be provided.\nThe operator’s codegen. Returns code that is emited is …\nIterator (or pusherator) code inside the subgraphs. The …\nCode which runs after iterators have been run. Mainly for …\nCode which runs once outside the subgraph to set up any …\nPort can either be an int or a name (path).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOutput the operator as a formatted string using …\nHelper struct which displays the span as row:col for human …\nHelper struct which displays the span as path:row:col for …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nReplaces singleton references #my_var with the code needed …\nSame as postprocess_singletons but generates just the …\nFinds all the singleton references #my_var and appends …\nUnion-find data structure.\nFinds the “representative” item for k. Each set of …\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a new UnionFind, same as Default::default().\nReturns if a and b are equivalent, i.e. in the same set.\nCombines two items a and b as equivalent, in the same set.\nCreates a new UnionFind with the given key capacity …") \ No newline at end of file +searchState.loadedDescShard("hydroflow_lang", 0, "Hydroflow surface syntax\nCompatibility for proc_macro diagnostics, which are …\nGraph representation stages for Hydroflow graphs.\nAST for surface syntax, modelled on syn’s ASTs.\nPretty, human-readable printing of proc_macro2::Spans.\nUtility methods for processing singleton references: …\nUnion-find data structure, see UnionFind.\nDiagnostic. A warning or error (or lower Level) with a …\nAn error.\nA help message.\nDiagnostic reporting level.\nA note.\nA serializable and deserializable version of Span. Cannot …\nA warning.\nColumn number, one-indexed.\nEmit the diagnostic. Only works from the proc_macro …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIf this level is Level::Error.\nIf this diagnostic’s level is Level::Error.\nSeverity level.\nLine number, one-indexed.\nHuman-readable message.\nThe source file path.\nSpan (source code location).\nCreate a new diagnostic from the given span, level, and …\nConverts this into a serializable and deserializable …\nUsed to emulate Diagnostic::emit by turning this …\nPush, Pull, Comp, or Hoff polarity.\nComputation (yellow)\nA directed multigraph where an vertex’s inbound and …\nDot (Graphviz) graphs.\nElided, unspecified port. We have this variant, rather …\nWraper around HydroflowGraph to build a flat graph from …\nID to identify an edge.\nID to identify a loop block in HydroflowGraph.\nA node, corresponding to an operator or a handoff.\nID to identify a node (operator or handoff) in …\nID to identify a subgraph in HydroflowGraph.\nA handoff point, used between subgraphs (or within a …\nHandoff (grey) – not a color for operators, inserted …\nAn abstract “meta graph” representation of a Hydroflow …\nAn integer value: [0], [1], etc. Can be negative although …\nMermaid graphs.\nModule Boundary, used for importing modules. Only exists …\nOperator generic arguments, split into specific categories.\nAn operator.\nMeta-data relating to operators which may be useful …\nA name or path. [pos], [neg], etc. Can use :: separators …\nHelper struct for PortIndex which keeps span information …\nPull (green)\nPush (blue)\nConfiguration for writing graphs.\nEnum for choosing between mermaid and dot graph writing.\nAdd a single HfStatement line to this HydroflowGraph in …\nAdd a single HfStatement line to this HydroflowGraph in …\nArguments provided by the user into the operator as …\nUnparsed arguments, for singleton parsing.\nEmit this HydroflowGraph as runnable Rust source code …\nFormats self as a human-readable string for error messages.\nAssert that self is in a consistent state, for debugging. …\nBuild into an unpartitioned HydroflowGraph, returning a …\nThe main function of this module. Compiles a HfCode AST …\nReturn Err(self) if there is a conflict.\nThe degree (number of edges/vertices) going into v, i.e. …\nThe degree (number of edges/vertices) coming out of v, …\nGet the source and destination vertex IDs for the given …\nGet the src and dst for an edge: …\nReturn an iterator over all edge IDs E.\nIterator of all edge IDs GraphEdgeId.\nGet the source and destination ports for an edge: …\nReturn an iterator over all edges in form (E, (V, V)).\nIterator over all edges: …\nRemoves missing unions and tees. Must be applied BEFORE …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConvert the Hydroflow code AST into a graph builder.\nConvert the Hydroflow code AST into a graph builder.\nFor a Ported value like [port_in]name[port_out], get the …\nOperator generic (type or lifetime) arguments.\nGeneric arguments.\nGets the generic arguments for the operator.\nGeneral graph algorithm utility functions\nPort values used as this operator’s input.\nCreates an edge going from src to dst and returns the edge …\nInsert an edge between nodes thru the given ports.\nInserts a node between two existing nodes connected by the …\nFor an edge from A --> B, insert a new vertex V along that …\nCreate a new loop context, with the given parent loop (or …\nInsert a node, assigning the given varname.\nInsert an operator instance for the given node. Panics if …\nAssign all operator instances if not set. Write diagnostic …\nCreate a subgraph consisting of node_ids. Returns an error …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if self is not PortIndexValue::Elided.\nGet a loop context’s child loops.\nIterator over all loop IDs.\nGet a loop context’s parent loop context (or None for …\nIterator over all loops, ID and members: …\nReturns the the stratum number of the largest (latest) …\nWhen modules are imported into a flat graph, they come …\nConvert into a mermaid graph. Ignores subgraphs.\nCreates an empty DiMulGraph.\nCreate a new empty graph builder.\nCreate a new empty HydroflowGraph.\nWill not render handoffs if set.\nWill not render pull/push shapes if set.\nWill not render singleton references if set.\nSubgraphs will not be rendered if set.\nVariable names will not be rendered if set.\nGet a node with its operator instance (if applicable).\nColor mode (pull vs. push, handoff vs. comp) for nodes. …\nDegree into a node, i.e. the number of predecessors.\nDegree out of a node, i.e. the number of successors.\nIterator of node IDs GraphNodeId.\nGet a node’s loop context (or None for root).\nGet the OperatorInstance for a given node. Node must be an …\nPredecessor edges, iterator of GraphEdgeId of incoming …\nPredecessor nodes, iterator of GraphNodeId.\nPredecessors, iterator of (GraphEdgeId, GraphNodeId) of …\nGets the singletons referenced by a node. Returns an empty …\nGet subgraph for node.\nSuccessor edges, iterator of GraphEdgeId of outgoing edges.\nSuccessor nodes, iterator of GraphNodeId.\nSuccessors, iterator of (GraphEdgeId, GraphNodeId) of …\nGet the debug variable name attached to a graph node.\nIterator over (GraphNodeId, &Node) pairs.\nName of the operator (will match OperatorConstraints::name…\nOp text will only be their name instead of the whole …\nOp text will exclude any line that starts with “use”.\nOpens this as dot/graphviz graph in the Graphviz Online …\nOpens the graph based on graph_type, which can be parsed …\nOpens this as a mermaid graph in the mermaid.live browser …\nHydroflow’s operators\nPort values used as this operator’s output.\nMain method for this module. Partions a flat HydroflowGraph…\nLifetime persistence arguments. Corresponds to a prefix of …\nReturn an iterator of all edge IDs going into v.\nReturn an iterator of all predecessor vertex IDs of v.\nReturn an iterator of all predecessor edge IDs and vertex …\nRemove an edge from the graph. If the edgeId is found then …\nRemoves an edge and its corresponding ports and edge type …\nRemoves a node from its subgraph. Returns true if the node …\nRemove the node node_id but preserves and connects the …\nFor a vertex with one incoming edge and one outgoing edge, …\nRemove a vertex from the graph, it must have no edges to …\nSet the singletons referenced for the node_id operator. …\nSet subgraph’s laziness, returning the old value.\nSet subgraph’s stratum number, returning the old value …\nSingleton references within the operator arguments.\nReturn the source code span of the node (for operators) or …\nReturns the span of this port value.\nNodes belonging to the given subgraph.\nIterator over all subgraph IDs.\nGets the stratum number of the subgraph.\nIterator over all subgraphs, ID and members: …\nReturn an iterator of all edge IDs coming out of v.\nReturn an iterator of all successor vertex IDs of v.\nReturn an iterator of all successor edge IDs and vertex …\nConvert back into surface syntax.\nWrites this graph as DOT (graphviz) into a string.\nWrites this graph as mermaid into a string.\nReturn the name of the node as a string, excluding …\nReturn the node as a human-readable string.\nType persistence arguments. Corersponds to a (suffix) of …\nCreates a DiMulGraph with pre-allocated memory for capacity…\nWrites this graph as DOT (graphviz) into the given Write.\nWrites this graph as mermaid into the given Write.\nConvert into a mermaid graph. Ignores subgraphs.\nConvert back into surface syntax.\nThe span of the output out of the handoff.\nThe span of the import!() expression that imported this …\nIf this module is an input or output boundary.\nThe span of the input into the handoff.\nFinds the strongly connected components in the graph. A …\nTopologically sorts a set of nodes. Returns a list where …\nComputes the topological sort of the nodes of a possibly …\nThe delay (soft barrier) type, for each input to an …\nA specific number of named ports.\nOperator type for Flo semantics.\nOperatorConstraints::write_fn for unary identity operators.\nMonotone accumulation: can delay to reduce flow rate, but …\nMutability.\nOperatorConstraints::write_fn for the null operator - an …\nAll Hydroflow operators.\nOperator categories, for docs.\nAn instance of this struct represents a single hydroflow …\nThe code generated and returned by a …\nPersistence lifetimes: 'tick, 'static, or 'mutable.\nSpecification of the named (or unnamed) ports for an …\nConvenience range: exactly zero.\nConvenience range: exactly one.\nConvenience range: zero or more (any number).\nAn object-safe version of RangeBounds.\nA source operator, which must be at the top level.\nPersistene across all ticks.\nInput must be collected over the preceeding stratum.\nInput must be collected over the previous tick.\nPersistence for one tick at-a-time only.\nInput must be collected over the previous tick but also …\nAn un-windowing operator, for moving data out of a loop …\nAny number of unnamed (or optionally named) ports.\nA windowing operator, for moving data into a loop context.\nContext arguments provided to OperatorConstraints::write_fn…\nType alias for OperatorConstraints::write_fn’s type.\nArguments provided by the user into the operator as …\nSame as Self::arguments but with only StateHandles, no …\nOperator categories, for docs.\nReturns if item is contained in this range.\ncontext ident, the name of the provided …\nHuman description, for docs.\nEnd (upper) bound.\nFind an operator by GraphNode.\nFind an operator by an AST Operator.\nFlo semantics type.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nInput argument range required to not show an error.\nOutput argument range required to not show an error.\nIf this operator has a singleton reference output. For …\nTurn this range into a human-readable string.\ndf ident, the name of the …\nIdent the iterator or pullerator should be assigned to.\nHelper to write the write_iterator portion of …\nDetermines if this input must be preceeded by a stratum …\nInput operator idents (or ref idents; used for pull).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIf this operator receives external inputs and therefore …\nIf a pull iterator (true) or pusherator (false) should be …\nGenerate a (almost certainly) unique identifier with the …\nHuman-readible heading name, for docs.\nOperator’s name.\nNode ID identifying this operator in the flat or …\nHelper to write the write_iterator portion of …\nNumber of arguments i.e. operator(a, b, c) has num_args = 3…\nOperator instance arguments object.\nOperator name.\nThe source span of this operator.\nGet the operator lookup table, generating it if needed.\nOutput operator idents (or ref idents; used for push).\nHow many persistence lifetime arguments can be provided.\nWhat named or numbered input ports to expect?\nWhat named or numbered output ports to expect?\nhydroflow crate name for use #root::something.\nIdent for the singleton output of this operator, if any.\nInput argument range required to not show a warning.\nOutput argument range required to not show an warning.\nStart (lower) bound.\nSubgraph ID in which this operator is contained.\nHow many generic type arguments can be provided.\nThe operator’s codegen. Returns code that is emited is …\nIterator (or pusherator) code inside the subgraphs. The …\nCode which runs after iterators have been run. Mainly for …\nCode which runs once outside the subgraph to set up any …\nPort can either be an int or a name (path).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOutput the operator as a formatted string using …\nHelper struct which displays the span as row:col for human …\nHelper struct which displays the span as path:row:col for …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nReplaces singleton references #my_var with the code needed …\nSame as postprocess_singletons but generates just the …\nFinds all the singleton references #my_var and appends …\nUnion-find data structure.\nFinds the “representative” item for k. Each set of …\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a new UnionFind, same as Default::default().\nReturns if a and b are equivalent, i.e. in the same set.\nCombines two items a and b as equivalent, in the same set.\nCreates a new UnionFind with the given key capacity …") \ No newline at end of file diff --git a/doc/src-files.js b/doc/src-files.js index c7a52cb0b60c..bfd95653c520 100644 --- a/doc/src-files.js +++ b/doc/src-files.js @@ -1,3 +1,3 @@ -var srcIndex = new Map(JSON.parse('[["gossip_cli",["",[],["main.rs"]]],["gossip_kv",["",[["lattices",[],["mod.rs"]]],["lib.rs","membership.rs","model.rs","server.rs","util.rs"]]],["gossip_server",["",[["config",[],["mod.rs"]]],["main.rs","membership.rs"]]],["hydro_cli",["",[],["cli.rs","lib.rs"]]],["hydro_deploy",["",[["hydroflow_crate",[],["build.rs","flamegraph.rs","mod.rs","ports.rs","service.rs","tracing_options.rs"]],["localhost",[],["launched_binary.rs","mod.rs"]]],["azure.rs","custom_service.rs","deployment.rs","gcp.rs","lib.rs","progress.rs","ssh.rs","terraform.rs","util.rs"]]],["hydroflow",["",[["compiled",[["pull",[["half_join_state",[],["fold.rs","fold_from.rs","mod.rs","multiset.rs","reduce.rs","set.rs"]]],["anti_join.rs","cross_join.rs","mod.rs","symmetric_hash_join.rs"]]],["mod.rs"]],["scheduled",[["handoff",[],["handoff_list.rs","mod.rs","tee.rs","vector.rs"]],["net",[],["mod.rs","network_vertex.rs"]]],["context.rs","graph.rs","graph_ext.rs","input.rs","mod.rs","port.rs","query.rs","reactor.rs","state.rs","subgraph.rs","ticks.rs"]],["util",[["unsync",[],["mod.rs","mpsc.rs"]]],["clear.rs","demux_enum.rs","deploy.rs","mod.rs","monotonic.rs","monotonic_map.rs","multiset.rs","simulation.rs","socket.rs","sparse_vec.rs","tcp.rs","udp.rs"]]],["declarative_macro.rs","lib.rs"]]],["hydroflow_datalog",["",[],["lib.rs"]]],["hydroflow_datalog_core",["",[],["grammar.rs","join_plan.rs","lib.rs","util.rs"]]],["hydroflow_deploy_integration",["",[],["lib.rs"]]],["hydroflow_lang",["",[["graph",[["ops",[],["_lattice_fold_batch.rs","_lattice_join_fused_join.rs","anti_join.rs","anti_join_multiset.rs","assert.rs","assert_eq.rs","chain.rs","cross_join.rs","cross_join_multiset.rs","cross_singleton.rs","defer_signal.rs","defer_tick.rs","defer_tick_lazy.rs","demux.rs","demux_enum.rs","dest_file.rs","dest_sink.rs","dest_sink_serde.rs","difference.rs","difference_multiset.rs","enumerate.rs","filter.rs","filter_map.rs","flat_map.rs","flatten.rs","fold.rs","fold_keyed.rs","for_each.rs","identity.rs","initialize.rs","inspect.rs","join.rs","join_fused.rs","join_fused_lhs.rs","join_fused_rhs.rs","join_multiset.rs","lattice_bimorphism.rs","lattice_fold.rs","lattice_reduce.rs","map.rs","mod.rs","multiset_delta.rs","next_stratum.rs","null.rs","partition.rs","persist.rs","persist_mut.rs","persist_mut_keyed.rs","py_udf.rs","reduce.rs","reduce_keyed.rs","sort.rs","sort_by_key.rs","source_file.rs","source_interval.rs","source_iter.rs","source_json.rs","source_stdin.rs","source_stream.rs","source_stream_serde.rs","spin.rs","state.rs","state_by.rs","tee.rs","union.rs","unique.rs","unzip.rs","zip.rs","zip_longest.rs"]]],["di_mul_graph.rs","eliminate_extra_unions_tees.rs","flat_graph_builder.rs","flat_to_partitioned.rs","graph_algorithms.rs","graph_write.rs","hydroflow_graph.rs","hydroflow_graph_debugging.rs","mod.rs"]]],["diagnostic.rs","lib.rs","parse.rs","pretty_span.rs","process_singletons.rs","union_find.rs"]]],["hydroflow_macro",["",[],["lib.rs"]]],["hydroflow_plus",["",[["builder",[],["built.rs","compiled.rs","deploy.rs","mod.rs"]],["deploy",[],["deploy_runtime.rs","in_memory_graph.rs","macro_runtime.rs","mod.rs"]],["location",[["cluster",[],["cluster_id.rs","mod.rs"]]],["can_send.rs","external_process.rs","mod.rs","process.rs","tick.rs"]],["rewrites",[],["mod.rs","persist_pullup.rs","profiler.rs","properties.rs"]]],["boundedness.rs","cycle.rs","ir.rs","lib.rs","optional.rs","runtime_context.rs","singleton.rs","staging_util.rs","stream.rs"]]],["hydroflow_plus_test",["",[["cluster",[],["compute_pi.rs","many_to_many.rs","map_reduce.rs","mod.rs","paxos.rs","paxos_bench.rs","paxos_kv.rs","quorum.rs","request_response.rs","simple_cluster.rs","two_pc.rs"]],["distributed",[],["first_ten.rs","mod.rs"]]],["lib.rs"]]],["hydroflow_plus_test_local",["",[["local",[],["chat_app.rs","compute_pi.rs","count_elems.rs","first_ten.rs","graph_reachability.rs","mod.rs","negation.rs","teed_join.rs"]]],["lib.rs"]]],["hydroflow_plus_test_local_macro",["",[["local",[],["chat_app.rs","compute_pi.rs","count_elems.rs","first_ten.rs","graph_reachability.rs","mod.rs","negation.rs","teed_join.rs"]]],["lib.rs"]]],["latency_measure",["",[],["latency_measure.rs","protocol.rs"]]],["lattices",["",[["ght",[],["colt.rs","lattice.rs","macros.rs","mod.rs","test.rs"]]],["algebra.rs","collections.rs","conflict.rs","dom_pair.rs","lib.rs","map_union.rs","map_union_with_tombstones.rs","ord.rs","pair.rs","point.rs","semiring_application.rs","set_union.rs","set_union_with_tombstones.rs","test.rs","union_find.rs","unit.rs","vec_union.rs","with_bot.rs","with_top.rs"]]],["lattices_macro",["",[],["lib.rs"]]],["load_test_server",["",[],["server.rs"]]],["multiplatform_test",["",[],["lib.rs"]]],["pn",["",[],["pn.rs","protocol.rs"]]],["pn_delta",["",[],["pn_delta.rs","protocol.rs"]]],["pusherator",["",[],["demux.rs","filter.rs","filter_map.rs","flatten.rs","for_each.rs","inspect.rs","lib.rs","map.rs","null.rs","partition.rs","pivot.rs","switch.rs","tee.rs","unzip.rs"]]],["relalg",["",[],["codegen.rs","lib.rs","runtime.rs","sexp.rs"]]],["stageleft",["",[],["lib.rs","runtime_support.rs","type_name.rs"]]],["stageleft_macro",["",[["quote_impl",[["free_variable",[],["mod.rs","prelude.rs"]]],["mod.rs"]]],["lib.rs"]]],["stageleft_test",["",[],["lib.rs","submodule.rs"]]],["stageleft_test_macro",["",[],["lib.rs","submodule.rs"]]],["stageleft_tool",["",[],["lib.rs"]]],["topolotree",["",[],["main.rs","protocol.rs"]]],["variadics",["",[],["lib.rs","variadic_collections.rs"]]],["variadics_macro",["",[],["lib.rs"]]],["website_playground",["",[],["lib.rs","utils.rs"]]]]')); +var srcIndex = new Map(JSON.parse('[["gossip_cli",["",[],["main.rs"]]],["gossip_kv",["",[["lattices",[],["mod.rs"]]],["lib.rs","membership.rs","model.rs","server.rs","util.rs"]]],["gossip_server",["",[["config",[],["mod.rs"]]],["main.rs","membership.rs"]]],["hydro_cli",["",[],["cli.rs","lib.rs"]]],["hydro_deploy",["",[["hydroflow_crate",[],["build.rs","flamegraph.rs","mod.rs","ports.rs","service.rs","tracing_options.rs"]],["localhost",[],["launched_binary.rs","mod.rs"]]],["azure.rs","custom_service.rs","deployment.rs","gcp.rs","lib.rs","progress.rs","ssh.rs","terraform.rs","util.rs"]]],["hydroflow",["",[["compiled",[["pull",[["half_join_state",[],["fold.rs","fold_from.rs","mod.rs","multiset.rs","reduce.rs","set.rs"]]],["anti_join.rs","cross_join.rs","mod.rs","symmetric_hash_join.rs"]]],["mod.rs"]],["scheduled",[["handoff",[],["handoff_list.rs","mod.rs","tee.rs","vector.rs"]],["net",[],["mod.rs","network_vertex.rs"]]],["context.rs","graph.rs","graph_ext.rs","input.rs","mod.rs","port.rs","query.rs","reactor.rs","state.rs","subgraph.rs","ticks.rs"]],["util",[["unsync",[],["mod.rs","mpsc.rs"]]],["clear.rs","demux_enum.rs","deploy.rs","mod.rs","monotonic.rs","monotonic_map.rs","multiset.rs","simulation.rs","socket.rs","sparse_vec.rs","tcp.rs","udp.rs"]]],["declarative_macro.rs","lib.rs"]]],["hydroflow_datalog",["",[],["lib.rs"]]],["hydroflow_datalog_core",["",[],["grammar.rs","join_plan.rs","lib.rs","util.rs"]]],["hydroflow_deploy_integration",["",[],["lib.rs"]]],["hydroflow_lang",["",[["graph",[["ops",[],["_lattice_fold_batch.rs","_lattice_join_fused_join.rs","all_once.rs","anti_join.rs","anti_join_multiset.rs","assert.rs","assert_eq.rs","batch.rs","chain.rs","cross_join.rs","cross_join_multiset.rs","cross_singleton.rs","defer_signal.rs","defer_tick.rs","defer_tick_lazy.rs","demux.rs","demux_enum.rs","dest_file.rs","dest_sink.rs","dest_sink_serde.rs","difference.rs","difference_multiset.rs","enumerate.rs","filter.rs","filter_map.rs","flat_map.rs","flatten.rs","fold.rs","fold_keyed.rs","for_each.rs","identity.rs","initialize.rs","inspect.rs","join.rs","join_fused.rs","join_fused_lhs.rs","join_fused_rhs.rs","join_multiset.rs","lattice_bimorphism.rs","lattice_fold.rs","lattice_reduce.rs","map.rs","mod.rs","multiset_delta.rs","next_stratum.rs","null.rs","partition.rs","persist.rs","persist_mut.rs","persist_mut_keyed.rs","py_udf.rs","reduce.rs","reduce_keyed.rs","sort.rs","sort_by_key.rs","source_file.rs","source_interval.rs","source_iter.rs","source_json.rs","source_stdin.rs","source_stream.rs","source_stream_serde.rs","spin.rs","state.rs","state_by.rs","tee.rs","union.rs","unique.rs","unzip.rs","zip.rs","zip_longest.rs"]]],["di_mul_graph.rs","eliminate_extra_unions_tees.rs","flat_graph_builder.rs","flat_to_partitioned.rs","graph_algorithms.rs","graph_write.rs","hydroflow_graph.rs","hydroflow_graph_debugging.rs","mod.rs"]]],["diagnostic.rs","lib.rs","parse.rs","pretty_span.rs","process_singletons.rs","union_find.rs"]]],["hydroflow_macro",["",[],["lib.rs"]]],["hydroflow_plus",["",[["builder",[],["built.rs","compiled.rs","deploy.rs","mod.rs"]],["deploy",[],["deploy_runtime.rs","in_memory_graph.rs","macro_runtime.rs","mod.rs"]],["location",[["cluster",[],["cluster_id.rs","mod.rs"]]],["can_send.rs","external_process.rs","mod.rs","process.rs","tick.rs"]],["rewrites",[],["mod.rs","persist_pullup.rs","profiler.rs","properties.rs"]]],["boundedness.rs","cycle.rs","ir.rs","lib.rs","optional.rs","runtime_context.rs","singleton.rs","staging_util.rs","stream.rs"]]],["hydroflow_plus_test",["",[["cluster",[],["compute_pi.rs","many_to_many.rs","map_reduce.rs","mod.rs","paxos.rs","paxos_bench.rs","paxos_kv.rs","quorum.rs","request_response.rs","simple_cluster.rs","two_pc.rs"]],["distributed",[],["first_ten.rs","mod.rs"]]],["lib.rs"]]],["hydroflow_plus_test_local",["",[["local",[],["chat_app.rs","compute_pi.rs","count_elems.rs","first_ten.rs","graph_reachability.rs","mod.rs","negation.rs","teed_join.rs"]]],["lib.rs"]]],["hydroflow_plus_test_local_macro",["",[["local",[],["chat_app.rs","compute_pi.rs","count_elems.rs","first_ten.rs","graph_reachability.rs","mod.rs","negation.rs","teed_join.rs"]]],["lib.rs"]]],["latency_measure",["",[],["latency_measure.rs","protocol.rs"]]],["lattices",["",[["ght",[],["colt.rs","lattice.rs","macros.rs","mod.rs","test.rs"]]],["algebra.rs","collections.rs","conflict.rs","dom_pair.rs","lib.rs","map_union.rs","map_union_with_tombstones.rs","ord.rs","pair.rs","point.rs","semiring_application.rs","set_union.rs","set_union_with_tombstones.rs","test.rs","union_find.rs","unit.rs","vec_union.rs","with_bot.rs","with_top.rs"]]],["lattices_macro",["",[],["lib.rs"]]],["load_test_server",["",[],["server.rs"]]],["multiplatform_test",["",[],["lib.rs"]]],["pn",["",[],["pn.rs","protocol.rs"]]],["pn_delta",["",[],["pn_delta.rs","protocol.rs"]]],["pusherator",["",[],["demux.rs","filter.rs","filter_map.rs","flatten.rs","for_each.rs","inspect.rs","lib.rs","map.rs","null.rs","partition.rs","pivot.rs","switch.rs","tee.rs","unzip.rs"]]],["relalg",["",[],["codegen.rs","lib.rs","runtime.rs","sexp.rs"]]],["stageleft",["",[],["lib.rs","runtime_support.rs","type_name.rs"]]],["stageleft_macro",["",[["quote_impl",[["free_variable",[],["mod.rs","prelude.rs"]]],["mod.rs"]]],["lib.rs"]]],["stageleft_test",["",[],["lib.rs","submodule.rs"]]],["stageleft_test_macro",["",[],["lib.rs","submodule.rs"]]],["stageleft_tool",["",[],["lib.rs"]]],["topolotree",["",[],["main.rs","protocol.rs"]]],["variadics",["",[],["lib.rs","variadic_collections.rs"]]],["variadics_macro",["",[],["lib.rs"]]],["website_playground",["",[],["lib.rs","utils.rs"]]]]')); createSrcSidebar(); -//{"start":36,"fragment_lengths":[34,108,78,42,294,713,41,84,52,1457,39,505,271,187,193,65,383,38,43,42,39,51,190,66,69,111,53,59,38,49,59,39,53]} \ No newline at end of file +//{"start":36,"fragment_lengths":[34,108,78,42,294,713,41,84,52,1482,39,505,271,187,193,65,383,38,43,42,39,51,190,66,69,111,53,59,38,49,59,39,53]} \ No newline at end of file diff --git a/doc/src/hydroflow_lang/graph/flat_graph_builder.rs.html b/doc/src/hydroflow_lang/graph/flat_graph_builder.rs.html index 22feb1060c0c..281bbf555ad3 100644 --- a/doc/src/hydroflow_lang/graph/flat_graph_builder.rs.html +++ b/doc/src/hydroflow_lang/graph/flat_graph_builder.rs.html @@ -889,6 +889,179 @@ 889 890 891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064

//! Build a flat graph from [`HfStatement`]s.
 
 use std::borrow::Cow;
@@ -902,8 +1075,11 @@
 use syn::spanned::Spanned;
 use syn::{Error, Ident, ItemUse};
 
-use super::{GraphEdgeId, GraphNode, GraphNodeId, HydroflowGraph, PortIndexValue};
+use super::ops::defer_tick::DEFER_TICK;
+use super::ops::FloType;
+use super::{GraphEdgeId, GraphLoopId, GraphNode, GraphNodeId, HydroflowGraph, PortIndexValue};
 use crate::diagnostic::{Diagnostic, Level};
+use crate::graph::graph_algorithms;
 use crate::graph::ops::{PortListSpec, RangeTrait};
 use crate::parse::{HfCode, HfStatement, Operator, Pipeline};
 use crate::pretty_span::PrettySpan;
@@ -994,6 +1170,7 @@
                     import_expr: Span::call_site(),
                 },
                 Some(Ident::new("input", Span::call_site())),
+                None,
             ),
             builder.flat_graph.insert_node(
                 GraphNode::ModuleBoundary {
@@ -1001,6 +1178,7 @@
                     import_expr: Span::call_site(),
                 },
                 Some(Ident::new("output", Span::call_site())),
+                None,
             ),
         ));
         builder.process_statements(input.statements);
@@ -1025,15 +1203,24 @@
         (self.flat_graph, self.uses, self.diagnostics)
     }
 
-    /// Add a single [`HfStatement`] line to this `HydroflowGraph`.
+    /// Add a single [`HfStatement`] line to this `HydroflowGraph` in the root context.
     pub fn add_statement(&mut self, stmt: HfStatement) {
+        self.add_statement_with_loop(stmt, None)
+    }
+
+    /// Add a single [`HfStatement`] line to this `HydroflowGraph` in the given loop context.
+    pub fn add_statement_with_loop(
+        &mut self,
+        stmt: HfStatement,
+        current_loop: Option<GraphLoopId>,
+    ) {
         match stmt {
             HfStatement::Use(yuse) => {
                 self.uses.push(yuse);
             }
             HfStatement::Named(named) => {
                 let stmt_span = named.span();
-                let ends = self.add_pipeline(named.pipeline, Some(&named.name));
+                let ends = self.add_pipeline(named.pipeline, Some(&named.name), current_loop);
                 match self.varname_ends.entry(named.name) {
                     Entry::Vacant(vacant_entry) => {
                         vacant_entry.insert(VarnameInfo::new(ends));
@@ -1062,20 +1249,32 @@
                 }
             }
             HfStatement::Pipeline(pipeline_stmt) => {
-                let ends = self.add_pipeline(pipeline_stmt.pipeline, None);
+                let ends = self.add_pipeline(pipeline_stmt.pipeline, None, current_loop);
                 Self::helper_check_unused_port(&mut self.diagnostics, &ends, true);
                 Self::helper_check_unused_port(&mut self.diagnostics, &ends, false);
             }
+            HfStatement::Loop(loop_statement) => {
+                let inner_loop = self.flat_graph.insert_loop(current_loop);
+                for stmt in loop_statement.statements {
+                    self.add_statement_with_loop(stmt, Some(inner_loop));
+                }
+            }
         }
     }
 
     /// Helper: Add a pipeline, i.e. `a -> b -> c`. Return the input and output ends for it.
-    fn add_pipeline(&mut self, pipeline: Pipeline, current_varname: Option<&Ident>) -> Ends {
+    fn add_pipeline(
+        &mut self,
+        pipeline: Pipeline,
+        current_varname: Option<&Ident>,
+        current_loop: Option<GraphLoopId>,
+    ) -> Ends {
         match pipeline {
             Pipeline::Paren(ported_pipeline_paren) => {
                 let (inn_port, pipeline_paren, out_port) =
                     PortIndexValue::from_ported(ported_pipeline_paren);
-                let og_ends = self.add_pipeline(*pipeline_paren.pipeline, current_varname);
+                let og_ends =
+                    self.add_pipeline(*pipeline_paren.pipeline, current_varname, current_loop);
                 Self::helper_combine_ends(&mut self.diagnostics, og_ends, inn_port, out_port)
             }
             Pipeline::Name(pipeline_name) => {
@@ -1113,8 +1312,8 @@
             }
             Pipeline::Link(pipeline_link) => {
                 // Add the nested LHS and RHS of this link.
-                let lhs_ends = self.add_pipeline(*pipeline_link.lhs, current_varname);
-                let rhs_ends = self.add_pipeline(*pipeline_link.rhs, current_varname);
+                let lhs_ends = self.add_pipeline(*pipeline_link.lhs, current_varname, current_loop);
+                let rhs_ends = self.add_pipeline(*pipeline_link.rhs, current_varname, current_loop);
 
                 // Outer (first and last) ends.
                 let outer_ends = Ends {
@@ -1131,9 +1330,11 @@
             }
             Pipeline::Operator(operator) => {
                 let op_span = Some(operator.span());
-                let nid = self
-                    .flat_graph
-                    .insert_node(GraphNode::Operator(operator), current_varname.cloned());
+                let nid = self.flat_graph.insert_node(
+                    GraphNode::Operator(operator),
+                    current_varname.cloned(),
+                    current_loop,
+                );
                 Ends {
                     inn: Some((PortIndexValue::Elided(op_span), GraphDet::Determined(nid))),
                     out: Some((PortIndexValue::Elided(op_span), GraphDet::Determined(nid))),
@@ -1170,7 +1371,7 @@
                         self.diagnostics.push(Diagnostic::spanned(
                             import.span(),
                             Level::Error,
-                            err.to_string(),
+                            format!("Error in module: {}", err),
                         ));
 
                         return Ends {
@@ -1205,7 +1406,7 @@
             match node {
                 GraphNode::Operator(_) => {
                     let varname = other.node_varname(other_node_id);
-                    let new_id = self.flat_graph.insert_node(node.clone(), varname);
+                    let new_id = self.flat_graph.insert_node(node.clone(), varname, None);
                     node_mapping.insert(other_node_id, new_id);
                 }
                 GraphNode::ModuleBoundary { input, .. } => {
@@ -1215,6 +1416,7 @@
                             import_expr: parent_span,
                         },
                         Some(Ident::new(&format!("module_{}", input), parent_span)),
+                        None,
                     );
                     node_mapping.insert(other_node_id, new_id);
 
@@ -1453,6 +1655,7 @@
         self.make_operator_instances();
         self.check_operator_errors();
         self.warn_unused_port_indexing();
+        self.check_loop_errors();
     }
 
     /// Make `OperatorInstance`s for each operator node.
@@ -1779,5 +1982,148 @@
             }
         }
     }
+
+    /// Check for loop context-related errors.
+    fn check_loop_errors(&mut self) {
+        // All inputs must be declared in the root block.
+        for (node_id, node) in self.flat_graph.nodes() {
+            let Some(op_inst) = self.flat_graph.node_op_inst(node_id) else {
+                continue;
+            };
+            let loop_id = self.flat_graph.node_loop(node_id);
+
+            // Source operators must be at the top level.
+            if Some(FloType::Source) == op_inst.op_constraints.flo_type && loop_id.is_some() {
+                self.diagnostics.push(Diagnostic::spanned(
+                    node.span(),
+                    Level::Error,
+                    format!(
+                        "Source operator `{}(...)` must be at the root level, not within any `loop {{ ... }}` contexts.",
+                        op_inst.op_constraints.name
+                    )
+                ));
+            }
+        }
+
+        // Check windowing and un-windowing operators, for loop inputs and outputs respectively.
+        for (_edge_id, (pred_id, node_id)) in self.flat_graph.edges() {
+            let Some(op_inst) = self.flat_graph.node_op_inst(node_id) else {
+                continue;
+            };
+            let flo_type = &op_inst.op_constraints.flo_type;
+
+            let pred_loop_id = self.flat_graph.node_loop(pred_id);
+            let loop_id = self.flat_graph.node_loop(node_id);
+
+            let span = self.flat_graph.node(node_id).span();
+
+            let (is_input, is_output) = {
+                let parent_pred_loop_id =
+                    pred_loop_id.and_then(|lid| self.flat_graph.loop_parent(lid));
+                let parent_loop_id = loop_id.and_then(|lid| self.flat_graph.loop_parent(lid));
+                let is_same = pred_loop_id == loop_id;
+                let is_input = !is_same && parent_loop_id == pred_loop_id;
+                let is_output = !is_same && parent_pred_loop_id == loop_id;
+                if !(is_input || is_output || is_same) {
+                    self.diagnostics.push(Diagnostic::spanned(
+                        span,
+                        Level::Error,
+                        "Operator input edge may not cross multiple loop contexts.",
+                    ));
+                    continue;
+                }
+                (is_input, is_output)
+            };
+
+            match flo_type {
+                None => {
+                    if is_input {
+                        self.diagnostics.push(Diagnostic::spanned(
+                            span,
+                            Level::Error,
+                            format!(
+                                "Operator `{}(...)` entering a loop context must be a windowing operator, but is not.",
+                                op_inst.op_constraints.name
+                            )
+                        ));
+                    }
+                    if is_output {
+                        self.diagnostics.push(Diagnostic::spanned(
+                            span,
+                            Level::Error,
+                            format!(
+                                "Operator `{}(...)` exiting a loop context must be an un-windowing operator, but is not.",
+                                op_inst.op_constraints.name
+                            )
+                        ));
+                    }
+                }
+                Some(FloType::Windowing) => {
+                    if !is_input {
+                        self.diagnostics.push(Diagnostic::spanned(
+                            span,
+                            Level::Error,
+                            format!(
+                                "Windowing operator `{}(...)` must be the first input operator into a `loop {{ ... }} context.",
+                                op_inst.op_constraints.name
+                            )
+                        ));
+                    }
+                }
+                Some(FloType::Unwindowing) => {
+                    if !is_output {
+                        self.diagnostics.push(Diagnostic::spanned(
+                            span,
+                            Level::Error,
+                            format!(
+                                "Un-windowing operator `{}(...)` must be the first output operator after exiting a `loop {{ ... }} context.",
+                                op_inst.op_constraints.name
+                            )
+                        ));
+                    }
+                }
+                Some(FloType::Source) => {
+                    // Handled above.
+                }
+            }
+        }
+
+        // Must be a DAG (excluding `next_tick()` operators).
+        // TODO(mingwei): Nested loop blocks should count as a single node.
+        for (loop_id, loop_nodes) in self.flat_graph.loops() {
+            // Filter out `defer_tick()` operators.
+            let filter_defer_tick = |&node_id: &GraphNodeId| {
+                self.flat_graph
+                    .node_op_inst(node_id)
+                    .map(|op_inst| DEFER_TICK.name != op_inst.op_constraints.name)
+                    .unwrap_or(true)
+            };
+
+            let topo_sort_result = graph_algorithms::topo_sort(
+                loop_nodes.iter().copied().filter(filter_defer_tick),
+                |dst| {
+                    self.flat_graph
+                        .node_predecessor_nodes(dst)
+                        .filter(|&src| Some(loop_id) == self.flat_graph.node_loop(src))
+                        .filter(filter_defer_tick)
+                },
+            );
+            if let Err(cycle) = topo_sort_result {
+                let len = cycle.len();
+                for (i, node_id) in cycle.into_iter().enumerate() {
+                    let span = self.flat_graph.node(node_id).span();
+                    self.diagnostics.push(Diagnostic::spanned(
+                        span,
+                        Level::Error,
+                        format!(
+                            "Operator forms an illegal cycle within a `loop {{ ... }}` block ({}/{}).",
+                            i + 1,
+                            len
+                        ),
+                    ));
+                }
+            }
+        }
+    }
 }
 

\ No newline at end of file diff --git a/doc/src/hydroflow_lang/graph/flat_to_partitioned.rs.html b/doc/src/hydroflow_lang/graph/flat_to_partitioned.rs.html index de6aa09fed76..c269700a9754 100644 --- a/doc/src/hydroflow_lang/graph/flat_to_partitioned.rs.html +++ b/doc/src/hydroflow_lang/graph/flat_to_partitioned.rs.html @@ -524,6 +524,11 @@ 524 525 526 +527 +528 +529 +530 +531

//! Subgraph partioning algorithm
 
 use std::collections::{BTreeMap, BTreeSet};
@@ -642,7 +647,7 @@
                 continue;
             }
 
-            // Ignore if would join stratum crossers (next edges).
+            // Do not connect stratum crossers (next edges).
             if barrier_crossers
                 .iter_node_pairs(partitioned_graph)
                 .any(|((x_src, x_dst), _)| {
@@ -655,6 +660,11 @@
                 continue;
             }
 
+            // Do not connect across loop contexts.
+            if partitioned_graph.node_loop(src) != partitioned_graph.node_loop(dst) {
+                continue;
+            }
+
             if can_connect_colorize(&mut node_color, src, dst) {
                 // At this point we have selected this edge and its src & dst to be
                 // within a single subgraph.
diff --git a/doc/src/hydroflow_lang/graph/graph_algorithms.rs.html b/doc/src/hydroflow_lang/graph/graph_algorithms.rs.html
index ee7b6387cf6a..7aed8e3bd81d 100644
--- a/doc/src/hydroflow_lang/graph/graph_algorithms.rs.html
+++ b/doc/src/hydroflow_lang/graph/graph_algorithms.rs.html
@@ -327,7 +327,7 @@
 use std::collections::btree_map::Entry;
 use std::collections::{BTreeMap, BTreeSet};
 
-/// Computers the topological sort of the nodes of a possibly cyclic graph by ordering strongly
+/// Computes the topological sort of the nodes of a possibly cyclic graph by ordering strongly
 /// connected components together.
 pub fn topo_sort_scc<Id, NodesFn, NodeIds, PredsFn, SuccsFn, PredsIter, SuccsIter>(
     mut nodes_fn: NodesFn,
diff --git a/doc/src/hydroflow_lang/graph/hydroflow_graph.rs.html b/doc/src/hydroflow_lang/graph/hydroflow_graph.rs.html
index c6aa21a3a0be..886413d1550c 100644
--- a/doc/src/hydroflow_lang/graph/hydroflow_graph.rs.html
+++ b/doc/src/hydroflow_lang/graph/hydroflow_graph.rs.html
@@ -1558,6 +1558,66 @@
 1558
 1559
 1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
 
#![warn(missing_docs)]
 
 use std::collections::{BTreeMap, BTreeSet};
@@ -1577,9 +1637,9 @@
     WriteContextArgs, OPERATORS,
 };
 use super::{
-    change_spans, get_operator_generics, Color, DiMulGraph, GraphEdgeId, GraphNode, GraphNodeId,
-    GraphSubgraphId, OperatorInstance, PortIndexValue, Varname, CONTEXT, HANDOFF_NODE_STR,
-    HYDROFLOW, MODULE_BOUNDARY_NODE_STR,
+    change_spans, get_operator_generics, Color, DiMulGraph, GraphEdgeId, GraphLoopId, GraphNode,
+    GraphNodeId, GraphSubgraphId, OperatorInstance, PortIndexValue, Varname, CONTEXT,
+    HANDOFF_NODE_STR, HYDROFLOW, MODULE_BOUNDARY_NODE_STR,
 };
 use crate::diagnostic::{Diagnostic, Level};
 use crate::pretty_span::{PrettyRowCol, PrettySpan};
@@ -1607,6 +1667,15 @@
     graph: DiMulGraph<GraphNodeId, GraphEdgeId>,
     /// Input and output port for each edge.
     ports: SecondaryMap<GraphEdgeId, (PortIndexValue, PortIndexValue)>,
+
+    /// Which loop a node belongs to (or none for top-level).
+    node_loops: SecondaryMap<GraphNodeId, GraphLoopId>,
+    loop_nodes: SlotMap<GraphLoopId, Vec<GraphNodeId>>,
+    /// For the key loop, what is its parent (`None` for top-level).
+    loop_parent: SparseSecondaryMap<GraphLoopId, GraphLoopId>,
+    /// For the key loop, what are its child loops.
+    loop_children: SecondaryMap<GraphLoopId, Vec<GraphLoopId>>,
+
     /// Which subgraph each node belongs to.
     node_subgraph: SecondaryMap<GraphNodeId, GraphSubgraphId>,
 
@@ -1758,11 +1827,20 @@
     }
 
     /// Insert a node, assigning the given varname.
-    pub fn insert_node(&mut self, node: GraphNode, varname_opt: Option<Ident>) -> GraphNodeId {
+    pub fn insert_node(
+        &mut self,
+        node: GraphNode,
+        varname_opt: Option<Ident>,
+        loop_opt: Option<GraphLoopId>,
+    ) -> GraphNodeId {
         let node_id = self.nodes.insert(node);
         if let Some(varname) = varname_opt {
             self.node_varnames.insert(node_id, Varname(varname));
         }
+        if let Some(loop_id) = loop_opt {
+            self.node_loops.insert(node_id, loop_id);
+            self.loop_nodes[loop_id].push(node_id);
+        }
         node_id
     }
 
@@ -3081,6 +3159,48 @@
     }
 }
 
+/// Loops
+impl HydroflowGraph {
+    /// Iterator over all loop IDs.
+    pub fn loop_ids(&self) -> slotmap::basic::Keys<'_, GraphLoopId, Vec<GraphNodeId>> {
+        self.loop_nodes.keys()
+    }
+
+    /// Iterator over all loops, ID and members: `(GraphLoopId, Vec<GraphNodeId>)`.
+    pub fn loops(&self) -> slotmap::basic::Iter<'_, GraphLoopId, Vec<GraphNodeId>> {
+        self.loop_nodes.iter()
+    }
+
+    /// Create a new loop context, with the given parent loop (or `None`).
+    pub fn insert_loop(&mut self, parent_loop: Option<GraphLoopId>) -> GraphLoopId {
+        let loop_id = self.loop_nodes.insert(Vec::new());
+        self.loop_children.insert(loop_id, Vec::new());
+        if let Some(parent_loop) = parent_loop {
+            self.loop_parent.insert(loop_id, parent_loop);
+            self.loop_children
+                .get_mut(parent_loop)
+                .unwrap()
+                .push(loop_id);
+        }
+        loop_id
+    }
+
+    /// Get a node's loop context (or `None` for root).
+    pub fn node_loop(&self, node_id: GraphNodeId) -> Option<GraphLoopId> {
+        self.node_loops.get(node_id).copied()
+    }
+
+    /// Get a loop context's parent loop context (or `None` for root).
+    pub fn loop_parent(&self, loop_id: GraphLoopId) -> Option<GraphLoopId> {
+        self.loop_parent.get(loop_id).copied()
+    }
+
+    /// Get a loop context's child loops.
+    pub fn loop_children(&self, loop_id: GraphLoopId) -> &Vec<GraphLoopId> {
+        self.loop_children.get(loop_id).unwrap()
+    }
+}
+
 /// Configuration for writing graphs.
 #[derive(Clone, Debug, Default)]
 #[cfg_attr(feature = "clap-derive", derive(clap::Args))]
diff --git a/doc/src/hydroflow_lang/graph/mod.rs.html b/doc/src/hydroflow_lang/graph/mod.rs.html
index 062149703a86..aefdf9b6ec35 100644
--- a/doc/src/hydroflow_lang/graph/mod.rs.html
+++ b/doc/src/hydroflow_lang/graph/mod.rs.html
@@ -431,6 +431,9 @@
 431
 432
 433
+434
+435
+436
 

//! Graph representation stages for Hydroflow graphs.
 
 use std::borrow::Cow;
@@ -478,6 +481,9 @@
 
     /// ID to identify a subgraph in [`HydroflowGraph`].
     pub struct GraphSubgraphId;
+
+    /// ID to identify a loop block in [`HydroflowGraph`].
+    pub struct GraphLoopId;
 }
 
 /// Context identifier as a string.
diff --git a/doc/src/hydroflow_lang/graph/ops/_lattice_fold_batch.rs.html b/doc/src/hydroflow_lang/graph/ops/_lattice_fold_batch.rs.html
index 9c1683b1c469..d24de9486b76 100644
--- a/doc/src/hydroflow_lang/graph/ops/_lattice_fold_batch.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/_lattice_fold_batch.rs.html
@@ -104,6 +104,7 @@
 104
 105
 106
+107
 
use quote::{quote_spanned, ToTokens};
 use syn::parse_quote;
 
@@ -148,6 +149,7 @@
     num_args: 0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| PortListSpec::Fixed(parse_quote! { input, signal })),
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::MonotoneAccum),
diff --git a/doc/src/hydroflow_lang/graph/ops/_lattice_join_fused_join.rs.html b/doc/src/hydroflow_lang/graph/ops/_lattice_join_fused_join.rs.html
index c213fd895d6a..4edcd3297ab1 100644
--- a/doc/src/hydroflow_lang/graph/ops/_lattice_join_fused_join.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/_lattice_join_fused_join.rs.html
@@ -184,6 +184,7 @@
 184
 185
 186
+187
 
use quote::quote_spanned;
 use syn::parse_quote;
 use syn::spanned::Spanned;
@@ -272,6 +273,7 @@
     type_args: &(2..=2),
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { 0, 1 })),
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::MonotoneAccum),
diff --git a/doc/src/hydroflow_lang/graph/ops/all_once.rs.html b/doc/src/hydroflow_lang/graph/ops/all_once.rs.html
new file mode 100644
index 000000000000..e2c4b7b215ef
--- /dev/null
+++ b/doc/src/hydroflow_lang/graph/ops/all_once.rs.html
@@ -0,0 +1,19 @@
+all_once.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+
use super::{DelayType, OperatorConstraints};
+
+// Same as batch, but with a stratum barrier.
+/// TODO(mingwei): docs
+pub const ALL_ONCE: OperatorConstraints = OperatorConstraints {
+    name: "all_once",
+    input_delaytype_fn: |_| Some(DelayType::Stratum),
+    ..super::batch::BATCH
+};
+
\ No newline at end of file diff --git a/doc/src/hydroflow_lang/graph/ops/anti_join.rs.html b/doc/src/hydroflow_lang/graph/ops/anti_join.rs.html index 80ebeecdc7d1..bd67adec22b8 100644 --- a/doc/src/hydroflow_lang/graph/ops/anti_join.rs.html +++ b/doc/src/hydroflow_lang/graph/ops/anti_join.rs.html @@ -161,6 +161,7 @@ 161 162 163 +164
use quote::{quote_spanned, ToTokens};
 use syn::parse_quote;
 
@@ -200,6 +201,7 @@
     // to prevent reading uncleared data if this subgraph doesn't run.
     // https://github.com/hydro-project/hydroflow/issues/1298
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { pos, neg })),
     ports_out: None,
     input_delaytype_fn: |idx| match idx {
diff --git a/doc/src/hydroflow_lang/graph/ops/anti_join_multiset.rs.html b/doc/src/hydroflow_lang/graph/ops/anti_join_multiset.rs.html
index aa16cfc6d45d..9b88e6314ffa 100644
--- a/doc/src/hydroflow_lang/graph/ops/anti_join_multiset.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/anti_join_multiset.rs.html
@@ -193,6 +193,7 @@
 193
 194
 195
+196
 

use quote::{quote_spanned, ToTokens};
 use syn::parse_quote;
 
@@ -232,6 +233,7 @@
     // to prevent reading uncleared data if this subgraph doesn't run.
     // https://github.com/hydro-project/hydroflow/issues/1298
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { pos, neg })),
     ports_out: None,
     input_delaytype_fn: |idx| match idx {
diff --git a/doc/src/hydroflow_lang/graph/ops/assert.rs.html b/doc/src/hydroflow_lang/graph/ops/assert.rs.html
index 98fbf4a000fe..43579ffc516a 100644
--- a/doc/src/hydroflow_lang/graph/ops/assert.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/assert.rs.html
@@ -53,6 +53,7 @@
 53
 54
 55
+56
 
use syn::parse_quote_spanned;
 
 use super::{
@@ -81,6 +82,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/assert_eq.rs.html b/doc/src/hydroflow_lang/graph/ops/assert_eq.rs.html
index 9c558b5c896b..35e2fb84de79 100644
--- a/doc/src/hydroflow_lang/graph/ops/assert_eq.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/assert_eq.rs.html
@@ -84,6 +84,7 @@
 84
 85
 86
+87
 
use quote::quote_spanned;
 use syn::parse_quote_spanned;
 
@@ -123,6 +124,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/batch.rs.html b/doc/src/hydroflow_lang/graph/ops/batch.rs.html
new file mode 100644
index 000000000000..3be19b516feb
--- /dev/null
+++ b/doc/src/hydroflow_lang/graph/ops/batch.rs.html
@@ -0,0 +1,159 @@
+batch.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+
use quote::quote_spanned;
+
+use super::{
+    FloType, OperatorCategory, OperatorConstraints, OperatorWriteOutput, WriteContextArgs, RANGE_0,
+    RANGE_1,
+};
+
+/// TODO(mingwei): docs
+pub const BATCH: OperatorConstraints = OperatorConstraints {
+    name: "batch",
+    categories: &[OperatorCategory::Fold, OperatorCategory::Windowing],
+    hard_range_inn: RANGE_1,
+    soft_range_inn: RANGE_1,
+    hard_range_out: &(0..=1),
+    soft_range_out: &(0..=1),
+    num_args: 0,
+    persistence_args: RANGE_0,
+    type_args: RANGE_0,
+    is_external_input: false,
+    has_singleton_output: true,
+    flo_type: Some(FloType::Windowing),
+    ports_inn: None,
+    ports_out: None,
+    input_delaytype_fn: |_| None,
+    write_fn: |wc @ &WriteContextArgs {
+                   root,
+                   context,
+                   hydroflow,
+                   op_span,
+                   ident,
+                   is_pull,
+                   inputs,
+                   outputs,
+                   singleton_output_ident,
+                   ..
+               },
+               _diagnostics| {
+        let write_prologue = quote_spanned! {op_span=>
+            #[allow(clippy::redundant_closure_call)]
+            let #singleton_output_ident = #hydroflow.add_state(
+                ::std::cell::RefCell::new(::std::vec::Vec::new())
+            );
+
+            // TODO(mingwei): Is this needed?
+            // Reset the value to the initializer fn if it is a new tick.
+            #hydroflow.set_state_tick_hook(#singleton_output_ident, move |rcell| { rcell.take(); });
+        };
+
+        let vec_ident = wc.make_ident("vec");
+
+        let write_iterator = if is_pull {
+            // Pull.
+            let input = &inputs[0];
+            quote_spanned! {op_span=>
+                let mut #vec_ident = #context.state_ref(#singleton_output_ident).borrow_mut();
+                *#vec_ident = #input.collect::<::std::vec::Vec<_>>();
+                let #ident = ::std::iter::once(::std::clone::Clone::clone(&*#vec_ident));
+            }
+        } else if let Some(_output) = outputs.first() {
+            // Push with output.
+            // TODO(mingwei): Not supported - cannot tell EOS for pusherators.
+            panic!("Should not happen - batch must be at ingress to a loop, therefore ingress to a subgraph, so would be pull-based.");
+        } else {
+            // Push with no output.
+            quote_spanned! {op_span=>
+                let mut #vec_ident = #context.state_ref(#singleton_output_ident).borrow_mut();
+                let #ident = #root::pusherator::for_each::ForEach::new(|item| {
+                    ::std::vec::Vec::push(#vec_ident, item);
+                });
+            }
+        };
+
+        Ok(OperatorWriteOutput {
+            write_prologue,
+            write_iterator,
+            ..Default::default()
+        })
+    },
+};
+
\ No newline at end of file diff --git a/doc/src/hydroflow_lang/graph/ops/chain.rs.html b/doc/src/hydroflow_lang/graph/ops/chain.rs.html index b5d03f2fea3f..160882e0d155 100644 --- a/doc/src/hydroflow_lang/graph/ops/chain.rs.html +++ b/doc/src/hydroflow_lang/graph/ops/chain.rs.html @@ -40,6 +40,7 @@ 40 41 42 +43
use crate::graph::PortIndexValue;
 
 use super::{
@@ -72,6 +73,7 @@
     num_args: 0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |idx| match idx {
diff --git a/doc/src/hydroflow_lang/graph/ops/cross_join.rs.html b/doc/src/hydroflow_lang/graph/ops/cross_join.rs.html
index 3343edc82e22..bce8670af411 100644
--- a/doc/src/hydroflow_lang/graph/ops/cross_join.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/cross_join.rs.html
@@ -70,6 +70,7 @@
 70
 71
 72
+73
 
use quote::quote_spanned;
 use syn::parse_quote;
 
@@ -117,6 +118,7 @@
     type_args: &(0..=1),
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { 0, 1 })),
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/cross_join_multiset.rs.html b/doc/src/hydroflow_lang/graph/ops/cross_join_multiset.rs.html
index b9bbed928c95..a46aafce936b 100644
--- a/doc/src/hydroflow_lang/graph/ops/cross_join_multiset.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/cross_join_multiset.rs.html
@@ -59,6 +59,7 @@
 59
 60
 61
+62
 
use quote::quote_spanned;
 use syn::parse_quote;
 
@@ -95,6 +96,7 @@
     type_args: &(0..=1),
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { 0, 1 })),
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/cross_singleton.rs.html b/doc/src/hydroflow_lang/graph/ops/cross_singleton.rs.html
index 5c8c6082bc97..4304642a0201 100644
--- a/doc/src/hydroflow_lang/graph/ops/cross_singleton.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/cross_singleton.rs.html
@@ -112,6 +112,7 @@
 112
 113
 114
+115
 
use quote::{quote_spanned, ToTokens};
 use syn::parse_quote;
 
@@ -153,6 +154,7 @@
     num_args: 0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { input, single })),
     ports_out: None,
     input_delaytype_fn: |idx| match idx {
diff --git a/doc/src/hydroflow_lang/graph/ops/defer_signal.rs.html b/doc/src/hydroflow_lang/graph/ops/defer_signal.rs.html
index c989927c5b84..d2e4c2202e62 100644
--- a/doc/src/hydroflow_lang/graph/ops/defer_signal.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/defer_signal.rs.html
@@ -82,6 +82,7 @@
 82
 83
 84
+85
 
use quote::quote_spanned;
 use syn::parse_quote;
 
@@ -118,6 +119,7 @@
     num_args: 0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { input, signal })),
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Stratum),
diff --git a/doc/src/hydroflow_lang/graph/ops/defer_tick.rs.html b/doc/src/hydroflow_lang/graph/ops/defer_tick.rs.html
index 6231ee68a16b..9714db2e2b15 100644
--- a/doc/src/hydroflow_lang/graph/ops/defer_tick.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/defer_tick.rs.html
@@ -77,6 +77,7 @@
 77
 78
 79
+80
 
use super::{
     DelayType, OperatorCategory, OperatorConstraints, IDENTITY_WRITE_FN, RANGE_0,
     RANGE_1,
@@ -151,6 +152,7 @@
     type_args: &(0..=1),
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Tick),
diff --git a/doc/src/hydroflow_lang/graph/ops/defer_tick_lazy.rs.html b/doc/src/hydroflow_lang/graph/ops/defer_tick_lazy.rs.html
index 20c4cb1f203c..15c499d4ac00 100644
--- a/doc/src/hydroflow_lang/graph/ops/defer_tick_lazy.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/defer_tick_lazy.rs.html
@@ -22,6 +22,7 @@
 22
 23
 24
+25
 
use super::{
     DelayType, OperatorCategory, OperatorConstraints, IDENTITY_WRITE_FN, RANGE_0,
     RANGE_1,
@@ -41,6 +42,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::TickLazy),
diff --git a/doc/src/hydroflow_lang/graph/ops/demux.rs.html b/doc/src/hydroflow_lang/graph/ops/demux.rs.html
index 0dbf44126da5..184fa16a3705 100644
--- a/doc/src/hydroflow_lang/graph/ops/demux.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/demux.rs.html
@@ -206,6 +206,7 @@
 206
 207
 208
+209
 
use std::collections::HashMap;
 
 use proc_macro2::{Ident, TokenTree};
@@ -261,6 +262,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: Some(|| PortListSpec::Variadic),
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/demux_enum.rs.html b/doc/src/hydroflow_lang/graph/ops/demux_enum.rs.html
index ab6decbe9e00..f5f0cec1c973 100644
--- a/doc/src/hydroflow_lang/graph/ops/demux_enum.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/demux_enum.rs.html
@@ -188,6 +188,7 @@
 188
 189
 190
+191
 
use proc_macro2::Ident;
 use quote::{quote, quote_spanned, ToTokens};
 use syn::spanned::Spanned;
@@ -242,6 +243,7 @@
     type_args: RANGE_1,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: Some(|| PortListSpec::Variadic),
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/dest_file.rs.html b/doc/src/hydroflow_lang/graph/ops/dest_file.rs.html
index 4f6c5461be2a..5a7927ec8e32 100644
--- a/doc/src/hydroflow_lang/graph/ops/dest_file.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/dest_file.rs.html
@@ -95,6 +95,7 @@
 95
 96
 97
+98
 
use quote::quote_spanned;
 use syn::parse_quote_spanned;
 
@@ -129,6 +130,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/dest_sink.rs.html b/doc/src/hydroflow_lang/graph/ops/dest_sink.rs.html
index be9dce89a17a..b1f0e754d149 100644
--- a/doc/src/hydroflow_lang/graph/ops/dest_sink.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/dest_sink.rs.html
@@ -158,6 +158,7 @@
 158
 159
 160
+161
 
use quote::quote_spanned;
 
 use super::{
@@ -253,6 +254,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/dest_sink_serde.rs.html b/doc/src/hydroflow_lang/graph/ops/dest_sink_serde.rs.html
index 6c7130aec5c5..ebb2d059f1e7 100644
--- a/doc/src/hydroflow_lang/graph/ops/dest_sink_serde.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/dest_sink_serde.rs.html
@@ -70,6 +70,7 @@
 70
 71
 72
+73
 
use quote::quote_spanned;
 
 use super::{
@@ -107,6 +108,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/difference.rs.html b/doc/src/hydroflow_lang/graph/ops/difference.rs.html
index 6a3c03ffc7b9..c603eff84349 100644
--- a/doc/src/hydroflow_lang/graph/ops/difference.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/difference.rs.html
@@ -70,6 +70,7 @@
 70
 71
 72
+73
 
use quote::{quote_spanned, ToTokens};
 use syn::parse_quote;
 
@@ -106,6 +107,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { pos, neg })),
     ports_out: None,
     input_delaytype_fn: |idx| match idx {
diff --git a/doc/src/hydroflow_lang/graph/ops/difference_multiset.rs.html b/doc/src/hydroflow_lang/graph/ops/difference_multiset.rs.html
index 9ffc4dd9c84d..b6feee6d7702 100644
--- a/doc/src/hydroflow_lang/graph/ops/difference_multiset.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/difference_multiset.rs.html
@@ -71,6 +71,7 @@
 71
 72
 73
+74
 
use quote::{quote_spanned, ToTokens};
 use syn::parse_quote;
 
@@ -108,6 +109,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { pos, neg })),
     ports_out: None,
     input_delaytype_fn: |idx| match idx {
diff --git a/doc/src/hydroflow_lang/graph/ops/enumerate.rs.html b/doc/src/hydroflow_lang/graph/ops/enumerate.rs.html
index ee2cd6120630..2084791ab2a7 100644
--- a/doc/src/hydroflow_lang/graph/ops/enumerate.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/enumerate.rs.html
@@ -106,6 +106,7 @@
 106
 107
 108
+109
 
use quote::quote_spanned;
 
 use super::{
@@ -140,6 +141,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/filter.rs.html b/doc/src/hydroflow_lang/graph/ops/filter.rs.html
index c9372746df54..ff245fa2787e 100644
--- a/doc/src/hydroflow_lang/graph/ops/filter.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/filter.rs.html
@@ -61,6 +61,7 @@
 61
 62
 63
+64
 
use quote::quote_spanned;
 
 use super::{
@@ -93,6 +94,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/filter_map.rs.html b/doc/src/hydroflow_lang/graph/ops/filter_map.rs.html
index cdb705a0a978..eabea11adabc 100644
--- a/doc/src/hydroflow_lang/graph/ops/filter_map.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/filter_map.rs.html
@@ -59,6 +59,7 @@
 59
 60
 61
+62
 
use quote::quote_spanned;
 
 use super::{
@@ -89,6 +90,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/flat_map.rs.html b/doc/src/hydroflow_lang/graph/ops/flat_map.rs.html
index 57c36f02a65a..76e617283b32 100644
--- a/doc/src/hydroflow_lang/graph/ops/flat_map.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/flat_map.rs.html
@@ -66,6 +66,7 @@
 66
 67
 68
+69
 
use quote::quote_spanned;
 
 use super::{
@@ -100,6 +101,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/flatten.rs.html b/doc/src/hydroflow_lang/graph/ops/flatten.rs.html
index 767346be5469..cff8df8e9fef 100644
--- a/doc/src/hydroflow_lang/graph/ops/flatten.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/flatten.rs.html
@@ -57,6 +57,7 @@
 57
 58
 59
+60
 
use quote::quote_spanned;
 
 use super::{
@@ -86,6 +87,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/fold.rs.html b/doc/src/hydroflow_lang/graph/ops/fold.rs.html
index 749567fca353..47badbf8f1ea 100644
--- a/doc/src/hydroflow_lang/graph/ops/fold.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/fold.rs.html
@@ -154,6 +154,7 @@
 154
 155
 156
+157
 
use quote::quote_spanned;
 
 use super::{
@@ -201,6 +202,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: true,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Stratum),
diff --git a/doc/src/hydroflow_lang/graph/ops/fold_keyed.rs.html b/doc/src/hydroflow_lang/graph/ops/fold_keyed.rs.html
index 27e78272a0d6..b1be87d9fcba 100644
--- a/doc/src/hydroflow_lang/graph/ops/fold_keyed.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/fold_keyed.rs.html
@@ -280,6 +280,7 @@
 280
 281
 282
+283
 
use quote::{quote_spanned, ToTokens};
 
 use super::{
@@ -362,6 +363,7 @@
     // to prevent reading uncleared data if this subgraph doesn't run.
     // https://github.com/hydro-project/hydroflow/issues/1298
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Stratum),
diff --git a/doc/src/hydroflow_lang/graph/ops/for_each.rs.html b/doc/src/hydroflow_lang/graph/ops/for_each.rs.html
index 3c4d9b395fcb..450b20eff1e5 100644
--- a/doc/src/hydroflow_lang/graph/ops/for_each.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/for_each.rs.html
@@ -51,6 +51,7 @@
 51
 52
 53
+54
 
use quote::quote_spanned;
 
 use super::{
@@ -83,6 +84,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/identity.rs.html b/doc/src/hydroflow_lang/graph/ops/identity.rs.html
index 022816c8df66..3be6681e35c7 100644
--- a/doc/src/hydroflow_lang/graph/ops/identity.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/identity.rs.html
@@ -38,6 +38,7 @@
 38
 39
 40
+41
 
use super::{
     OperatorCategory, OperatorConstraints, IDENTITY_WRITE_FN, RANGE_0, RANGE_1,
 };
@@ -73,6 +74,7 @@
     type_args: &(0..=1),
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/initialize.rs.html b/doc/src/hydroflow_lang/graph/ops/initialize.rs.html
index 111c08283e14..8aeeb78134b2 100644
--- a/doc/src/hydroflow_lang/graph/ops/initialize.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/initialize.rs.html
@@ -37,6 +37,7 @@
 37
 38
 39
+40
 
use syn::parse_quote_spanned;
 
 use super::{
@@ -65,6 +66,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/inspect.rs.html b/doc/src/hydroflow_lang/graph/ops/inspect.rs.html
index c398178cea7e..a578343704b7 100644
--- a/doc/src/hydroflow_lang/graph/ops/inspect.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/inspect.rs.html
@@ -66,6 +66,7 @@
 66
 67
 68
+69
 
use quote::quote_spanned;
 
 use super::{
@@ -99,6 +100,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/join.rs.html b/doc/src/hydroflow_lang/graph/ops/join.rs.html
index 2b0bb366bb4d..fa9a10883fab 100644
--- a/doc/src/hydroflow_lang/graph/ops/join.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/join.rs.html
@@ -222,6 +222,7 @@
 222
 223
 224
+225
 
use quote::{quote_spanned, ToTokens};
 use syn::parse_quote;
 
@@ -315,6 +316,7 @@
     type_args: &(0..=1),
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { 0, 1 })),
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/join_fused.rs.html b/doc/src/hydroflow_lang/graph/ops/join_fused.rs.html
index f784cdbe6bce..ff0e47fcd88f 100644
--- a/doc/src/hydroflow_lang/graph/ops/join_fused.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/join_fused.rs.html
@@ -339,6 +339,7 @@
 339
 340
 341
+342
 
use proc_macro2::{Ident, TokenStream};
 use quote::{quote_spanned, ToTokens};
 use syn::spanned::Spanned;
@@ -441,6 +442,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { 0, 1 })),
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Stratum),
diff --git a/doc/src/hydroflow_lang/graph/ops/join_fused_lhs.rs.html b/doc/src/hydroflow_lang/graph/ops/join_fused_lhs.rs.html
index 036ab6b7f10b..e1afca7a78ee 100644
--- a/doc/src/hydroflow_lang/graph/ops/join_fused_lhs.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/join_fused_lhs.rs.html
@@ -172,6 +172,7 @@
 172
 173
 174
+175
 
use quote::{quote_spanned, ToTokens};
 use syn::parse_quote;
 use syn::spanned::Spanned;
@@ -208,6 +209,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { 0, 1 })),
     ports_out: None,
     input_delaytype_fn: |idx| match idx {
diff --git a/doc/src/hydroflow_lang/graph/ops/join_fused_rhs.rs.html b/doc/src/hydroflow_lang/graph/ops/join_fused_rhs.rs.html
index 5231aa4462d5..3f51ad6125d2 100644
--- a/doc/src/hydroflow_lang/graph/ops/join_fused_rhs.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/join_fused_rhs.rs.html
@@ -61,6 +61,7 @@
 61
 62
 63
+64
 
use quote::{quote_spanned, ToTokens};
 use syn::parse_quote;
 
@@ -84,6 +85,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { 0, 1 })),
     ports_out: None,
     input_delaytype_fn: |idx| match idx {
diff --git a/doc/src/hydroflow_lang/graph/ops/join_multiset.rs.html b/doc/src/hydroflow_lang/graph/ops/join_multiset.rs.html
index 44bbb5e31042..53720a18b2bb 100644
--- a/doc/src/hydroflow_lang/graph/ops/join_multiset.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/join_multiset.rs.html
@@ -65,6 +65,7 @@
 65
 66
 67
+68
 
use syn::{parse_quote, parse_quote_spanned};
 
 use super::{
@@ -104,6 +105,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { 0, 1 })),
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/lattice_bimorphism.rs.html b/doc/src/hydroflow_lang/graph/ops/lattice_bimorphism.rs.html
index 7c99d33c81fd..5aa98ea70ac7 100644
--- a/doc/src/hydroflow_lang/graph/ops/lattice_bimorphism.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/lattice_bimorphism.rs.html
@@ -128,6 +128,7 @@
 128
 129
 130
+131
 
use quote::quote_spanned;
 use syn::parse_quote;
 
@@ -182,6 +183,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { 0, 1 })),
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/lattice_fold.rs.html b/doc/src/hydroflow_lang/graph/ops/lattice_fold.rs.html
index 232660df8139..62ae3acf74cd 100644
--- a/doc/src/hydroflow_lang/graph/ops/lattice_fold.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/lattice_fold.rs.html
@@ -69,6 +69,7 @@
 69
 70
 71
+72
 
use syn::parse_quote_spanned;
 
 use super::{
@@ -110,6 +111,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::MonotoneAccum),
diff --git a/doc/src/hydroflow_lang/graph/ops/lattice_reduce.rs.html b/doc/src/hydroflow_lang/graph/ops/lattice_reduce.rs.html
index 6ceb40caaacd..809cdd199cad 100644
--- a/doc/src/hydroflow_lang/graph/ops/lattice_reduce.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/lattice_reduce.rs.html
@@ -92,6 +92,7 @@
 92
 93
 94
+95
 
use quote::quote_spanned;
 use syn::parse_quote_spanned;
 
@@ -134,6 +135,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::MonotoneAccum),
diff --git a/doc/src/hydroflow_lang/graph/ops/map.rs.html b/doc/src/hydroflow_lang/graph/ops/map.rs.html
index e02e7aa772fc..70129853e1c8 100644
--- a/doc/src/hydroflow_lang/graph/ops/map.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/map.rs.html
@@ -65,6 +65,7 @@
 65
 66
 67
+68
 
use quote::quote_spanned;
 
 use super::{
@@ -99,6 +100,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/mod.rs.html b/doc/src/hydroflow_lang/graph/ops/mod.rs.html
index becafc6eb6ff..946f9d30db60 100644
--- a/doc/src/hydroflow_lang/graph/ops/mod.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/mod.rs.html
@@ -541,6 +541,27 @@
 541
 542
 543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
 
//! Hydroflow's operators
 
 use std::collections::HashMap;
@@ -613,6 +634,8 @@
     /// If true, [`WriteContextArgs::singleton_output_ident`] will be set to a meaningful value in
     /// the [`Self::write_fn`] invocation.
     pub has_singleton_output: bool,
+    /// Flo semantics type.
+    pub flo_type: Option<FloType>,
 
     /// What named or numbered input ports to expect?
     pub ports_inn: Option<fn() -> PortListSpec>,
@@ -783,10 +806,12 @@
     };
 }
 declare_ops![
+    all_once::ALL_ONCE,
     anti_join::ANTI_JOIN,
     anti_join_multiset::ANTI_JOIN_MULTISET,
     assert::ASSERT,
     assert_eq::ASSERT_EQ,
+    batch::BATCH,
     chain::CHAIN,
     cross_join::CROSS_JOIN,
     cross_join_multiset::CROSS_JOIN_MULTISET,
@@ -1039,6 +1064,8 @@
     Sink,
     Control,
     CompilerFusionOperator,
+    Windowing,
+    Unwindowing,
 }
 impl OperatorCategory {
     /// Human-readible heading name, for docs.
@@ -1057,6 +1084,8 @@
             OperatorCategory::Sink => "Sinks",
             OperatorCategory::Control => "Control Flow Operators",
             OperatorCategory::CompilerFusionOperator => "Compiler Fusion Operators",
+            OperatorCategory::Windowing => "Windowing Operator",
+            OperatorCategory::Unwindowing => "Un-Windowing Operator",
         }
     }
     /// Human description, for docs.
@@ -1081,7 +1110,20 @@
             OperatorCategory::CompilerFusionOperator => {
                 "Operators which are necessary to implement certain optimizations and rewrite rules"
             }
+            OperatorCategory::Windowing => "Operators for windowing `loop` inputs.",
+            OperatorCategory::Unwindowing => "Operators for collecting `loop` outputs.",
         }
     }
 }
+
+/// Operator type for Flo semantics.
+#[derive(Clone, Copy, PartialOrd, Ord, PartialEq, Eq, Debug)]
+pub enum FloType {
+    /// A source operator, which must be at the top level.
+    Source,
+    /// A windowing operator, for moving data into a loop context.
+    Windowing,
+    /// An un-windowing operator, for moving data out of a loop context.
+    Unwindowing,
+}
 
\ No newline at end of file diff --git a/doc/src/hydroflow_lang/graph/ops/multiset_delta.rs.html b/doc/src/hydroflow_lang/graph/ops/multiset_delta.rs.html index f1a9ff6507cd..49526b913cc3 100644 --- a/doc/src/hydroflow_lang/graph/ops/multiset_delta.rs.html +++ b/doc/src/hydroflow_lang/graph/ops/multiset_delta.rs.html @@ -121,6 +121,7 @@ 121 122 123 +124
use quote::quote_spanned;
 
 use super::{
@@ -169,6 +170,7 @@
     // https://github.com/hydro-project/hydroflow/issues/1298
     // If `'tick` lifetimes are added.
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/next_stratum.rs.html b/doc/src/hydroflow_lang/graph/ops/next_stratum.rs.html
index eb20355657de..cce050050574 100644
--- a/doc/src/hydroflow_lang/graph/ops/next_stratum.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/next_stratum.rs.html
@@ -25,6 +25,7 @@
 25
 26
 27
+28
 
use super::{
     DelayType, OperatorCategory, OperatorConstraints, IDENTITY_WRITE_FN, RANGE_0,
     RANGE_1,
@@ -47,6 +48,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Stratum),
diff --git a/doc/src/hydroflow_lang/graph/ops/null.rs.html b/doc/src/hydroflow_lang/graph/ops/null.rs.html
index 9f2943312ef2..b73ae8a7e92e 100644
--- a/doc/src/hydroflow_lang/graph/ops/null.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/null.rs.html
@@ -31,6 +31,7 @@
 31
 32
 33
+34
 
use super::{OperatorCategory, OperatorConstraints, NULL_WRITE_FN, RANGE_0};
 
 /// > unbounded number of input streams of any type, unbounded number of output streams of any type.
@@ -59,6 +60,7 @@
     type_args: &(0..=1),
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/partition.rs.html b/doc/src/hydroflow_lang/graph/ops/partition.rs.html
index 98f2ea4ce115..a37532c73f44 100644
--- a/doc/src/hydroflow_lang/graph/ops/partition.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/partition.rs.html
@@ -396,6 +396,7 @@
 396
 397
 398
+399
 
use std::collections::BTreeSet;
 
 use proc_macro2::Span;
@@ -463,6 +464,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: Some(|| PortListSpec::Variadic),
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/persist.rs.html b/doc/src/hydroflow_lang/graph/ops/persist.rs.html
index 74b1202383c4..93b06a21239f 100644
--- a/doc/src/hydroflow_lang/graph/ops/persist.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/persist.rs.html
@@ -140,6 +140,7 @@
 140
 141
 142
+143
 
use quote::quote_spanned;
 
 use super::{
@@ -190,6 +191,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: true,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/persist_mut.rs.html b/doc/src/hydroflow_lang/graph/ops/persist_mut.rs.html
index cf7c41d1c04b..b32f7069f2fb 100644
--- a/doc/src/hydroflow_lang/graph/ops/persist_mut.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/persist_mut.rs.html
@@ -117,6 +117,7 @@
 117
 118
 119
+120
 
use quote::quote_spanned;
 
 use super::{
@@ -158,6 +159,7 @@
     // https://github.com/hydro-project/hydroflow/issues/1298
     // If `'tick` lifetimes are added.
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Stratum),
diff --git a/doc/src/hydroflow_lang/graph/ops/persist_mut_keyed.rs.html b/doc/src/hydroflow_lang/graph/ops/persist_mut_keyed.rs.html
index 7abecd3480e3..0038b251d2f4 100644
--- a/doc/src/hydroflow_lang/graph/ops/persist_mut_keyed.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/persist_mut_keyed.rs.html
@@ -125,6 +125,7 @@
 125
 126
 127
+128
 
use quote::quote_spanned;
 
 use super::{
@@ -166,6 +167,7 @@
     // https://github.com/hydro-project/hydroflow/issues/1298
     // If `'tick` lifetimes are added.
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Stratum),
diff --git a/doc/src/hydroflow_lang/graph/ops/py_udf.rs.html b/doc/src/hydroflow_lang/graph/ops/py_udf.rs.html
index 740865fe637d..29a1404b0ad9 100644
--- a/doc/src/hydroflow_lang/graph/ops/py_udf.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/py_udf.rs.html
@@ -144,6 +144,7 @@
 144
 145
 146
+147
 
use proc_macro2::Literal;
 use quote::quote_spanned;
 
@@ -208,6 +209,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/reduce.rs.html b/doc/src/hydroflow_lang/graph/ops/reduce.rs.html
index c213369c1e4e..73fdcac45d02 100644
--- a/doc/src/hydroflow_lang/graph/ops/reduce.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/reduce.rs.html
@@ -156,6 +156,7 @@
 156
 157
 158
+159
 
use quote::quote_spanned;
 
 use super::{
@@ -201,6 +202,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: true,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Stratum),
diff --git a/doc/src/hydroflow_lang/graph/ops/reduce_keyed.rs.html b/doc/src/hydroflow_lang/graph/ops/reduce_keyed.rs.html
index 34d431d3b25e..a910fff47af0 100644
--- a/doc/src/hydroflow_lang/graph/ops/reduce_keyed.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/reduce_keyed.rs.html
@@ -229,6 +229,7 @@
 229
 230
 231
+232
 
use quote::{quote_spanned, ToTokens};
 
 use super::{
@@ -301,6 +302,7 @@
     // to prevent reading uncleared data if this subgraph doesn't run.
     // https://github.com/hydro-project/hydroflow/issues/1298
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Stratum),
diff --git a/doc/src/hydroflow_lang/graph/ops/sort.rs.html b/doc/src/hydroflow_lang/graph/ops/sort.rs.html
index 7ed962a1a8b4..18212085adc7 100644
--- a/doc/src/hydroflow_lang/graph/ops/sort.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/sort.rs.html
@@ -56,6 +56,7 @@
 56
 57
 58
+59
 
use quote::quote_spanned;
 
 use super::{
@@ -85,6 +86,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Stratum),
diff --git a/doc/src/hydroflow_lang/graph/ops/sort_by_key.rs.html b/doc/src/hydroflow_lang/graph/ops/sort_by_key.rs.html
index 39eecff74495..cfbe6f741584 100644
--- a/doc/src/hydroflow_lang/graph/ops/sort_by_key.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/sort_by_key.rs.html
@@ -53,6 +53,7 @@
 53
 54
 55
+56
 
use quote::quote_spanned;
 
 use super::{
@@ -82,6 +83,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Stratum),
diff --git a/doc/src/hydroflow_lang/graph/ops/source_file.rs.html b/doc/src/hydroflow_lang/graph/ops/source_file.rs.html
index 8d46744457c4..10f925752bc6 100644
--- a/doc/src/hydroflow_lang/graph/ops/source_file.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/source_file.rs.html
@@ -88,12 +88,13 @@
 88
 89
 90
+91
 
use quote::quote_spanned;
 use syn::parse_quote_spanned;
 
 use super::{
-    make_missing_runtime_msg, OperatorCategory, OperatorConstraints,
-    OperatorWriteOutput, WriteContextArgs, RANGE_0, RANGE_1,
+    make_missing_runtime_msg, FloType, OperatorCategory, OperatorConstraints, OperatorWriteOutput,
+    WriteContextArgs, RANGE_0, RANGE_1,
 };
 
 /// > 0 input streams, 1 output stream
@@ -120,6 +121,7 @@
     type_args: &(0..=1),
     is_external_input: true,
     has_singleton_output: false,
+    flo_type: Some(FloType::Source),
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/source_interval.rs.html b/doc/src/hydroflow_lang/graph/ops/source_interval.rs.html
index 447695028053..6980bf65649f 100644
--- a/doc/src/hydroflow_lang/graph/ops/source_interval.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/source_interval.rs.html
@@ -84,12 +84,13 @@
 84
 85
 86
+87
 
use quote::quote_spanned;
 use syn::parse_quote_spanned;
 
 use super::{
-    OperatorCategory, OperatorConstraints, OperatorWriteOutput, WriteContextArgs,
-    RANGE_0, RANGE_1,
+    FloType, OperatorCategory, OperatorConstraints, OperatorWriteOutput, WriteContextArgs, RANGE_0,
+    RANGE_1,
 };
 
 /// > 0 input streams, 1 output stream
@@ -140,6 +141,7 @@
     type_args: RANGE_0,
     is_external_input: true,
     has_singleton_output: false,
+    flo_type: Some(FloType::Source),
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/source_iter.rs.html b/doc/src/hydroflow_lang/graph/ops/source_iter.rs.html
index 4493f947de44..c324b14e1ab7 100644
--- a/doc/src/hydroflow_lang/graph/ops/source_iter.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/source_iter.rs.html
@@ -64,8 +64,7 @@
 
use quote::quote_spanned;
 
 use super::{
-    OperatorCategory, OperatorConstraints, OperatorWriteOutput, WriteContextArgs,
-    RANGE_0, RANGE_1,
+    FloType, OperatorCategory, OperatorConstraints, OperatorWriteOutput, WriteContextArgs, RANGE_0, RANGE_1
 };
 
 /// > 0 input streams, 1 output stream
@@ -93,6 +92,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: Some(FloType::Source),
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/source_json.rs.html b/doc/src/hydroflow_lang/graph/ops/source_json.rs.html
index 267733e1fd0d..ec34f460bf68 100644
--- a/doc/src/hydroflow_lang/graph/ops/source_json.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/source_json.rs.html
@@ -65,10 +65,11 @@
 65
 66
 67
+68
 
use quote::quote_spanned;
 
 use super::{
-    OpInstGenerics, OperatorCategory, OperatorConstraints, OperatorInstance,
+    FloType, OpInstGenerics, OperatorCategory, OperatorConstraints, OperatorInstance,
     OperatorWriteOutput, WriteContextArgs, RANGE_0, RANGE_1,
 };
 
@@ -94,6 +95,7 @@
     type_args: &(0..=1),
     is_external_input: true,
     has_singleton_output: false,
+    flo_type: Some(FloType::Source),
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/source_stdin.rs.html b/doc/src/hydroflow_lang/graph/ops/source_stdin.rs.html
index 3428cfa8d29e..e245e66fe1e8 100644
--- a/doc/src/hydroflow_lang/graph/ops/source_stdin.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/source_stdin.rs.html
@@ -65,11 +65,12 @@
 65
 66
 67
+68
 
use quote::quote_spanned;
 
 use super::{
-    OperatorCategory, OperatorConstraints, OperatorWriteOutput, WriteContextArgs,
-    RANGE_0, RANGE_1,
+    FloType, OperatorCategory, OperatorConstraints, OperatorWriteOutput, WriteContextArgs, RANGE_0,
+    RANGE_1,
 };
 
 /// > 0 input streams, 1 output stream
@@ -96,6 +97,7 @@
     type_args: RANGE_0,
     is_external_input: true,
     has_singleton_output: false,
+    flo_type: Some(FloType::Source),
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/source_stream.rs.html b/doc/src/hydroflow_lang/graph/ops/source_stream.rs.html
index ab47b63a74a4..c3593fb55673 100644
--- a/doc/src/hydroflow_lang/graph/ops/source_stream.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/source_stream.rs.html
@@ -76,11 +76,12 @@
 76
 77
 78
+79
 
use quote::quote_spanned;
 
 use super::{
-    OperatorCategory, OperatorConstraints, OperatorWriteOutput, WriteContextArgs,
-    RANGE_0, RANGE_1,
+    FloType, OperatorCategory, OperatorConstraints, OperatorWriteOutput, WriteContextArgs, RANGE_0,
+    RANGE_1,
 };
 
 /// > 0 input streams, 1 output stream
@@ -114,6 +115,7 @@
     type_args: RANGE_0,
     is_external_input: true,
     has_singleton_output: false,
+    flo_type: Some(FloType::Source),
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/source_stream_serde.rs.html b/doc/src/hydroflow_lang/graph/ops/source_stream_serde.rs.html
index 932092b551ee..51e35f2448af 100644
--- a/doc/src/hydroflow_lang/graph/ops/source_stream_serde.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/source_stream_serde.rs.html
@@ -70,11 +70,12 @@
 70
 71
 72
+73
 
use quote::quote_spanned;
 
 use super::{
-    OperatorCategory, OperatorConstraints, OperatorWriteOutput, WriteContextArgs,
-    RANGE_0, RANGE_1,
+    FloType, OperatorCategory, OperatorConstraints, OperatorWriteOutput, WriteContextArgs, RANGE_0,
+    RANGE_1,
 };
 
 /// > 0 input streams, 1 output stream
@@ -108,6 +109,7 @@
     type_args: RANGE_0,
     is_external_input: true,
     has_singleton_output: false,
+    flo_type: Some(FloType::Source),
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/spin.rs.html b/doc/src/hydroflow_lang/graph/ops/spin.rs.html
index ffd5c46c0c4b..d261c5f56581 100644
--- a/doc/src/hydroflow_lang/graph/ops/spin.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/spin.rs.html
@@ -54,6 +54,7 @@
 54
 55
 56
+57
 
use quote::quote_spanned;
 
 use super::{
@@ -85,6 +86,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/state.rs.html b/doc/src/hydroflow_lang/graph/ops/state.rs.html
index b0f75f0af9f6..7349b10392b2 100644
--- a/doc/src/hydroflow_lang/graph/ops/state.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/state.rs.html
@@ -45,6 +45,7 @@
 45
 46
 47
+48
 
use syn::parse_quote_spanned;
 use super::{
     OperatorCategory, OperatorConstraints,
@@ -78,6 +79,7 @@
     type_args: &(0..=1),
     is_external_input: false,
     has_singleton_output: true,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/state_by.rs.html b/doc/src/hydroflow_lang/graph/ops/state_by.rs.html
index 081c045ff326..edb6cafd587e 100644
--- a/doc/src/hydroflow_lang/graph/ops/state_by.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/state_by.rs.html
@@ -174,6 +174,7 @@
 174
 175
 176
+177
 
use quote::{quote_spanned, ToTokens};
 
 use super::{
@@ -208,6 +209,7 @@
     type_args: &(0..=1),
     is_external_input: false,
     has_singleton_output: true,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/tee.rs.html b/doc/src/hydroflow_lang/graph/ops/tee.rs.html
index b71fd5ae7af9..af85552383d5 100644
--- a/doc/src/hydroflow_lang/graph/ops/tee.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/tee.rs.html
@@ -66,6 +66,7 @@
 66
 67
 68
+69
 
use quote::{quote_spanned, ToTokens};
 
 use super::{
@@ -96,6 +97,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/union.rs.html b/doc/src/hydroflow_lang/graph/ops/union.rs.html
index b091e9ab8f77..b6a79a44e123 100644
--- a/doc/src/hydroflow_lang/graph/ops/union.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/union.rs.html
@@ -73,6 +73,7 @@
 73
 74
 75
+76
 
use quote::{quote_spanned, ToTokens};
 
 use super::{
@@ -107,6 +108,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/unique.rs.html b/doc/src/hydroflow_lang/graph/ops/unique.rs.html
index 11314f614d23..054544e95115 100644
--- a/doc/src/hydroflow_lang/graph/ops/unique.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/unique.rs.html
@@ -148,6 +148,7 @@
 148
 149
 150
+151
 
use quote::quote_spanned;
 
 use super::{
@@ -204,6 +205,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/unzip.rs.html b/doc/src/hydroflow_lang/graph/ops/unzip.rs.html
index d02f0cb516d1..2c8aa30d0cb3 100644
--- a/doc/src/hydroflow_lang/graph/ops/unzip.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/unzip.rs.html
@@ -52,6 +52,7 @@
 52
 53
 54
+55
 
use quote::quote_spanned;
 use syn::parse_quote;
 
@@ -82,6 +83,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: None,
     ports_out: Some(|| super::PortListSpec::Fixed(parse_quote!(0, 1))),
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/zip.rs.html b/doc/src/hydroflow_lang/graph/ops/zip.rs.html
index 3e4308bc33e9..546183e5957a 100644
--- a/doc/src/hydroflow_lang/graph/ops/zip.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/zip.rs.html
@@ -115,6 +115,7 @@
 115
 116
 117
+118
 
use quote::quote_spanned;
 use syn::parse_quote;
 
@@ -147,6 +148,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { 0, 1 })),
     ports_out: None,
     input_delaytype_fn: |_| None,
diff --git a/doc/src/hydroflow_lang/graph/ops/zip_longest.rs.html b/doc/src/hydroflow_lang/graph/ops/zip_longest.rs.html
index 99a8dd68caea..1ffd640563f8 100644
--- a/doc/src/hydroflow_lang/graph/ops/zip_longest.rs.html
+++ b/doc/src/hydroflow_lang/graph/ops/zip_longest.rs.html
@@ -83,6 +83,7 @@
 83
 84
 85
+86
 
use quote::quote_spanned;
 use syn::parse_quote;
 
@@ -119,6 +120,7 @@
     type_args: RANGE_0,
     is_external_input: false,
     has_singleton_output: false,
+    flo_type: None,
     ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { 0, 1 })),
     ports_out: None,
     input_delaytype_fn: |_| Some(DelayType::Stratum),
diff --git a/doc/src/hydroflow_lang/parse.rs.html b/doc/src/hydroflow_lang/parse.rs.html
index 8e2a27bdcce2..25065692482e 100644
--- a/doc/src/hydroflow_lang/parse.rs.html
+++ b/doc/src/hydroflow_lang/parse.rs.html
@@ -594,6 +594,63 @@
 594
 595
 596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
 
//! AST for surface syntax, modelled on [`syn`]'s ASTs.
 #![allow(clippy::allow_attributes, missing_docs, reason = "internal use")]
 
@@ -604,10 +661,10 @@
 use quote::ToTokens;
 use syn::parse::{Parse, ParseStream};
 use syn::punctuated::Punctuated;
-use syn::token::{Bracket, Paren};
+use syn::token::{Brace, Bracket, Paren};
 use syn::{
-    bracketed, parenthesized, AngleBracketedGenericArguments, Expr, ExprPath, GenericArgument,
-    Ident, ItemUse, LitInt, LitStr, Path, PathArguments, PathSegment, Token,
+    braced, bracketed, parenthesized, AngleBracketedGenericArguments, Expr, ExprPath,
+    GenericArgument, Ident, ItemUse, LitInt, LitStr, Path, PathArguments, PathSegment, Token,
 };
 
 use crate::process_singletons::preprocess_singletons;
@@ -636,24 +693,45 @@
     Use(ItemUse),
     Named(NamedHfStatement),
     Pipeline(PipelineStatement),
+    Loop(LoopStatement),
 }
 impl Parse for HfStatement {
     fn parse(input: ParseStream) -> syn::Result<Self> {
-        if input.peek(Token![use]) {
+        let lookahead1 = input.lookahead1();
+        if lookahead1.peek(Token![use]) {
             Ok(Self::Use(ItemUse::parse(input)?))
-        } else if input.peek2(Token![=]) {
-            Ok(Self::Named(NamedHfStatement::parse(input)?))
-        } else {
+        } else if lookahead1.peek(Paren) || lookahead1.peek(Bracket) || lookahead1.peek(Token![mod])
+        {
             Ok(Self::Pipeline(PipelineStatement::parse(input)?))
+        } else if lookahead1.peek(Token![loop]) {
+            Ok(Self::Loop(LoopStatement::parse(input)?))
+        } else if lookahead1.peek(Ident) {
+            let fork = input.fork();
+            let _: Path = fork.parse()?;
+            let lookahead2 = fork.lookahead1();
+            if lookahead2.peek(Token![=]) {
+                Ok(Self::Named(NamedHfStatement::parse(input)?))
+            } else if lookahead2.peek(Token![->])
+                || lookahead2.peek(Paren)
+                || lookahead2.peek(Bracket)
+                || lookahead2.peek(Token![!])
+            {
+                Ok(Self::Pipeline(PipelineStatement::parse(input)?))
+            } else {
+                Err(lookahead2.error())
+            }
+        } else {
+            Err(lookahead1.error())
         }
     }
 }
 impl ToTokens for HfStatement {
     fn to_tokens(&self, tokens: &mut TokenStream) {
         match self {
-            HfStatement::Use(x) => x.to_tokens(tokens),
-            HfStatement::Named(x) => x.to_tokens(tokens),
-            HfStatement::Pipeline(x) => x.to_tokens(tokens),
+            Self::Use(x) => x.to_tokens(tokens),
+            Self::Named(x) => x.to_tokens(tokens),
+            Self::Pipeline(x) => x.to_tokens(tokens),
+            Self::Loop(x) => x.to_tokens(tokens),
         }
     }
 }
@@ -793,13 +871,49 @@
 impl ToTokens for Pipeline {
     fn to_tokens(&self, tokens: &mut TokenStream) {
         match self {
-            Pipeline::Paren(x) => x.to_tokens(tokens),
-            Pipeline::Link(x) => x.to_tokens(tokens),
-            Pipeline::Name(x) => x.to_tokens(tokens),
-            Pipeline::Operator(x) => x.to_tokens(tokens),
-            Pipeline::ModuleBoundary(x) => x.to_tokens(tokens),
-            Pipeline::Import(x) => x.to_tokens(tokens),
+            Self::Paren(x) => x.to_tokens(tokens),
+            Self::Link(x) => x.to_tokens(tokens),
+            Self::Name(x) => x.to_tokens(tokens),
+            Self::Operator(x) => x.to_tokens(tokens),
+            Self::ModuleBoundary(x) => x.to_tokens(tokens),
+            Self::Import(x) => x.to_tokens(tokens),
+        }
+    }
+}
+
+pub struct LoopStatement {
+    pub loop_token: Token![loop],
+    pub ident: Option<Ident>,
+    pub brace_token: Brace,
+    pub statements: Vec<HfStatement>,
+}
+impl Parse for LoopStatement {
+    fn parse(input: ParseStream) -> syn::Result<Self> {
+        let loop_token = input.parse()?;
+        let ident = input.parse()?;
+        let content;
+        let brace_token = braced!(content in input);
+        let mut statements = Vec::new();
+        while !content.is_empty() {
+            statements.push(content.parse()?);
         }
+        Ok(Self {
+            loop_token,
+            ident,
+            brace_token,
+            statements,
+        })
+    }
+}
+impl ToTokens for LoopStatement {
+    fn to_tokens(&self, tokens: &mut TokenStream) {
+        self.loop_token.to_tokens(tokens);
+        self.ident.to_tokens(tokens);
+        self.brace_token.surround(tokens, |tokens| {
+            for statement in self.statements.iter() {
+                statement.to_tokens(tokens);
+            }
+        });
     }
 }
 
diff --git a/doc/trait.impl/core/clone/trait.Clone.js b/doc/trait.impl/core/clone/trait.Clone.js
index dd2ddd7008d1..b063cb5ab212 100644
--- a/doc/trait.impl/core/clone/trait.Clone.js
+++ b/doc/trait.impl/core/clone/trait.Clone.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["gossip_kv",[["impl Clone for ClientRequest"],["impl Clone for ClientResponse"],["impl Clone for GossipMessage"],["impl Clone for KeyParseError"],["impl Clone for Namespace"],["impl Clone for InfectingWrite"],["impl Clone for Key"],["impl<A> Clone for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize + Clone,
"],["impl<A> Clone for SeedNode<A>
where\n A: Address + Clone,
"],["impl<A: Clone> Clone for Protocol<A>"],["impl<T, const N: usize> Clone for BoundedSetLattice<T, N>
where\n T: Eq + Hash + Clone,
"]]],["gossip_server",[["impl Clone for SeedNodeSettings"],["impl Clone for Opts"]]],["hydro_cli",[["impl Clone for AnyhowWrapper"]]],["hydro_deploy",[["impl Clone for HostTargetType"],["impl Clone for CrateTarget"],["impl Clone for ServerConfig"],["impl Clone for LeafStatus"],["impl Clone for HydroflowPortConfig"],["impl Clone for HydroflowCrate"],["impl Clone for TracingOptions"]]],["hydroflow",[["impl Clone for Message"],["impl Clone for Reactor"],["impl Clone for StateHandleErased"],["impl Clone for HandoffId"],["impl Clone for StateId"],["impl Clone for SubgraphId"],["impl Clone for TickDuration"],["impl Clone for TickInstant"],["impl Clone for Address"],["impl<F: Clone> Clone for MonotonicFn<F>"],["impl<F: Clone> Clone for Morphism<F>"],["impl<I> Clone for Iter<I>
where\n I: IntoIterator + Clone,
"],["impl<K, V: Clone> Clone for MonotonicMap<K, V>
where\n K: PartialOrd + Clone,
"],["impl<T> Clone for TeeingHandoff<T>
where\n T: 'static + Clone,
"],["impl<T> Clone for Buffer<T>"],["impl<T> Clone for StateHandle<T>"],["impl<T> Clone for ClearDefault<T>
where\n T: Default + Clone,
"],["impl<T> Clone for Sender<T>"],["impl<T: Clone + Hash + Eq> Clone for HashMultiSet<T>"]]],["hydroflow_deploy_integration",[["impl Clone for ServerBindConfig"],["impl Clone for ServerPort"]]],["hydroflow_lang",[["impl Clone for Level"],["impl Clone for Color"],["impl Clone for GraphNode"],["impl Clone for PortIndexValue"],["impl Clone for WriteGraphType"],["impl Clone for DelayType"],["impl Clone for OperatorCategory"],["impl Clone for Persistence"],["impl Clone for Pipeline"],["impl Clone for PortIndex"],["impl Clone for SerdeSpan"],["impl Clone for GraphEdgeId"],["impl Clone for GraphNodeId"],["impl Clone for GraphSubgraphId"],["impl Clone for OpInstGenerics"],["impl Clone for OperatorInstance"],["impl Clone for WriteConfig"],["impl Clone for Import"],["impl Clone for IndexInt"],["impl Clone for Indexing"],["impl Clone for Operator"],["impl Clone for PipelineLink"],["impl Clone for PipelineParen"],["impl<'a> Clone for WriteContextArgs<'a>"],["impl<Inner: Clone> Clone for Ported<Inner>"],["impl<K> Clone for UnionFind<K>
where\n K: Key + Clone,
"],["impl<S: Clone> Clone for Diagnostic<S>"],["impl<V, E> Clone for DiMulGraph<V, E>
where\n V: Key + Clone,\n E: Key + Clone,
"]]],["hydroflow_plus",[["impl Clone for LocationId"],["impl Clone for MultiNode"],["impl Clone for SingleNode"],["impl Clone for DeployRuntimeCluster"],["impl Clone for DeployRuntimeNode"],["impl Clone for DebugExpr"],["impl Clone for DebugPipelineFn"],["impl<'a> Clone for ClusterSelfId<'a>"],["impl<'a> Clone for RuntimeContext<'a>"],["impl<'a, T: Clone, L: Location<'a>, B> Clone for Optional<T, L, B>"],["impl<'a, T: Clone, L: Location<'a>, B> Clone for Singleton<T, L, B>"],["impl<'a, T: Clone, L: Location<'a>, B, Order> Clone for Stream<T, L, B, Order>"],["impl<C> Clone for ClusterId<C>"],["impl<C> Clone for Cluster<'_, C>"],["impl<C> Clone for ClusterIds<'_, C>"],["impl<L: Clone> Clone for Tick<L>"],["impl<L: Clone> Clone for Timestamped<L>"],["impl<P> Clone for ExternalProcess<'_, P>"],["impl<P> Clone for Process<'_, P>"]]],["hydroflow_plus_test",[["impl Clone for Ballot"],["impl<K: Clone, V: Clone> Clone for KvPayload<K, V>"],["impl<K: Clone, V: Clone> Clone for SequencedKv<K, V>"]]],["latency_measure",[["impl Clone for TopolotreeMessage"],["impl Clone for OperationPayload"],["impl Clone for QueryResponse"],["impl<T: Clone + Debug> Clone for Payload<T>"],["impl<T: Clone + Debug> Clone for Timestamped<T>"]]],["lattices",[["impl Clone for U32WithInfinity"],["impl<Head, Node> Clone for GhtInner<Head, Node>
where\n Head: Clone + Clone,\n Node: GeneralizedHashTrieNode + Clone,
"],["impl<Inner: Clone> Clone for WithBot<Inner>"],["impl<Inner: Clone> Clone for WithTop<Inner>"],["impl<K: Clone, V: Clone> Clone for EmptyMap<K, V>"],["impl<K: Clone, V: Clone> Clone for OptionMap<K, V>"],["impl<K: Clone, V: Clone> Clone for SingletonMap<K, V>"],["impl<K: Clone, V: Clone> Clone for VecMap<K, V>"],["impl<K: Clone, V: Clone, const N: usize> Clone for ArrayMap<K, V, N>"],["impl<Key: Clone, Val: Clone> Clone for DomPair<Key, Val>"],["impl<Lat: Clone> Clone for VecUnion<Lat>"],["impl<LatA: Clone, LatB: Clone> Clone for Pair<LatA, LatB>"],["impl<Map: Clone> Clone for MapUnion<Map>"],["impl<Map: Clone> Clone for UnionFind<Map>"],["impl<Map: Clone, TombstoneSet: Clone> Clone for MapUnionWithTombstones<Map, TombstoneSet>"],["impl<Schema, ValType: Clone, Storage> Clone for GhtLeaf<Schema, ValType, Storage>
where\n Schema: Eq + Hash + Clone,\n Storage: VariadicCollection<Schema = Schema> + Clone,
"],["impl<Set: Clone> Clone for SetUnion<Set>"],["impl<Set: Clone, TombstoneSet: Clone> Clone for SetUnionWithTombstones<Set, TombstoneSet>"],["impl<T: Clone> Clone for EmptySet<T>"],["impl<T: Clone> Clone for OptionSet<T>"],["impl<T: Clone> Clone for SingletonSet<T>"],["impl<T: Clone> Clone for VecSet<T>"],["impl<T: Clone> Clone for Conflict<T>"],["impl<T: Clone> Clone for Max<T>"],["impl<T: Clone> Clone for Min<T>"],["impl<T: Clone, Provenance: Clone> Clone for Point<T, Provenance>"],["impl<T: Clone, const N: usize> Clone for ArraySet<T, N>"]]],["load_test_server",[["impl Clone for Opts"],["impl Clone for Switchboard"]]],["pn",[["impl Clone for GossipOrIncrement"],["impl Clone for TopolotreeMessage"],["impl Clone for OperationPayload"],["impl Clone for QueryResponse"],["impl<T: Clone + Debug> Clone for Payload<T>"],["impl<T: Clone + Debug> Clone for Timestamped<T>"]]],["pn_delta",[["impl Clone for GossipOrIncrement"],["impl Clone for TopolotreeMessage"],["impl Clone for OperationPayload"],["impl Clone for QueryResponse"],["impl<T: Clone + Debug> Clone for Payload<T>"],["impl<T: Clone + Debug> Clone for Timestamped<T>"]]],["pusherator",[["impl<In: Clone> Clone for Null<In>"]]],["relalg",[["impl Clone for Datum"],["impl Clone for ScalarExpr"]]],["stageleft",[["impl<T> Clone for Import<T>"],["impl<T: Copy> Clone for RuntimeData<T>"]]],["topolotree",[["impl Clone for TopolotreeMessage"],["impl Clone for OperationPayload"],["impl Clone for QueryResponse"],["impl Clone for NodeId"],["impl<T: Clone + Debug> Clone for Payload<T>"],["impl<T: Clone + Debug> Clone for Timestamped<T>"]]],["variadics",[["impl<Iter: Clone, Item: Clone> Clone for DuplicateCounted<Iter, Item>"],["impl<K, S: Clone> Clone for VariadicCountedHashSet<K, S>
where\n K: VariadicExt + Clone,
"],["impl<Schema> Clone for VariadicColumnMultiset<Schema>
where\n Schema: VariadicExt + Eq + Hash + Clone,\n Schema::IntoVec: Clone,
"],["impl<T: Clone, S: Clone> Clone for VariadicHashSet<T, S>"]]]]); + var implementors = Object.fromEntries([["gossip_kv",[["impl Clone for ClientRequest"],["impl Clone for ClientResponse"],["impl Clone for GossipMessage"],["impl Clone for KeyParseError"],["impl Clone for Namespace"],["impl Clone for InfectingWrite"],["impl Clone for Key"],["impl<A> Clone for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize + Clone,
"],["impl<A> Clone for SeedNode<A>
where\n A: Address + Clone,
"],["impl<A: Clone> Clone for Protocol<A>"],["impl<T, const N: usize> Clone for BoundedSetLattice<T, N>
where\n T: Eq + Hash + Clone,
"]]],["gossip_server",[["impl Clone for SeedNodeSettings"],["impl Clone for Opts"]]],["hydro_cli",[["impl Clone for AnyhowWrapper"]]],["hydro_deploy",[["impl Clone for HostTargetType"],["impl Clone for CrateTarget"],["impl Clone for ServerConfig"],["impl Clone for LeafStatus"],["impl Clone for HydroflowPortConfig"],["impl Clone for HydroflowCrate"],["impl Clone for TracingOptions"]]],["hydroflow",[["impl Clone for Message"],["impl Clone for Reactor"],["impl Clone for StateHandleErased"],["impl Clone for HandoffId"],["impl Clone for StateId"],["impl Clone for SubgraphId"],["impl Clone for TickDuration"],["impl Clone for TickInstant"],["impl Clone for Address"],["impl<F: Clone> Clone for MonotonicFn<F>"],["impl<F: Clone> Clone for Morphism<F>"],["impl<I> Clone for Iter<I>
where\n I: IntoIterator + Clone,
"],["impl<K, V: Clone> Clone for MonotonicMap<K, V>
where\n K: PartialOrd + Clone,
"],["impl<T> Clone for TeeingHandoff<T>
where\n T: 'static + Clone,
"],["impl<T> Clone for Buffer<T>"],["impl<T> Clone for StateHandle<T>"],["impl<T> Clone for ClearDefault<T>
where\n T: Default + Clone,
"],["impl<T> Clone for Sender<T>"],["impl<T: Clone + Hash + Eq> Clone for HashMultiSet<T>"]]],["hydroflow_deploy_integration",[["impl Clone for ServerBindConfig"],["impl Clone for ServerPort"]]],["hydroflow_lang",[["impl Clone for Level"],["impl Clone for Color"],["impl Clone for GraphNode"],["impl Clone for PortIndexValue"],["impl Clone for WriteGraphType"],["impl Clone for DelayType"],["impl Clone for FloType"],["impl Clone for OperatorCategory"],["impl Clone for Persistence"],["impl Clone for Pipeline"],["impl Clone for PortIndex"],["impl Clone for SerdeSpan"],["impl Clone for GraphEdgeId"],["impl Clone for GraphLoopId"],["impl Clone for GraphNodeId"],["impl Clone for GraphSubgraphId"],["impl Clone for OpInstGenerics"],["impl Clone for OperatorInstance"],["impl Clone for WriteConfig"],["impl Clone for Import"],["impl Clone for IndexInt"],["impl Clone for Indexing"],["impl Clone for Operator"],["impl Clone for PipelineLink"],["impl Clone for PipelineParen"],["impl<'a> Clone for WriteContextArgs<'a>"],["impl<Inner: Clone> Clone for Ported<Inner>"],["impl<K> Clone for UnionFind<K>
where\n K: Key + Clone,
"],["impl<S: Clone> Clone for Diagnostic<S>"],["impl<V, E> Clone for DiMulGraph<V, E>
where\n V: Key + Clone,\n E: Key + Clone,
"]]],["hydroflow_plus",[["impl Clone for LocationId"],["impl Clone for MultiNode"],["impl Clone for SingleNode"],["impl Clone for DeployRuntimeCluster"],["impl Clone for DeployRuntimeNode"],["impl Clone for DebugExpr"],["impl Clone for DebugPipelineFn"],["impl<'a> Clone for ClusterSelfId<'a>"],["impl<'a> Clone for RuntimeContext<'a>"],["impl<'a, T: Clone, L: Location<'a>, B> Clone for Optional<T, L, B>"],["impl<'a, T: Clone, L: Location<'a>, B> Clone for Singleton<T, L, B>"],["impl<'a, T: Clone, L: Location<'a>, B, Order> Clone for Stream<T, L, B, Order>"],["impl<C> Clone for ClusterId<C>"],["impl<C> Clone for Cluster<'_, C>"],["impl<C> Clone for ClusterIds<'_, C>"],["impl<L: Clone> Clone for Tick<L>"],["impl<L: Clone> Clone for Timestamped<L>"],["impl<P> Clone for ExternalProcess<'_, P>"],["impl<P> Clone for Process<'_, P>"]]],["hydroflow_plus_test",[["impl Clone for Ballot"],["impl<K: Clone, V: Clone> Clone for KvPayload<K, V>"],["impl<K: Clone, V: Clone> Clone for SequencedKv<K, V>"]]],["latency_measure",[["impl Clone for TopolotreeMessage"],["impl Clone for OperationPayload"],["impl Clone for QueryResponse"],["impl<T: Clone + Debug> Clone for Payload<T>"],["impl<T: Clone + Debug> Clone for Timestamped<T>"]]],["lattices",[["impl Clone for U32WithInfinity"],["impl<Head, Node> Clone for GhtInner<Head, Node>
where\n Head: Clone + Clone,\n Node: GeneralizedHashTrieNode + Clone,
"],["impl<Inner: Clone> Clone for WithBot<Inner>"],["impl<Inner: Clone> Clone for WithTop<Inner>"],["impl<K: Clone, V: Clone> Clone for EmptyMap<K, V>"],["impl<K: Clone, V: Clone> Clone for OptionMap<K, V>"],["impl<K: Clone, V: Clone> Clone for SingletonMap<K, V>"],["impl<K: Clone, V: Clone> Clone for VecMap<K, V>"],["impl<K: Clone, V: Clone, const N: usize> Clone for ArrayMap<K, V, N>"],["impl<Key: Clone, Val: Clone> Clone for DomPair<Key, Val>"],["impl<Lat: Clone> Clone for VecUnion<Lat>"],["impl<LatA: Clone, LatB: Clone> Clone for Pair<LatA, LatB>"],["impl<Map: Clone> Clone for MapUnion<Map>"],["impl<Map: Clone> Clone for UnionFind<Map>"],["impl<Map: Clone, TombstoneSet: Clone> Clone for MapUnionWithTombstones<Map, TombstoneSet>"],["impl<Schema, ValType: Clone, Storage> Clone for GhtLeaf<Schema, ValType, Storage>
where\n Schema: Eq + Hash + Clone,\n Storage: VariadicCollection<Schema = Schema> + Clone,
"],["impl<Set: Clone> Clone for SetUnion<Set>"],["impl<Set: Clone, TombstoneSet: Clone> Clone for SetUnionWithTombstones<Set, TombstoneSet>"],["impl<T: Clone> Clone for EmptySet<T>"],["impl<T: Clone> Clone for OptionSet<T>"],["impl<T: Clone> Clone for SingletonSet<T>"],["impl<T: Clone> Clone for VecSet<T>"],["impl<T: Clone> Clone for Conflict<T>"],["impl<T: Clone> Clone for Max<T>"],["impl<T: Clone> Clone for Min<T>"],["impl<T: Clone, Provenance: Clone> Clone for Point<T, Provenance>"],["impl<T: Clone, const N: usize> Clone for ArraySet<T, N>"]]],["load_test_server",[["impl Clone for Opts"],["impl Clone for Switchboard"]]],["pn",[["impl Clone for GossipOrIncrement"],["impl Clone for TopolotreeMessage"],["impl Clone for OperationPayload"],["impl Clone for QueryResponse"],["impl<T: Clone + Debug> Clone for Payload<T>"],["impl<T: Clone + Debug> Clone for Timestamped<T>"]]],["pn_delta",[["impl Clone for GossipOrIncrement"],["impl Clone for TopolotreeMessage"],["impl Clone for OperationPayload"],["impl Clone for QueryResponse"],["impl<T: Clone + Debug> Clone for Payload<T>"],["impl<T: Clone + Debug> Clone for Timestamped<T>"]]],["pusherator",[["impl<In: Clone> Clone for Null<In>"]]],["relalg",[["impl Clone for Datum"],["impl Clone for ScalarExpr"]]],["stageleft",[["impl<T> Clone for Import<T>"],["impl<T: Copy> Clone for RuntimeData<T>"]]],["topolotree",[["impl Clone for TopolotreeMessage"],["impl Clone for OperationPayload"],["impl Clone for QueryResponse"],["impl Clone for NodeId"],["impl<T: Clone + Debug> Clone for Payload<T>"],["impl<T: Clone + Debug> Clone for Timestamped<T>"]]],["variadics",[["impl<Iter: Clone, Item: Clone> Clone for DuplicateCounted<Iter, Item>"],["impl<K, S: Clone> Clone for VariadicCountedHashSet<K, S>
where\n K: VariadicExt + Clone,
"],["impl<Schema> Clone for VariadicColumnMultiset<Schema>
where\n Schema: VariadicExt + Eq + Hash + Clone,\n Schema::IntoVec: Clone,
"],["impl<T: Clone, S: Clone> Clone for VariadicHashSet<T, S>"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[4916,579,289,2200,7755,645,9346,7301,1560,2107,14423,564,2229,2307,432,502,739,2306,3292]} \ No newline at end of file +//{"start":57,"fragment_lengths":[4916,579,289,2200,7755,645,9917,7301,1560,2107,14423,564,2229,2307,432,502,739,2306,3292]} \ No newline at end of file diff --git a/doc/trait.impl/core/cmp/trait.Eq.js b/doc/trait.impl/core/cmp/trait.Eq.js index 1464c4431488..e720b0286de3 100644 --- a/doc/trait.impl/core/cmp/trait.Eq.js +++ b/doc/trait.impl/core/cmp/trait.Eq.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_kv",[["impl Eq for ClientRequest"],["impl Eq for ClientResponse"],["impl Eq for GossipMessage"],["impl Eq for KeyParseError"],["impl Eq for Namespace"],["impl Eq for Key"],["impl<A> Eq for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize + Eq,
"],["impl<A> Eq for SeedNode<A>
where\n A: Address + Eq,
"],["impl<A: Eq> Eq for Protocol<A>"],["impl<T, const N: usize> Eq for BoundedSetLattice<T, N>
where\n T: Eq + Hash + Eq,
"]]],["gossip_server",[["impl Eq for SeedNodeSettings"],["impl Eq for Opts"]]],["hydro_deploy",[["impl Eq for HostTargetType"],["impl Eq for LeafStatus"]]],["hydroflow",[["impl Eq for Message"],["impl Eq for StateHandleErased"],["impl Eq for HandoffId"],["impl Eq for StateId"],["impl Eq for SubgraphId"],["impl Eq for TickDuration"],["impl Eq for TickInstant"],["impl Eq for Address"],["impl<I> Eq for Iter<I>
where\n I: IntoIterator + Eq,
"],["impl<T> Eq for ClearDefault<T>
where\n T: Default + Eq,
"],["impl<T: Eq + Hash + Eq> Eq for HashMultiSet<T>"],["impl<T: Eq> Eq for StateHandle<T>"]]],["hydroflow_lang",[["impl Eq for Level"],["impl Eq for Color"],["impl Eq for PortIndexValue"],["impl Eq for DelayType"],["impl Eq for OperatorCategory"],["impl Eq for Persistence"],["impl Eq for GraphEdgeId"],["impl Eq for GraphNodeId"],["impl Eq for GraphSubgraphId"],["impl Eq for IndexInt"]]],["hydroflow_plus",[["impl Eq for LocationId"],["impl<C> Eq for ClusterId<C>"]]],["hydroflow_plus_test",[["impl Eq for Ballot"],["impl<K: Eq, V: Eq> Eq for KvPayload<K, V>"],["impl<K: Eq, V: Eq> Eq for SequencedKv<K, V>"]]],["latency_measure",[["impl Eq for TopolotreeMessage"],["impl Eq for OperationPayload"],["impl Eq for QueryResponse"],["impl<T: Eq + Debug> Eq for Payload<T>"],["impl<T: Eq + Debug> Eq for Timestamped<T>"]]],["lattices",[["impl Eq for U32WithInfinity"],["impl<Inner> Eq for WithBot<Inner>
where\n Self: PartialEq,
"],["impl<Inner: Eq> Eq for WithTop<Inner>"],["impl<K, V> Eq for EmptyMap<K, V>"],["impl<K: Eq, V: Eq> Eq for OptionMap<K, V>"],["impl<K: Eq, V: Eq> Eq for SingletonMap<K, V>"],["impl<K: Eq, V: Eq> Eq for VecMap<K, V>"],["impl<K: Eq, V: Eq, const N: usize> Eq for ArrayMap<K, V, N>"],["impl<Key: Eq, Val: Eq> Eq for DomPair<Key, Val>"],["impl<Lat: Eq> Eq for VecUnion<Lat>"],["impl<LatA: Eq, LatB: Eq> Eq for Pair<LatA, LatB>"],["impl<Map> Eq for UnionFind<Map>
where\n Self: PartialEq,
"],["impl<MapSelf> Eq for MapUnion<MapSelf>
where\n Self: PartialEq,
"],["impl<MapSelf, TombstoneSetSelf> Eq for MapUnionWithTombstones<MapSelf, TombstoneSetSelf>
where\n Self: PartialEq,
"],["impl<Schema, ValType: Eq, Storage> Eq for GhtLeaf<Schema, ValType, Storage>
where\n Schema: Eq + Hash + Eq,\n Storage: VariadicCollection<Schema = Schema> + Eq,
"],["impl<SetSelf> Eq for SetUnion<SetSelf>
where\n Self: PartialEq,
"],["impl<SetSelf, TombstoneSetSelf> Eq for SetUnionWithTombstones<SetSelf, TombstoneSetSelf>
where\n Self: PartialEq,
"],["impl<T> Eq for EmptySet<T>"],["impl<T: Eq> Eq for OptionSet<T>"],["impl<T: Eq> Eq for SingletonSet<T>"],["impl<T: Eq> Eq for VecSet<T>"],["impl<T: Eq> Eq for Conflict<T>"],["impl<T: Eq> Eq for Max<T>"],["impl<T: Eq> Eq for Min<T>"],["impl<T: Eq, Provenance: Eq> Eq for Point<T, Provenance>"],["impl<T: Eq, const N: usize> Eq for ArraySet<T, N>"]]],["load_test_server",[["impl Eq for Opts"]]],["pn",[["impl Eq for TopolotreeMessage"],["impl Eq for OperationPayload"],["impl Eq for QueryResponse"],["impl<T: Eq + Debug> Eq for Payload<T>"],["impl<T: Eq + Debug> Eq for Timestamped<T>"]]],["pn_delta",[["impl Eq for TopolotreeMessage"],["impl Eq for OperationPayload"],["impl Eq for QueryResponse"],["impl<T: Eq + Debug> Eq for Payload<T>"],["impl<T: Eq + Debug> Eq for Timestamped<T>"]]],["relalg",[["impl Eq for Datum"],["impl Eq for ScalarExpr"]]],["topolotree",[["impl Eq for TopolotreeMessage"],["impl Eq for OperationPayload"],["impl Eq for QueryResponse"],["impl Eq for NodeId"],["impl<T: Eq + Debug> Eq for Payload<T>"],["impl<T: Eq + Debug> Eq for Timestamped<T>"]]]]); + var implementors = Object.fromEntries([["gossip_kv",[["impl Eq for ClientRequest"],["impl Eq for ClientResponse"],["impl Eq for GossipMessage"],["impl Eq for KeyParseError"],["impl Eq for Namespace"],["impl Eq for Key"],["impl<A> Eq for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize + Eq,
"],["impl<A> Eq for SeedNode<A>
where\n A: Address + Eq,
"],["impl<A: Eq> Eq for Protocol<A>"],["impl<T, const N: usize> Eq for BoundedSetLattice<T, N>
where\n T: Eq + Hash + Eq,
"]]],["gossip_server",[["impl Eq for SeedNodeSettings"],["impl Eq for Opts"]]],["hydro_deploy",[["impl Eq for HostTargetType"],["impl Eq for LeafStatus"]]],["hydroflow",[["impl Eq for Message"],["impl Eq for StateHandleErased"],["impl Eq for HandoffId"],["impl Eq for StateId"],["impl Eq for SubgraphId"],["impl Eq for TickDuration"],["impl Eq for TickInstant"],["impl Eq for Address"],["impl<I> Eq for Iter<I>
where\n I: IntoIterator + Eq,
"],["impl<T> Eq for ClearDefault<T>
where\n T: Default + Eq,
"],["impl<T: Eq + Hash + Eq> Eq for HashMultiSet<T>"],["impl<T: Eq> Eq for StateHandle<T>"]]],["hydroflow_lang",[["impl Eq for Level"],["impl Eq for Color"],["impl Eq for PortIndexValue"],["impl Eq for DelayType"],["impl Eq for FloType"],["impl Eq for OperatorCategory"],["impl Eq for Persistence"],["impl Eq for GraphEdgeId"],["impl Eq for GraphLoopId"],["impl Eq for GraphNodeId"],["impl Eq for GraphSubgraphId"],["impl Eq for IndexInt"]]],["hydroflow_plus",[["impl Eq for LocationId"],["impl<C> Eq for ClusterId<C>"]]],["hydroflow_plus_test",[["impl Eq for Ballot"],["impl<K: Eq, V: Eq> Eq for KvPayload<K, V>"],["impl<K: Eq, V: Eq> Eq for SequencedKv<K, V>"]]],["latency_measure",[["impl Eq for TopolotreeMessage"],["impl Eq for OperationPayload"],["impl Eq for QueryResponse"],["impl<T: Eq + Debug> Eq for Payload<T>"],["impl<T: Eq + Debug> Eq for Timestamped<T>"]]],["lattices",[["impl Eq for U32WithInfinity"],["impl<Inner> Eq for WithBot<Inner>
where\n Self: PartialEq,
"],["impl<Inner: Eq> Eq for WithTop<Inner>"],["impl<K, V> Eq for EmptyMap<K, V>"],["impl<K: Eq, V: Eq> Eq for OptionMap<K, V>"],["impl<K: Eq, V: Eq> Eq for SingletonMap<K, V>"],["impl<K: Eq, V: Eq> Eq for VecMap<K, V>"],["impl<K: Eq, V: Eq, const N: usize> Eq for ArrayMap<K, V, N>"],["impl<Key: Eq, Val: Eq> Eq for DomPair<Key, Val>"],["impl<Lat: Eq> Eq for VecUnion<Lat>"],["impl<LatA: Eq, LatB: Eq> Eq for Pair<LatA, LatB>"],["impl<Map> Eq for UnionFind<Map>
where\n Self: PartialEq,
"],["impl<MapSelf> Eq for MapUnion<MapSelf>
where\n Self: PartialEq,
"],["impl<MapSelf, TombstoneSetSelf> Eq for MapUnionWithTombstones<MapSelf, TombstoneSetSelf>
where\n Self: PartialEq,
"],["impl<Schema, ValType: Eq, Storage> Eq for GhtLeaf<Schema, ValType, Storage>
where\n Schema: Eq + Hash + Eq,\n Storage: VariadicCollection<Schema = Schema> + Eq,
"],["impl<SetSelf> Eq for SetUnion<SetSelf>
where\n Self: PartialEq,
"],["impl<SetSelf, TombstoneSetSelf> Eq for SetUnionWithTombstones<SetSelf, TombstoneSetSelf>
where\n Self: PartialEq,
"],["impl<T> Eq for EmptySet<T>"],["impl<T: Eq> Eq for OptionSet<T>"],["impl<T: Eq> Eq for SingletonSet<T>"],["impl<T: Eq> Eq for VecSet<T>"],["impl<T: Eq> Eq for Conflict<T>"],["impl<T: Eq> Eq for Max<T>"],["impl<T: Eq> Eq for Min<T>"],["impl<T: Eq, Provenance: Eq> Eq for Point<T, Provenance>"],["impl<T: Eq, const N: usize> Eq for ArraySet<T, N>"]]],["load_test_server",[["impl Eq for Opts"]]],["pn",[["impl Eq for TopolotreeMessage"],["impl Eq for OperationPayload"],["impl Eq for QueryResponse"],["impl<T: Eq + Debug> Eq for Payload<T>"],["impl<T: Eq + Debug> Eq for Timestamped<T>"]]],["pn_delta",[["impl Eq for TopolotreeMessage"],["impl Eq for OperationPayload"],["impl Eq for QueryResponse"],["impl<T: Eq + Debug> Eq for Payload<T>"],["impl<T: Eq + Debug> Eq for Timestamped<T>"]]],["relalg",[["impl Eq for Datum"],["impl Eq for ScalarExpr"]]],["topolotree",[["impl Eq for TopolotreeMessage"],["impl Eq for OperationPayload"],["impl Eq for QueryResponse"],["impl Eq for NodeId"],["impl<T: Eq + Debug> Eq for Payload<T>"],["impl<T: Eq + Debug> Eq for Timestamped<T>"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[4443,553,552,4615,2777,630,1469,2016,12496,270,1873,1939,476,2202]} \ No newline at end of file +//{"start":57,"fragment_lengths":[4443,553,552,4615,3322,630,1469,2016,12496,270,1873,1939,476,2202]} \ No newline at end of file diff --git a/doc/trait.impl/core/cmp/trait.Ord.js b/doc/trait.impl/core/cmp/trait.Ord.js index 195bd21a213a..e464d210f06f 100644 --- a/doc/trait.impl/core/cmp/trait.Ord.js +++ b/doc/trait.impl/core/cmp/trait.Ord.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hydroflow",[["impl Ord for StateHandleErased"],["impl Ord for HandoffId"],["impl Ord for StateId"],["impl Ord for TickDuration"],["impl Ord for TickInstant"],["impl<I> Ord for Iter<I>
where\n I: IntoIterator + Ord,
"],["impl<T> Ord for ClearDefault<T>
where\n T: Default + Ord,
"],["impl<T: Ord> Ord for StateHandle<T>"]]],["hydroflow_lang",[["impl Ord for Level"],["impl Ord for Color"],["impl Ord for PortIndexValue"],["impl Ord for DelayType"],["impl Ord for OperatorCategory"],["impl Ord for Persistence"],["impl Ord for GraphEdgeId"],["impl Ord for GraphNodeId"],["impl Ord for GraphSubgraphId"],["impl Ord for IndexInt"]]],["hydroflow_plus_test",[["impl Ord for Ballot"],["impl<K: KvKey, V: KvValue> Ord for SequencedKv<K, V>"]]],["lattices",[["impl<K: Ord, V: Ord> Ord for EmptyMap<K, V>"],["impl<K: Ord, V: Ord> Ord for OptionMap<K, V>"],["impl<K: Ord, V: Ord> Ord for SingletonMap<K, V>"],["impl<K: Ord, V: Ord> Ord for VecMap<K, V>"],["impl<K: Ord, V: Ord, const N: usize> Ord for ArrayMap<K, V, N>"],["impl<T> Ord for Min<T>
where\n T: Ord,
"],["impl<T: Ord> Ord for EmptySet<T>"],["impl<T: Ord> Ord for OptionSet<T>"],["impl<T: Ord> Ord for SingletonSet<T>"],["impl<T: Ord> Ord for VecSet<T>"],["impl<T: Ord> Ord for Max<T>"],["impl<T: Ord, const N: usize> Ord for ArraySet<T, N>"]]]]); + var implementors = Object.fromEntries([["hydroflow",[["impl Ord for StateHandleErased"],["impl Ord for HandoffId"],["impl Ord for StateId"],["impl Ord for TickDuration"],["impl Ord for TickInstant"],["impl<I> Ord for Iter<I>
where\n I: IntoIterator + Ord,
"],["impl<T> Ord for ClearDefault<T>
where\n T: Default + Ord,
"],["impl<T: Ord> Ord for StateHandle<T>"]]],["hydroflow_lang",[["impl Ord for Level"],["impl Ord for Color"],["impl Ord for PortIndexValue"],["impl Ord for DelayType"],["impl Ord for FloType"],["impl Ord for OperatorCategory"],["impl Ord for Persistence"],["impl Ord for GraphEdgeId"],["impl Ord for GraphLoopId"],["impl Ord for GraphNodeId"],["impl Ord for GraphSubgraphId"],["impl Ord for IndexInt"]]],["hydroflow_plus_test",[["impl Ord for Ballot"],["impl<K: KvKey, V: KvValue> Ord for SequencedKv<K, V>"]]],["lattices",[["impl<K: Ord, V: Ord> Ord for EmptyMap<K, V>"],["impl<K: Ord, V: Ord> Ord for OptionMap<K, V>"],["impl<K: Ord, V: Ord> Ord for SingletonMap<K, V>"],["impl<K: Ord, V: Ord> Ord for VecMap<K, V>"],["impl<K: Ord, V: Ord, const N: usize> Ord for ArrayMap<K, V, N>"],["impl<T> Ord for Min<T>
where\n T: Ord,
"],["impl<T: Ord> Ord for EmptySet<T>"],["impl<T: Ord> Ord for OptionSet<T>"],["impl<T: Ord> Ord for SingletonSet<T>"],["impl<T: Ord> Ord for VecSet<T>"],["impl<T: Ord> Ord for Max<T>"],["impl<T: Ord, const N: usize> Ord for ArraySet<T, N>"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[3143,2807,971,5861]} \ No newline at end of file +//{"start":57,"fragment_lengths":[3143,3358,971,5861]} \ No newline at end of file diff --git a/doc/trait.impl/core/cmp/trait.PartialEq.js b/doc/trait.impl/core/cmp/trait.PartialEq.js index 9fa3b2254f68..cb5885daabeb 100644 --- a/doc/trait.impl/core/cmp/trait.PartialEq.js +++ b/doc/trait.impl/core/cmp/trait.PartialEq.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_kv",[["impl PartialEq for ClientRequest"],["impl PartialEq for ClientResponse"],["impl PartialEq for GossipMessage"],["impl PartialEq for KeyParseError"],["impl PartialEq for Namespace"],["impl PartialEq for InfectingWrite"],["impl PartialEq for Key"],["impl<A> PartialEq for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize + PartialEq,
"],["impl<A> PartialEq for SeedNode<A>
where\n A: Address + PartialEq,
"],["impl<A: PartialEq> PartialEq for Protocol<A>"],["impl<T, const N: usize> PartialEq for BoundedSetLattice<T, N>
where\n T: Eq + Hash,
"]]],["gossip_server",[["impl PartialEq for SeedNodeSettings"],["impl PartialEq for Opts"]]],["hydro_deploy",[["impl PartialEq for HostTargetType"],["impl PartialEq for CrateTarget"],["impl PartialEq for LeafStatus"]]],["hydroflow",[["impl PartialEq for Message"],["impl PartialEq for StateHandleErased"],["impl PartialEq for HandoffId"],["impl PartialEq for StateId"],["impl PartialEq for SubgraphId"],["impl PartialEq for TickDuration"],["impl PartialEq for TickInstant"],["impl PartialEq for Address"],["impl<I> PartialEq for Iter<I>
where\n I: IntoIterator + PartialEq,
"],["impl<T> PartialEq for ClearDefault<T>
where\n T: Default + PartialEq,
"],["impl<T: PartialEq + Hash + Eq> PartialEq for HashMultiSet<T>"],["impl<T: PartialEq> PartialEq for StateHandle<T>"]]],["hydroflow_lang",[["impl PartialEq for Level"],["impl PartialEq for Color"],["impl PartialEq for PortIndexValue"],["impl PartialEq for DelayType"],["impl PartialEq for OperatorCategory"],["impl PartialEq for Persistence"],["impl PartialEq for GraphEdgeId"],["impl PartialEq for GraphNodeId"],["impl PartialEq for GraphSubgraphId"],["impl PartialEq for IndexInt"]]],["hydroflow_plus",[["impl PartialEq for LocationId"],["impl<C> PartialEq for ClusterId<C>"]]],["hydroflow_plus_test",[["impl PartialEq for Ballot"],["impl<K: PartialEq, V: PartialEq> PartialEq for KvPayload<K, V>"],["impl<K: PartialEq, V: PartialEq> PartialEq for SequencedKv<K, V>"]]],["latency_measure",[["impl PartialEq for TopolotreeMessage"],["impl PartialEq for OperationPayload"],["impl PartialEq for QueryResponse"],["impl<T: PartialEq + Debug> PartialEq for Payload<T>"],["impl<T: PartialEq + Debug> PartialEq for Timestamped<T>"]]],["lattices",[["impl PartialEq for U32WithInfinity"],["impl PartialEq for BinaryTrust"],["impl<Head, Node> PartialEq for GhtInner<Head, Node>
where\n Head: Hash + Eq + 'static + Clone,\n Node: GeneralizedHashTrieNode + 'static + PartialEq,\n Node::Storage: VariadicSet<Schema = Node::Schema>,\n Node::Schema: SplitBySuffix<(Head, Node::SuffixSchema)>,\n GhtInner<Head, Node>: GhtGet,\n <GhtInner<Head, Node> as GhtGet>::Get: PartialEq,
"],["impl<Inner, Other> PartialEq<WithBot<Other>> for WithBot<Inner>
where\n Inner: PartialEq<Other> + IsBot,\n Other: IsBot,
"],["impl<Inner, Other> PartialEq<WithTop<Other>> for WithTop<Inner>
where\n Inner: PartialEq<Other>,
"],["impl<K, V, Rhs> PartialEq<Rhs> for EmptyMap<K, V>
where\n Rhs: Len,
"],["impl<K: PartialEq, V: PartialEq> PartialEq for OptionMap<K, V>"],["impl<K: PartialEq, V: PartialEq> PartialEq for SingletonMap<K, V>"],["impl<K: PartialEq, V: PartialEq> PartialEq for VecMap<K, V>"],["impl<K: PartialEq, V: PartialEq, const N: usize> PartialEq for ArrayMap<K, V, N>"],["impl<KeySelf, KeyOther, ValSelf, ValOther> PartialEq<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>
where\n KeySelf: PartialEq<KeyOther>,\n ValSelf: PartialEq<ValOther>,
"],["impl<LatA, LatB, __LatAOther, __LatBOther> PartialEq<Pair<__LatAOther, __LatBOther>> for Pair<LatA, LatB>
where\n LatA: PartialEq<__LatAOther>,\n LatB: PartialEq<__LatBOther>,
"],["impl<LatSelf, LatOther> PartialEq<VecUnion<LatOther>> for VecUnion<LatSelf>
where\n LatSelf: PartialEq<LatOther>,
"],["impl<MapSelf, MapOther, K> PartialEq<UnionFind<MapOther>> for UnionFind<MapSelf>
where\n MapSelf: MapMut<K, Cell<K>, Key = K, Item = Cell<K>> + MapIter,\n MapOther: MapMut<K, Cell<K>, Key = K, Item = Cell<K>> + MapIter,\n K: Copy + Eq,
"],["impl<MapSelf, MapOther, K, ValSelf, ValOther> PartialEq<MapUnion<MapOther>> for MapUnion<MapSelf>
where\n MapSelf: Map<K, ValSelf, Key = K, Item = ValSelf> + MapIter + SimpleKeyedRef,\n MapOther: Map<K, ValOther, Key = K, Item = ValOther> + MapIter + SimpleKeyedRef,\n ValSelf: PartialEq<ValOther> + IsBot,\n ValOther: IsBot,
"],["impl<MapSelf, MapOther, K, ValSelf, ValOther, TombstoneSetSelf, TombstoneSetOther> PartialEq<MapUnionWithTombstones<MapOther, TombstoneSetOther>> for MapUnionWithTombstones<MapSelf, TombstoneSetSelf>
where\n MapSelf: Map<K, ValSelf, Key = K, Item = ValSelf> + MapIter + SimpleKeyedRef,\n MapOther: Map<K, ValOther, Key = K, Item = ValOther> + MapIter + SimpleKeyedRef,\n ValSelf: PartialEq<ValOther> + IsBot,\n ValOther: IsBot,\n TombstoneSetSelf: Len + Iter<Item = K> + for<'a> Get<&'a K>,\n TombstoneSetOther: Len + Iter<Item = K> + for<'b> Get<&'b K>,
"],["impl<Schema, ValType: PartialEq, Storage> PartialEq for GhtLeaf<Schema, ValType, Storage>
where\n Schema: Eq + Hash + PartialEq,\n Storage: VariadicCollection<Schema = Schema> + PartialEq,
"],["impl<SetSelf, SetOther, Item> PartialEq<SetUnion<SetOther>> for SetUnion<SetSelf>
where\n SetSelf: Set<Item, Item = Item> + Iter,\n SetOther: Set<Item, Item = Item> + Iter,
"],["impl<SetSelf, TombstoneSetSelf, SetOther, TombstoneSetOther, Item> PartialEq<SetUnionWithTombstones<SetOther, TombstoneSetOther>> for SetUnionWithTombstones<SetSelf, TombstoneSetSelf>
where\n SetSelf: Set<Item, Item = Item> + Iter,\n SetOther: Set<Item, Item = Item> + Iter,\n TombstoneSetSelf: Set<Item, Item = Item> + Iter,\n TombstoneSetOther: Set<Item, Item = Item> + Iter,
"],["impl<T, O> PartialEq<Conflict<O>> for Conflict<T>
where\n T: PartialEq<O>,
"],["impl<T, Provenance> PartialEq for Point<T, Provenance>
where\n T: PartialEq,
"],["impl<T, Rhs> PartialEq<Rhs> for EmptySet<T>
where\n Rhs: Len,
"],["impl<T: PartialEq> PartialEq for OptionSet<T>"],["impl<T: PartialEq> PartialEq for SingletonSet<T>"],["impl<T: PartialEq> PartialEq for VecSet<T>"],["impl<T: PartialEq> PartialEq for Max<T>"],["impl<T: PartialEq> PartialEq for Min<T>"],["impl<T: PartialEq, const N: usize> PartialEq for ArraySet<T, N>"]]],["load_test_server",[["impl PartialEq for Opts"]]],["pn",[["impl PartialEq for TopolotreeMessage"],["impl PartialEq for OperationPayload"],["impl PartialEq for QueryResponse"],["impl<T: PartialEq + Debug> PartialEq for Payload<T>"],["impl<T: PartialEq + Debug> PartialEq for Timestamped<T>"]]],["pn_delta",[["impl PartialEq for TopolotreeMessage"],["impl PartialEq for OperationPayload"],["impl PartialEq for QueryResponse"],["impl<T: PartialEq + Debug> PartialEq for Payload<T>"],["impl<T: PartialEq + Debug> PartialEq for Timestamped<T>"]]],["relalg",[["impl PartialEq for Datum"],["impl PartialEq for ScalarExpr"]]],["topolotree",[["impl PartialEq for TopolotreeMessage"],["impl PartialEq for OperationPayload"],["impl PartialEq for QueryResponse"],["impl PartialEq for NodeId"],["impl<T: PartialEq + Debug> PartialEq for Payload<T>"],["impl<T: PartialEq + Debug> PartialEq for Timestamped<T>"]]],["variadics",[["impl<T, S> PartialEq for VariadicCountedHashSet<T, S>
where\n T: Eq + Hash + PartialEqVariadic + Clone,\n S: BuildHasher,\n for<'a> T::AsRefVar<'a>: Hash,
"],["impl<T, S> PartialEq for VariadicHashSet<T, S>
where\n T: Eq + Hash + PartialEqVariadic,\n S: BuildHasher,\n for<'a> T::AsRefVar<'a>: Hash,
"]]]]); + var implementors = Object.fromEntries([["gossip_kv",[["impl PartialEq for ClientRequest"],["impl PartialEq for ClientResponse"],["impl PartialEq for GossipMessage"],["impl PartialEq for KeyParseError"],["impl PartialEq for Namespace"],["impl PartialEq for InfectingWrite"],["impl PartialEq for Key"],["impl<A> PartialEq for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize + PartialEq,
"],["impl<A> PartialEq for SeedNode<A>
where\n A: Address + PartialEq,
"],["impl<A: PartialEq> PartialEq for Protocol<A>"],["impl<T, const N: usize> PartialEq for BoundedSetLattice<T, N>
where\n T: Eq + Hash,
"]]],["gossip_server",[["impl PartialEq for SeedNodeSettings"],["impl PartialEq for Opts"]]],["hydro_deploy",[["impl PartialEq for HostTargetType"],["impl PartialEq for CrateTarget"],["impl PartialEq for LeafStatus"]]],["hydroflow",[["impl PartialEq for Message"],["impl PartialEq for StateHandleErased"],["impl PartialEq for HandoffId"],["impl PartialEq for StateId"],["impl PartialEq for SubgraphId"],["impl PartialEq for TickDuration"],["impl PartialEq for TickInstant"],["impl PartialEq for Address"],["impl<I> PartialEq for Iter<I>
where\n I: IntoIterator + PartialEq,
"],["impl<T> PartialEq for ClearDefault<T>
where\n T: Default + PartialEq,
"],["impl<T: PartialEq + Hash + Eq> PartialEq for HashMultiSet<T>"],["impl<T: PartialEq> PartialEq for StateHandle<T>"]]],["hydroflow_lang",[["impl PartialEq for Level"],["impl PartialEq for Color"],["impl PartialEq for PortIndexValue"],["impl PartialEq for DelayType"],["impl PartialEq for FloType"],["impl PartialEq for OperatorCategory"],["impl PartialEq for Persistence"],["impl PartialEq for GraphEdgeId"],["impl PartialEq for GraphLoopId"],["impl PartialEq for GraphNodeId"],["impl PartialEq for GraphSubgraphId"],["impl PartialEq for IndexInt"]]],["hydroflow_plus",[["impl PartialEq for LocationId"],["impl<C> PartialEq for ClusterId<C>"]]],["hydroflow_plus_test",[["impl PartialEq for Ballot"],["impl<K: PartialEq, V: PartialEq> PartialEq for KvPayload<K, V>"],["impl<K: PartialEq, V: PartialEq> PartialEq for SequencedKv<K, V>"]]],["latency_measure",[["impl PartialEq for TopolotreeMessage"],["impl PartialEq for OperationPayload"],["impl PartialEq for QueryResponse"],["impl<T: PartialEq + Debug> PartialEq for Payload<T>"],["impl<T: PartialEq + Debug> PartialEq for Timestamped<T>"]]],["lattices",[["impl PartialEq for U32WithInfinity"],["impl PartialEq for BinaryTrust"],["impl<Head, Node> PartialEq for GhtInner<Head, Node>
where\n Head: Hash + Eq + 'static + Clone,\n Node: GeneralizedHashTrieNode + 'static + PartialEq,\n Node::Storage: VariadicSet<Schema = Node::Schema>,\n Node::Schema: SplitBySuffix<(Head, Node::SuffixSchema)>,\n GhtInner<Head, Node>: GhtGet,\n <GhtInner<Head, Node> as GhtGet>::Get: PartialEq,
"],["impl<Inner, Other> PartialEq<WithBot<Other>> for WithBot<Inner>
where\n Inner: PartialEq<Other> + IsBot,\n Other: IsBot,
"],["impl<Inner, Other> PartialEq<WithTop<Other>> for WithTop<Inner>
where\n Inner: PartialEq<Other>,
"],["impl<K, V, Rhs> PartialEq<Rhs> for EmptyMap<K, V>
where\n Rhs: Len,
"],["impl<K: PartialEq, V: PartialEq> PartialEq for OptionMap<K, V>"],["impl<K: PartialEq, V: PartialEq> PartialEq for SingletonMap<K, V>"],["impl<K: PartialEq, V: PartialEq> PartialEq for VecMap<K, V>"],["impl<K: PartialEq, V: PartialEq, const N: usize> PartialEq for ArrayMap<K, V, N>"],["impl<KeySelf, KeyOther, ValSelf, ValOther> PartialEq<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>
where\n KeySelf: PartialEq<KeyOther>,\n ValSelf: PartialEq<ValOther>,
"],["impl<LatA, LatB, __LatAOther, __LatBOther> PartialEq<Pair<__LatAOther, __LatBOther>> for Pair<LatA, LatB>
where\n LatA: PartialEq<__LatAOther>,\n LatB: PartialEq<__LatBOther>,
"],["impl<LatSelf, LatOther> PartialEq<VecUnion<LatOther>> for VecUnion<LatSelf>
where\n LatSelf: PartialEq<LatOther>,
"],["impl<MapSelf, MapOther, K> PartialEq<UnionFind<MapOther>> for UnionFind<MapSelf>
where\n MapSelf: MapMut<K, Cell<K>, Key = K, Item = Cell<K>> + MapIter,\n MapOther: MapMut<K, Cell<K>, Key = K, Item = Cell<K>> + MapIter,\n K: Copy + Eq,
"],["impl<MapSelf, MapOther, K, ValSelf, ValOther> PartialEq<MapUnion<MapOther>> for MapUnion<MapSelf>
where\n MapSelf: Map<K, ValSelf, Key = K, Item = ValSelf> + MapIter + SimpleKeyedRef,\n MapOther: Map<K, ValOther, Key = K, Item = ValOther> + MapIter + SimpleKeyedRef,\n ValSelf: PartialEq<ValOther> + IsBot,\n ValOther: IsBot,
"],["impl<MapSelf, MapOther, K, ValSelf, ValOther, TombstoneSetSelf, TombstoneSetOther> PartialEq<MapUnionWithTombstones<MapOther, TombstoneSetOther>> for MapUnionWithTombstones<MapSelf, TombstoneSetSelf>
where\n MapSelf: Map<K, ValSelf, Key = K, Item = ValSelf> + MapIter + SimpleKeyedRef,\n MapOther: Map<K, ValOther, Key = K, Item = ValOther> + MapIter + SimpleKeyedRef,\n ValSelf: PartialEq<ValOther> + IsBot,\n ValOther: IsBot,\n TombstoneSetSelf: Len + Iter<Item = K> + for<'a> Get<&'a K>,\n TombstoneSetOther: Len + Iter<Item = K> + for<'b> Get<&'b K>,
"],["impl<Schema, ValType: PartialEq, Storage> PartialEq for GhtLeaf<Schema, ValType, Storage>
where\n Schema: Eq + Hash + PartialEq,\n Storage: VariadicCollection<Schema = Schema> + PartialEq,
"],["impl<SetSelf, SetOther, Item> PartialEq<SetUnion<SetOther>> for SetUnion<SetSelf>
where\n SetSelf: Set<Item, Item = Item> + Iter,\n SetOther: Set<Item, Item = Item> + Iter,
"],["impl<SetSelf, TombstoneSetSelf, SetOther, TombstoneSetOther, Item> PartialEq<SetUnionWithTombstones<SetOther, TombstoneSetOther>> for SetUnionWithTombstones<SetSelf, TombstoneSetSelf>
where\n SetSelf: Set<Item, Item = Item> + Iter,\n SetOther: Set<Item, Item = Item> + Iter,\n TombstoneSetSelf: Set<Item, Item = Item> + Iter,\n TombstoneSetOther: Set<Item, Item = Item> + Iter,
"],["impl<T, O> PartialEq<Conflict<O>> for Conflict<T>
where\n T: PartialEq<O>,
"],["impl<T, Provenance> PartialEq for Point<T, Provenance>
where\n T: PartialEq,
"],["impl<T, Rhs> PartialEq<Rhs> for EmptySet<T>
where\n Rhs: Len,
"],["impl<T: PartialEq> PartialEq for OptionSet<T>"],["impl<T: PartialEq> PartialEq for SingletonSet<T>"],["impl<T: PartialEq> PartialEq for VecSet<T>"],["impl<T: PartialEq> PartialEq for Max<T>"],["impl<T: PartialEq> PartialEq for Min<T>"],["impl<T: PartialEq, const N: usize> PartialEq for ArraySet<T, N>"]]],["load_test_server",[["impl PartialEq for Opts"]]],["pn",[["impl PartialEq for TopolotreeMessage"],["impl PartialEq for OperationPayload"],["impl PartialEq for QueryResponse"],["impl<T: PartialEq + Debug> PartialEq for Payload<T>"],["impl<T: PartialEq + Debug> PartialEq for Timestamped<T>"]]],["pn_delta",[["impl PartialEq for TopolotreeMessage"],["impl PartialEq for OperationPayload"],["impl PartialEq for QueryResponse"],["impl<T: PartialEq + Debug> PartialEq for Payload<T>"],["impl<T: PartialEq + Debug> PartialEq for Timestamped<T>"]]],["relalg",[["impl PartialEq for Datum"],["impl PartialEq for ScalarExpr"]]],["topolotree",[["impl PartialEq for TopolotreeMessage"],["impl PartialEq for OperationPayload"],["impl PartialEq for QueryResponse"],["impl PartialEq for NodeId"],["impl<T: PartialEq + Debug> PartialEq for Payload<T>"],["impl<T: PartialEq + Debug> PartialEq for Timestamped<T>"]]],["variadics",[["impl<T, S> PartialEq for VariadicCountedHashSet<T, S>
where\n T: Eq + Hash + PartialEqVariadic + Clone,\n S: BuildHasher,\n for<'a> T::AsRefVar<'a>: Hash,
"],["impl<T, S> PartialEq for VariadicHashSet<T, S>
where\n T: Eq + Hash + PartialEqVariadic,\n S: BuildHasher,\n for<'a> T::AsRefVar<'a>: Hash,
"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[6299,595,902,4951,2987,672,1616,2163,21199,291,2020,2086,518,2370,2702]} \ No newline at end of file +//{"start":57,"fragment_lengths":[6299,595,902,4951,3574,672,1616,2163,21199,291,2020,2086,518,2370,2702]} \ No newline at end of file diff --git a/doc/trait.impl/core/cmp/trait.PartialOrd.js b/doc/trait.impl/core/cmp/trait.PartialOrd.js index fc002b42f6a9..0383c91921fc 100644 --- a/doc/trait.impl/core/cmp/trait.PartialOrd.js +++ b/doc/trait.impl/core/cmp/trait.PartialOrd.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_kv",[["impl PartialOrd for InfectingWrite"],["impl<T, const N: usize> PartialOrd for BoundedSetLattice<T, N>
where\n T: Eq + Hash,
"]]],["hydroflow",[["impl PartialOrd for StateHandleErased"],["impl PartialOrd for HandoffId"],["impl PartialOrd for StateId"],["impl PartialOrd for TickDuration"],["impl PartialOrd for TickInstant"],["impl<I> PartialOrd for Iter<I>
where\n I: IntoIterator + PartialOrd,
"],["impl<T> PartialOrd for ClearDefault<T>
where\n T: Default + PartialOrd,
"],["impl<T: PartialOrd> PartialOrd for StateHandle<T>"]]],["hydroflow_lang",[["impl PartialOrd for Level"],["impl PartialOrd for Color"],["impl PartialOrd for PortIndexValue"],["impl PartialOrd for DelayType"],["impl PartialOrd for OperatorCategory"],["impl PartialOrd for Persistence"],["impl PartialOrd for GraphEdgeId"],["impl PartialOrd for GraphNodeId"],["impl PartialOrd for GraphSubgraphId"],["impl PartialOrd for IndexInt"]]],["hydroflow_plus_test",[["impl PartialOrd for Ballot"],["impl<K: KvKey, V: KvValue> PartialOrd for SequencedKv<K, V>"]]],["lattices",[["impl<Head, Node> PartialOrd for GhtInner<Head, Node>
where\n Head: Hash + Eq + 'static + Clone,\n Node: 'static + GeneralizedHashTrieNode + PartialEq + PartialOrd,\n Node::Storage: VariadicSet<Schema = Node::Schema>,\n Node::Schema: SplitBySuffix<(Head, Node::SuffixSchema)>,
"],["impl<Inner, Other> PartialOrd<WithBot<Other>> for WithBot<Inner>
where\n Inner: PartialOrd<Other> + IsBot,\n Other: IsBot,
"],["impl<Inner, Other> PartialOrd<WithTop<Other>> for WithTop<Inner>
where\n Inner: PartialOrd<Other>,
"],["impl<K: PartialOrd, V: PartialOrd> PartialOrd for EmptyMap<K, V>"],["impl<K: PartialOrd, V: PartialOrd> PartialOrd for OptionMap<K, V>"],["impl<K: PartialOrd, V: PartialOrd> PartialOrd for SingletonMap<K, V>"],["impl<K: PartialOrd, V: PartialOrd> PartialOrd for VecMap<K, V>"],["impl<K: PartialOrd, V: PartialOrd, const N: usize> PartialOrd for ArrayMap<K, V, N>"],["impl<KeySelf, KeyOther, ValSelf, ValOther> PartialOrd<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>
where\n KeySelf: PartialOrd<KeyOther>,\n ValSelf: PartialOrd<ValOther>,
"],["impl<LatA, LatB, __LatAOther, __LatBOther> PartialOrd<Pair<__LatAOther, __LatBOther>> for Pair<LatA, LatB>
where\n LatA: PartialOrd<__LatAOther>,\n LatB: PartialOrd<__LatBOther>,
"],["impl<LatSelf, LatOther> PartialOrd<VecUnion<LatOther>> for VecUnion<LatSelf>
where\n LatSelf: PartialOrd<LatOther>,
"],["impl<MapSelf, MapOther, K> PartialOrd<UnionFind<MapOther>> for UnionFind<MapSelf>
where\n MapSelf: MapMut<K, Cell<K>, Key = K, Item = Cell<K>> + MapIter,\n MapOther: MapMut<K, Cell<K>, Key = K, Item = Cell<K>> + MapIter,\n K: Copy + Eq,
"],["impl<MapSelf, MapOther, K, ValSelf, ValOther> PartialOrd<MapUnion<MapOther>> for MapUnion<MapSelf>
where\n MapSelf: Map<K, ValSelf, Key = K, Item = ValSelf> + MapIter + SimpleKeyedRef,\n MapOther: Map<K, ValOther, Key = K, Item = ValOther> + MapIter + SimpleKeyedRef,\n ValSelf: PartialOrd<ValOther> + IsBot,\n ValOther: IsBot,
"],["impl<MapSelf, MapOther, K, ValSelf, ValOther, TombstoneSetSelf, TombstoneSetOther> PartialOrd<MapUnionWithTombstones<MapOther, TombstoneSetOther>> for MapUnionWithTombstones<MapSelf, TombstoneSetSelf>
where\n MapSelf: Map<K, ValSelf, Key = K, Item = ValSelf> + MapIter + SimpleKeyedRef,\n MapOther: Map<K, ValOther, Key = K, Item = ValOther> + MapIter + SimpleKeyedRef,\n ValSelf: PartialOrd<ValOther> + IsBot,\n ValOther: IsBot,\n TombstoneSetSelf: Len + Iter<Item = K> + for<'a> Get<&'a K>,\n TombstoneSetOther: Len + Iter<Item = K> + for<'a> Get<&'a K>,
"],["impl<Schema, SuffixSchema, Storage> PartialOrd for GhtLeaf<Schema, SuffixSchema, Storage>
where\n Schema: Eq + Hash + PartialEqVariadic,\n SuffixSchema: Eq + Hash,\n Storage: VariadicSet<Schema = Schema> + PartialEq,
"],["impl<SetSelf, SetOther, Item> PartialOrd<SetUnion<SetOther>> for SetUnion<SetSelf>
where\n SetSelf: Set<Item, Item = Item> + Iter,\n SetOther: Set<Item, Item = Item> + Iter,
"],["impl<SetSelf, TombstoneSetSelf, SetOther, TombstoneSetOther, Item> PartialOrd<SetUnionWithTombstones<SetOther, TombstoneSetOther>> for SetUnionWithTombstones<SetSelf, TombstoneSetSelf>
where\n SetSelf: Set<Item, Item = Item> + Iter,\n SetOther: Set<Item, Item = Item> + Iter,\n TombstoneSetSelf: Set<Item, Item = Item> + Iter,\n TombstoneSetOther: Set<Item, Item = Item> + Iter,
"],["impl<T> PartialOrd for Min<T>
where\n T: PartialOrd,
"],["impl<T, O> PartialOrd<Conflict<O>> for Conflict<T>
where\n T: PartialEq<O>,
"],["impl<T, Provenance> PartialOrd for Point<T, Provenance>
where\n T: PartialEq,
"],["impl<T: PartialOrd> PartialOrd for EmptySet<T>"],["impl<T: PartialOrd> PartialOrd for OptionSet<T>"],["impl<T: PartialOrd> PartialOrd for SingletonSet<T>"],["impl<T: PartialOrd> PartialOrd for VecSet<T>"],["impl<T: PartialOrd> PartialOrd for Max<T>"],["impl<T: PartialOrd, const N: usize> PartialOrd for ArraySet<T, N>"]]]]); + var implementors = Object.fromEntries([["gossip_kv",[["impl PartialOrd for InfectingWrite"],["impl<T, const N: usize> PartialOrd for BoundedSetLattice<T, N>
where\n T: Eq + Hash,
"]]],["hydroflow",[["impl PartialOrd for StateHandleErased"],["impl PartialOrd for HandoffId"],["impl PartialOrd for StateId"],["impl PartialOrd for TickDuration"],["impl PartialOrd for TickInstant"],["impl<I> PartialOrd for Iter<I>
where\n I: IntoIterator + PartialOrd,
"],["impl<T> PartialOrd for ClearDefault<T>
where\n T: Default + PartialOrd,
"],["impl<T: PartialOrd> PartialOrd for StateHandle<T>"]]],["hydroflow_lang",[["impl PartialOrd for Level"],["impl PartialOrd for Color"],["impl PartialOrd for PortIndexValue"],["impl PartialOrd for DelayType"],["impl PartialOrd for FloType"],["impl PartialOrd for OperatorCategory"],["impl PartialOrd for Persistence"],["impl PartialOrd for GraphEdgeId"],["impl PartialOrd for GraphLoopId"],["impl PartialOrd for GraphNodeId"],["impl PartialOrd for GraphSubgraphId"],["impl PartialOrd for IndexInt"]]],["hydroflow_plus_test",[["impl PartialOrd for Ballot"],["impl<K: KvKey, V: KvValue> PartialOrd for SequencedKv<K, V>"]]],["lattices",[["impl<Head, Node> PartialOrd for GhtInner<Head, Node>
where\n Head: Hash + Eq + 'static + Clone,\n Node: 'static + GeneralizedHashTrieNode + PartialEq + PartialOrd,\n Node::Storage: VariadicSet<Schema = Node::Schema>,\n Node::Schema: SplitBySuffix<(Head, Node::SuffixSchema)>,
"],["impl<Inner, Other> PartialOrd<WithBot<Other>> for WithBot<Inner>
where\n Inner: PartialOrd<Other> + IsBot,\n Other: IsBot,
"],["impl<Inner, Other> PartialOrd<WithTop<Other>> for WithTop<Inner>
where\n Inner: PartialOrd<Other>,
"],["impl<K: PartialOrd, V: PartialOrd> PartialOrd for EmptyMap<K, V>"],["impl<K: PartialOrd, V: PartialOrd> PartialOrd for OptionMap<K, V>"],["impl<K: PartialOrd, V: PartialOrd> PartialOrd for SingletonMap<K, V>"],["impl<K: PartialOrd, V: PartialOrd> PartialOrd for VecMap<K, V>"],["impl<K: PartialOrd, V: PartialOrd, const N: usize> PartialOrd for ArrayMap<K, V, N>"],["impl<KeySelf, KeyOther, ValSelf, ValOther> PartialOrd<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>
where\n KeySelf: PartialOrd<KeyOther>,\n ValSelf: PartialOrd<ValOther>,
"],["impl<LatA, LatB, __LatAOther, __LatBOther> PartialOrd<Pair<__LatAOther, __LatBOther>> for Pair<LatA, LatB>
where\n LatA: PartialOrd<__LatAOther>,\n LatB: PartialOrd<__LatBOther>,
"],["impl<LatSelf, LatOther> PartialOrd<VecUnion<LatOther>> for VecUnion<LatSelf>
where\n LatSelf: PartialOrd<LatOther>,
"],["impl<MapSelf, MapOther, K> PartialOrd<UnionFind<MapOther>> for UnionFind<MapSelf>
where\n MapSelf: MapMut<K, Cell<K>, Key = K, Item = Cell<K>> + MapIter,\n MapOther: MapMut<K, Cell<K>, Key = K, Item = Cell<K>> + MapIter,\n K: Copy + Eq,
"],["impl<MapSelf, MapOther, K, ValSelf, ValOther> PartialOrd<MapUnion<MapOther>> for MapUnion<MapSelf>
where\n MapSelf: Map<K, ValSelf, Key = K, Item = ValSelf> + MapIter + SimpleKeyedRef,\n MapOther: Map<K, ValOther, Key = K, Item = ValOther> + MapIter + SimpleKeyedRef,\n ValSelf: PartialOrd<ValOther> + IsBot,\n ValOther: IsBot,
"],["impl<MapSelf, MapOther, K, ValSelf, ValOther, TombstoneSetSelf, TombstoneSetOther> PartialOrd<MapUnionWithTombstones<MapOther, TombstoneSetOther>> for MapUnionWithTombstones<MapSelf, TombstoneSetSelf>
where\n MapSelf: Map<K, ValSelf, Key = K, Item = ValSelf> + MapIter + SimpleKeyedRef,\n MapOther: Map<K, ValOther, Key = K, Item = ValOther> + MapIter + SimpleKeyedRef,\n ValSelf: PartialOrd<ValOther> + IsBot,\n ValOther: IsBot,\n TombstoneSetSelf: Len + Iter<Item = K> + for<'a> Get<&'a K>,\n TombstoneSetOther: Len + Iter<Item = K> + for<'a> Get<&'a K>,
"],["impl<Schema, SuffixSchema, Storage> PartialOrd for GhtLeaf<Schema, SuffixSchema, Storage>
where\n Schema: Eq + Hash + PartialEqVariadic,\n SuffixSchema: Eq + Hash,\n Storage: VariadicSet<Schema = Schema> + PartialEq,
"],["impl<SetSelf, SetOther, Item> PartialOrd<SetUnion<SetOther>> for SetUnion<SetSelf>
where\n SetSelf: Set<Item, Item = Item> + Iter,\n SetOther: Set<Item, Item = Item> + Iter,
"],["impl<SetSelf, TombstoneSetSelf, SetOther, TombstoneSetOther, Item> PartialOrd<SetUnionWithTombstones<SetOther, TombstoneSetOther>> for SetUnionWithTombstones<SetSelf, TombstoneSetSelf>
where\n SetSelf: Set<Item, Item = Item> + Iter,\n SetOther: Set<Item, Item = Item> + Iter,\n TombstoneSetSelf: Set<Item, Item = Item> + Iter,\n TombstoneSetOther: Set<Item, Item = Item> + Iter,
"],["impl<T> PartialOrd for Min<T>
where\n T: PartialOrd,
"],["impl<T, O> PartialOrd<Conflict<O>> for Conflict<T>
where\n T: PartialEq<O>,
"],["impl<T, Provenance> PartialOrd for Point<T, Provenance>
where\n T: PartialEq,
"],["impl<T: PartialOrd> PartialOrd for EmptySet<T>"],["impl<T: PartialOrd> PartialOrd for OptionSet<T>"],["impl<T: PartialOrd> PartialOrd for SingletonSet<T>"],["impl<T: PartialOrd> PartialOrd for VecSet<T>"],["impl<T: PartialOrd> PartialOrd for Max<T>"],["impl<T: PartialOrd, const N: usize> PartialOrd for ArraySet<T, N>"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[2473,3375,3017,1013,20427]} \ No newline at end of file +//{"start":57,"fragment_lengths":[2473,3375,3610,1013,20427]} \ No newline at end of file diff --git a/doc/trait.impl/core/convert/trait.From.js b/doc/trait.impl/core/convert/trait.From.js index f5be8bb3cd19..a90b3ce28e82 100644 --- a/doc/trait.impl/core/convert/trait.From.js +++ b/doc/trait.impl/core/convert/trait.From.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_kv",[["impl<T> From<()> for BoundedSetLattice<T, 0>
where\n T: Eq + Hash,
"],["impl<T> From<BoundedSetLattice<T, 0>> for ()
where\n T: Eq + Hash,
"]]],["hydro_cli",[["impl From<&AnyhowError> for Py<AnyhowError>"],["impl From<&AnyhowError> for PyErr"],["impl<'a> From<&'a AnyhowError> for &'a PyAny"]]],["hydroflow",[["impl From<TickDuration> for i64"],["impl From<TickInstant> for u64"],["impl<T> From<StateHandle<T>> for StateHandleErased
where\n T: Any,
"]]],["hydroflow_deploy_integration",[["impl From<&ServerPort> for RealizedServerPort"]]],["hydroflow_lang",[["impl From<PortIndex> for PortIndexValue"],["impl From<Span> for SerdeSpan"],["impl From<KeyData> for GraphEdgeId"],["impl From<KeyData> for GraphNodeId"],["impl From<KeyData> for GraphSubgraphId"],["impl From<Error> for Diagnostic"],["impl<V, E> From<SlotMap<E, (V, V)>> for DiMulGraph<V, E>
where\n V: Key,\n E: Key,
"],["impl<V, E> From<DiMulGraph<V, E>> for SlotMap<E, (V, V)>
where\n V: Key,\n E: Key,
"]]],["hydroflow_plus",[["impl From<Expr> for DebugExpr"],["impl<'a, T, L: Location<'a>> From<Optional<T, L, Bounded>> for Optional<T, L, Unbounded>"],["impl<'a, T, L: Location<'a>> From<Singleton<T, L, Bounded>> for Singleton<T, L, Unbounded>"],["impl<'a, T, L: Location<'a>, B> From<Singleton<T, L, B>> for Optional<T, L, B>"],["impl<'a, T, L: Location<'a>, B> From<Stream<T, L, B>> for Stream<T, L, B, NoOrder>"]]],["lattices",[["impl<K, V> From<(K, V)> for SingletonMap<K, V>"],["impl<K, V, U> From<U> for OptionMap<K, V>
where\n U: Into<Option<(K, V)>>,
"],["impl<K, V, const N: usize> From<[(K, V); N]> for ArrayMap<K, V, N>"],["impl<T> From<Vec<T>> for VecSet<T>"],["impl<T> From<T> for SingletonSet<T>"],["impl<T, U> From<U> for OptionSet<T>
where\n U: Into<Option<T>>,
"],["impl<T, const N: usize> From<[T; N]> for ArraySet<T, N>"]]],["website_playground",[["impl From<LineColumn> for JsLineColumn"],["impl From<Span> for JsSpan"],["impl From<Diagnostic> for JsDiagnostic"]]]]); + var implementors = Object.fromEntries([["gossip_kv",[["impl<T> From<()> for BoundedSetLattice<T, 0>
where\n T: Eq + Hash,
"],["impl<T> From<BoundedSetLattice<T, 0>> for ()
where\n T: Eq + Hash,
"]]],["hydro_cli",[["impl From<&AnyhowError> for Py<AnyhowError>"],["impl From<&AnyhowError> for PyErr"],["impl<'a> From<&'a AnyhowError> for &'a PyAny"]]],["hydroflow",[["impl From<TickDuration> for i64"],["impl From<TickInstant> for u64"],["impl<T> From<StateHandle<T>> for StateHandleErased
where\n T: Any,
"]]],["hydroflow_deploy_integration",[["impl From<&ServerPort> for RealizedServerPort"]]],["hydroflow_lang",[["impl From<PortIndex> for PortIndexValue"],["impl From<Span> for SerdeSpan"],["impl From<KeyData> for GraphEdgeId"],["impl From<KeyData> for GraphLoopId"],["impl From<KeyData> for GraphNodeId"],["impl From<KeyData> for GraphSubgraphId"],["impl From<Error> for Diagnostic"],["impl<V, E> From<SlotMap<E, (V, V)>> for DiMulGraph<V, E>
where\n V: Key,\n E: Key,
"],["impl<V, E> From<DiMulGraph<V, E>> for SlotMap<E, (V, V)>
where\n V: Key,\n E: Key,
"]]],["hydroflow_plus",[["impl From<Expr> for DebugExpr"],["impl<'a, T, L: Location<'a>> From<Optional<T, L, Bounded>> for Optional<T, L, Unbounded>"],["impl<'a, T, L: Location<'a>> From<Singleton<T, L, Bounded>> for Singleton<T, L, Unbounded>"],["impl<'a, T, L: Location<'a>, B> From<Singleton<T, L, B>> for Optional<T, L, B>"],["impl<'a, T, L: Location<'a>, B> From<Stream<T, L, B>> for Stream<T, L, B, NoOrder>"]]],["lattices",[["impl<K, V> From<(K, V)> for SingletonMap<K, V>"],["impl<K, V, U> From<U> for OptionMap<K, V>
where\n U: Into<Option<(K, V)>>,
"],["impl<K, V, const N: usize> From<[(K, V); N]> for ArrayMap<K, V, N>"],["impl<T> From<Vec<T>> for VecSet<T>"],["impl<T> From<T> for SingletonSet<T>"],["impl<T, U> From<U> for OptionSet<T>
where\n U: Into<Option<T>>,
"],["impl<T, const N: usize> From<[T; N]> for ArraySet<T, N>"]]],["website_playground",[["impl From<LineColumn> for JsLineColumn"],["impl From<Span> for JsSpan"],["impl From<Diagnostic> for JsDiagnostic"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[1465,1018,1495,516,4356,3615,3751,1217]} \ No newline at end of file +//{"start":57,"fragment_lengths":[1465,1018,1495,516,4787,3615,3751,1217]} \ No newline at end of file diff --git a/doc/trait.impl/core/default/trait.Default.js b/doc/trait.impl/core/default/trait.Default.js index fe5a2efbfd5d..a4b23a35ea02 100644 --- a/doc/trait.impl/core/default/trait.Default.js +++ b/doc/trait.impl/core/default/trait.Default.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_kv",[["impl<T, const N: usize> Default for BoundedSetLattice<T, N>
where\n T: Eq + Hash,
"]]],["hydro_deploy",[["impl Default for Deployment"],["impl Default for ResourcePool"],["impl Default for TerraformBatch"],["impl Default for TerraformPool"]]],["hydroflow",[["impl Default for Hydroflow<'_>"],["impl Default for TickDuration"],["impl Default for TickInstant"],["impl Default for Fleet"],["impl<'a> Default for Query<'a>"],["impl<K, A> Default for HalfJoinStateFold<K, A>"],["impl<K, A> Default for HalfJoinStateFoldFrom<K, A>"],["impl<K, A> Default for HalfJoinStateReduce<K, A>"],["impl<K, V> Default for MonotonicMap<K, V>
where\n K: PartialOrd,\n V: Default,
"],["impl<Key, ValBuild, ValProbe> Default for HalfMultisetJoinState<Key, ValBuild, ValProbe>"],["impl<Key, ValBuild, ValProbe> Default for HalfSetJoinState<Key, ValBuild, ValProbe>"],["impl<T> Default for TeeingHandoff<T>"],["impl<T> Default for VecHandoff<T>
where\n T: 'static,
"],["impl<T> Default for Buffer<T>"],["impl<T> Default for ClearDefault<T>
where\n T: Default,
"],["impl<T> Default for HashMultiSet<T>
where\n T: Hash + Eq,
"],["impl<T> Default for SparseVec<T>"],["impl<V1, V2> Default for CrossJoinState<V1, V2>"]]],["hydroflow_lang",[["impl Default for OperatorWriteOutput"],["impl Default for FlatGraphBuilder"],["impl Default for GraphEdgeId"],["impl Default for GraphNodeId"],["impl Default for GraphSubgraphId"],["impl Default for HydroflowGraph"],["impl Default for WriteConfig"],["impl<K> Default for UnionFind<K>
where\n K: Key + Default,
"],["impl<V, E> Default for DiMulGraph<V, E>
where\n V: Key,\n E: Key,
"]]],["hydroflow_plus",[["impl Default for HydroflowPlusMeta"],["impl Default for PropertyDatabase"]]],["lattices",[["impl Default for BinaryTrust"],["impl Default for Max<bool>"],["impl Default for Max<char>"],["impl Default for Max<i128>"],["impl Default for Max<i16>"],["impl Default for Max<i32>"],["impl Default for Max<i64>"],["impl Default for Max<i8>"],["impl Default for Max<isize>"],["impl Default for Max<u128>"],["impl Default for Max<u16>"],["impl Default for Max<u32>"],["impl Default for Max<u64>"],["impl Default for Max<u8>"],["impl Default for Max<usize>"],["impl Default for Min<bool>"],["impl Default for Min<char>"],["impl Default for Min<i128>"],["impl Default for Min<i16>"],["impl Default for Min<i32>"],["impl Default for Min<i64>"],["impl Default for Min<i8>"],["impl Default for Min<isize>"],["impl Default for Min<u128>"],["impl Default for Min<u16>"],["impl Default for Min<u32>"],["impl Default for Min<u64>"],["impl Default for Min<u8>"],["impl Default for Min<usize>"],["impl Default for PairBimorphism"],["impl<Bimorphism: Default> Default for GhtBimorphism<Bimorphism>"],["impl<Bimorphism: Default> Default for GhtNodeKeyedBimorphism<Bimorphism>"],["impl<GhtOut> Default for GhtCartesianProductBimorphism<GhtOut>"],["impl<GhtOut> Default for GhtValTypeProductBimorphism<GhtOut>"],["impl<Head, Node> Default for GhtInner<Head, Node>
where\n Head: Clone,\n Node: GeneralizedHashTrieNode,
"],["impl<Inner> Default for WithBot<Inner>"],["impl<Inner> Default for WithTop<Inner>
where\n Inner: Default,
"],["impl<K, V> Default for OptionMap<K, V>"],["impl<K: Default, V: Default> Default for EmptyMap<K, V>"],["impl<Key: Default, Val: Default> Default for DomPair<Key, Val>"],["impl<Lat> Default for VecUnion<Lat>"],["impl<LatA: Default, LatB: Default> Default for Pair<LatA, LatB>"],["impl<Map: Default> Default for MapUnion<Map>"],["impl<Map: Default> Default for UnionFind<Map>"],["impl<Map: Default, TombstoneSet: Default> Default for MapUnionWithTombstones<Map, TombstoneSet>"],["impl<Schema, ValType, Storage> Default for GhtLeaf<Schema, ValType, Storage>
where\n Schema: Eq + Hash,\n Storage: VariadicCollection<Schema = Schema> + Default,
"],["impl<Set: Default> Default for SetUnion<Set>"],["impl<Set: Default, TombstoneSet: Default> Default for SetUnionWithTombstones<Set, TombstoneSet>"],["impl<SetOut> Default for CartesianProductBimorphism<SetOut>"],["impl<T> Default for OptionSet<T>"],["impl<T: Default> Default for EmptySet<T>"],["impl<T: Default, Provenance: Default> Default for Point<T, Provenance>"]]],["pusherator",[["impl<In> Default for Null<In>"],["impl<T> Default for InputBuild<T>"]]],["variadics",[["impl<K> Default for VariadicCountedHashSet<K>
where\n K: VariadicExt,
"],["impl<T> Default for VariadicColumnMultiset<T>
where\n T: VariadicExt + Eq + Hash,
"],["impl<T> Default for VariadicHashSet<T>"]]]]); + var implementors = Object.fromEntries([["gossip_kv",[["impl<T, const N: usize> Default for BoundedSetLattice<T, N>
where\n T: Eq + Hash,
"]]],["hydro_deploy",[["impl Default for Deployment"],["impl Default for ResourcePool"],["impl Default for TerraformBatch"],["impl Default for TerraformPool"]]],["hydroflow",[["impl Default for Hydroflow<'_>"],["impl Default for TickDuration"],["impl Default for TickInstant"],["impl Default for Fleet"],["impl<'a> Default for Query<'a>"],["impl<K, A> Default for HalfJoinStateFold<K, A>"],["impl<K, A> Default for HalfJoinStateFoldFrom<K, A>"],["impl<K, A> Default for HalfJoinStateReduce<K, A>"],["impl<K, V> Default for MonotonicMap<K, V>
where\n K: PartialOrd,\n V: Default,
"],["impl<Key, ValBuild, ValProbe> Default for HalfMultisetJoinState<Key, ValBuild, ValProbe>"],["impl<Key, ValBuild, ValProbe> Default for HalfSetJoinState<Key, ValBuild, ValProbe>"],["impl<T> Default for TeeingHandoff<T>"],["impl<T> Default for VecHandoff<T>
where\n T: 'static,
"],["impl<T> Default for Buffer<T>"],["impl<T> Default for ClearDefault<T>
where\n T: Default,
"],["impl<T> Default for HashMultiSet<T>
where\n T: Hash + Eq,
"],["impl<T> Default for SparseVec<T>"],["impl<V1, V2> Default for CrossJoinState<V1, V2>"]]],["hydroflow_lang",[["impl Default for OperatorWriteOutput"],["impl Default for FlatGraphBuilder"],["impl Default for GraphEdgeId"],["impl Default for GraphLoopId"],["impl Default for GraphNodeId"],["impl Default for GraphSubgraphId"],["impl Default for HydroflowGraph"],["impl Default for WriteConfig"],["impl<K> Default for UnionFind<K>
where\n K: Key + Default,
"],["impl<V, E> Default for DiMulGraph<V, E>
where\n V: Key,\n E: Key,
"]]],["hydroflow_plus",[["impl Default for HydroflowPlusMeta"],["impl Default for PropertyDatabase"]]],["lattices",[["impl Default for BinaryTrust"],["impl Default for Max<bool>"],["impl Default for Max<char>"],["impl Default for Max<i128>"],["impl Default for Max<i16>"],["impl Default for Max<i32>"],["impl Default for Max<i64>"],["impl Default for Max<i8>"],["impl Default for Max<isize>"],["impl Default for Max<u128>"],["impl Default for Max<u16>"],["impl Default for Max<u32>"],["impl Default for Max<u64>"],["impl Default for Max<u8>"],["impl Default for Max<usize>"],["impl Default for Min<bool>"],["impl Default for Min<char>"],["impl Default for Min<i128>"],["impl Default for Min<i16>"],["impl Default for Min<i32>"],["impl Default for Min<i64>"],["impl Default for Min<i8>"],["impl Default for Min<isize>"],["impl Default for Min<u128>"],["impl Default for Min<u16>"],["impl Default for Min<u32>"],["impl Default for Min<u64>"],["impl Default for Min<u8>"],["impl Default for Min<usize>"],["impl Default for PairBimorphism"],["impl<Bimorphism: Default> Default for GhtBimorphism<Bimorphism>"],["impl<Bimorphism: Default> Default for GhtNodeKeyedBimorphism<Bimorphism>"],["impl<GhtOut> Default for GhtCartesianProductBimorphism<GhtOut>"],["impl<GhtOut> Default for GhtValTypeProductBimorphism<GhtOut>"],["impl<Head, Node> Default for GhtInner<Head, Node>
where\n Head: Clone,\n Node: GeneralizedHashTrieNode,
"],["impl<Inner> Default for WithBot<Inner>"],["impl<Inner> Default for WithTop<Inner>
where\n Inner: Default,
"],["impl<K, V> Default for OptionMap<K, V>"],["impl<K: Default, V: Default> Default for EmptyMap<K, V>"],["impl<Key: Default, Val: Default> Default for DomPair<Key, Val>"],["impl<Lat> Default for VecUnion<Lat>"],["impl<LatA: Default, LatB: Default> Default for Pair<LatA, LatB>"],["impl<Map: Default> Default for MapUnion<Map>"],["impl<Map: Default> Default for UnionFind<Map>"],["impl<Map: Default, TombstoneSet: Default> Default for MapUnionWithTombstones<Map, TombstoneSet>"],["impl<Schema, ValType, Storage> Default for GhtLeaf<Schema, ValType, Storage>
where\n Schema: Eq + Hash,\n Storage: VariadicCollection<Schema = Schema> + Default,
"],["impl<Set: Default> Default for SetUnion<Set>"],["impl<Set: Default, TombstoneSet: Default> Default for SetUnionWithTombstones<Set, TombstoneSet>"],["impl<SetOut> Default for CartesianProductBimorphism<SetOut>"],["impl<T> Default for OptionSet<T>"],["impl<T: Default> Default for EmptySet<T>"],["impl<T: Default, Provenance: Default> Default for Point<T, Provenance>"]]],["pusherator",[["impl<In> Default for Null<In>"],["impl<T> Default for InputBuild<T>"]]],["variadics",[["impl<K> Default for VariadicCountedHashSet<K>
where\n K: VariadicExt,
"],["impl<T> Default for VariadicColumnMultiset<T>
where\n T: VariadicExt + Eq + Hash,
"],["impl<T> Default for VariadicHashSet<T>"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[756,1231,6925,3425,716,21500,600,1678]} \ No newline at end of file +//{"start":57,"fragment_lengths":[756,1231,6925,3725,716,21500,600,1678]} \ No newline at end of file diff --git a/doc/trait.impl/core/fmt/trait.Debug.js b/doc/trait.impl/core/fmt/trait.Debug.js index d9c68a719a3c..088cc9caf55e 100644 --- a/doc/trait.impl/core/fmt/trait.Debug.js +++ b/doc/trait.impl/core/fmt/trait.Debug.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_cli",[["impl Debug for InteractiveCommands"],["impl Debug for InteractiveApp"],["impl Debug for Opts"]]],["gossip_kv",[["impl Debug for ClientRequest"],["impl Debug for ClientResponse"],["impl Debug for GossipMessage"],["impl Debug for KeyParseError"],["impl Debug for Namespace"],["impl Debug for InfectingWrite"],["impl Debug for Key"],["impl<A> Debug for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize + Debug,
"],["impl<A> Debug for SeedNode<A>
where\n A: Address + Debug,
"],["impl<A: Debug> Debug for ClientRequestWithAddress<A>"],["impl<A: Debug> Debug for GossipRequestWithAddress<A>"],["impl<A: Debug> Debug for Protocol<A>"],["impl<T, const N: usize> Debug for BoundedSetLattice<T, N>
where\n T: Eq + Hash + Debug,
"]]],["gossip_server",[["impl Debug for SeedNodeSettings"],["impl Debug for ServerSettings"],["impl Debug for Opts"]]],["hydro_cli",[["impl Debug for AnyhowError"]]],["hydro_deploy",[["impl Debug for HostTargetType"],["impl Debug for BarTree"],["impl Debug for LeafStatus"],["impl Debug for GcpNetwork"],["impl Debug for LocalhostHost"],["impl Debug for ResourceResult"],["impl Debug for TerraformOutput"],["impl Debug for TerraformResult"]]],["hydroflow",[["impl Debug for Message"],["impl Debug for StateHandleErased"],["impl Debug for HandoffId"],["impl Debug for StateId"],["impl Debug for SubgraphId"],["impl Debug for TickDuration"],["impl Debug for TickInstant"],["impl Debug for Address"],["impl<I> Debug for Iter<I>
where\n I: IntoIterator + Debug,
"],["impl<K, V: Debug> Debug for MonotonicMap<K, V>
where\n K: PartialOrd + Debug,
"],["impl<Key: Debug, ValBuild: Debug, ValProbe: Debug> Debug for HalfMultisetJoinState<Key, ValBuild, ValProbe>"],["impl<Key: Debug, ValBuild: Debug, ValProbe: Debug> Debug for HalfSetJoinState<Key, ValBuild, ValProbe>"],["impl<T> Debug for ClearDefault<T>
where\n T: Default + Debug,
"],["impl<T: Debug + Hash + Eq> Debug for HashMultiSet<T>"],["impl<T: Debug> Debug for StateHandle<T>"]]],["hydroflow_deploy_integration",[["impl Debug for BoundConnection"],["impl Debug for RealizedServerPort"],["impl Debug for ServerBindConfig"],["impl Debug for ServerOrBound"],["impl Debug for ServerPort"]]],["hydroflow_lang",[["impl Debug for Level"],["impl Debug for Color"],["impl Debug for GraphNode"],["impl Debug for PortIndexValue"],["impl Debug for WriteGraphType"],["impl Debug for DelayType"],["impl Debug for OperatorCategory"],["impl Debug for Persistence"],["impl Debug for Pipeline"],["impl Debug for PortIndex"],["impl Debug for SerdeSpan"],["impl Debug for OperatorConstraints"],["impl Debug for FlatGraphBuilder"],["impl Debug for GraphEdgeId"],["impl Debug for GraphNodeId"],["impl Debug for GraphSubgraphId"],["impl Debug for HydroflowGraph"],["impl Debug for OpInstGenerics"],["impl Debug for OperatorInstance"],["impl Debug for WriteConfig"],["impl Debug for Import"],["impl Debug for IndexInt"],["impl Debug for Indexing"],["impl Debug for Operator"],["impl Debug for PipelineLink"],["impl Debug for PipelineParen"],["impl<Inner: Debug> Debug for Ported<Inner>"],["impl<S: Debug> Debug for Diagnostic<S>"],["impl<V, E> Debug for DiMulGraph<V, E>
where\n V: Key + Debug,\n E: Key + Debug,
"]]],["hydroflow_plus",[["impl Debug for DebugInstantiate"],["impl Debug for HfPlusLeaf"],["impl Debug for HfPlusNode"],["impl Debug for HfPlusSource"],["impl Debug for LocationId"],["impl Debug for DebugExpr"],["impl Debug for DebugPipelineFn"],["impl Debug for TeeNode"],["impl<C> Debug for ClusterId<C>"]]],["hydroflow_plus_test",[["impl Debug for Ballot"],["impl<K: Debug, V: Debug> Debug for KvPayload<K, V>"],["impl<K: Debug, V: Debug> Debug for SequencedKv<K, V>"]]],["latency_measure",[["impl Debug for TopolotreeMessage"],["impl Debug for OperationPayload"],["impl Debug for QueryResponse"],["impl<T: Debug + Debug> Debug for Payload<T>"],["impl<T: Debug + Debug> Debug for Timestamped<T>"]]],["lattices",[["impl Debug for U32WithInfinity"],["impl Debug for BinaryTrust"],["impl<Head, Node> Debug for GhtInner<Head, Node>
where\n Head: Clone + Debug,\n Node: GeneralizedHashTrieNode + Debug,
"],["impl<Inner: Debug> Debug for WithBot<Inner>"],["impl<Inner: Debug> Debug for WithTop<Inner>"],["impl<K: Debug, V: Debug> Debug for EmptyMap<K, V>"],["impl<K: Debug, V: Debug> Debug for OptionMap<K, V>"],["impl<K: Debug, V: Debug> Debug for SingletonMap<K, V>"],["impl<K: Debug, V: Debug> Debug for VecMap<K, V>"],["impl<Key: Debug, Val: Debug> Debug for DomPair<Key, Val>"],["impl<Lat: Debug> Debug for VecUnion<Lat>"],["impl<LatA: Debug, LatB: Debug> Debug for Pair<LatA, LatB>"],["impl<Map: Debug> Debug for MapUnion<Map>"],["impl<Map: Debug> Debug for UnionFind<Map>"],["impl<Map: Debug, TombstoneSet: Debug> Debug for MapUnionWithTombstones<Map, TombstoneSet>"],["impl<Schema, ValType: Debug, Storage> Debug for GhtLeaf<Schema, ValType, Storage>
where\n Schema: Eq + Hash + Debug,\n Storage: VariadicCollection<Schema = Schema> + Debug,
"],["impl<Set: Debug> Debug for SetUnion<Set>"],["impl<Set: Debug, TombstoneSet: Debug> Debug for SetUnionWithTombstones<Set, TombstoneSet>"],["impl<T: Debug> Debug for EmptySet<T>"],["impl<T: Debug> Debug for OptionSet<T>"],["impl<T: Debug> Debug for SingletonSet<T>"],["impl<T: Debug> Debug for VecSet<T>"],["impl<T: Debug> Debug for Conflict<T>"],["impl<T: Debug> Debug for Max<T>"],["impl<T: Debug> Debug for Min<T>"],["impl<T: Debug, Provenance: Debug> Debug for Point<T, Provenance>"]]],["load_test_server",[["impl Debug for Opts"]]],["pn",[["impl Debug for GossipOrIncrement"],["impl Debug for TopolotreeMessage"],["impl Debug for OperationPayload"],["impl Debug for QueryResponse"],["impl<T: Debug + Debug> Debug for Payload<T>"],["impl<T: Debug + Debug> Debug for Timestamped<T>"]]],["pn_delta",[["impl Debug for GossipOrIncrement"],["impl Debug for TopolotreeMessage"],["impl Debug for OperationPayload"],["impl Debug for QueryResponse"],["impl<T: Debug + Debug> Debug for Payload<T>"],["impl<T: Debug + Debug> Debug for Timestamped<T>"]]],["relalg",[["impl Debug for Datum"],["impl Debug for ScalarExpr"]]],["topolotree",[["impl Debug for TopolotreeMessage"],["impl Debug for OperationPayload"],["impl Debug for QueryResponse"],["impl Debug for NodeId"],["impl<T: Debug + Debug> Debug for Payload<T>"],["impl<T: Debug + Debug> Debug for Timestamped<T>"]]],["variadics",[["impl<K> Debug for VariadicCountedHashSet<K>
where\n K: Debug + VariadicExt + PartialEqVariadic,\n for<'a> K::AsRefVar<'a>: Hash + Debug,
"],["impl<T> Debug for VariadicColumnMultiset<T>
where\n T: Debug + VariadicExt + PartialEqVariadic + Eq + Hash,\n for<'a> T::AsRefVar<'a>: Hash + Debug,
"],["impl<T> Debug for VariadicHashSet<T>
where\n T: Debug + VariadicExt + PartialEqVariadic + Eq + Hash,\n for<'a> T::AsRefVar<'a>: Hash + Debug,
"]]]]); + var implementors = Object.fromEntries([["gossip_cli",[["impl Debug for InteractiveCommands"],["impl Debug for InteractiveApp"],["impl Debug for Opts"]]],["gossip_kv",[["impl Debug for ClientRequest"],["impl Debug for ClientResponse"],["impl Debug for GossipMessage"],["impl Debug for KeyParseError"],["impl Debug for Namespace"],["impl Debug for InfectingWrite"],["impl Debug for Key"],["impl<A> Debug for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize + Debug,
"],["impl<A> Debug for SeedNode<A>
where\n A: Address + Debug,
"],["impl<A: Debug> Debug for ClientRequestWithAddress<A>"],["impl<A: Debug> Debug for GossipRequestWithAddress<A>"],["impl<A: Debug> Debug for Protocol<A>"],["impl<T, const N: usize> Debug for BoundedSetLattice<T, N>
where\n T: Eq + Hash + Debug,
"]]],["gossip_server",[["impl Debug for SeedNodeSettings"],["impl Debug for ServerSettings"],["impl Debug for Opts"]]],["hydro_cli",[["impl Debug for AnyhowError"]]],["hydro_deploy",[["impl Debug for HostTargetType"],["impl Debug for BarTree"],["impl Debug for LeafStatus"],["impl Debug for GcpNetwork"],["impl Debug for LocalhostHost"],["impl Debug for ResourceResult"],["impl Debug for TerraformOutput"],["impl Debug for TerraformResult"]]],["hydroflow",[["impl Debug for Message"],["impl Debug for StateHandleErased"],["impl Debug for HandoffId"],["impl Debug for StateId"],["impl Debug for SubgraphId"],["impl Debug for TickDuration"],["impl Debug for TickInstant"],["impl Debug for Address"],["impl<I> Debug for Iter<I>
where\n I: IntoIterator + Debug,
"],["impl<K, V: Debug> Debug for MonotonicMap<K, V>
where\n K: PartialOrd + Debug,
"],["impl<Key: Debug, ValBuild: Debug, ValProbe: Debug> Debug for HalfMultisetJoinState<Key, ValBuild, ValProbe>"],["impl<Key: Debug, ValBuild: Debug, ValProbe: Debug> Debug for HalfSetJoinState<Key, ValBuild, ValProbe>"],["impl<T> Debug for ClearDefault<T>
where\n T: Default + Debug,
"],["impl<T: Debug + Hash + Eq> Debug for HashMultiSet<T>"],["impl<T: Debug> Debug for StateHandle<T>"]]],["hydroflow_deploy_integration",[["impl Debug for BoundConnection"],["impl Debug for RealizedServerPort"],["impl Debug for ServerBindConfig"],["impl Debug for ServerOrBound"],["impl Debug for ServerPort"]]],["hydroflow_lang",[["impl Debug for Level"],["impl Debug for Color"],["impl Debug for GraphNode"],["impl Debug for PortIndexValue"],["impl Debug for WriteGraphType"],["impl Debug for DelayType"],["impl Debug for FloType"],["impl Debug for OperatorCategory"],["impl Debug for Persistence"],["impl Debug for Pipeline"],["impl Debug for PortIndex"],["impl Debug for SerdeSpan"],["impl Debug for OperatorConstraints"],["impl Debug for FlatGraphBuilder"],["impl Debug for GraphEdgeId"],["impl Debug for GraphLoopId"],["impl Debug for GraphNodeId"],["impl Debug for GraphSubgraphId"],["impl Debug for HydroflowGraph"],["impl Debug for OpInstGenerics"],["impl Debug for OperatorInstance"],["impl Debug for WriteConfig"],["impl Debug for Import"],["impl Debug for IndexInt"],["impl Debug for Indexing"],["impl Debug for Operator"],["impl Debug for PipelineLink"],["impl Debug for PipelineParen"],["impl<Inner: Debug> Debug for Ported<Inner>"],["impl<S: Debug> Debug for Diagnostic<S>"],["impl<V, E> Debug for DiMulGraph<V, E>
where\n V: Key + Debug,\n E: Key + Debug,
"]]],["hydroflow_plus",[["impl Debug for DebugInstantiate"],["impl Debug for HfPlusLeaf"],["impl Debug for HfPlusNode"],["impl Debug for HfPlusSource"],["impl Debug for LocationId"],["impl Debug for DebugExpr"],["impl Debug for DebugPipelineFn"],["impl Debug for TeeNode"],["impl<C> Debug for ClusterId<C>"]]],["hydroflow_plus_test",[["impl Debug for Ballot"],["impl<K: Debug, V: Debug> Debug for KvPayload<K, V>"],["impl<K: Debug, V: Debug> Debug for SequencedKv<K, V>"]]],["latency_measure",[["impl Debug for TopolotreeMessage"],["impl Debug for OperationPayload"],["impl Debug for QueryResponse"],["impl<T: Debug + Debug> Debug for Payload<T>"],["impl<T: Debug + Debug> Debug for Timestamped<T>"]]],["lattices",[["impl Debug for U32WithInfinity"],["impl Debug for BinaryTrust"],["impl<Head, Node> Debug for GhtInner<Head, Node>
where\n Head: Clone + Debug,\n Node: GeneralizedHashTrieNode + Debug,
"],["impl<Inner: Debug> Debug for WithBot<Inner>"],["impl<Inner: Debug> Debug for WithTop<Inner>"],["impl<K: Debug, V: Debug> Debug for EmptyMap<K, V>"],["impl<K: Debug, V: Debug> Debug for OptionMap<K, V>"],["impl<K: Debug, V: Debug> Debug for SingletonMap<K, V>"],["impl<K: Debug, V: Debug> Debug for VecMap<K, V>"],["impl<Key: Debug, Val: Debug> Debug for DomPair<Key, Val>"],["impl<Lat: Debug> Debug for VecUnion<Lat>"],["impl<LatA: Debug, LatB: Debug> Debug for Pair<LatA, LatB>"],["impl<Map: Debug> Debug for MapUnion<Map>"],["impl<Map: Debug> Debug for UnionFind<Map>"],["impl<Map: Debug, TombstoneSet: Debug> Debug for MapUnionWithTombstones<Map, TombstoneSet>"],["impl<Schema, ValType: Debug, Storage> Debug for GhtLeaf<Schema, ValType, Storage>
where\n Schema: Eq + Hash + Debug,\n Storage: VariadicCollection<Schema = Schema> + Debug,
"],["impl<Set: Debug> Debug for SetUnion<Set>"],["impl<Set: Debug, TombstoneSet: Debug> Debug for SetUnionWithTombstones<Set, TombstoneSet>"],["impl<T: Debug> Debug for EmptySet<T>"],["impl<T: Debug> Debug for OptionSet<T>"],["impl<T: Debug> Debug for SingletonSet<T>"],["impl<T: Debug> Debug for VecSet<T>"],["impl<T: Debug> Debug for Conflict<T>"],["impl<T: Debug> Debug for Max<T>"],["impl<T: Debug> Debug for Min<T>"],["impl<T: Debug, Provenance: Debug> Debug for Point<T, Provenance>"]]],["load_test_server",[["impl Debug for Opts"]]],["pn",[["impl Debug for GossipOrIncrement"],["impl Debug for TopolotreeMessage"],["impl Debug for OperationPayload"],["impl Debug for QueryResponse"],["impl<T: Debug + Debug> Debug for Payload<T>"],["impl<T: Debug + Debug> Debug for Timestamped<T>"]]],["pn_delta",[["impl Debug for GossipOrIncrement"],["impl Debug for TopolotreeMessage"],["impl Debug for OperationPayload"],["impl Debug for QueryResponse"],["impl<T: Debug + Debug> Debug for Payload<T>"],["impl<T: Debug + Debug> Debug for Timestamped<T>"]]],["relalg",[["impl Debug for Datum"],["impl Debug for ScalarExpr"]]],["topolotree",[["impl Debug for TopolotreeMessage"],["impl Debug for OperationPayload"],["impl Debug for QueryResponse"],["impl Debug for NodeId"],["impl<T: Debug + Debug> Debug for Payload<T>"],["impl<T: Debug + Debug> Debug for Timestamped<T>"]]],["variadics",[["impl<K> Debug for VariadicCountedHashSet<K>
where\n K: Debug + VariadicExt + PartialEqVariadic,\n for<'a> K::AsRefVar<'a>: Hash + Debug,
"],["impl<T> Debug for VariadicColumnMultiset<T>
where\n T: Debug + VariadicExt + PartialEqVariadic + Eq + Hash,\n for<'a> T::AsRefVar<'a>: Hash + Debug,
"],["impl<T> Debug for VariadicHashSet<T>
where\n T: Debug + VariadicExt + PartialEqVariadic + Eq + Hash,\n for<'a> T::AsRefVar<'a>: Hash + Debug,
"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[817,5771,866,279,2293,7088,1561,9199,2590,1532,2079,13243,279,2197,2275,494,2274,4212]} \ No newline at end of file +//{"start":57,"fragment_lengths":[817,5771,866,279,2293,7088,1561,9762,2590,1532,2079,13243,279,2197,2275,494,2274,4212]} \ No newline at end of file diff --git a/doc/trait.impl/core/hash/trait.Hash.js b/doc/trait.impl/core/hash/trait.Hash.js index f6399464e213..f20f893b42fb 100644 --- a/doc/trait.impl/core/hash/trait.Hash.js +++ b/doc/trait.impl/core/hash/trait.Hash.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_kv",[["impl Hash for Namespace"],["impl Hash for Key"],["impl<A> Hash for SeedNode<A>
where\n A: Address + Hash,
"]]],["gossip_server",[["impl Hash for SeedNodeSettings"],["impl Hash for Opts"]]],["hydro_deploy",[["impl Hash for HostTargetType"]]],["hydroflow",[["impl Hash for StateHandleErased"],["impl Hash for HandoffId"],["impl Hash for StateId"],["impl Hash for SubgraphId"],["impl Hash for TickDuration"],["impl Hash for TickInstant"],["impl Hash for Address"],["impl<I> Hash for Iter<I>
where\n I: IntoIterator + Hash,
"],["impl<T> Hash for ClearDefault<T>
where\n T: Default + Hash,
"],["impl<T: Hash> Hash for StateHandle<T>"]]],["hydroflow_lang",[["impl Hash for Level"],["impl Hash for OperatorCategory"],["impl Hash for GraphEdgeId"],["impl Hash for GraphNodeId"],["impl Hash for GraphSubgraphId"],["impl Hash for IndexInt"]]],["hydroflow_plus",[["impl<C> Hash for ClusterId<C>"]]],["hydroflow_plus_test",[["impl Hash for Ballot"]]],["latency_measure",[["impl Hash for TopolotreeMessage"],["impl Hash for QueryResponse"],["impl<T: Hash + Debug> Hash for Payload<T>"],["impl<T: Hash + Debug> Hash for Timestamped<T>"]]],["lattices",[["impl<K: Hash, V: Hash> Hash for EmptyMap<K, V>"],["impl<K: Hash, V: Hash> Hash for OptionMap<K, V>"],["impl<K: Hash, V: Hash> Hash for SingletonMap<K, V>"],["impl<K: Hash, V: Hash> Hash for VecMap<K, V>"],["impl<K: Hash, V: Hash, const N: usize> Hash for ArrayMap<K, V, N>"],["impl<T: Hash> Hash for EmptySet<T>"],["impl<T: Hash> Hash for OptionSet<T>"],["impl<T: Hash> Hash for SingletonSet<T>"],["impl<T: Hash> Hash for VecSet<T>"],["impl<T: Hash, const N: usize> Hash for ArraySet<T, N>"]]],["load_test_server",[["impl Hash for Opts"]]],["pn",[["impl Hash for TopolotreeMessage"],["impl Hash for QueryResponse"],["impl<T: Hash + Debug> Hash for Payload<T>"],["impl<T: Hash + Debug> Hash for Timestamped<T>"]]],["pn_delta",[["impl Hash for TopolotreeMessage"],["impl Hash for QueryResponse"],["impl<T: Hash + Debug> Hash for Payload<T>"],["impl<T: Hash + Debug> Hash for Timestamped<T>"]]],["relalg",[["impl Hash for Datum"],["impl Hash for ScalarExpr"]]],["topolotree",[["impl Hash for TopolotreeMessage"],["impl Hash for QueryResponse"],["impl Hash for NodeId"],["impl<T: Hash + Debug> Hash for Payload<T>"],["impl<T: Hash + Debug> Hash for Timestamped<T>"]]]]); + var implementors = Object.fromEntries([["gossip_kv",[["impl Hash for Namespace"],["impl Hash for Key"],["impl<A> Hash for SeedNode<A>
where\n A: Address + Hash,
"]]],["gossip_server",[["impl Hash for SeedNodeSettings"],["impl Hash for Opts"]]],["hydro_deploy",[["impl Hash for HostTargetType"]]],["hydroflow",[["impl Hash for StateHandleErased"],["impl Hash for HandoffId"],["impl Hash for StateId"],["impl Hash for SubgraphId"],["impl Hash for TickDuration"],["impl Hash for TickInstant"],["impl Hash for Address"],["impl<I> Hash for Iter<I>
where\n I: IntoIterator + Hash,
"],["impl<T> Hash for ClearDefault<T>
where\n T: Default + Hash,
"],["impl<T: Hash> Hash for StateHandle<T>"]]],["hydroflow_lang",[["impl Hash for Level"],["impl Hash for OperatorCategory"],["impl Hash for GraphEdgeId"],["impl Hash for GraphLoopId"],["impl Hash for GraphNodeId"],["impl Hash for GraphSubgraphId"],["impl Hash for IndexInt"]]],["hydroflow_plus",[["impl<C> Hash for ClusterId<C>"]]],["hydroflow_plus_test",[["impl Hash for Ballot"]]],["latency_measure",[["impl Hash for TopolotreeMessage"],["impl Hash for QueryResponse"],["impl<T: Hash + Debug> Hash for Payload<T>"],["impl<T: Hash + Debug> Hash for Timestamped<T>"]]],["lattices",[["impl<K: Hash, V: Hash> Hash for EmptyMap<K, V>"],["impl<K: Hash, V: Hash> Hash for OptionMap<K, V>"],["impl<K: Hash, V: Hash> Hash for SingletonMap<K, V>"],["impl<K: Hash, V: Hash> Hash for VecMap<K, V>"],["impl<K: Hash, V: Hash, const N: usize> Hash for ArrayMap<K, V, N>"],["impl<T: Hash> Hash for EmptySet<T>"],["impl<T: Hash> Hash for OptionSet<T>"],["impl<T: Hash> Hash for SingletonSet<T>"],["impl<T: Hash> Hash for VecSet<T>"],["impl<T: Hash, const N: usize> Hash for ArraySet<T, N>"]]],["load_test_server",[["impl Hash for Opts"]]],["pn",[["impl Hash for TopolotreeMessage"],["impl Hash for QueryResponse"],["impl<T: Hash + Debug> Hash for Payload<T>"],["impl<T: Hash + Debug> Hash for Timestamped<T>"]]],["pn_delta",[["impl Hash for TopolotreeMessage"],["impl Hash for QueryResponse"],["impl<T: Hash + Debug> Hash for Payload<T>"],["impl<T: Hash + Debug> Hash for Timestamped<T>"]]],["relalg",[["impl Hash for Datum"],["impl Hash for ScalarExpr"]]],["topolotree",[["impl Hash for TopolotreeMessage"],["impl Hash for QueryResponse"],["impl Hash for NodeId"],["impl<T: Hash + Debug> Hash for Payload<T>"],["impl<T: Hash + Debug> Hash for Timestamped<T>"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[1081,569,290,3763,1738,364,323,1764,5196,278,1647,1701,492,1968]} \ No newline at end of file +//{"start":57,"fragment_lengths":[1081,569,290,3763,2023,364,323,1764,5196,278,1647,1701,492,1968]} \ No newline at end of file diff --git a/doc/trait.impl/core/marker/trait.Copy.js b/doc/trait.impl/core/marker/trait.Copy.js index 689623aad0f5..8514185274c9 100644 --- a/doc/trait.impl/core/marker/trait.Copy.js +++ b/doc/trait.impl/core/marker/trait.Copy.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_kv",[["impl Copy for KeyParseError"],["impl Copy for Namespace"]]],["gossip_server",[["impl Copy for Opts"]]],["hydro_deploy",[["impl Copy for HostTargetType"]]],["hydroflow",[["impl Copy for StateHandleErased"],["impl Copy for HandoffId"],["impl Copy for StateId"],["impl Copy for SubgraphId"],["impl Copy for TickDuration"],["impl Copy for TickInstant"],["impl<F: Copy> Copy for MonotonicFn<F>"],["impl<F: Copy> Copy for Morphism<F>"],["impl<I> Copy for Iter<I>
where\n I: IntoIterator + Copy,
"],["impl<T> Copy for StateHandle<T>"],["impl<T> Copy for ClearDefault<T>
where\n T: Default + Copy,
"]]],["hydroflow_lang",[["impl Copy for Level"],["impl Copy for Color"],["impl Copy for WriteGraphType"],["impl Copy for DelayType"],["impl Copy for OperatorCategory"],["impl Copy for Persistence"],["impl Copy for GraphEdgeId"],["impl Copy for GraphNodeId"],["impl Copy for GraphSubgraphId"],["impl Copy for IndexInt"]]],["hydroflow_plus",[["impl<'a> Copy for ClusterSelfId<'a>"],["impl<'a> Copy for RuntimeContext<'a>"],["impl<C> Copy for ClusterId<C>"],["impl<C> Copy for ClusterIds<'_, C>"]]],["hydroflow_plus_test",[["impl Copy for Ballot"]]],["lattices",[["impl Copy for U32WithInfinity"],["impl<Inner: Copy> Copy for WithBot<Inner>"],["impl<Inner: Copy> Copy for WithTop<Inner>"],["impl<K: Copy, V: Copy> Copy for EmptyMap<K, V>"],["impl<K: Copy, V: Copy> Copy for OptionMap<K, V>"],["impl<K: Copy, V: Copy> Copy for SingletonMap<K, V>"],["impl<K: Copy, V: Copy, const N: usize> Copy for ArrayMap<K, V, N>"],["impl<Key: Copy, Val: Copy> Copy for DomPair<Key, Val>"],["impl<LatA: Copy, LatB: Copy> Copy for Pair<LatA, LatB>"],["impl<Map: Copy> Copy for MapUnion<Map>"],["impl<Map: Copy> Copy for UnionFind<Map>"],["impl<Map: Copy, TombstoneSet: Copy> Copy for MapUnionWithTombstones<Map, TombstoneSet>"],["impl<Set: Copy> Copy for SetUnion<Set>"],["impl<T: Copy> Copy for EmptySet<T>"],["impl<T: Copy> Copy for OptionSet<T>"],["impl<T: Copy> Copy for SingletonSet<T>"],["impl<T: Copy> Copy for Conflict<T>"],["impl<T: Copy> Copy for Max<T>"],["impl<T: Copy> Copy for Min<T>"],["impl<T: Copy, Provenance: Copy> Copy for Point<T, Provenance>"],["impl<T: Copy, const N: usize> Copy for ArraySet<T, N>"]]],["load_test_server",[["impl Copy for Opts"]]],["pusherator",[["impl<In: Copy> Copy for Null<In>"]]],["stageleft",[["impl<T> Copy for Import<T>"],["impl<T: Copy> Copy for RuntimeData<T>"]]],["topolotree",[["impl Copy for NodeId"]]]]); + var implementors = Object.fromEntries([["gossip_kv",[["impl Copy for KeyParseError"],["impl Copy for Namespace"]]],["gossip_server",[["impl Copy for Opts"]]],["hydro_deploy",[["impl Copy for HostTargetType"]]],["hydroflow",[["impl Copy for StateHandleErased"],["impl Copy for HandoffId"],["impl Copy for StateId"],["impl Copy for SubgraphId"],["impl Copy for TickDuration"],["impl Copy for TickInstant"],["impl<F: Copy> Copy for MonotonicFn<F>"],["impl<F: Copy> Copy for Morphism<F>"],["impl<I> Copy for Iter<I>
where\n I: IntoIterator + Copy,
"],["impl<T> Copy for StateHandle<T>"],["impl<T> Copy for ClearDefault<T>
where\n T: Default + Copy,
"]]],["hydroflow_lang",[["impl Copy for Level"],["impl Copy for Color"],["impl Copy for WriteGraphType"],["impl Copy for DelayType"],["impl Copy for FloType"],["impl Copy for OperatorCategory"],["impl Copy for Persistence"],["impl Copy for GraphEdgeId"],["impl Copy for GraphLoopId"],["impl Copy for GraphNodeId"],["impl Copy for GraphSubgraphId"],["impl Copy for IndexInt"]]],["hydroflow_plus",[["impl<'a> Copy for ClusterSelfId<'a>"],["impl<'a> Copy for RuntimeContext<'a>"],["impl<C> Copy for ClusterId<C>"],["impl<C> Copy for ClusterIds<'_, C>"]]],["hydroflow_plus_test",[["impl Copy for Ballot"]]],["lattices",[["impl Copy for U32WithInfinity"],["impl<Inner: Copy> Copy for WithBot<Inner>"],["impl<Inner: Copy> Copy for WithTop<Inner>"],["impl<K: Copy, V: Copy> Copy for EmptyMap<K, V>"],["impl<K: Copy, V: Copy> Copy for OptionMap<K, V>"],["impl<K: Copy, V: Copy> Copy for SingletonMap<K, V>"],["impl<K: Copy, V: Copy, const N: usize> Copy for ArrayMap<K, V, N>"],["impl<Key: Copy, Val: Copy> Copy for DomPair<Key, Val>"],["impl<LatA: Copy, LatB: Copy> Copy for Pair<LatA, LatB>"],["impl<Map: Copy> Copy for MapUnion<Map>"],["impl<Map: Copy> Copy for UnionFind<Map>"],["impl<Map: Copy, TombstoneSet: Copy> Copy for MapUnionWithTombstones<Map, TombstoneSet>"],["impl<Set: Copy> Copy for SetUnion<Set>"],["impl<T: Copy> Copy for EmptySet<T>"],["impl<T: Copy> Copy for OptionSet<T>"],["impl<T: Copy> Copy for SingletonSet<T>"],["impl<T: Copy> Copy for Conflict<T>"],["impl<T: Copy> Copy for Max<T>"],["impl<T: Copy> Copy for Min<T>"],["impl<T: Copy, Provenance: Copy> Copy for Point<T, Provenance>"],["impl<T: Copy, const N: usize> Copy for ArraySet<T, N>"]]],["load_test_server",[["impl Copy for Opts"]]],["pusherator",[["impl<In: Copy> Copy for Null<In>"]]],["stageleft",[["impl<T> Copy for Import<T>"],["impl<T: Copy> Copy for RuntimeData<T>"]]],["topolotree",[["impl Copy for NodeId"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[535,273,294,4243,2897,1375,327,10269,282,430,737,270]} \ No newline at end of file +//{"start":57,"fragment_lengths":[535,273,294,4243,3466,1375,327,10269,282,430,737,270]} \ No newline at end of file diff --git a/doc/trait.impl/core/marker/trait.Freeze.js b/doc/trait.impl/core/marker/trait.Freeze.js index d66672051869..caf0356e6c5e 100644 --- a/doc/trait.impl/core/marker/trait.Freeze.js +++ b/doc/trait.impl/core/marker/trait.Freeze.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_cli",[["impl Freeze for InteractiveCommands",1,["gossip_cli::InteractiveCommands"]],["impl Freeze for InteractiveApp",1,["gossip_cli::InteractiveApp"]],["impl Freeze for Opts",1,["gossip_cli::Opts"]]]],["gossip_kv",[["impl Freeze for ClientRequest",1,["gossip_kv::ClientRequest"]],["impl Freeze for ClientResponse",1,["gossip_kv::ClientResponse"]],["impl Freeze for GossipMessage",1,["gossip_kv::GossipMessage"]],["impl Freeze for KeyParseError",1,["gossip_kv::KeyParseError"]],["impl Freeze for Namespace",1,["gossip_kv::Namespace"]],["impl Freeze for InfectingWrite",1,["gossip_kv::server::InfectingWrite"]],["impl Freeze for SETS_COUNTER",1,["gossip_kv::server::SETS_COUNTER"]],["impl Freeze for Key",1,["gossip_kv::Key"]],["impl<A> Freeze for ClientRequestWithAddress<A>
where\n A: Freeze,
",1,["gossip_kv::util::ClientRequestWithAddress"]],["impl<A> Freeze for GossipRequestWithAddress<A>
where\n A: Freeze,
",1,["gossip_kv::util::GossipRequestWithAddress"]],["impl<A> Freeze for MemberData<A>",1,["gossip_kv::membership::MemberData"]],["impl<A> Freeze for MemberDataBuilder<A>",1,["gossip_kv::membership::MemberDataBuilder"]],["impl<A> Freeze for Protocol<A>
where\n A: Freeze,
",1,["gossip_kv::membership::Protocol"]],["impl<A> Freeze for SeedNode<A>
where\n A: Freeze,
",1,["gossip_kv::server::SeedNode"]],["impl<T, const N: usize> Freeze for BoundedSetLattice<T, N>",1,["gossip_kv::lattices::BoundedSetLattice"]]]],["gossip_server",[["impl Freeze for SeedNodeSettings",1,["gossip_server::config::SeedNodeSettings"]],["impl Freeze for ServerSettings",1,["gossip_server::config::ServerSettings"]],["impl Freeze for UnboundedSenderEventHandler",1,["gossip_server::config::UnboundedSenderEventHandler"]],["impl Freeze for LowercaseAlphanumeric",1,["gossip_server::membership::LowercaseAlphanumeric"]],["impl Freeze for Opts",1,["gossip_server::Opts"]]]],["hydro_cli",[["impl !Freeze for AnyhowError",1,["hydro_cli::AnyhowError"]],["impl Freeze for AnyhowWrapper",1,["hydro_cli::AnyhowWrapper"]],["impl Freeze for Deployment",1,["hydro_cli::Deployment"]],["impl Freeze for Host",1,["hydro_cli::Host"]],["impl Freeze for Service",1,["hydro_cli::Service"]]]],["hydro_deploy",[["impl !Freeze for AzureHost",1,["hydro_deploy::azure::AzureHost"]],["impl !Freeze for CustomClientPort",1,["hydro_deploy::custom_service::CustomClientPort"]],["impl !Freeze for GcpComputeEngineHost",1,["hydro_deploy::gcp::GcpComputeEngineHost"]],["impl !Freeze for LaunchedLocalhostBinary",1,["hydro_deploy::localhost::launched_binary::LaunchedLocalhostBinary"]],["impl Freeze for HostTargetType",1,["hydro_deploy::HostTargetType"]],["impl Freeze for ServerStrategy",1,["hydro_deploy::ServerStrategy"]],["impl Freeze for CrateTarget",1,["hydro_deploy::hydroflow_crate::CrateTarget"]],["impl Freeze for ServerConfig",1,["hydro_deploy::hydroflow_crate::ports::ServerConfig"]],["impl Freeze for SourcePath",1,["hydro_deploy::hydroflow_crate::ports::SourcePath"]],["impl Freeze for BarTree",1,["hydro_deploy::progress::BarTree"]],["impl Freeze for LeafStatus",1,["hydro_deploy::progress::LeafStatus"]],["impl Freeze for LaunchedVirtualMachine",1,["hydro_deploy::azure::LaunchedVirtualMachine"]],["impl Freeze for CustomService",1,["hydro_deploy::custom_service::CustomService"]],["impl Freeze for Deployment",1,["hydro_deploy::deployment::Deployment"]],["impl Freeze for GcpNetwork",1,["hydro_deploy::gcp::GcpNetwork"]],["impl Freeze for LaunchedComputeEngine",1,["hydro_deploy::gcp::LaunchedComputeEngine"]],["impl Freeze for DemuxSink",1,["hydro_deploy::hydroflow_crate::ports::DemuxSink"]],["impl Freeze for HydroflowPortConfig",1,["hydro_deploy::hydroflow_crate::ports::HydroflowPortConfig"]],["impl Freeze for NullSourceSink",1,["hydro_deploy::hydroflow_crate::ports::NullSourceSink"]],["impl Freeze for TaggedSource",1,["hydro_deploy::hydroflow_crate::ports::TaggedSource"]],["impl Freeze for HydroflowCrateService",1,["hydro_deploy::hydroflow_crate::service::HydroflowCrateService"]],["impl Freeze for HydroflowCrate",1,["hydro_deploy::hydroflow_crate::HydroflowCrate"]],["impl Freeze for TracingOptions",1,["hydro_deploy::hydroflow_crate::tracing_options::TracingOptions"]],["impl Freeze for LocalhostHost",1,["hydro_deploy::localhost::LocalhostHost"]],["impl Freeze for ProgressTracker",1,["hydro_deploy::progress::ProgressTracker"]],["impl Freeze for ResourceBatch",1,["hydro_deploy::ResourceBatch"]],["impl Freeze for ResourcePool",1,["hydro_deploy::ResourcePool"]],["impl Freeze for ResourceResult",1,["hydro_deploy::ResourceResult"]],["impl Freeze for TerraformBatch",1,["hydro_deploy::terraform::TerraformBatch"]],["impl Freeze for TerraformConfig",1,["hydro_deploy::terraform::TerraformConfig"]],["impl Freeze for TerraformOutput",1,["hydro_deploy::terraform::TerraformOutput"]],["impl Freeze for TerraformPool",1,["hydro_deploy::terraform::TerraformPool"]],["impl Freeze for TerraformProvider",1,["hydro_deploy::terraform::TerraformProvider"]],["impl Freeze for TerraformResult",1,["hydro_deploy::terraform::TerraformResult"]],["impl Freeze for TerraformResultOutput",1,["hydro_deploy::terraform::TerraformResultOutput"]],["impl<'a> Freeze for ClientStrategy<'a>",1,["hydro_deploy::ClientStrategy"]]]],["hydroflow",[["impl !Freeze for Message",1,["hydroflow::scheduled::net::Message"]],["impl Freeze for RECV",1,["hydroflow::scheduled::port::RECV"]],["impl Freeze for SEND",1,["hydroflow::scheduled::port::SEND"]],["impl Freeze for Context",1,["hydroflow::scheduled::context::Context"]],["impl Freeze for Reactor",1,["hydroflow::scheduled::reactor::Reactor"]],["impl Freeze for StateHandleErased",1,["hydroflow::scheduled::state::StateHandleErased"]],["impl Freeze for HandoffId",1,["hydroflow::scheduled::HandoffId"]],["impl Freeze for StateId",1,["hydroflow::scheduled::StateId"]],["impl Freeze for SubgraphId",1,["hydroflow::scheduled::SubgraphId"]],["impl Freeze for TickDuration",1,["hydroflow::scheduled::ticks::TickDuration"]],["impl Freeze for TickInstant",1,["hydroflow::scheduled::ticks::TickInstant"]],["impl Freeze for Address",1,["hydroflow::util::simulation::Address"]],["impl Freeze for Fleet",1,["hydroflow::util::simulation::Fleet"]],["impl Freeze for Host",1,["hydroflow::util::simulation::Host"]],["impl Freeze for HostBuilder",1,["hydroflow::util::simulation::HostBuilder"]],["impl Freeze for Inbox",1,["hydroflow::util::simulation::Inbox"]],["impl Freeze for Outbox",1,["hydroflow::util::simulation::Outbox"]],["impl Freeze for DroppableChild",1,["hydroflow::util::DroppableChild"]],["impl<'a> Freeze for Hydroflow<'a>",1,["hydroflow::scheduled::graph::Hydroflow"]],["impl<'a> Freeze for Query<'a>",1,["hydroflow::scheduled::query::Query"]],["impl<'a, I1, V1, I2, V2> Freeze for CrossJoin<'a, I1, V1, I2, V2>
where\n I1: Freeze,\n I2: Freeze,
",1,["hydroflow::compiled::pull::cross_join::CrossJoin"]],["impl<'a, Key, I1, V1, I2, V2, LhsState, RhsState> Freeze for SymmetricHashJoin<'a, Key, I1, V1, I2, V2, LhsState, RhsState>
where\n I1: Freeze,\n I2: Freeze,
",1,["hydroflow::compiled::pull::symmetric_hash_join::SymmetricHashJoin"]],["impl<'a, Key, V, Ipos> Freeze for AntiJoin<'a, Key, V, Ipos>
where\n Ipos: Freeze,
",1,["hydroflow::compiled::pull::anti_join::AntiJoin"]],["impl<'a, T> Freeze for Operator<'a, T>",1,["hydroflow::scheduled::query::Operator"]],["impl<'context> Freeze for TransducerBuilderContext<'context>",1,["hydroflow::util::simulation::TransducerBuilderContext"]],["impl<F> Freeze for MonotonicFn<F>
where\n F: Freeze,
",1,["hydroflow::util::monotonic::MonotonicFn"]],["impl<F> Freeze for Morphism<F>
where\n F: Freeze,
",1,["hydroflow::util::monotonic::Morphism"]],["impl<I> Freeze for Iter<I>
where\n I: Freeze,
",1,["hydroflow::scheduled::handoff::Iter"]],["impl<K, A> Freeze for HalfJoinStateFold<K, A>",1,["hydroflow::compiled::pull::half_join_state::fold::HalfJoinStateFold"]],["impl<K, A> Freeze for HalfJoinStateFoldFrom<K, A>",1,["hydroflow::compiled::pull::half_join_state::fold_from::HalfJoinStateFoldFrom"]],["impl<K, A> Freeze for HalfJoinStateReduce<K, A>",1,["hydroflow::compiled::pull::half_join_state::reduce::HalfJoinStateReduce"]],["impl<K, V> Freeze for PersistenceKeyed<K, V>
where\n K: Freeze,\n V: Freeze,
",1,["hydroflow::util::PersistenceKeyed"]],["impl<K, V> Freeze for MonotonicMap<K, V>
where\n V: Freeze,\n K: Freeze,
",1,["hydroflow::util::monotonic_map::MonotonicMap"]],["impl<Key, ValBuild, ValProbe> Freeze for HalfMultisetJoinState<Key, ValBuild, ValProbe>",1,["hydroflow::compiled::pull::half_join_state::multiset::HalfMultisetJoinState"]],["impl<Key, ValBuild, ValProbe> Freeze for HalfSetJoinState<Key, ValBuild, ValProbe>",1,["hydroflow::compiled::pull::half_join_state::set::HalfSetJoinState"]],["impl<S, H> Freeze for Port<S, H>",1,["hydroflow::scheduled::port::Port"]],["impl<S, H> Freeze for PortCtx<S, H>
where\n H: Freeze,
",1,["hydroflow::scheduled::port::PortCtx"]],["impl<T = Option<()>> !Freeze for DeployPorts<T>",1,["hydroflow::util::deploy::DeployPorts"]],["impl<T> Freeze for Persistence<T>
where\n T: Freeze,
",1,["hydroflow::util::Persistence"]],["impl<T> Freeze for TeeingHandoff<T>",1,["hydroflow::scheduled::handoff::tee::TeeingHandoff"]],["impl<T> Freeze for VecHandoff<T>",1,["hydroflow::scheduled::handoff::vector::VecHandoff"]],["impl<T> Freeze for Buffer<T>",1,["hydroflow::scheduled::input::Buffer"]],["impl<T> Freeze for StateHandle<T>",1,["hydroflow::scheduled::state::StateHandle"]],["impl<T> Freeze for ClearDefault<T>
where\n T: Freeze,
",1,["hydroflow::util::clear::ClearDefault"]],["impl<T> Freeze for HashMultiSet<T>",1,["hydroflow::util::multiset::HashMultiSet"]],["impl<T> Freeze for SparseVec<T>",1,["hydroflow::util::sparse_vec::SparseVec"]],["impl<T> Freeze for Receiver<T>",1,["hydroflow::util::unsync::mpsc::Receiver"]],["impl<T> Freeze for Sender<T>",1,["hydroflow::util::unsync::mpsc::Sender"]],["impl<T, G> Freeze for Input<T, G>
where\n G: Freeze,
",1,["hydroflow::scheduled::input::Input"]],["impl<V1, V2> Freeze for CrossJoinState<V1, V2>",1,["hydroflow::compiled::pull::cross_join::CrossJoinState"]]]],["hydroflow_deploy_integration",[["impl !Freeze for BoundConnection",1,["hydroflow_deploy_integration::BoundConnection"]],["impl !Freeze for ServerOrBound",1,["hydroflow_deploy_integration::ServerOrBound"]],["impl Freeze for RealizedServerPort",1,["hydroflow_deploy_integration::RealizedServerPort"]],["impl Freeze for ServerBindConfig",1,["hydroflow_deploy_integration::ServerBindConfig"]],["impl Freeze for ServerPort",1,["hydroflow_deploy_integration::ServerPort"]],["impl Freeze for ConnectedDirect",1,["hydroflow_deploy_integration::ConnectedDirect"]],["impl<T> Freeze for ConnectedDemux<T>",1,["hydroflow_deploy_integration::ConnectedDemux"]],["impl<T> Freeze for ConnectedTagged<T>",1,["hydroflow_deploy_integration::ConnectedTagged"]],["impl<T, S> Freeze for DemuxDrain<T, S>
where\n S: ?Sized,
",1,["hydroflow_deploy_integration::DemuxDrain"]],["impl<T, S> Freeze for MergeSource<T, S>
where\n S: ?Sized,
",1,["hydroflow_deploy_integration::MergeSource"]],["impl<T, S> Freeze for TaggedSource<T, S>
where\n S: ?Sized,
",1,["hydroflow_deploy_integration::TaggedSource"]]]],["hydroflow_lang",[["impl Freeze for Level",1,["hydroflow_lang::diagnostic::Level"]],["impl Freeze for Color",1,["hydroflow_lang::graph::Color"]],["impl Freeze for GraphNode",1,["hydroflow_lang::graph::GraphNode"]],["impl Freeze for PortIndexValue",1,["hydroflow_lang::graph::PortIndexValue"]],["impl Freeze for WriteGraphType",1,["hydroflow_lang::graph::hydroflow_graph::WriteGraphType"]],["impl Freeze for DelayType",1,["hydroflow_lang::graph::ops::DelayType"]],["impl Freeze for OperatorCategory",1,["hydroflow_lang::graph::ops::OperatorCategory"]],["impl Freeze for Persistence",1,["hydroflow_lang::graph::ops::Persistence"]],["impl Freeze for PortListSpec",1,["hydroflow_lang::graph::ops::PortListSpec"]],["impl Freeze for HfStatement",1,["hydroflow_lang::parse::HfStatement"]],["impl Freeze for Pipeline",1,["hydroflow_lang::parse::Pipeline"]],["impl Freeze for PortIndex",1,["hydroflow_lang::parse::PortIndex"]],["impl Freeze for SerdeSpan",1,["hydroflow_lang::diagnostic::SerdeSpan"]],["impl Freeze for OperatorConstraints",1,["hydroflow_lang::graph::ops::OperatorConstraints"]],["impl Freeze for OperatorWriteOutput",1,["hydroflow_lang::graph::ops::OperatorWriteOutput"]],["impl Freeze for FlatGraphBuilder",1,["hydroflow_lang::graph::flat_graph_builder::FlatGraphBuilder"]],["impl Freeze for GraphEdgeId",1,["hydroflow_lang::graph::GraphEdgeId"]],["impl Freeze for GraphNodeId",1,["hydroflow_lang::graph::GraphNodeId"]],["impl Freeze for GraphSubgraphId",1,["hydroflow_lang::graph::GraphSubgraphId"]],["impl Freeze for HydroflowGraph",1,["hydroflow_lang::graph::hydroflow_graph::HydroflowGraph"]],["impl Freeze for OpInstGenerics",1,["hydroflow_lang::graph::OpInstGenerics"]],["impl Freeze for OperatorInstance",1,["hydroflow_lang::graph::OperatorInstance"]],["impl Freeze for WriteConfig",1,["hydroflow_lang::graph::hydroflow_graph::WriteConfig"]],["impl Freeze for HfCode",1,["hydroflow_lang::parse::HfCode"]],["impl Freeze for Import",1,["hydroflow_lang::parse::Import"]],["impl Freeze for IndexInt",1,["hydroflow_lang::parse::IndexInt"]],["impl Freeze for Indexing",1,["hydroflow_lang::parse::Indexing"]],["impl Freeze for NamedHfStatement",1,["hydroflow_lang::parse::NamedHfStatement"]],["impl Freeze for Operator",1,["hydroflow_lang::parse::Operator"]],["impl Freeze for PipelineLink",1,["hydroflow_lang::parse::PipelineLink"]],["impl Freeze for PipelineParen",1,["hydroflow_lang::parse::PipelineParen"]],["impl Freeze for PipelineStatement",1,["hydroflow_lang::parse::PipelineStatement"]],["impl Freeze for PrettyRowCol",1,["hydroflow_lang::pretty_span::PrettyRowCol"]],["impl Freeze for PrettySpan",1,["hydroflow_lang::pretty_span::PrettySpan"]],["impl<'a> Freeze for WriteContextArgs<'a>",1,["hydroflow_lang::graph::ops::WriteContextArgs"]],["impl<Inner> Freeze for Ported<Inner>
where\n Inner: Freeze,
",1,["hydroflow_lang::parse::Ported"]],["impl<K> Freeze for UnionFind<K>",1,["hydroflow_lang::union_find::UnionFind"]],["impl<S> Freeze for Diagnostic<S>
where\n S: Freeze,
",1,["hydroflow_lang::diagnostic::Diagnostic"]],["impl<V, E> Freeze for DiMulGraph<V, E>",1,["hydroflow_lang::graph::di_mul_graph::DiMulGraph"]]]],["hydroflow_plus",[["impl Freeze for Bounded",1,["hydroflow_plus::boundedness::Bounded"]],["impl Freeze for Unbounded",1,["hydroflow_plus::boundedness::Unbounded"]],["impl Freeze for ForwardRefMarker",1,["hydroflow_plus::cycle::ForwardRefMarker"]],["impl Freeze for TickCycleMarker",1,["hydroflow_plus::cycle::TickCycleMarker"]],["impl Freeze for DebugInstantiate",1,["hydroflow_plus::ir::DebugInstantiate"]],["impl Freeze for HfPlusLeaf",1,["hydroflow_plus::ir::HfPlusLeaf"]],["impl Freeze for HfPlusNode",1,["hydroflow_plus::ir::HfPlusNode"]],["impl Freeze for HfPlusSource",1,["hydroflow_plus::ir::HfPlusSource"]],["impl Freeze for LocationId",1,["hydroflow_plus::location::LocationId"]],["impl Freeze for FlowStateInner",1,["hydroflow_plus::builder::FlowStateInner"]],["impl Freeze for HydroflowPlusMeta",1,["hydroflow_plus::deploy::deploy_runtime::HydroflowPlusMeta"]],["impl Freeze for MultiGraph",1,["hydroflow_plus::deploy::in_memory_graph::MultiGraph"]],["impl Freeze for MultiNode",1,["hydroflow_plus::deploy::in_memory_graph::MultiNode"]],["impl Freeze for SingleNode",1,["hydroflow_plus::deploy::in_memory_graph::SingleNode"]],["impl Freeze for SingleProcessGraph",1,["hydroflow_plus::deploy::in_memory_graph::SingleProcessGraph"]],["impl Freeze for DeployRuntime",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntime"]],["impl Freeze for DeployRuntimeCluster",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeCluster"]],["impl Freeze for DeployRuntimeNode",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeNode"]],["impl Freeze for DebugExpr",1,["hydroflow_plus::ir::DebugExpr"]],["impl Freeze for DebugPipelineFn",1,["hydroflow_plus::ir::DebugPipelineFn"]],["impl Freeze for TeeNode",1,["hydroflow_plus::ir::TeeNode"]],["impl Freeze for ExternalBytesPort",1,["hydroflow_plus::location::external_process::ExternalBytesPort"]],["impl Freeze for PropertyDatabase",1,["hydroflow_plus::rewrites::properties::PropertyDatabase"]],["impl Freeze for NoOrder",1,["hydroflow_plus::stream::NoOrder"]],["impl Freeze for TotalOrder",1,["hydroflow_plus::stream::TotalOrder"]],["impl<'a> !Freeze for FlowBuilder<'a>",1,["hydroflow_plus::builder::FlowBuilder"]],["impl<'a> Freeze for BuiltFlow<'a>",1,["hydroflow_plus::builder::built::BuiltFlow"]],["impl<'a> Freeze for CompiledFlowWithId<'a>",1,["hydroflow_plus::builder::compiled::CompiledFlowWithId"]],["impl<'a> Freeze for ClusterSelfId<'a>",1,["hydroflow_plus::location::cluster::ClusterSelfId"]],["impl<'a> Freeze for RuntimeContext<'a>",1,["hydroflow_plus::runtime_context::RuntimeContext"]],["impl<'a, C> Freeze for Cluster<'a, C>",1,["hydroflow_plus::location::cluster::Cluster"]],["impl<'a, C> Freeze for ClusterIds<'a, C>",1,["hydroflow_plus::location::cluster::ClusterIds"]],["impl<'a, D> Freeze for DeployFlow<'a, D>",1,["hydroflow_plus::builder::deploy::DeployFlow"]],["impl<'a, D> Freeze for DeployResult<'a, D>",1,["hydroflow_plus::builder::deploy::DeployResult"]],["impl<'a, ID> Freeze for CompiledFlow<'a, ID>",1,["hydroflow_plus::builder::compiled::CompiledFlow"]],["impl<'a, P> Freeze for ExternalProcess<'a, P>",1,["hydroflow_plus::location::external_process::ExternalProcess"]],["impl<'a, P> Freeze for Process<'a, P>",1,["hydroflow_plus::location::process::Process"]],["impl<'a, S> Freeze for ForwardRef<'a, S>",1,["hydroflow_plus::cycle::ForwardRef"]],["impl<'a, S> Freeze for TickCycle<'a, S>",1,["hydroflow_plus::cycle::TickCycle"]],["impl<C> Freeze for ClusterId<C>",1,["hydroflow_plus::location::cluster::cluster_id::ClusterId"]],["impl<L> Freeze for Tick<L>
where\n L: Freeze,
",1,["hydroflow_plus::location::tick::Tick"]],["impl<L> Freeze for Timestamped<L>
where\n L: Freeze,
",1,["hydroflow_plus::location::tick::Timestamped"]],["impl<T> Freeze for ExternalBincodeSink<T>",1,["hydroflow_plus::location::external_process::ExternalBincodeSink"]],["impl<T> Freeze for ExternalBincodeStream<T>",1,["hydroflow_plus::location::external_process::ExternalBincodeStream"]],["impl<T, L, B> !Freeze for Optional<T, L, B>",1,["hydroflow_plus::optional::Optional"]],["impl<T, L, B> !Freeze for Singleton<T, L, B>",1,["hydroflow_plus::singleton::Singleton"]],["impl<T, L, B, Order = TotalOrder> !Freeze for Stream<T, L, B, Order>",1,["hydroflow_plus::stream::Stream"]]]],["hydroflow_plus_test",[["impl Freeze for Leader",1,["hydroflow_plus_test::cluster::compute_pi::Leader"]],["impl Freeze for Worker",1,["hydroflow_plus_test::cluster::compute_pi::Worker"]],["impl Freeze for Leader",1,["hydroflow_plus_test::cluster::map_reduce::Leader"]],["impl Freeze for Worker",1,["hydroflow_plus_test::cluster::map_reduce::Worker"]],["impl Freeze for Acceptor",1,["hydroflow_plus_test::cluster::paxos::Acceptor"]],["impl Freeze for Ballot",1,["hydroflow_plus_test::cluster::paxos::Ballot"]],["impl Freeze for Proposer",1,["hydroflow_plus_test::cluster::paxos::Proposer"]],["impl Freeze for Client",1,["hydroflow_plus_test::cluster::paxos_bench::Client"]],["impl Freeze for Replica",1,["hydroflow_plus_test::cluster::paxos_kv::Replica"]],["impl Freeze for Client",1,["hydroflow_plus_test::cluster::two_pc::Client"]],["impl Freeze for Coordinator",1,["hydroflow_plus_test::cluster::two_pc::Coordinator"]],["impl Freeze for Participants",1,["hydroflow_plus_test::cluster::two_pc::Participants"]],["impl Freeze for P1",1,["hydroflow_plus_test::distributed::first_ten::P1"]],["impl Freeze for P2",1,["hydroflow_plus_test::distributed::first_ten::P2"]],["impl<K, V> Freeze for KvPayload<K, V>
where\n K: Freeze,\n V: Freeze,
",1,["hydroflow_plus_test::cluster::paxos_kv::KvPayload"]],["impl<K, V> Freeze for SequencedKv<K, V>
where\n K: Freeze,\n V: Freeze,
",1,["hydroflow_plus_test::cluster::paxos_kv::SequencedKv"]]]],["latency_measure",[["impl Freeze for TopolotreeMessage",1,["latency_measure::protocol::TopolotreeMessage"]],["impl Freeze for OperationPayload",1,["latency_measure::protocol::OperationPayload"]],["impl Freeze for QueryResponse",1,["latency_measure::protocol::QueryResponse"]],["impl<T> Freeze for Payload<T>
where\n T: Freeze,
",1,["latency_measure::protocol::Payload"]],["impl<T> Freeze for Timestamped<T>
where\n T: Freeze,
",1,["latency_measure::protocol::Timestamped"]]]],["lattices",[["impl Freeze for U32WithInfinity",1,["lattices::semiring_application::U32WithInfinity"]],["impl Freeze for BinaryTrust",1,["lattices::semiring_application::BinaryTrust"]],["impl Freeze for ConfidenceScore",1,["lattices::semiring_application::ConfidenceScore"]],["impl Freeze for Cost",1,["lattices::semiring_application::Cost"]],["impl Freeze for FuzzyLogic",1,["lattices::semiring_application::FuzzyLogic"]],["impl Freeze for Multiplicity",1,["lattices::semiring_application::Multiplicity"]],["impl Freeze for PairBimorphism",1,["lattices::pair::PairBimorphism"]],["impl<Bimorphism> Freeze for GhtBimorphism<Bimorphism>
where\n Bimorphism: Freeze,
",1,["lattices::ght::lattice::GhtBimorphism"]],["impl<Bimorphism> Freeze for GhtNodeKeyedBimorphism<Bimorphism>
where\n Bimorphism: Freeze,
",1,["lattices::ght::lattice::GhtNodeKeyedBimorphism"]],["impl<GhtOut> Freeze for GhtCartesianProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtCartesianProductBimorphism"]],["impl<GhtOut> Freeze for GhtValTypeProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtValTypeProductBimorphism"]],["impl<Head, Node> Freeze for GhtInner<Head, Node>",1,["lattices::ght::GhtInner"]],["impl<Inner> Freeze for WithBot<Inner>
where\n Inner: Freeze,
",1,["lattices::with_bot::WithBot"]],["impl<Inner> Freeze for WithTop<Inner>
where\n Inner: Freeze,
",1,["lattices::with_top::WithTop"]],["impl<K, V> Freeze for EmptyMap<K, V>",1,["lattices::collections::EmptyMap"]],["impl<K, V> Freeze for OptionMap<K, V>
where\n K: Freeze,\n V: Freeze,
",1,["lattices::collections::OptionMap"]],["impl<K, V> Freeze for SingletonMap<K, V>
where\n K: Freeze,\n V: Freeze,
",1,["lattices::collections::SingletonMap"]],["impl<K, V> Freeze for VecMap<K, V>",1,["lattices::collections::VecMap"]],["impl<K, V, const N: usize> Freeze for ArrayMap<K, V, N>
where\n K: Freeze,\n V: Freeze,
",1,["lattices::collections::ArrayMap"]],["impl<Key, Val> Freeze for DomPair<Key, Val>
where\n Key: Freeze,\n Val: Freeze,
",1,["lattices::dom_pair::DomPair"]],["impl<Lat> Freeze for VecUnion<Lat>",1,["lattices::vec_union::VecUnion"]],["impl<LatA, LatB> Freeze for Pair<LatA, LatB>
where\n LatA: Freeze,\n LatB: Freeze,
",1,["lattices::pair::Pair"]],["impl<Map> Freeze for MapUnion<Map>
where\n Map: Freeze,
",1,["lattices::map_union::MapUnion"]],["impl<Map> Freeze for UnionFind<Map>
where\n Map: Freeze,
",1,["lattices::union_find::UnionFind"]],["impl<Map, TombstoneSet> Freeze for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: Freeze,\n TombstoneSet: Freeze,
",1,["lattices::map_union_with_tombstones::MapUnionWithTombstones"]],["impl<MapOut, Bimorphism> Freeze for KeyedBimorphism<MapOut, Bimorphism>
where\n Bimorphism: Freeze,
",1,["lattices::map_union::KeyedBimorphism"]],["impl<Schema, ValType, Storage> Freeze for GhtLeaf<Schema, ValType, Storage>
where\n Storage: Freeze,
",1,["lattices::ght::GhtLeaf"]],["impl<Set> Freeze for SetUnion<Set>
where\n Set: Freeze,
",1,["lattices::set_union::SetUnion"]],["impl<Set, TombstoneSet> Freeze for SetUnionWithTombstones<Set, TombstoneSet>
where\n Set: Freeze,\n TombstoneSet: Freeze,
",1,["lattices::set_union_with_tombstones::SetUnionWithTombstones"]],["impl<SetOut> Freeze for CartesianProductBimorphism<SetOut>",1,["lattices::set_union::CartesianProductBimorphism"]],["impl<T> Freeze for EmptySet<T>",1,["lattices::collections::EmptySet"]],["impl<T> Freeze for OptionSet<T>
where\n T: Freeze,
",1,["lattices::collections::OptionSet"]],["impl<T> Freeze for SingletonSet<T>
where\n T: Freeze,
",1,["lattices::collections::SingletonSet"]],["impl<T> Freeze for VecSet<T>",1,["lattices::collections::VecSet"]],["impl<T> Freeze for Conflict<T>
where\n T: Freeze,
",1,["lattices::conflict::Conflict"]],["impl<T> Freeze for Max<T>
where\n T: Freeze,
",1,["lattices::ord::Max"]],["impl<T> Freeze for Min<T>
where\n T: Freeze,
",1,["lattices::ord::Min"]],["impl<T, Provenance> Freeze for Point<T, Provenance>
where\n T: Freeze,
",1,["lattices::point::Point"]],["impl<T, const N: usize> Freeze for ArraySet<T, N>
where\n T: Freeze,
",1,["lattices::collections::ArraySet"]]]],["load_test_server",[["impl Freeze for Opts",1,["load_test_server::Opts"]],["impl Freeze for Switchboard",1,["load_test_server::Switchboard"]]]],["pn",[["impl Freeze for GossipOrIncrement",1,["pn::GossipOrIncrement"]],["impl Freeze for TopolotreeMessage",1,["pn::protocol::TopolotreeMessage"]],["impl Freeze for OperationPayload",1,["pn::protocol::OperationPayload"]],["impl Freeze for QueryResponse",1,["pn::protocol::QueryResponse"]],["impl<T> Freeze for Payload<T>
where\n T: Freeze,
",1,["pn::protocol::Payload"]],["impl<T> Freeze for Timestamped<T>
where\n T: Freeze,
",1,["pn::protocol::Timestamped"]]]],["pn_delta",[["impl Freeze for GossipOrIncrement",1,["pn_delta::GossipOrIncrement"]],["impl Freeze for TopolotreeMessage",1,["pn_delta::protocol::TopolotreeMessage"]],["impl Freeze for OperationPayload",1,["pn_delta::protocol::OperationPayload"]],["impl Freeze for QueryResponse",1,["pn_delta::protocol::QueryResponse"]],["impl<T> Freeze for Payload<T>
where\n T: Freeze,
",1,["pn_delta::protocol::Payload"]],["impl<T> Freeze for Timestamped<T>
where\n T: Freeze,
",1,["pn_delta::protocol::Timestamped"]]]],["pusherator",[["impl<Func, In> Freeze for ForEach<Func, In>
where\n Func: Freeze,
",1,["pusherator::for_each::ForEach"]],["impl<Func, Nexts, Item> Freeze for Demux<Func, Nexts, Item>
where\n Func: Freeze,\n Nexts: Freeze,
",1,["pusherator::demux::Demux"]],["impl<I> Freeze for PivotBuild<I>
where\n I: Freeze,
",1,["pusherator::pivot::PivotBuild"]],["impl<I, P> Freeze for Pivot<I, P>
where\n I: Freeze,\n P: Freeze,
",1,["pusherator::pivot::Pivot"]],["impl<In> Freeze for Null<In>",1,["pusherator::null::Null"]],["impl<Next, Func> Freeze for Filter<Next, Func>
where\n Next: Freeze,\n Func: Freeze,
",1,["pusherator::filter::Filter"]],["impl<Next, Func> Freeze for Inspect<Next, Func>
where\n Next: Freeze,\n Func: Freeze,
",1,["pusherator::inspect::Inspect"]],["impl<Next, Func, In> Freeze for FilterMap<Next, Func, In>
where\n Next: Freeze,\n Func: Freeze,
",1,["pusherator::filter_map::FilterMap"]],["impl<Next, Func, In> Freeze for Map<Next, Func, In>
where\n Next: Freeze,\n Func: Freeze,
",1,["pusherator::map::Map"]],["impl<Next, In> Freeze for Flatten<Next, In>
where\n Next: Freeze,
",1,["pusherator::flatten::Flatten"]],["impl<Next1, Next2> Freeze for Switch<Next1, Next2>
where\n Next1: Freeze,\n Next2: Freeze,
",1,["pusherator::switch::Switch"]],["impl<Next1, Next2> Freeze for Tee<Next1, Next2>
where\n Next1: Freeze,\n Next2: Freeze,
",1,["pusherator::tee::Tee"]],["impl<Next1, Next2> Freeze for Unzip<Next1, Next2>
where\n Next1: Freeze,\n Next2: Freeze,
",1,["pusherator::unzip::Unzip"]],["impl<Next1, Next2, Func> Freeze for Partition<Next1, Next2, Func>
where\n Next1: Freeze,\n Next2: Freeze,\n Func: Freeze,
",1,["pusherator::partition::Partition"]],["impl<Prev> Freeze for FlattenBuild<Prev>
where\n Prev: Freeze,
",1,["pusherator::flatten::FlattenBuild"]],["impl<Prev, Func> Freeze for FilterBuild<Prev, Func>
where\n Prev: Freeze,\n Func: Freeze,
",1,["pusherator::filter::FilterBuild"]],["impl<Prev, Func> Freeze for FilterMapBuild<Prev, Func>
where\n Prev: Freeze,\n Func: Freeze,
",1,["pusherator::filter_map::FilterMapBuild"]],["impl<Prev, Func> Freeze for InspectBuild<Prev, Func>
where\n Prev: Freeze,\n Func: Freeze,
",1,["pusherator::inspect::InspectBuild"]],["impl<Prev, Func> Freeze for MapBuild<Prev, Func>
where\n Prev: Freeze,\n Func: Freeze,
",1,["pusherator::map::MapBuild"]],["impl<Prev, Next1> Freeze for SwitchBuild<Prev, Next1>
where\n Prev: Freeze,\n Next1: Freeze,
",1,["pusherator::switch::SwitchBuild"]],["impl<Prev, Next1> Freeze for TeeBuild<Prev, Next1>
where\n <Prev as PusheratorBuild>::ItemOut: Sized,\n Prev: Freeze,\n Next1: Freeze,
",1,["pusherator::tee::TeeBuild"]],["impl<Prev, Next1> Freeze for UnzipBuild<Prev, Next1>
where\n Prev: Freeze,\n Next1: Freeze,
",1,["pusherator::unzip::UnzipBuild"]],["impl<Prev, Next1, Func> Freeze for PartitionBuild<Prev, Next1, Func>
where\n Prev: Freeze,\n Next1: Freeze,\n Func: Freeze,
",1,["pusherator::partition::PartitionBuild"]],["impl<T> Freeze for InputBuild<T>",1,["pusherator::InputBuild"]]]],["relalg",[["impl Freeze for Datum",1,["relalg::Datum"]],["impl Freeze for ScalarExpr",1,["relalg::ScalarExpr"]]]],["stageleft",[["impl<'a> Freeze for BorrowBounds<'a>",1,["stageleft::BorrowBounds"]],["impl<T> Freeze for Import<T>",1,["stageleft::runtime_support::Import"]],["impl<T> Freeze for RuntimeData<T>",1,["stageleft::RuntimeData"]]]],["topolotree",[["impl Freeze for TopolotreeMessage",1,["topolotree::protocol::TopolotreeMessage"]],["impl Freeze for OperationPayload",1,["topolotree::protocol::OperationPayload"]],["impl Freeze for QueryResponse",1,["topolotree::protocol::QueryResponse"]],["impl Freeze for NodeId",1,["topolotree::NodeId"]],["impl<T> Freeze for Payload<T>
where\n T: Freeze,
",1,["topolotree::protocol::Payload"]],["impl<T> Freeze for Timestamped<T>
where\n T: Freeze,
",1,["topolotree::protocol::Timestamped"]]]],["variadics",[["impl<Iter, Item> Freeze for DuplicateCounted<Iter, Item>
where\n Iter: Freeze,\n Item: Freeze,
",1,["variadics::variadic_collections::DuplicateCounted"]],["impl<K, S> Freeze for VariadicCountedHashSet<K, S>
where\n S: Freeze,
",1,["variadics::variadic_collections::VariadicCountedHashSet"]],["impl<Schema> Freeze for VariadicColumnMultiset<Schema>
where\n <Schema as VariadicExt>::IntoVec: Freeze,
",1,["variadics::variadic_collections::VariadicColumnMultiset"]],["impl<T, S> Freeze for VariadicHashSet<T, S>
where\n S: Freeze,
",1,["variadics::variadic_collections::VariadicHashSet"]]]],["website_playground",[["impl Freeze for HydroflowOutput",1,["website_playground::HydroflowOutput"]],["impl Freeze for HydroflowResult",1,["website_playground::HydroflowResult"]],["impl Freeze for JsDiagnostic",1,["website_playground::JsDiagnostic"]],["impl Freeze for JsLineColumn",1,["website_playground::JsLineColumn"]],["impl Freeze for JsSpan",1,["website_playground::JsSpan"]]]]]); + var implementors = Object.fromEntries([["gossip_cli",[["impl Freeze for InteractiveCommands",1,["gossip_cli::InteractiveCommands"]],["impl Freeze for InteractiveApp",1,["gossip_cli::InteractiveApp"]],["impl Freeze for Opts",1,["gossip_cli::Opts"]]]],["gossip_kv",[["impl Freeze for ClientRequest",1,["gossip_kv::ClientRequest"]],["impl Freeze for ClientResponse",1,["gossip_kv::ClientResponse"]],["impl Freeze for GossipMessage",1,["gossip_kv::GossipMessage"]],["impl Freeze for KeyParseError",1,["gossip_kv::KeyParseError"]],["impl Freeze for Namespace",1,["gossip_kv::Namespace"]],["impl Freeze for InfectingWrite",1,["gossip_kv::server::InfectingWrite"]],["impl Freeze for SETS_COUNTER",1,["gossip_kv::server::SETS_COUNTER"]],["impl Freeze for Key",1,["gossip_kv::Key"]],["impl<A> Freeze for ClientRequestWithAddress<A>
where\n A: Freeze,
",1,["gossip_kv::util::ClientRequestWithAddress"]],["impl<A> Freeze for GossipRequestWithAddress<A>
where\n A: Freeze,
",1,["gossip_kv::util::GossipRequestWithAddress"]],["impl<A> Freeze for MemberData<A>",1,["gossip_kv::membership::MemberData"]],["impl<A> Freeze for MemberDataBuilder<A>",1,["gossip_kv::membership::MemberDataBuilder"]],["impl<A> Freeze for Protocol<A>
where\n A: Freeze,
",1,["gossip_kv::membership::Protocol"]],["impl<A> Freeze for SeedNode<A>
where\n A: Freeze,
",1,["gossip_kv::server::SeedNode"]],["impl<T, const N: usize> Freeze for BoundedSetLattice<T, N>",1,["gossip_kv::lattices::BoundedSetLattice"]]]],["gossip_server",[["impl Freeze for SeedNodeSettings",1,["gossip_server::config::SeedNodeSettings"]],["impl Freeze for ServerSettings",1,["gossip_server::config::ServerSettings"]],["impl Freeze for UnboundedSenderEventHandler",1,["gossip_server::config::UnboundedSenderEventHandler"]],["impl Freeze for LowercaseAlphanumeric",1,["gossip_server::membership::LowercaseAlphanumeric"]],["impl Freeze for Opts",1,["gossip_server::Opts"]]]],["hydro_cli",[["impl !Freeze for AnyhowError",1,["hydro_cli::AnyhowError"]],["impl Freeze for AnyhowWrapper",1,["hydro_cli::AnyhowWrapper"]],["impl Freeze for Deployment",1,["hydro_cli::Deployment"]],["impl Freeze for Host",1,["hydro_cli::Host"]],["impl Freeze for Service",1,["hydro_cli::Service"]]]],["hydro_deploy",[["impl !Freeze for AzureHost",1,["hydro_deploy::azure::AzureHost"]],["impl !Freeze for CustomClientPort",1,["hydro_deploy::custom_service::CustomClientPort"]],["impl !Freeze for GcpComputeEngineHost",1,["hydro_deploy::gcp::GcpComputeEngineHost"]],["impl !Freeze for LaunchedLocalhostBinary",1,["hydro_deploy::localhost::launched_binary::LaunchedLocalhostBinary"]],["impl Freeze for HostTargetType",1,["hydro_deploy::HostTargetType"]],["impl Freeze for ServerStrategy",1,["hydro_deploy::ServerStrategy"]],["impl Freeze for CrateTarget",1,["hydro_deploy::hydroflow_crate::CrateTarget"]],["impl Freeze for ServerConfig",1,["hydro_deploy::hydroflow_crate::ports::ServerConfig"]],["impl Freeze for SourcePath",1,["hydro_deploy::hydroflow_crate::ports::SourcePath"]],["impl Freeze for BarTree",1,["hydro_deploy::progress::BarTree"]],["impl Freeze for LeafStatus",1,["hydro_deploy::progress::LeafStatus"]],["impl Freeze for LaunchedVirtualMachine",1,["hydro_deploy::azure::LaunchedVirtualMachine"]],["impl Freeze for CustomService",1,["hydro_deploy::custom_service::CustomService"]],["impl Freeze for Deployment",1,["hydro_deploy::deployment::Deployment"]],["impl Freeze for GcpNetwork",1,["hydro_deploy::gcp::GcpNetwork"]],["impl Freeze for LaunchedComputeEngine",1,["hydro_deploy::gcp::LaunchedComputeEngine"]],["impl Freeze for DemuxSink",1,["hydro_deploy::hydroflow_crate::ports::DemuxSink"]],["impl Freeze for HydroflowPortConfig",1,["hydro_deploy::hydroflow_crate::ports::HydroflowPortConfig"]],["impl Freeze for NullSourceSink",1,["hydro_deploy::hydroflow_crate::ports::NullSourceSink"]],["impl Freeze for TaggedSource",1,["hydro_deploy::hydroflow_crate::ports::TaggedSource"]],["impl Freeze for HydroflowCrateService",1,["hydro_deploy::hydroflow_crate::service::HydroflowCrateService"]],["impl Freeze for HydroflowCrate",1,["hydro_deploy::hydroflow_crate::HydroflowCrate"]],["impl Freeze for TracingOptions",1,["hydro_deploy::hydroflow_crate::tracing_options::TracingOptions"]],["impl Freeze for LocalhostHost",1,["hydro_deploy::localhost::LocalhostHost"]],["impl Freeze for ProgressTracker",1,["hydro_deploy::progress::ProgressTracker"]],["impl Freeze for ResourceBatch",1,["hydro_deploy::ResourceBatch"]],["impl Freeze for ResourcePool",1,["hydro_deploy::ResourcePool"]],["impl Freeze for ResourceResult",1,["hydro_deploy::ResourceResult"]],["impl Freeze for TerraformBatch",1,["hydro_deploy::terraform::TerraformBatch"]],["impl Freeze for TerraformConfig",1,["hydro_deploy::terraform::TerraformConfig"]],["impl Freeze for TerraformOutput",1,["hydro_deploy::terraform::TerraformOutput"]],["impl Freeze for TerraformPool",1,["hydro_deploy::terraform::TerraformPool"]],["impl Freeze for TerraformProvider",1,["hydro_deploy::terraform::TerraformProvider"]],["impl Freeze for TerraformResult",1,["hydro_deploy::terraform::TerraformResult"]],["impl Freeze for TerraformResultOutput",1,["hydro_deploy::terraform::TerraformResultOutput"]],["impl<'a> Freeze for ClientStrategy<'a>",1,["hydro_deploy::ClientStrategy"]]]],["hydroflow",[["impl !Freeze for Message",1,["hydroflow::scheduled::net::Message"]],["impl Freeze for RECV",1,["hydroflow::scheduled::port::RECV"]],["impl Freeze for SEND",1,["hydroflow::scheduled::port::SEND"]],["impl Freeze for Context",1,["hydroflow::scheduled::context::Context"]],["impl Freeze for Reactor",1,["hydroflow::scheduled::reactor::Reactor"]],["impl Freeze for StateHandleErased",1,["hydroflow::scheduled::state::StateHandleErased"]],["impl Freeze for HandoffId",1,["hydroflow::scheduled::HandoffId"]],["impl Freeze for StateId",1,["hydroflow::scheduled::StateId"]],["impl Freeze for SubgraphId",1,["hydroflow::scheduled::SubgraphId"]],["impl Freeze for TickDuration",1,["hydroflow::scheduled::ticks::TickDuration"]],["impl Freeze for TickInstant",1,["hydroflow::scheduled::ticks::TickInstant"]],["impl Freeze for Address",1,["hydroflow::util::simulation::Address"]],["impl Freeze for Fleet",1,["hydroflow::util::simulation::Fleet"]],["impl Freeze for Host",1,["hydroflow::util::simulation::Host"]],["impl Freeze for HostBuilder",1,["hydroflow::util::simulation::HostBuilder"]],["impl Freeze for Inbox",1,["hydroflow::util::simulation::Inbox"]],["impl Freeze for Outbox",1,["hydroflow::util::simulation::Outbox"]],["impl Freeze for DroppableChild",1,["hydroflow::util::DroppableChild"]],["impl<'a> Freeze for Hydroflow<'a>",1,["hydroflow::scheduled::graph::Hydroflow"]],["impl<'a> Freeze for Query<'a>",1,["hydroflow::scheduled::query::Query"]],["impl<'a, I1, V1, I2, V2> Freeze for CrossJoin<'a, I1, V1, I2, V2>
where\n I1: Freeze,\n I2: Freeze,
",1,["hydroflow::compiled::pull::cross_join::CrossJoin"]],["impl<'a, Key, I1, V1, I2, V2, LhsState, RhsState> Freeze for SymmetricHashJoin<'a, Key, I1, V1, I2, V2, LhsState, RhsState>
where\n I1: Freeze,\n I2: Freeze,
",1,["hydroflow::compiled::pull::symmetric_hash_join::SymmetricHashJoin"]],["impl<'a, Key, V, Ipos> Freeze for AntiJoin<'a, Key, V, Ipos>
where\n Ipos: Freeze,
",1,["hydroflow::compiled::pull::anti_join::AntiJoin"]],["impl<'a, T> Freeze for Operator<'a, T>",1,["hydroflow::scheduled::query::Operator"]],["impl<'context> Freeze for TransducerBuilderContext<'context>",1,["hydroflow::util::simulation::TransducerBuilderContext"]],["impl<F> Freeze for MonotonicFn<F>
where\n F: Freeze,
",1,["hydroflow::util::monotonic::MonotonicFn"]],["impl<F> Freeze for Morphism<F>
where\n F: Freeze,
",1,["hydroflow::util::monotonic::Morphism"]],["impl<I> Freeze for Iter<I>
where\n I: Freeze,
",1,["hydroflow::scheduled::handoff::Iter"]],["impl<K, A> Freeze for HalfJoinStateFold<K, A>",1,["hydroflow::compiled::pull::half_join_state::fold::HalfJoinStateFold"]],["impl<K, A> Freeze for HalfJoinStateFoldFrom<K, A>",1,["hydroflow::compiled::pull::half_join_state::fold_from::HalfJoinStateFoldFrom"]],["impl<K, A> Freeze for HalfJoinStateReduce<K, A>",1,["hydroflow::compiled::pull::half_join_state::reduce::HalfJoinStateReduce"]],["impl<K, V> Freeze for PersistenceKeyed<K, V>
where\n K: Freeze,\n V: Freeze,
",1,["hydroflow::util::PersistenceKeyed"]],["impl<K, V> Freeze for MonotonicMap<K, V>
where\n V: Freeze,\n K: Freeze,
",1,["hydroflow::util::monotonic_map::MonotonicMap"]],["impl<Key, ValBuild, ValProbe> Freeze for HalfMultisetJoinState<Key, ValBuild, ValProbe>",1,["hydroflow::compiled::pull::half_join_state::multiset::HalfMultisetJoinState"]],["impl<Key, ValBuild, ValProbe> Freeze for HalfSetJoinState<Key, ValBuild, ValProbe>",1,["hydroflow::compiled::pull::half_join_state::set::HalfSetJoinState"]],["impl<S, H> Freeze for Port<S, H>",1,["hydroflow::scheduled::port::Port"]],["impl<S, H> Freeze for PortCtx<S, H>
where\n H: Freeze,
",1,["hydroflow::scheduled::port::PortCtx"]],["impl<T = Option<()>> !Freeze for DeployPorts<T>",1,["hydroflow::util::deploy::DeployPorts"]],["impl<T> Freeze for Persistence<T>
where\n T: Freeze,
",1,["hydroflow::util::Persistence"]],["impl<T> Freeze for TeeingHandoff<T>",1,["hydroflow::scheduled::handoff::tee::TeeingHandoff"]],["impl<T> Freeze for VecHandoff<T>",1,["hydroflow::scheduled::handoff::vector::VecHandoff"]],["impl<T> Freeze for Buffer<T>",1,["hydroflow::scheduled::input::Buffer"]],["impl<T> Freeze for StateHandle<T>",1,["hydroflow::scheduled::state::StateHandle"]],["impl<T> Freeze for ClearDefault<T>
where\n T: Freeze,
",1,["hydroflow::util::clear::ClearDefault"]],["impl<T> Freeze for HashMultiSet<T>",1,["hydroflow::util::multiset::HashMultiSet"]],["impl<T> Freeze for SparseVec<T>",1,["hydroflow::util::sparse_vec::SparseVec"]],["impl<T> Freeze for Receiver<T>",1,["hydroflow::util::unsync::mpsc::Receiver"]],["impl<T> Freeze for Sender<T>",1,["hydroflow::util::unsync::mpsc::Sender"]],["impl<T, G> Freeze for Input<T, G>
where\n G: Freeze,
",1,["hydroflow::scheduled::input::Input"]],["impl<V1, V2> Freeze for CrossJoinState<V1, V2>",1,["hydroflow::compiled::pull::cross_join::CrossJoinState"]]]],["hydroflow_deploy_integration",[["impl !Freeze for BoundConnection",1,["hydroflow_deploy_integration::BoundConnection"]],["impl !Freeze for ServerOrBound",1,["hydroflow_deploy_integration::ServerOrBound"]],["impl Freeze for RealizedServerPort",1,["hydroflow_deploy_integration::RealizedServerPort"]],["impl Freeze for ServerBindConfig",1,["hydroflow_deploy_integration::ServerBindConfig"]],["impl Freeze for ServerPort",1,["hydroflow_deploy_integration::ServerPort"]],["impl Freeze for ConnectedDirect",1,["hydroflow_deploy_integration::ConnectedDirect"]],["impl<T> Freeze for ConnectedDemux<T>",1,["hydroflow_deploy_integration::ConnectedDemux"]],["impl<T> Freeze for ConnectedTagged<T>",1,["hydroflow_deploy_integration::ConnectedTagged"]],["impl<T, S> Freeze for DemuxDrain<T, S>
where\n S: ?Sized,
",1,["hydroflow_deploy_integration::DemuxDrain"]],["impl<T, S> Freeze for MergeSource<T, S>
where\n S: ?Sized,
",1,["hydroflow_deploy_integration::MergeSource"]],["impl<T, S> Freeze for TaggedSource<T, S>
where\n S: ?Sized,
",1,["hydroflow_deploy_integration::TaggedSource"]]]],["hydroflow_lang",[["impl Freeze for Level",1,["hydroflow_lang::diagnostic::Level"]],["impl Freeze for Color",1,["hydroflow_lang::graph::Color"]],["impl Freeze for GraphNode",1,["hydroflow_lang::graph::GraphNode"]],["impl Freeze for PortIndexValue",1,["hydroflow_lang::graph::PortIndexValue"]],["impl Freeze for WriteGraphType",1,["hydroflow_lang::graph::hydroflow_graph::WriteGraphType"]],["impl Freeze for DelayType",1,["hydroflow_lang::graph::ops::DelayType"]],["impl Freeze for FloType",1,["hydroflow_lang::graph::ops::FloType"]],["impl Freeze for OperatorCategory",1,["hydroflow_lang::graph::ops::OperatorCategory"]],["impl Freeze for Persistence",1,["hydroflow_lang::graph::ops::Persistence"]],["impl Freeze for PortListSpec",1,["hydroflow_lang::graph::ops::PortListSpec"]],["impl Freeze for HfStatement",1,["hydroflow_lang::parse::HfStatement"]],["impl Freeze for Pipeline",1,["hydroflow_lang::parse::Pipeline"]],["impl Freeze for PortIndex",1,["hydroflow_lang::parse::PortIndex"]],["impl Freeze for SerdeSpan",1,["hydroflow_lang::diagnostic::SerdeSpan"]],["impl Freeze for OperatorConstraints",1,["hydroflow_lang::graph::ops::OperatorConstraints"]],["impl Freeze for OperatorWriteOutput",1,["hydroflow_lang::graph::ops::OperatorWriteOutput"]],["impl Freeze for FlatGraphBuilder",1,["hydroflow_lang::graph::flat_graph_builder::FlatGraphBuilder"]],["impl Freeze for GraphEdgeId",1,["hydroflow_lang::graph::GraphEdgeId"]],["impl Freeze for GraphLoopId",1,["hydroflow_lang::graph::GraphLoopId"]],["impl Freeze for GraphNodeId",1,["hydroflow_lang::graph::GraphNodeId"]],["impl Freeze for GraphSubgraphId",1,["hydroflow_lang::graph::GraphSubgraphId"]],["impl Freeze for HydroflowGraph",1,["hydroflow_lang::graph::hydroflow_graph::HydroflowGraph"]],["impl Freeze for OpInstGenerics",1,["hydroflow_lang::graph::OpInstGenerics"]],["impl Freeze for OperatorInstance",1,["hydroflow_lang::graph::OperatorInstance"]],["impl Freeze for WriteConfig",1,["hydroflow_lang::graph::hydroflow_graph::WriteConfig"]],["impl Freeze for HfCode",1,["hydroflow_lang::parse::HfCode"]],["impl Freeze for Import",1,["hydroflow_lang::parse::Import"]],["impl Freeze for IndexInt",1,["hydroflow_lang::parse::IndexInt"]],["impl Freeze for Indexing",1,["hydroflow_lang::parse::Indexing"]],["impl Freeze for LoopStatement",1,["hydroflow_lang::parse::LoopStatement"]],["impl Freeze for NamedHfStatement",1,["hydroflow_lang::parse::NamedHfStatement"]],["impl Freeze for Operator",1,["hydroflow_lang::parse::Operator"]],["impl Freeze for PipelineLink",1,["hydroflow_lang::parse::PipelineLink"]],["impl Freeze for PipelineParen",1,["hydroflow_lang::parse::PipelineParen"]],["impl Freeze for PipelineStatement",1,["hydroflow_lang::parse::PipelineStatement"]],["impl Freeze for PrettyRowCol",1,["hydroflow_lang::pretty_span::PrettyRowCol"]],["impl Freeze for PrettySpan",1,["hydroflow_lang::pretty_span::PrettySpan"]],["impl<'a> Freeze for WriteContextArgs<'a>",1,["hydroflow_lang::graph::ops::WriteContextArgs"]],["impl<Inner> Freeze for Ported<Inner>
where\n Inner: Freeze,
",1,["hydroflow_lang::parse::Ported"]],["impl<K> Freeze for UnionFind<K>",1,["hydroflow_lang::union_find::UnionFind"]],["impl<S> Freeze for Diagnostic<S>
where\n S: Freeze,
",1,["hydroflow_lang::diagnostic::Diagnostic"]],["impl<V, E> Freeze for DiMulGraph<V, E>",1,["hydroflow_lang::graph::di_mul_graph::DiMulGraph"]]]],["hydroflow_plus",[["impl Freeze for Bounded",1,["hydroflow_plus::boundedness::Bounded"]],["impl Freeze for Unbounded",1,["hydroflow_plus::boundedness::Unbounded"]],["impl Freeze for ForwardRefMarker",1,["hydroflow_plus::cycle::ForwardRefMarker"]],["impl Freeze for TickCycleMarker",1,["hydroflow_plus::cycle::TickCycleMarker"]],["impl Freeze for DebugInstantiate",1,["hydroflow_plus::ir::DebugInstantiate"]],["impl Freeze for HfPlusLeaf",1,["hydroflow_plus::ir::HfPlusLeaf"]],["impl Freeze for HfPlusNode",1,["hydroflow_plus::ir::HfPlusNode"]],["impl Freeze for HfPlusSource",1,["hydroflow_plus::ir::HfPlusSource"]],["impl Freeze for LocationId",1,["hydroflow_plus::location::LocationId"]],["impl Freeze for FlowStateInner",1,["hydroflow_plus::builder::FlowStateInner"]],["impl Freeze for HydroflowPlusMeta",1,["hydroflow_plus::deploy::deploy_runtime::HydroflowPlusMeta"]],["impl Freeze for MultiGraph",1,["hydroflow_plus::deploy::in_memory_graph::MultiGraph"]],["impl Freeze for MultiNode",1,["hydroflow_plus::deploy::in_memory_graph::MultiNode"]],["impl Freeze for SingleNode",1,["hydroflow_plus::deploy::in_memory_graph::SingleNode"]],["impl Freeze for SingleProcessGraph",1,["hydroflow_plus::deploy::in_memory_graph::SingleProcessGraph"]],["impl Freeze for DeployRuntime",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntime"]],["impl Freeze for DeployRuntimeCluster",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeCluster"]],["impl Freeze for DeployRuntimeNode",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeNode"]],["impl Freeze for DebugExpr",1,["hydroflow_plus::ir::DebugExpr"]],["impl Freeze for DebugPipelineFn",1,["hydroflow_plus::ir::DebugPipelineFn"]],["impl Freeze for TeeNode",1,["hydroflow_plus::ir::TeeNode"]],["impl Freeze for ExternalBytesPort",1,["hydroflow_plus::location::external_process::ExternalBytesPort"]],["impl Freeze for PropertyDatabase",1,["hydroflow_plus::rewrites::properties::PropertyDatabase"]],["impl Freeze for NoOrder",1,["hydroflow_plus::stream::NoOrder"]],["impl Freeze for TotalOrder",1,["hydroflow_plus::stream::TotalOrder"]],["impl<'a> !Freeze for FlowBuilder<'a>",1,["hydroflow_plus::builder::FlowBuilder"]],["impl<'a> Freeze for BuiltFlow<'a>",1,["hydroflow_plus::builder::built::BuiltFlow"]],["impl<'a> Freeze for CompiledFlowWithId<'a>",1,["hydroflow_plus::builder::compiled::CompiledFlowWithId"]],["impl<'a> Freeze for ClusterSelfId<'a>",1,["hydroflow_plus::location::cluster::ClusterSelfId"]],["impl<'a> Freeze for RuntimeContext<'a>",1,["hydroflow_plus::runtime_context::RuntimeContext"]],["impl<'a, C> Freeze for Cluster<'a, C>",1,["hydroflow_plus::location::cluster::Cluster"]],["impl<'a, C> Freeze for ClusterIds<'a, C>",1,["hydroflow_plus::location::cluster::ClusterIds"]],["impl<'a, D> Freeze for DeployFlow<'a, D>",1,["hydroflow_plus::builder::deploy::DeployFlow"]],["impl<'a, D> Freeze for DeployResult<'a, D>",1,["hydroflow_plus::builder::deploy::DeployResult"]],["impl<'a, ID> Freeze for CompiledFlow<'a, ID>",1,["hydroflow_plus::builder::compiled::CompiledFlow"]],["impl<'a, P> Freeze for ExternalProcess<'a, P>",1,["hydroflow_plus::location::external_process::ExternalProcess"]],["impl<'a, P> Freeze for Process<'a, P>",1,["hydroflow_plus::location::process::Process"]],["impl<'a, S> Freeze for ForwardRef<'a, S>",1,["hydroflow_plus::cycle::ForwardRef"]],["impl<'a, S> Freeze for TickCycle<'a, S>",1,["hydroflow_plus::cycle::TickCycle"]],["impl<C> Freeze for ClusterId<C>",1,["hydroflow_plus::location::cluster::cluster_id::ClusterId"]],["impl<L> Freeze for Tick<L>
where\n L: Freeze,
",1,["hydroflow_plus::location::tick::Tick"]],["impl<L> Freeze for Timestamped<L>
where\n L: Freeze,
",1,["hydroflow_plus::location::tick::Timestamped"]],["impl<T> Freeze for ExternalBincodeSink<T>",1,["hydroflow_plus::location::external_process::ExternalBincodeSink"]],["impl<T> Freeze for ExternalBincodeStream<T>",1,["hydroflow_plus::location::external_process::ExternalBincodeStream"]],["impl<T, L, B> !Freeze for Optional<T, L, B>",1,["hydroflow_plus::optional::Optional"]],["impl<T, L, B> !Freeze for Singleton<T, L, B>",1,["hydroflow_plus::singleton::Singleton"]],["impl<T, L, B, Order = TotalOrder> !Freeze for Stream<T, L, B, Order>",1,["hydroflow_plus::stream::Stream"]]]],["hydroflow_plus_test",[["impl Freeze for Leader",1,["hydroflow_plus_test::cluster::compute_pi::Leader"]],["impl Freeze for Worker",1,["hydroflow_plus_test::cluster::compute_pi::Worker"]],["impl Freeze for Leader",1,["hydroflow_plus_test::cluster::map_reduce::Leader"]],["impl Freeze for Worker",1,["hydroflow_plus_test::cluster::map_reduce::Worker"]],["impl Freeze for Acceptor",1,["hydroflow_plus_test::cluster::paxos::Acceptor"]],["impl Freeze for Ballot",1,["hydroflow_plus_test::cluster::paxos::Ballot"]],["impl Freeze for Proposer",1,["hydroflow_plus_test::cluster::paxos::Proposer"]],["impl Freeze for Client",1,["hydroflow_plus_test::cluster::paxos_bench::Client"]],["impl Freeze for Replica",1,["hydroflow_plus_test::cluster::paxos_kv::Replica"]],["impl Freeze for Client",1,["hydroflow_plus_test::cluster::two_pc::Client"]],["impl Freeze for Coordinator",1,["hydroflow_plus_test::cluster::two_pc::Coordinator"]],["impl Freeze for Participants",1,["hydroflow_plus_test::cluster::two_pc::Participants"]],["impl Freeze for P1",1,["hydroflow_plus_test::distributed::first_ten::P1"]],["impl Freeze for P2",1,["hydroflow_plus_test::distributed::first_ten::P2"]],["impl<K, V> Freeze for KvPayload<K, V>
where\n K: Freeze,\n V: Freeze,
",1,["hydroflow_plus_test::cluster::paxos_kv::KvPayload"]],["impl<K, V> Freeze for SequencedKv<K, V>
where\n K: Freeze,\n V: Freeze,
",1,["hydroflow_plus_test::cluster::paxos_kv::SequencedKv"]]]],["latency_measure",[["impl Freeze for TopolotreeMessage",1,["latency_measure::protocol::TopolotreeMessage"]],["impl Freeze for OperationPayload",1,["latency_measure::protocol::OperationPayload"]],["impl Freeze for QueryResponse",1,["latency_measure::protocol::QueryResponse"]],["impl<T> Freeze for Payload<T>
where\n T: Freeze,
",1,["latency_measure::protocol::Payload"]],["impl<T> Freeze for Timestamped<T>
where\n T: Freeze,
",1,["latency_measure::protocol::Timestamped"]]]],["lattices",[["impl Freeze for U32WithInfinity",1,["lattices::semiring_application::U32WithInfinity"]],["impl Freeze for BinaryTrust",1,["lattices::semiring_application::BinaryTrust"]],["impl Freeze for ConfidenceScore",1,["lattices::semiring_application::ConfidenceScore"]],["impl Freeze for Cost",1,["lattices::semiring_application::Cost"]],["impl Freeze for FuzzyLogic",1,["lattices::semiring_application::FuzzyLogic"]],["impl Freeze for Multiplicity",1,["lattices::semiring_application::Multiplicity"]],["impl Freeze for PairBimorphism",1,["lattices::pair::PairBimorphism"]],["impl<Bimorphism> Freeze for GhtBimorphism<Bimorphism>
where\n Bimorphism: Freeze,
",1,["lattices::ght::lattice::GhtBimorphism"]],["impl<Bimorphism> Freeze for GhtNodeKeyedBimorphism<Bimorphism>
where\n Bimorphism: Freeze,
",1,["lattices::ght::lattice::GhtNodeKeyedBimorphism"]],["impl<GhtOut> Freeze for GhtCartesianProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtCartesianProductBimorphism"]],["impl<GhtOut> Freeze for GhtValTypeProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtValTypeProductBimorphism"]],["impl<Head, Node> Freeze for GhtInner<Head, Node>",1,["lattices::ght::GhtInner"]],["impl<Inner> Freeze for WithBot<Inner>
where\n Inner: Freeze,
",1,["lattices::with_bot::WithBot"]],["impl<Inner> Freeze for WithTop<Inner>
where\n Inner: Freeze,
",1,["lattices::with_top::WithTop"]],["impl<K, V> Freeze for EmptyMap<K, V>",1,["lattices::collections::EmptyMap"]],["impl<K, V> Freeze for OptionMap<K, V>
where\n K: Freeze,\n V: Freeze,
",1,["lattices::collections::OptionMap"]],["impl<K, V> Freeze for SingletonMap<K, V>
where\n K: Freeze,\n V: Freeze,
",1,["lattices::collections::SingletonMap"]],["impl<K, V> Freeze for VecMap<K, V>",1,["lattices::collections::VecMap"]],["impl<K, V, const N: usize> Freeze for ArrayMap<K, V, N>
where\n K: Freeze,\n V: Freeze,
",1,["lattices::collections::ArrayMap"]],["impl<Key, Val> Freeze for DomPair<Key, Val>
where\n Key: Freeze,\n Val: Freeze,
",1,["lattices::dom_pair::DomPair"]],["impl<Lat> Freeze for VecUnion<Lat>",1,["lattices::vec_union::VecUnion"]],["impl<LatA, LatB> Freeze for Pair<LatA, LatB>
where\n LatA: Freeze,\n LatB: Freeze,
",1,["lattices::pair::Pair"]],["impl<Map> Freeze for MapUnion<Map>
where\n Map: Freeze,
",1,["lattices::map_union::MapUnion"]],["impl<Map> Freeze for UnionFind<Map>
where\n Map: Freeze,
",1,["lattices::union_find::UnionFind"]],["impl<Map, TombstoneSet> Freeze for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: Freeze,\n TombstoneSet: Freeze,
",1,["lattices::map_union_with_tombstones::MapUnionWithTombstones"]],["impl<MapOut, Bimorphism> Freeze for KeyedBimorphism<MapOut, Bimorphism>
where\n Bimorphism: Freeze,
",1,["lattices::map_union::KeyedBimorphism"]],["impl<Schema, ValType, Storage> Freeze for GhtLeaf<Schema, ValType, Storage>
where\n Storage: Freeze,
",1,["lattices::ght::GhtLeaf"]],["impl<Set> Freeze for SetUnion<Set>
where\n Set: Freeze,
",1,["lattices::set_union::SetUnion"]],["impl<Set, TombstoneSet> Freeze for SetUnionWithTombstones<Set, TombstoneSet>
where\n Set: Freeze,\n TombstoneSet: Freeze,
",1,["lattices::set_union_with_tombstones::SetUnionWithTombstones"]],["impl<SetOut> Freeze for CartesianProductBimorphism<SetOut>",1,["lattices::set_union::CartesianProductBimorphism"]],["impl<T> Freeze for EmptySet<T>",1,["lattices::collections::EmptySet"]],["impl<T> Freeze for OptionSet<T>
where\n T: Freeze,
",1,["lattices::collections::OptionSet"]],["impl<T> Freeze for SingletonSet<T>
where\n T: Freeze,
",1,["lattices::collections::SingletonSet"]],["impl<T> Freeze for VecSet<T>",1,["lattices::collections::VecSet"]],["impl<T> Freeze for Conflict<T>
where\n T: Freeze,
",1,["lattices::conflict::Conflict"]],["impl<T> Freeze for Max<T>
where\n T: Freeze,
",1,["lattices::ord::Max"]],["impl<T> Freeze for Min<T>
where\n T: Freeze,
",1,["lattices::ord::Min"]],["impl<T, Provenance> Freeze for Point<T, Provenance>
where\n T: Freeze,
",1,["lattices::point::Point"]],["impl<T, const N: usize> Freeze for ArraySet<T, N>
where\n T: Freeze,
",1,["lattices::collections::ArraySet"]]]],["load_test_server",[["impl Freeze for Opts",1,["load_test_server::Opts"]],["impl Freeze for Switchboard",1,["load_test_server::Switchboard"]]]],["pn",[["impl Freeze for GossipOrIncrement",1,["pn::GossipOrIncrement"]],["impl Freeze for TopolotreeMessage",1,["pn::protocol::TopolotreeMessage"]],["impl Freeze for OperationPayload",1,["pn::protocol::OperationPayload"]],["impl Freeze for QueryResponse",1,["pn::protocol::QueryResponse"]],["impl<T> Freeze for Payload<T>
where\n T: Freeze,
",1,["pn::protocol::Payload"]],["impl<T> Freeze for Timestamped<T>
where\n T: Freeze,
",1,["pn::protocol::Timestamped"]]]],["pn_delta",[["impl Freeze for GossipOrIncrement",1,["pn_delta::GossipOrIncrement"]],["impl Freeze for TopolotreeMessage",1,["pn_delta::protocol::TopolotreeMessage"]],["impl Freeze for OperationPayload",1,["pn_delta::protocol::OperationPayload"]],["impl Freeze for QueryResponse",1,["pn_delta::protocol::QueryResponse"]],["impl<T> Freeze for Payload<T>
where\n T: Freeze,
",1,["pn_delta::protocol::Payload"]],["impl<T> Freeze for Timestamped<T>
where\n T: Freeze,
",1,["pn_delta::protocol::Timestamped"]]]],["pusherator",[["impl<Func, In> Freeze for ForEach<Func, In>
where\n Func: Freeze,
",1,["pusherator::for_each::ForEach"]],["impl<Func, Nexts, Item> Freeze for Demux<Func, Nexts, Item>
where\n Func: Freeze,\n Nexts: Freeze,
",1,["pusherator::demux::Demux"]],["impl<I> Freeze for PivotBuild<I>
where\n I: Freeze,
",1,["pusherator::pivot::PivotBuild"]],["impl<I, P> Freeze for Pivot<I, P>
where\n I: Freeze,\n P: Freeze,
",1,["pusherator::pivot::Pivot"]],["impl<In> Freeze for Null<In>",1,["pusherator::null::Null"]],["impl<Next, Func> Freeze for Filter<Next, Func>
where\n Next: Freeze,\n Func: Freeze,
",1,["pusherator::filter::Filter"]],["impl<Next, Func> Freeze for Inspect<Next, Func>
where\n Next: Freeze,\n Func: Freeze,
",1,["pusherator::inspect::Inspect"]],["impl<Next, Func, In> Freeze for FilterMap<Next, Func, In>
where\n Next: Freeze,\n Func: Freeze,
",1,["pusherator::filter_map::FilterMap"]],["impl<Next, Func, In> Freeze for Map<Next, Func, In>
where\n Next: Freeze,\n Func: Freeze,
",1,["pusherator::map::Map"]],["impl<Next, In> Freeze for Flatten<Next, In>
where\n Next: Freeze,
",1,["pusherator::flatten::Flatten"]],["impl<Next1, Next2> Freeze for Switch<Next1, Next2>
where\n Next1: Freeze,\n Next2: Freeze,
",1,["pusherator::switch::Switch"]],["impl<Next1, Next2> Freeze for Tee<Next1, Next2>
where\n Next1: Freeze,\n Next2: Freeze,
",1,["pusherator::tee::Tee"]],["impl<Next1, Next2> Freeze for Unzip<Next1, Next2>
where\n Next1: Freeze,\n Next2: Freeze,
",1,["pusherator::unzip::Unzip"]],["impl<Next1, Next2, Func> Freeze for Partition<Next1, Next2, Func>
where\n Next1: Freeze,\n Next2: Freeze,\n Func: Freeze,
",1,["pusherator::partition::Partition"]],["impl<Prev> Freeze for FlattenBuild<Prev>
where\n Prev: Freeze,
",1,["pusherator::flatten::FlattenBuild"]],["impl<Prev, Func> Freeze for FilterBuild<Prev, Func>
where\n Prev: Freeze,\n Func: Freeze,
",1,["pusherator::filter::FilterBuild"]],["impl<Prev, Func> Freeze for FilterMapBuild<Prev, Func>
where\n Prev: Freeze,\n Func: Freeze,
",1,["pusherator::filter_map::FilterMapBuild"]],["impl<Prev, Func> Freeze for InspectBuild<Prev, Func>
where\n Prev: Freeze,\n Func: Freeze,
",1,["pusherator::inspect::InspectBuild"]],["impl<Prev, Func> Freeze for MapBuild<Prev, Func>
where\n Prev: Freeze,\n Func: Freeze,
",1,["pusherator::map::MapBuild"]],["impl<Prev, Next1> Freeze for SwitchBuild<Prev, Next1>
where\n Prev: Freeze,\n Next1: Freeze,
",1,["pusherator::switch::SwitchBuild"]],["impl<Prev, Next1> Freeze for TeeBuild<Prev, Next1>
where\n <Prev as PusheratorBuild>::ItemOut: Sized,\n Prev: Freeze,\n Next1: Freeze,
",1,["pusherator::tee::TeeBuild"]],["impl<Prev, Next1> Freeze for UnzipBuild<Prev, Next1>
where\n Prev: Freeze,\n Next1: Freeze,
",1,["pusherator::unzip::UnzipBuild"]],["impl<Prev, Next1, Func> Freeze for PartitionBuild<Prev, Next1, Func>
where\n Prev: Freeze,\n Next1: Freeze,\n Func: Freeze,
",1,["pusherator::partition::PartitionBuild"]],["impl<T> Freeze for InputBuild<T>",1,["pusherator::InputBuild"]]]],["relalg",[["impl Freeze for Datum",1,["relalg::Datum"]],["impl Freeze for ScalarExpr",1,["relalg::ScalarExpr"]]]],["stageleft",[["impl<'a> Freeze for BorrowBounds<'a>",1,["stageleft::BorrowBounds"]],["impl<T> Freeze for Import<T>",1,["stageleft::runtime_support::Import"]],["impl<T> Freeze for RuntimeData<T>",1,["stageleft::RuntimeData"]]]],["topolotree",[["impl Freeze for TopolotreeMessage",1,["topolotree::protocol::TopolotreeMessage"]],["impl Freeze for OperationPayload",1,["topolotree::protocol::OperationPayload"]],["impl Freeze for QueryResponse",1,["topolotree::protocol::QueryResponse"]],["impl Freeze for NodeId",1,["topolotree::NodeId"]],["impl<T> Freeze for Payload<T>
where\n T: Freeze,
",1,["topolotree::protocol::Payload"]],["impl<T> Freeze for Timestamped<T>
where\n T: Freeze,
",1,["topolotree::protocol::Timestamped"]]]],["variadics",[["impl<Iter, Item> Freeze for DuplicateCounted<Iter, Item>
where\n Iter: Freeze,\n Item: Freeze,
",1,["variadics::variadic_collections::DuplicateCounted"]],["impl<K, S> Freeze for VariadicCountedHashSet<K, S>
where\n S: Freeze,
",1,["variadics::variadic_collections::VariadicCountedHashSet"]],["impl<Schema> Freeze for VariadicColumnMultiset<Schema>
where\n <Schema as VariadicExt>::IntoVec: Freeze,
",1,["variadics::variadic_collections::VariadicColumnMultiset"]],["impl<T, S> Freeze for VariadicHashSet<T, S>
where\n S: Freeze,
",1,["variadics::variadic_collections::VariadicHashSet"]]]],["website_playground",[["impl Freeze for HydroflowOutput",1,["website_playground::HydroflowOutput"]],["impl Freeze for HydroflowResult",1,["website_playground::HydroflowResult"]],["impl Freeze for JsDiagnostic",1,["website_playground::JsDiagnostic"]],["impl Freeze for JsLineColumn",1,["website_playground::JsLineColumn"]],["impl Freeze for JsSpan",1,["website_playground::JsSpan"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[938,5826,1797,1482,12967,21327,4702,13868,18127,6672,2190,19455,639,2280,2394,15976,557,1009,2394,2880,1685]} \ No newline at end of file +//{"start":57,"fragment_lengths":[938,5826,1797,1482,12967,21327,4702,14876,18127,6672,2190,19455,639,2280,2394,15976,557,1009,2394,2880,1685]} \ No newline at end of file diff --git a/doc/trait.impl/core/marker/trait.Send.js b/doc/trait.impl/core/marker/trait.Send.js index ca1f2b9b4dbf..757147c90391 100644 --- a/doc/trait.impl/core/marker/trait.Send.js +++ b/doc/trait.impl/core/marker/trait.Send.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_cli",[["impl Send for InteractiveCommands",1,["gossip_cli::InteractiveCommands"]],["impl Send for InteractiveApp",1,["gossip_cli::InteractiveApp"]],["impl Send for Opts",1,["gossip_cli::Opts"]]]],["gossip_kv",[["impl Send for ClientRequest",1,["gossip_kv::ClientRequest"]],["impl Send for ClientResponse",1,["gossip_kv::ClientResponse"]],["impl Send for GossipMessage",1,["gossip_kv::GossipMessage"]],["impl Send for KeyParseError",1,["gossip_kv::KeyParseError"]],["impl Send for Namespace",1,["gossip_kv::Namespace"]],["impl Send for InfectingWrite",1,["gossip_kv::server::InfectingWrite"]],["impl Send for SETS_COUNTER",1,["gossip_kv::server::SETS_COUNTER"]],["impl Send for Key",1,["gossip_kv::Key"]],["impl<A> Send for ClientRequestWithAddress<A>
where\n A: Send,
",1,["gossip_kv::util::ClientRequestWithAddress"]],["impl<A> Send for GossipRequestWithAddress<A>
where\n A: Send,
",1,["gossip_kv::util::GossipRequestWithAddress"]],["impl<A> Send for MemberData<A>
where\n A: Send,
",1,["gossip_kv::membership::MemberData"]],["impl<A> Send for MemberDataBuilder<A>
where\n A: Send,
",1,["gossip_kv::membership::MemberDataBuilder"]],["impl<A> Send for Protocol<A>
where\n A: Send,
",1,["gossip_kv::membership::Protocol"]],["impl<A> Send for SeedNode<A>
where\n A: Send,
",1,["gossip_kv::server::SeedNode"]],["impl<T, const N: usize> Send for BoundedSetLattice<T, N>
where\n T: Send,
",1,["gossip_kv::lattices::BoundedSetLattice"]]]],["gossip_server",[["impl Send for SeedNodeSettings",1,["gossip_server::config::SeedNodeSettings"]],["impl Send for ServerSettings",1,["gossip_server::config::ServerSettings"]],["impl Send for UnboundedSenderEventHandler",1,["gossip_server::config::UnboundedSenderEventHandler"]],["impl Send for LowercaseAlphanumeric",1,["gossip_server::membership::LowercaseAlphanumeric"]],["impl Send for Opts",1,["gossip_server::Opts"]]]],["hydro_cli",[["impl !Send for AnyhowError",1,["hydro_cli::AnyhowError"]],["impl Send for AnyhowWrapper",1,["hydro_cli::AnyhowWrapper"]],["impl Send for Deployment",1,["hydro_cli::Deployment"]],["impl Send for Host",1,["hydro_cli::Host"]],["impl Send for Service",1,["hydro_cli::Service"]]]],["hydro_deploy",[["impl Send for HostTargetType",1,["hydro_deploy::HostTargetType"]],["impl Send for ServerStrategy",1,["hydro_deploy::ServerStrategy"]],["impl Send for CrateTarget",1,["hydro_deploy::hydroflow_crate::CrateTarget"]],["impl Send for ServerConfig",1,["hydro_deploy::hydroflow_crate::ports::ServerConfig"]],["impl Send for SourcePath",1,["hydro_deploy::hydroflow_crate::ports::SourcePath"]],["impl Send for BarTree",1,["hydro_deploy::progress::BarTree"]],["impl Send for LeafStatus",1,["hydro_deploy::progress::LeafStatus"]],["impl Send for AzureHost",1,["hydro_deploy::azure::AzureHost"]],["impl Send for LaunchedVirtualMachine",1,["hydro_deploy::azure::LaunchedVirtualMachine"]],["impl Send for CustomClientPort",1,["hydro_deploy::custom_service::CustomClientPort"]],["impl Send for CustomService",1,["hydro_deploy::custom_service::CustomService"]],["impl Send for Deployment",1,["hydro_deploy::deployment::Deployment"]],["impl Send for GcpComputeEngineHost",1,["hydro_deploy::gcp::GcpComputeEngineHost"]],["impl Send for GcpNetwork",1,["hydro_deploy::gcp::GcpNetwork"]],["impl Send for LaunchedComputeEngine",1,["hydro_deploy::gcp::LaunchedComputeEngine"]],["impl Send for DemuxSink",1,["hydro_deploy::hydroflow_crate::ports::DemuxSink"]],["impl Send for HydroflowPortConfig",1,["hydro_deploy::hydroflow_crate::ports::HydroflowPortConfig"]],["impl Send for NullSourceSink",1,["hydro_deploy::hydroflow_crate::ports::NullSourceSink"]],["impl Send for TaggedSource",1,["hydro_deploy::hydroflow_crate::ports::TaggedSource"]],["impl Send for HydroflowCrateService",1,["hydro_deploy::hydroflow_crate::service::HydroflowCrateService"]],["impl Send for HydroflowCrate",1,["hydro_deploy::hydroflow_crate::HydroflowCrate"]],["impl Send for TracingOptions",1,["hydro_deploy::hydroflow_crate::tracing_options::TracingOptions"]],["impl Send for LaunchedLocalhostBinary",1,["hydro_deploy::localhost::launched_binary::LaunchedLocalhostBinary"]],["impl Send for LocalhostHost",1,["hydro_deploy::localhost::LocalhostHost"]],["impl Send for ProgressTracker",1,["hydro_deploy::progress::ProgressTracker"]],["impl Send for ResourceBatch",1,["hydro_deploy::ResourceBatch"]],["impl Send for ResourcePool",1,["hydro_deploy::ResourcePool"]],["impl Send for ResourceResult",1,["hydro_deploy::ResourceResult"]],["impl Send for TerraformBatch",1,["hydro_deploy::terraform::TerraformBatch"]],["impl Send for TerraformConfig",1,["hydro_deploy::terraform::TerraformConfig"]],["impl Send for TerraformOutput",1,["hydro_deploy::terraform::TerraformOutput"]],["impl Send for TerraformPool",1,["hydro_deploy::terraform::TerraformPool"]],["impl Send for TerraformProvider",1,["hydro_deploy::terraform::TerraformProvider"]],["impl Send for TerraformResult",1,["hydro_deploy::terraform::TerraformResult"]],["impl Send for TerraformResultOutput",1,["hydro_deploy::terraform::TerraformResultOutput"]],["impl<'a> Send for ClientStrategy<'a>",1,["hydro_deploy::ClientStrategy"]]]],["hydroflow",[["impl !Send for Context",1,["hydroflow::scheduled::context::Context"]],["impl !Send for Fleet",1,["hydroflow::util::simulation::Fleet"]],["impl !Send for Host",1,["hydroflow::util::simulation::Host"]],["impl !Send for HostBuilder",1,["hydroflow::util::simulation::HostBuilder"]],["impl !Send for Inbox",1,["hydroflow::util::simulation::Inbox"]],["impl !Send for Outbox",1,["hydroflow::util::simulation::Outbox"]],["impl Send for RECV",1,["hydroflow::scheduled::port::RECV"]],["impl Send for SEND",1,["hydroflow::scheduled::port::SEND"]],["impl Send for Message",1,["hydroflow::scheduled::net::Message"]],["impl Send for Reactor",1,["hydroflow::scheduled::reactor::Reactor"]],["impl Send for StateHandleErased",1,["hydroflow::scheduled::state::StateHandleErased"]],["impl Send for HandoffId",1,["hydroflow::scheduled::HandoffId"]],["impl Send for StateId",1,["hydroflow::scheduled::StateId"]],["impl Send for SubgraphId",1,["hydroflow::scheduled::SubgraphId"]],["impl Send for TickDuration",1,["hydroflow::scheduled::ticks::TickDuration"]],["impl Send for TickInstant",1,["hydroflow::scheduled::ticks::TickInstant"]],["impl Send for Address",1,["hydroflow::util::simulation::Address"]],["impl Send for DroppableChild",1,["hydroflow::util::DroppableChild"]],["impl<'a> !Send for Hydroflow<'a>",1,["hydroflow::scheduled::graph::Hydroflow"]],["impl<'a> !Send for Query<'a>",1,["hydroflow::scheduled::query::Query"]],["impl<'a, I1, V1, I2, V2> Send for CrossJoin<'a, I1, V1, I2, V2>
where\n I1: Send,\n I2: Send,\n V1: Send,\n V2: Send,
",1,["hydroflow::compiled::pull::cross_join::CrossJoin"]],["impl<'a, Key, I1, V1, I2, V2, LhsState, RhsState> Send for SymmetricHashJoin<'a, Key, I1, V1, I2, V2, LhsState, RhsState>
where\n I1: Send,\n I2: Send,\n LhsState: Send,\n RhsState: Send,
",1,["hydroflow::compiled::pull::symmetric_hash_join::SymmetricHashJoin"]],["impl<'a, Key, V, Ipos> Send for AntiJoin<'a, Key, V, Ipos>
where\n Ipos: Send,\n Key: Send,\n V: Send,
",1,["hydroflow::compiled::pull::anti_join::AntiJoin"]],["impl<'a, T> !Send for Operator<'a, T>",1,["hydroflow::scheduled::query::Operator"]],["impl<'context> !Send for TransducerBuilderContext<'context>",1,["hydroflow::util::simulation::TransducerBuilderContext"]],["impl<F> Send for MonotonicFn<F>
where\n F: Send,
",1,["hydroflow::util::monotonic::MonotonicFn"]],["impl<F> Send for Morphism<F>
where\n F: Send,
",1,["hydroflow::util::monotonic::Morphism"]],["impl<I> Send for Iter<I>
where\n I: Send,
",1,["hydroflow::scheduled::handoff::Iter"]],["impl<K, A> Send for HalfJoinStateFold<K, A>
where\n K: Send,\n A: Send,
",1,["hydroflow::compiled::pull::half_join_state::fold::HalfJoinStateFold"]],["impl<K, A> Send for HalfJoinStateFoldFrom<K, A>
where\n K: Send,\n A: Send,
",1,["hydroflow::compiled::pull::half_join_state::fold_from::HalfJoinStateFoldFrom"]],["impl<K, A> Send for HalfJoinStateReduce<K, A>
where\n K: Send,\n A: Send,
",1,["hydroflow::compiled::pull::half_join_state::reduce::HalfJoinStateReduce"]],["impl<K, V> Send for PersistenceKeyed<K, V>
where\n K: Send,\n V: Send,
",1,["hydroflow::util::PersistenceKeyed"]],["impl<K, V> Send for MonotonicMap<K, V>
where\n V: Send,\n K: Send,
",1,["hydroflow::util::monotonic_map::MonotonicMap"]],["impl<Key, ValBuild, ValProbe> Send for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where\n Key: Send,\n ValProbe: Send,\n ValBuild: Send,
",1,["hydroflow::compiled::pull::half_join_state::multiset::HalfMultisetJoinState"]],["impl<Key, ValBuild, ValProbe> Send for HalfSetJoinState<Key, ValBuild, ValProbe>
where\n Key: Send,\n ValProbe: Send,\n ValBuild: Send,
",1,["hydroflow::compiled::pull::half_join_state::set::HalfSetJoinState"]],["impl<S, H> !Send for Port<S, H>",1,["hydroflow::scheduled::port::Port"]],["impl<S, H> !Send for PortCtx<S, H>",1,["hydroflow::scheduled::port::PortCtx"]],["impl<T> !Send for TeeingHandoff<T>",1,["hydroflow::scheduled::handoff::tee::TeeingHandoff"]],["impl<T> !Send for VecHandoff<T>",1,["hydroflow::scheduled::handoff::vector::VecHandoff"]],["impl<T> !Send for Buffer<T>",1,["hydroflow::scheduled::input::Buffer"]],["impl<T> !Send for StateHandle<T>",1,["hydroflow::scheduled::state::StateHandle"]],["impl<T> !Send for Receiver<T>",1,["hydroflow::util::unsync::mpsc::Receiver"]],["impl<T> !Send for Sender<T>",1,["hydroflow::util::unsync::mpsc::Sender"]],["impl<T> Send for Persistence<T>
where\n T: Send,
",1,["hydroflow::util::Persistence"]],["impl<T> Send for ClearDefault<T>
where\n T: Send,
",1,["hydroflow::util::clear::ClearDefault"]],["impl<T> Send for DeployPorts<T>
where\n T: Send,
",1,["hydroflow::util::deploy::DeployPorts"]],["impl<T> Send for HashMultiSet<T>
where\n T: Send,
",1,["hydroflow::util::multiset::HashMultiSet"]],["impl<T> Send for SparseVec<T>
where\n T: Send,
",1,["hydroflow::util::sparse_vec::SparseVec"]],["impl<T, G> Send for Input<T, G>
where\n G: Send,\n T: Send,
",1,["hydroflow::scheduled::input::Input"]],["impl<V1, V2> Send for CrossJoinState<V1, V2>
where\n V1: Send,\n V2: Send,
",1,["hydroflow::compiled::pull::cross_join::CrossJoinState"]]]],["hydroflow_deploy_integration",[["impl Send for BoundConnection",1,["hydroflow_deploy_integration::BoundConnection"]],["impl Send for RealizedServerPort",1,["hydroflow_deploy_integration::RealizedServerPort"]],["impl Send for ServerBindConfig",1,["hydroflow_deploy_integration::ServerBindConfig"]],["impl Send for ServerOrBound",1,["hydroflow_deploy_integration::ServerOrBound"]],["impl Send for ServerPort",1,["hydroflow_deploy_integration::ServerPort"]],["impl Send for ConnectedDirect",1,["hydroflow_deploy_integration::ConnectedDirect"]],["impl<T> Send for ConnectedDemux<T>",1,["hydroflow_deploy_integration::ConnectedDemux"]],["impl<T> Send for ConnectedTagged<T>",1,["hydroflow_deploy_integration::ConnectedTagged"]],["impl<T, S> Send for DemuxDrain<T, S>
where\n T: Send,\n S: ?Sized,
",1,["hydroflow_deploy_integration::DemuxDrain"]],["impl<T, S> Send for MergeSource<T, S>
where\n T: Send,\n S: ?Sized,
",1,["hydroflow_deploy_integration::MergeSource"]],["impl<T, S> Send for TaggedSource<T, S>
where\n T: Send,\n S: ?Sized,
",1,["hydroflow_deploy_integration::TaggedSource"]]]],["hydroflow_lang",[["impl !Send for GraphNode",1,["hydroflow_lang::graph::GraphNode"]],["impl !Send for PortIndexValue",1,["hydroflow_lang::graph::PortIndexValue"]],["impl !Send for PortListSpec",1,["hydroflow_lang::graph::ops::PortListSpec"]],["impl !Send for HfStatement",1,["hydroflow_lang::parse::HfStatement"]],["impl !Send for Pipeline",1,["hydroflow_lang::parse::Pipeline"]],["impl !Send for PortIndex",1,["hydroflow_lang::parse::PortIndex"]],["impl !Send for OperatorWriteOutput",1,["hydroflow_lang::graph::ops::OperatorWriteOutput"]],["impl !Send for FlatGraphBuilder",1,["hydroflow_lang::graph::flat_graph_builder::FlatGraphBuilder"]],["impl !Send for HydroflowGraph",1,["hydroflow_lang::graph::hydroflow_graph::HydroflowGraph"]],["impl !Send for OpInstGenerics",1,["hydroflow_lang::graph::OpInstGenerics"]],["impl !Send for OperatorInstance",1,["hydroflow_lang::graph::OperatorInstance"]],["impl !Send for HfCode",1,["hydroflow_lang::parse::HfCode"]],["impl !Send for Import",1,["hydroflow_lang::parse::Import"]],["impl !Send for IndexInt",1,["hydroflow_lang::parse::IndexInt"]],["impl !Send for Indexing",1,["hydroflow_lang::parse::Indexing"]],["impl !Send for NamedHfStatement",1,["hydroflow_lang::parse::NamedHfStatement"]],["impl !Send for Operator",1,["hydroflow_lang::parse::Operator"]],["impl !Send for PipelineLink",1,["hydroflow_lang::parse::PipelineLink"]],["impl !Send for PipelineParen",1,["hydroflow_lang::parse::PipelineParen"]],["impl !Send for PipelineStatement",1,["hydroflow_lang::parse::PipelineStatement"]],["impl !Send for PrettyRowCol",1,["hydroflow_lang::pretty_span::PrettyRowCol"]],["impl !Send for PrettySpan",1,["hydroflow_lang::pretty_span::PrettySpan"]],["impl Send for Level",1,["hydroflow_lang::diagnostic::Level"]],["impl Send for Color",1,["hydroflow_lang::graph::Color"]],["impl Send for WriteGraphType",1,["hydroflow_lang::graph::hydroflow_graph::WriteGraphType"]],["impl Send for DelayType",1,["hydroflow_lang::graph::ops::DelayType"]],["impl Send for OperatorCategory",1,["hydroflow_lang::graph::ops::OperatorCategory"]],["impl Send for Persistence",1,["hydroflow_lang::graph::ops::Persistence"]],["impl Send for SerdeSpan",1,["hydroflow_lang::diagnostic::SerdeSpan"]],["impl Send for OperatorConstraints",1,["hydroflow_lang::graph::ops::OperatorConstraints"]],["impl Send for GraphEdgeId",1,["hydroflow_lang::graph::GraphEdgeId"]],["impl Send for GraphNodeId",1,["hydroflow_lang::graph::GraphNodeId"]],["impl Send for GraphSubgraphId",1,["hydroflow_lang::graph::GraphSubgraphId"]],["impl Send for WriteConfig",1,["hydroflow_lang::graph::hydroflow_graph::WriteConfig"]],["impl<'a> !Send for WriteContextArgs<'a>",1,["hydroflow_lang::graph::ops::WriteContextArgs"]],["impl<Inner> !Send for Ported<Inner>",1,["hydroflow_lang::parse::Ported"]],["impl<K> Send for UnionFind<K>
where\n K: Send,
",1,["hydroflow_lang::union_find::UnionFind"]],["impl<S> Send for Diagnostic<S>
where\n S: Send,
",1,["hydroflow_lang::diagnostic::Diagnostic"]],["impl<V, E> Send for DiMulGraph<V, E>
where\n V: Send,\n E: Send,
",1,["hydroflow_lang::graph::di_mul_graph::DiMulGraph"]]]],["hydroflow_plus",[["impl !Send for DebugInstantiate",1,["hydroflow_plus::ir::DebugInstantiate"]],["impl !Send for HfPlusLeaf",1,["hydroflow_plus::ir::HfPlusLeaf"]],["impl !Send for HfPlusNode",1,["hydroflow_plus::ir::HfPlusNode"]],["impl !Send for HfPlusSource",1,["hydroflow_plus::ir::HfPlusSource"]],["impl !Send for FlowStateInner",1,["hydroflow_plus::builder::FlowStateInner"]],["impl !Send for DeployRuntimeCluster",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeCluster"]],["impl !Send for DeployRuntimeNode",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeNode"]],["impl !Send for DebugExpr",1,["hydroflow_plus::ir::DebugExpr"]],["impl !Send for DebugPipelineFn",1,["hydroflow_plus::ir::DebugPipelineFn"]],["impl !Send for TeeNode",1,["hydroflow_plus::ir::TeeNode"]],["impl !Send for PropertyDatabase",1,["hydroflow_plus::rewrites::properties::PropertyDatabase"]],["impl Send for Bounded",1,["hydroflow_plus::boundedness::Bounded"]],["impl Send for Unbounded",1,["hydroflow_plus::boundedness::Unbounded"]],["impl Send for ForwardRefMarker",1,["hydroflow_plus::cycle::ForwardRefMarker"]],["impl Send for TickCycleMarker",1,["hydroflow_plus::cycle::TickCycleMarker"]],["impl Send for LocationId",1,["hydroflow_plus::location::LocationId"]],["impl Send for HydroflowPlusMeta",1,["hydroflow_plus::deploy::deploy_runtime::HydroflowPlusMeta"]],["impl Send for MultiGraph",1,["hydroflow_plus::deploy::in_memory_graph::MultiGraph"]],["impl Send for MultiNode",1,["hydroflow_plus::deploy::in_memory_graph::MultiNode"]],["impl Send for SingleNode",1,["hydroflow_plus::deploy::in_memory_graph::SingleNode"]],["impl Send for SingleProcessGraph",1,["hydroflow_plus::deploy::in_memory_graph::SingleProcessGraph"]],["impl Send for DeployRuntime",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntime"]],["impl Send for ExternalBytesPort",1,["hydroflow_plus::location::external_process::ExternalBytesPort"]],["impl Send for NoOrder",1,["hydroflow_plus::stream::NoOrder"]],["impl Send for TotalOrder",1,["hydroflow_plus::stream::TotalOrder"]],["impl<'a> !Send for BuiltFlow<'a>",1,["hydroflow_plus::builder::built::BuiltFlow"]],["impl<'a> !Send for CompiledFlowWithId<'a>",1,["hydroflow_plus::builder::compiled::CompiledFlowWithId"]],["impl<'a> !Send for FlowBuilder<'a>",1,["hydroflow_plus::builder::FlowBuilder"]],["impl<'a> Send for ClusterSelfId<'a>",1,["hydroflow_plus::location::cluster::ClusterSelfId"]],["impl<'a> Send for RuntimeContext<'a>",1,["hydroflow_plus::runtime_context::RuntimeContext"]],["impl<'a, C> !Send for Cluster<'a, C>",1,["hydroflow_plus::location::cluster::Cluster"]],["impl<'a, C> Send for ClusterIds<'a, C>
where\n C: Send,
",1,["hydroflow_plus::location::cluster::ClusterIds"]],["impl<'a, D> !Send for DeployFlow<'a, D>",1,["hydroflow_plus::builder::deploy::DeployFlow"]],["impl<'a, D> Send for DeployResult<'a, D>
where\n <D as Deploy<'a>>::Process: Send,\n <D as Deploy<'a>>::Cluster: Send,\n <D as Deploy<'a>>::ExternalProcess: Send,
",1,["hydroflow_plus::builder::deploy::DeployResult"]],["impl<'a, ID> !Send for CompiledFlow<'a, ID>",1,["hydroflow_plus::builder::compiled::CompiledFlow"]],["impl<'a, P = ()> !Send for Process<'a, P>",1,["hydroflow_plus::location::process::Process"]],["impl<'a, P> !Send for ExternalProcess<'a, P>",1,["hydroflow_plus::location::external_process::ExternalProcess"]],["impl<'a, S> !Send for ForwardRef<'a, S>",1,["hydroflow_plus::cycle::ForwardRef"]],["impl<'a, S> !Send for TickCycle<'a, S>",1,["hydroflow_plus::cycle::TickCycle"]],["impl<C> Send for ClusterId<C>
where\n C: Send,
",1,["hydroflow_plus::location::cluster::cluster_id::ClusterId"]],["impl<L> Send for Tick<L>
where\n L: Send,
",1,["hydroflow_plus::location::tick::Tick"]],["impl<L> Send for Timestamped<L>
where\n L: Send,
",1,["hydroflow_plus::location::tick::Timestamped"]],["impl<T> Send for ExternalBincodeSink<T>
where\n T: Send,
",1,["hydroflow_plus::location::external_process::ExternalBincodeSink"]],["impl<T> Send for ExternalBincodeStream<T>
where\n T: Send,
",1,["hydroflow_plus::location::external_process::ExternalBincodeStream"]],["impl<T, L, B> !Send for Optional<T, L, B>",1,["hydroflow_plus::optional::Optional"]],["impl<T, L, B> !Send for Singleton<T, L, B>",1,["hydroflow_plus::singleton::Singleton"]],["impl<T, L, B, Order = TotalOrder> !Send for Stream<T, L, B, Order>",1,["hydroflow_plus::stream::Stream"]]]],["hydroflow_plus_test",[["impl Send for Leader",1,["hydroflow_plus_test::cluster::compute_pi::Leader"]],["impl Send for Worker",1,["hydroflow_plus_test::cluster::compute_pi::Worker"]],["impl Send for Leader",1,["hydroflow_plus_test::cluster::map_reduce::Leader"]],["impl Send for Worker",1,["hydroflow_plus_test::cluster::map_reduce::Worker"]],["impl Send for Acceptor",1,["hydroflow_plus_test::cluster::paxos::Acceptor"]],["impl Send for Ballot",1,["hydroflow_plus_test::cluster::paxos::Ballot"]],["impl Send for Proposer",1,["hydroflow_plus_test::cluster::paxos::Proposer"]],["impl Send for Client",1,["hydroflow_plus_test::cluster::paxos_bench::Client"]],["impl Send for Replica",1,["hydroflow_plus_test::cluster::paxos_kv::Replica"]],["impl Send for Client",1,["hydroflow_plus_test::cluster::two_pc::Client"]],["impl Send for Coordinator",1,["hydroflow_plus_test::cluster::two_pc::Coordinator"]],["impl Send for Participants",1,["hydroflow_plus_test::cluster::two_pc::Participants"]],["impl Send for P1",1,["hydroflow_plus_test::distributed::first_ten::P1"]],["impl Send for P2",1,["hydroflow_plus_test::distributed::first_ten::P2"]],["impl<K, V> Send for KvPayload<K, V>
where\n K: Send,\n V: Send,
",1,["hydroflow_plus_test::cluster::paxos_kv::KvPayload"]],["impl<K, V> Send for SequencedKv<K, V>
where\n K: Send,\n V: Send,
",1,["hydroflow_plus_test::cluster::paxos_kv::SequencedKv"]]]],["latency_measure",[["impl Send for TopolotreeMessage",1,["latency_measure::protocol::TopolotreeMessage"]],["impl Send for OperationPayload",1,["latency_measure::protocol::OperationPayload"]],["impl Send for QueryResponse",1,["latency_measure::protocol::QueryResponse"]],["impl<T> Send for Payload<T>
where\n T: Send,
",1,["latency_measure::protocol::Payload"]],["impl<T> Send for Timestamped<T>
where\n T: Send,
",1,["latency_measure::protocol::Timestamped"]]]],["lattices",[["impl Send for U32WithInfinity",1,["lattices::semiring_application::U32WithInfinity"]],["impl Send for BinaryTrust",1,["lattices::semiring_application::BinaryTrust"]],["impl Send for ConfidenceScore",1,["lattices::semiring_application::ConfidenceScore"]],["impl Send for Cost",1,["lattices::semiring_application::Cost"]],["impl Send for FuzzyLogic",1,["lattices::semiring_application::FuzzyLogic"]],["impl Send for Multiplicity",1,["lattices::semiring_application::Multiplicity"]],["impl Send for PairBimorphism",1,["lattices::pair::PairBimorphism"]],["impl<Bimorphism> Send for GhtBimorphism<Bimorphism>
where\n Bimorphism: Send,
",1,["lattices::ght::lattice::GhtBimorphism"]],["impl<Bimorphism> Send for GhtNodeKeyedBimorphism<Bimorphism>
where\n Bimorphism: Send,
",1,["lattices::ght::lattice::GhtNodeKeyedBimorphism"]],["impl<GhtOut> Send for GhtCartesianProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtCartesianProductBimorphism"]],["impl<GhtOut> Send for GhtValTypeProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtValTypeProductBimorphism"]],["impl<Head, Node> Send for GhtInner<Head, Node>
where\n Head: Send,\n Node: Send,
",1,["lattices::ght::GhtInner"]],["impl<Inner> Send for WithBot<Inner>
where\n Inner: Send,
",1,["lattices::with_bot::WithBot"]],["impl<Inner> Send for WithTop<Inner>
where\n Inner: Send,
",1,["lattices::with_top::WithTop"]],["impl<K, V> Send for EmptyMap<K, V>
where\n K: Send,\n V: Send,
",1,["lattices::collections::EmptyMap"]],["impl<K, V> Send for OptionMap<K, V>
where\n K: Send,\n V: Send,
",1,["lattices::collections::OptionMap"]],["impl<K, V> Send for SingletonMap<K, V>
where\n K: Send,\n V: Send,
",1,["lattices::collections::SingletonMap"]],["impl<K, V> Send for VecMap<K, V>
where\n K: Send,\n V: Send,
",1,["lattices::collections::VecMap"]],["impl<K, V, const N: usize> Send for ArrayMap<K, V, N>
where\n K: Send,\n V: Send,
",1,["lattices::collections::ArrayMap"]],["impl<Key, Val> Send for DomPair<Key, Val>
where\n Key: Send,\n Val: Send,
",1,["lattices::dom_pair::DomPair"]],["impl<Lat> Send for VecUnion<Lat>
where\n Lat: Send,
",1,["lattices::vec_union::VecUnion"]],["impl<LatA, LatB> Send for Pair<LatA, LatB>
where\n LatA: Send,\n LatB: Send,
",1,["lattices::pair::Pair"]],["impl<Map> Send for MapUnion<Map>
where\n Map: Send,
",1,["lattices::map_union::MapUnion"]],["impl<Map> Send for UnionFind<Map>
where\n Map: Send,
",1,["lattices::union_find::UnionFind"]],["impl<Map, TombstoneSet> Send for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: Send,\n TombstoneSet: Send,
",1,["lattices::map_union_with_tombstones::MapUnionWithTombstones"]],["impl<MapOut, Bimorphism> Send for KeyedBimorphism<MapOut, Bimorphism>
where\n Bimorphism: Send,
",1,["lattices::map_union::KeyedBimorphism"]],["impl<Schema, ValType, Storage> Send for GhtLeaf<Schema, ValType, Storage>
where\n Storage: Send,\n ValType: Send,
",1,["lattices::ght::GhtLeaf"]],["impl<Set> Send for SetUnion<Set>
where\n Set: Send,
",1,["lattices::set_union::SetUnion"]],["impl<Set, TombstoneSet> Send for SetUnionWithTombstones<Set, TombstoneSet>
where\n Set: Send,\n TombstoneSet: Send,
",1,["lattices::set_union_with_tombstones::SetUnionWithTombstones"]],["impl<SetOut> Send for CartesianProductBimorphism<SetOut>",1,["lattices::set_union::CartesianProductBimorphism"]],["impl<T> Send for EmptySet<T>
where\n T: Send,
",1,["lattices::collections::EmptySet"]],["impl<T> Send for OptionSet<T>
where\n T: Send,
",1,["lattices::collections::OptionSet"]],["impl<T> Send for SingletonSet<T>
where\n T: Send,
",1,["lattices::collections::SingletonSet"]],["impl<T> Send for VecSet<T>
where\n T: Send,
",1,["lattices::collections::VecSet"]],["impl<T> Send for Conflict<T>
where\n T: Send,
",1,["lattices::conflict::Conflict"]],["impl<T> Send for Max<T>
where\n T: Send,
",1,["lattices::ord::Max"]],["impl<T> Send for Min<T>
where\n T: Send,
",1,["lattices::ord::Min"]],["impl<T, Provenance> !Send for Point<T, Provenance>",1,["lattices::point::Point"]],["impl<T, const N: usize> Send for ArraySet<T, N>
where\n T: Send,
",1,["lattices::collections::ArraySet"]]]],["load_test_server",[["impl Send for Opts",1,["load_test_server::Opts"]],["impl Send for Switchboard",1,["load_test_server::Switchboard"]]]],["pn",[["impl !Send for GossipOrIncrement",1,["pn::GossipOrIncrement"]],["impl Send for TopolotreeMessage",1,["pn::protocol::TopolotreeMessage"]],["impl Send for OperationPayload",1,["pn::protocol::OperationPayload"]],["impl Send for QueryResponse",1,["pn::protocol::QueryResponse"]],["impl<T> Send for Payload<T>
where\n T: Send,
",1,["pn::protocol::Payload"]],["impl<T> Send for Timestamped<T>
where\n T: Send,
",1,["pn::protocol::Timestamped"]]]],["pn_delta",[["impl Send for GossipOrIncrement",1,["pn_delta::GossipOrIncrement"]],["impl Send for TopolotreeMessage",1,["pn_delta::protocol::TopolotreeMessage"]],["impl Send for OperationPayload",1,["pn_delta::protocol::OperationPayload"]],["impl Send for QueryResponse",1,["pn_delta::protocol::QueryResponse"]],["impl<T> Send for Payload<T>
where\n T: Send,
",1,["pn_delta::protocol::Payload"]],["impl<T> Send for Timestamped<T>
where\n T: Send,
",1,["pn_delta::protocol::Timestamped"]]]],["pusherator",[["impl<Func, In> Send for ForEach<Func, In>
where\n Func: Send,
",1,["pusherator::for_each::ForEach"]],["impl<Func, Nexts, Item> Send for Demux<Func, Nexts, Item>
where\n Func: Send,\n Nexts: Send,
",1,["pusherator::demux::Demux"]],["impl<I> Send for PivotBuild<I>
where\n I: Send,
",1,["pusherator::pivot::PivotBuild"]],["impl<I, P> Send for Pivot<I, P>
where\n I: Send,\n P: Send,
",1,["pusherator::pivot::Pivot"]],["impl<In> Send for Null<In>
where\n In: Send,
",1,["pusherator::null::Null"]],["impl<Next, Func> Send for Filter<Next, Func>
where\n Next: Send,\n Func: Send,
",1,["pusherator::filter::Filter"]],["impl<Next, Func> Send for Inspect<Next, Func>
where\n Next: Send,\n Func: Send,
",1,["pusherator::inspect::Inspect"]],["impl<Next, Func, In> Send for FilterMap<Next, Func, In>
where\n Next: Send,\n Func: Send,
",1,["pusherator::filter_map::FilterMap"]],["impl<Next, Func, In> Send for Map<Next, Func, In>
where\n Next: Send,\n Func: Send,
",1,["pusherator::map::Map"]],["impl<Next, In> Send for Flatten<Next, In>
where\n Next: Send,
",1,["pusherator::flatten::Flatten"]],["impl<Next1, Next2> Send for Switch<Next1, Next2>
where\n Next1: Send,\n Next2: Send,
",1,["pusherator::switch::Switch"]],["impl<Next1, Next2> Send for Tee<Next1, Next2>
where\n Next1: Send,\n Next2: Send,
",1,["pusherator::tee::Tee"]],["impl<Next1, Next2> Send for Unzip<Next1, Next2>
where\n Next1: Send,\n Next2: Send,
",1,["pusherator::unzip::Unzip"]],["impl<Next1, Next2, Func> Send for Partition<Next1, Next2, Func>
where\n Next1: Send,\n Next2: Send,\n Func: Send,
",1,["pusherator::partition::Partition"]],["impl<Prev> Send for FlattenBuild<Prev>
where\n Prev: Send,
",1,["pusherator::flatten::FlattenBuild"]],["impl<Prev, Func> Send for FilterBuild<Prev, Func>
where\n Prev: Send,\n Func: Send,
",1,["pusherator::filter::FilterBuild"]],["impl<Prev, Func> Send for FilterMapBuild<Prev, Func>
where\n Prev: Send,\n Func: Send,
",1,["pusherator::filter_map::FilterMapBuild"]],["impl<Prev, Func> Send for InspectBuild<Prev, Func>
where\n Prev: Send,\n Func: Send,
",1,["pusherator::inspect::InspectBuild"]],["impl<Prev, Func> Send for MapBuild<Prev, Func>
where\n Prev: Send,\n Func: Send,
",1,["pusherator::map::MapBuild"]],["impl<Prev, Next1> Send for SwitchBuild<Prev, Next1>
where\n Prev: Send,\n Next1: Send,
",1,["pusherator::switch::SwitchBuild"]],["impl<Prev, Next1> Send for TeeBuild<Prev, Next1>
where\n <Prev as PusheratorBuild>::ItemOut: Sized,\n Prev: Send,\n Next1: Send,
",1,["pusherator::tee::TeeBuild"]],["impl<Prev, Next1> Send for UnzipBuild<Prev, Next1>
where\n Prev: Send,\n Next1: Send,
",1,["pusherator::unzip::UnzipBuild"]],["impl<Prev, Next1, Func> Send for PartitionBuild<Prev, Next1, Func>
where\n Prev: Send,\n Next1: Send,\n Func: Send,
",1,["pusherator::partition::PartitionBuild"]],["impl<T> Send for InputBuild<T>
where\n T: Send,
",1,["pusherator::InputBuild"]]]],["relalg",[["impl Send for Datum",1,["relalg::Datum"]],["impl Send for ScalarExpr",1,["relalg::ScalarExpr"]]]],["stageleft",[["impl<'a> Send for BorrowBounds<'a>",1,["stageleft::BorrowBounds"]],["impl<T> Send for Import<T>
where\n T: Send,
",1,["stageleft::runtime_support::Import"]],["impl<T> Send for RuntimeData<T>
where\n T: Send,
",1,["stageleft::RuntimeData"]]]],["topolotree",[["impl Send for TopolotreeMessage",1,["topolotree::protocol::TopolotreeMessage"]],["impl Send for OperationPayload",1,["topolotree::protocol::OperationPayload"]],["impl Send for QueryResponse",1,["topolotree::protocol::QueryResponse"]],["impl Send for NodeId",1,["topolotree::NodeId"]],["impl<T> Send for Payload<T>
where\n T: Send,
",1,["topolotree::protocol::Payload"]],["impl<T> Send for Timestamped<T>
where\n T: Send,
",1,["topolotree::protocol::Timestamped"]]]],["variadics",[["impl<Iter, Item> Send for DuplicateCounted<Iter, Item>
where\n Iter: Send,\n Item: Send,
",1,["variadics::variadic_collections::DuplicateCounted"]],["impl<K, S> Send for VariadicCountedHashSet<K, S>
where\n S: Send,\n K: Send,
",1,["variadics::variadic_collections::VariadicCountedHashSet"]],["impl<Schema> Send for VariadicColumnMultiset<Schema>
where\n <Schema as VariadicExt>::IntoVec: Send,
",1,["variadics::variadic_collections::VariadicColumnMultiset"]],["impl<T, S> Send for VariadicHashSet<T, S>
where\n S: Send,\n T: Send,
",1,["variadics::variadic_collections::VariadicHashSet"]]]],["website_playground",[["impl Send for HydroflowOutput",1,["website_playground::HydroflowOutput"]],["impl Send for HydroflowResult",1,["website_playground::HydroflowResult"]],["impl Send for JsDiagnostic",1,["website_playground::JsDiagnostic"]],["impl Send for JsLineColumn",1,["website_playground::JsLineColumn"]],["impl Send for JsSpan",1,["website_playground::JsSpan"]]]]]); + var implementors = Object.fromEntries([["gossip_cli",[["impl Send for InteractiveCommands",1,["gossip_cli::InteractiveCommands"]],["impl Send for InteractiveApp",1,["gossip_cli::InteractiveApp"]],["impl Send for Opts",1,["gossip_cli::Opts"]]]],["gossip_kv",[["impl Send for ClientRequest",1,["gossip_kv::ClientRequest"]],["impl Send for ClientResponse",1,["gossip_kv::ClientResponse"]],["impl Send for GossipMessage",1,["gossip_kv::GossipMessage"]],["impl Send for KeyParseError",1,["gossip_kv::KeyParseError"]],["impl Send for Namespace",1,["gossip_kv::Namespace"]],["impl Send for InfectingWrite",1,["gossip_kv::server::InfectingWrite"]],["impl Send for SETS_COUNTER",1,["gossip_kv::server::SETS_COUNTER"]],["impl Send for Key",1,["gossip_kv::Key"]],["impl<A> Send for ClientRequestWithAddress<A>
where\n A: Send,
",1,["gossip_kv::util::ClientRequestWithAddress"]],["impl<A> Send for GossipRequestWithAddress<A>
where\n A: Send,
",1,["gossip_kv::util::GossipRequestWithAddress"]],["impl<A> Send for MemberData<A>
where\n A: Send,
",1,["gossip_kv::membership::MemberData"]],["impl<A> Send for MemberDataBuilder<A>
where\n A: Send,
",1,["gossip_kv::membership::MemberDataBuilder"]],["impl<A> Send for Protocol<A>
where\n A: Send,
",1,["gossip_kv::membership::Protocol"]],["impl<A> Send for SeedNode<A>
where\n A: Send,
",1,["gossip_kv::server::SeedNode"]],["impl<T, const N: usize> Send for BoundedSetLattice<T, N>
where\n T: Send,
",1,["gossip_kv::lattices::BoundedSetLattice"]]]],["gossip_server",[["impl Send for SeedNodeSettings",1,["gossip_server::config::SeedNodeSettings"]],["impl Send for ServerSettings",1,["gossip_server::config::ServerSettings"]],["impl Send for UnboundedSenderEventHandler",1,["gossip_server::config::UnboundedSenderEventHandler"]],["impl Send for LowercaseAlphanumeric",1,["gossip_server::membership::LowercaseAlphanumeric"]],["impl Send for Opts",1,["gossip_server::Opts"]]]],["hydro_cli",[["impl !Send for AnyhowError",1,["hydro_cli::AnyhowError"]],["impl Send for AnyhowWrapper",1,["hydro_cli::AnyhowWrapper"]],["impl Send for Deployment",1,["hydro_cli::Deployment"]],["impl Send for Host",1,["hydro_cli::Host"]],["impl Send for Service",1,["hydro_cli::Service"]]]],["hydro_deploy",[["impl Send for HostTargetType",1,["hydro_deploy::HostTargetType"]],["impl Send for ServerStrategy",1,["hydro_deploy::ServerStrategy"]],["impl Send for CrateTarget",1,["hydro_deploy::hydroflow_crate::CrateTarget"]],["impl Send for ServerConfig",1,["hydro_deploy::hydroflow_crate::ports::ServerConfig"]],["impl Send for SourcePath",1,["hydro_deploy::hydroflow_crate::ports::SourcePath"]],["impl Send for BarTree",1,["hydro_deploy::progress::BarTree"]],["impl Send for LeafStatus",1,["hydro_deploy::progress::LeafStatus"]],["impl Send for AzureHost",1,["hydro_deploy::azure::AzureHost"]],["impl Send for LaunchedVirtualMachine",1,["hydro_deploy::azure::LaunchedVirtualMachine"]],["impl Send for CustomClientPort",1,["hydro_deploy::custom_service::CustomClientPort"]],["impl Send for CustomService",1,["hydro_deploy::custom_service::CustomService"]],["impl Send for Deployment",1,["hydro_deploy::deployment::Deployment"]],["impl Send for GcpComputeEngineHost",1,["hydro_deploy::gcp::GcpComputeEngineHost"]],["impl Send for GcpNetwork",1,["hydro_deploy::gcp::GcpNetwork"]],["impl Send for LaunchedComputeEngine",1,["hydro_deploy::gcp::LaunchedComputeEngine"]],["impl Send for DemuxSink",1,["hydro_deploy::hydroflow_crate::ports::DemuxSink"]],["impl Send for HydroflowPortConfig",1,["hydro_deploy::hydroflow_crate::ports::HydroflowPortConfig"]],["impl Send for NullSourceSink",1,["hydro_deploy::hydroflow_crate::ports::NullSourceSink"]],["impl Send for TaggedSource",1,["hydro_deploy::hydroflow_crate::ports::TaggedSource"]],["impl Send for HydroflowCrateService",1,["hydro_deploy::hydroflow_crate::service::HydroflowCrateService"]],["impl Send for HydroflowCrate",1,["hydro_deploy::hydroflow_crate::HydroflowCrate"]],["impl Send for TracingOptions",1,["hydro_deploy::hydroflow_crate::tracing_options::TracingOptions"]],["impl Send for LaunchedLocalhostBinary",1,["hydro_deploy::localhost::launched_binary::LaunchedLocalhostBinary"]],["impl Send for LocalhostHost",1,["hydro_deploy::localhost::LocalhostHost"]],["impl Send for ProgressTracker",1,["hydro_deploy::progress::ProgressTracker"]],["impl Send for ResourceBatch",1,["hydro_deploy::ResourceBatch"]],["impl Send for ResourcePool",1,["hydro_deploy::ResourcePool"]],["impl Send for ResourceResult",1,["hydro_deploy::ResourceResult"]],["impl Send for TerraformBatch",1,["hydro_deploy::terraform::TerraformBatch"]],["impl Send for TerraformConfig",1,["hydro_deploy::terraform::TerraformConfig"]],["impl Send for TerraformOutput",1,["hydro_deploy::terraform::TerraformOutput"]],["impl Send for TerraformPool",1,["hydro_deploy::terraform::TerraformPool"]],["impl Send for TerraformProvider",1,["hydro_deploy::terraform::TerraformProvider"]],["impl Send for TerraformResult",1,["hydro_deploy::terraform::TerraformResult"]],["impl Send for TerraformResultOutput",1,["hydro_deploy::terraform::TerraformResultOutput"]],["impl<'a> Send for ClientStrategy<'a>",1,["hydro_deploy::ClientStrategy"]]]],["hydroflow",[["impl !Send for Context",1,["hydroflow::scheduled::context::Context"]],["impl !Send for Fleet",1,["hydroflow::util::simulation::Fleet"]],["impl !Send for Host",1,["hydroflow::util::simulation::Host"]],["impl !Send for HostBuilder",1,["hydroflow::util::simulation::HostBuilder"]],["impl !Send for Inbox",1,["hydroflow::util::simulation::Inbox"]],["impl !Send for Outbox",1,["hydroflow::util::simulation::Outbox"]],["impl Send for RECV",1,["hydroflow::scheduled::port::RECV"]],["impl Send for SEND",1,["hydroflow::scheduled::port::SEND"]],["impl Send for Message",1,["hydroflow::scheduled::net::Message"]],["impl Send for Reactor",1,["hydroflow::scheduled::reactor::Reactor"]],["impl Send for StateHandleErased",1,["hydroflow::scheduled::state::StateHandleErased"]],["impl Send for HandoffId",1,["hydroflow::scheduled::HandoffId"]],["impl Send for StateId",1,["hydroflow::scheduled::StateId"]],["impl Send for SubgraphId",1,["hydroflow::scheduled::SubgraphId"]],["impl Send for TickDuration",1,["hydroflow::scheduled::ticks::TickDuration"]],["impl Send for TickInstant",1,["hydroflow::scheduled::ticks::TickInstant"]],["impl Send for Address",1,["hydroflow::util::simulation::Address"]],["impl Send for DroppableChild",1,["hydroflow::util::DroppableChild"]],["impl<'a> !Send for Hydroflow<'a>",1,["hydroflow::scheduled::graph::Hydroflow"]],["impl<'a> !Send for Query<'a>",1,["hydroflow::scheduled::query::Query"]],["impl<'a, I1, V1, I2, V2> Send for CrossJoin<'a, I1, V1, I2, V2>
where\n I1: Send,\n I2: Send,\n V1: Send,\n V2: Send,
",1,["hydroflow::compiled::pull::cross_join::CrossJoin"]],["impl<'a, Key, I1, V1, I2, V2, LhsState, RhsState> Send for SymmetricHashJoin<'a, Key, I1, V1, I2, V2, LhsState, RhsState>
where\n I1: Send,\n I2: Send,\n LhsState: Send,\n RhsState: Send,
",1,["hydroflow::compiled::pull::symmetric_hash_join::SymmetricHashJoin"]],["impl<'a, Key, V, Ipos> Send for AntiJoin<'a, Key, V, Ipos>
where\n Ipos: Send,\n Key: Send,\n V: Send,
",1,["hydroflow::compiled::pull::anti_join::AntiJoin"]],["impl<'a, T> !Send for Operator<'a, T>",1,["hydroflow::scheduled::query::Operator"]],["impl<'context> !Send for TransducerBuilderContext<'context>",1,["hydroflow::util::simulation::TransducerBuilderContext"]],["impl<F> Send for MonotonicFn<F>
where\n F: Send,
",1,["hydroflow::util::monotonic::MonotonicFn"]],["impl<F> Send for Morphism<F>
where\n F: Send,
",1,["hydroflow::util::monotonic::Morphism"]],["impl<I> Send for Iter<I>
where\n I: Send,
",1,["hydroflow::scheduled::handoff::Iter"]],["impl<K, A> Send for HalfJoinStateFold<K, A>
where\n K: Send,\n A: Send,
",1,["hydroflow::compiled::pull::half_join_state::fold::HalfJoinStateFold"]],["impl<K, A> Send for HalfJoinStateFoldFrom<K, A>
where\n K: Send,\n A: Send,
",1,["hydroflow::compiled::pull::half_join_state::fold_from::HalfJoinStateFoldFrom"]],["impl<K, A> Send for HalfJoinStateReduce<K, A>
where\n K: Send,\n A: Send,
",1,["hydroflow::compiled::pull::half_join_state::reduce::HalfJoinStateReduce"]],["impl<K, V> Send for PersistenceKeyed<K, V>
where\n K: Send,\n V: Send,
",1,["hydroflow::util::PersistenceKeyed"]],["impl<K, V> Send for MonotonicMap<K, V>
where\n V: Send,\n K: Send,
",1,["hydroflow::util::monotonic_map::MonotonicMap"]],["impl<Key, ValBuild, ValProbe> Send for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where\n Key: Send,\n ValProbe: Send,\n ValBuild: Send,
",1,["hydroflow::compiled::pull::half_join_state::multiset::HalfMultisetJoinState"]],["impl<Key, ValBuild, ValProbe> Send for HalfSetJoinState<Key, ValBuild, ValProbe>
where\n Key: Send,\n ValProbe: Send,\n ValBuild: Send,
",1,["hydroflow::compiled::pull::half_join_state::set::HalfSetJoinState"]],["impl<S, H> !Send for Port<S, H>",1,["hydroflow::scheduled::port::Port"]],["impl<S, H> !Send for PortCtx<S, H>",1,["hydroflow::scheduled::port::PortCtx"]],["impl<T> !Send for TeeingHandoff<T>",1,["hydroflow::scheduled::handoff::tee::TeeingHandoff"]],["impl<T> !Send for VecHandoff<T>",1,["hydroflow::scheduled::handoff::vector::VecHandoff"]],["impl<T> !Send for Buffer<T>",1,["hydroflow::scheduled::input::Buffer"]],["impl<T> !Send for StateHandle<T>",1,["hydroflow::scheduled::state::StateHandle"]],["impl<T> !Send for Receiver<T>",1,["hydroflow::util::unsync::mpsc::Receiver"]],["impl<T> !Send for Sender<T>",1,["hydroflow::util::unsync::mpsc::Sender"]],["impl<T> Send for Persistence<T>
where\n T: Send,
",1,["hydroflow::util::Persistence"]],["impl<T> Send for ClearDefault<T>
where\n T: Send,
",1,["hydroflow::util::clear::ClearDefault"]],["impl<T> Send for DeployPorts<T>
where\n T: Send,
",1,["hydroflow::util::deploy::DeployPorts"]],["impl<T> Send for HashMultiSet<T>
where\n T: Send,
",1,["hydroflow::util::multiset::HashMultiSet"]],["impl<T> Send for SparseVec<T>
where\n T: Send,
",1,["hydroflow::util::sparse_vec::SparseVec"]],["impl<T, G> Send for Input<T, G>
where\n G: Send,\n T: Send,
",1,["hydroflow::scheduled::input::Input"]],["impl<V1, V2> Send for CrossJoinState<V1, V2>
where\n V1: Send,\n V2: Send,
",1,["hydroflow::compiled::pull::cross_join::CrossJoinState"]]]],["hydroflow_deploy_integration",[["impl Send for BoundConnection",1,["hydroflow_deploy_integration::BoundConnection"]],["impl Send for RealizedServerPort",1,["hydroflow_deploy_integration::RealizedServerPort"]],["impl Send for ServerBindConfig",1,["hydroflow_deploy_integration::ServerBindConfig"]],["impl Send for ServerOrBound",1,["hydroflow_deploy_integration::ServerOrBound"]],["impl Send for ServerPort",1,["hydroflow_deploy_integration::ServerPort"]],["impl Send for ConnectedDirect",1,["hydroflow_deploy_integration::ConnectedDirect"]],["impl<T> Send for ConnectedDemux<T>",1,["hydroflow_deploy_integration::ConnectedDemux"]],["impl<T> Send for ConnectedTagged<T>",1,["hydroflow_deploy_integration::ConnectedTagged"]],["impl<T, S> Send for DemuxDrain<T, S>
where\n T: Send,\n S: ?Sized,
",1,["hydroflow_deploy_integration::DemuxDrain"]],["impl<T, S> Send for MergeSource<T, S>
where\n T: Send,\n S: ?Sized,
",1,["hydroflow_deploy_integration::MergeSource"]],["impl<T, S> Send for TaggedSource<T, S>
where\n T: Send,\n S: ?Sized,
",1,["hydroflow_deploy_integration::TaggedSource"]]]],["hydroflow_lang",[["impl !Send for GraphNode",1,["hydroflow_lang::graph::GraphNode"]],["impl !Send for PortIndexValue",1,["hydroflow_lang::graph::PortIndexValue"]],["impl !Send for PortListSpec",1,["hydroflow_lang::graph::ops::PortListSpec"]],["impl !Send for HfStatement",1,["hydroflow_lang::parse::HfStatement"]],["impl !Send for Pipeline",1,["hydroflow_lang::parse::Pipeline"]],["impl !Send for PortIndex",1,["hydroflow_lang::parse::PortIndex"]],["impl !Send for OperatorWriteOutput",1,["hydroflow_lang::graph::ops::OperatorWriteOutput"]],["impl !Send for FlatGraphBuilder",1,["hydroflow_lang::graph::flat_graph_builder::FlatGraphBuilder"]],["impl !Send for HydroflowGraph",1,["hydroflow_lang::graph::hydroflow_graph::HydroflowGraph"]],["impl !Send for OpInstGenerics",1,["hydroflow_lang::graph::OpInstGenerics"]],["impl !Send for OperatorInstance",1,["hydroflow_lang::graph::OperatorInstance"]],["impl !Send for HfCode",1,["hydroflow_lang::parse::HfCode"]],["impl !Send for Import",1,["hydroflow_lang::parse::Import"]],["impl !Send for IndexInt",1,["hydroflow_lang::parse::IndexInt"]],["impl !Send for Indexing",1,["hydroflow_lang::parse::Indexing"]],["impl !Send for LoopStatement",1,["hydroflow_lang::parse::LoopStatement"]],["impl !Send for NamedHfStatement",1,["hydroflow_lang::parse::NamedHfStatement"]],["impl !Send for Operator",1,["hydroflow_lang::parse::Operator"]],["impl !Send for PipelineLink",1,["hydroflow_lang::parse::PipelineLink"]],["impl !Send for PipelineParen",1,["hydroflow_lang::parse::PipelineParen"]],["impl !Send for PipelineStatement",1,["hydroflow_lang::parse::PipelineStatement"]],["impl !Send for PrettyRowCol",1,["hydroflow_lang::pretty_span::PrettyRowCol"]],["impl !Send for PrettySpan",1,["hydroflow_lang::pretty_span::PrettySpan"]],["impl Send for Level",1,["hydroflow_lang::diagnostic::Level"]],["impl Send for Color",1,["hydroflow_lang::graph::Color"]],["impl Send for WriteGraphType",1,["hydroflow_lang::graph::hydroflow_graph::WriteGraphType"]],["impl Send for DelayType",1,["hydroflow_lang::graph::ops::DelayType"]],["impl Send for FloType",1,["hydroflow_lang::graph::ops::FloType"]],["impl Send for OperatorCategory",1,["hydroflow_lang::graph::ops::OperatorCategory"]],["impl Send for Persistence",1,["hydroflow_lang::graph::ops::Persistence"]],["impl Send for SerdeSpan",1,["hydroflow_lang::diagnostic::SerdeSpan"]],["impl Send for OperatorConstraints",1,["hydroflow_lang::graph::ops::OperatorConstraints"]],["impl Send for GraphEdgeId",1,["hydroflow_lang::graph::GraphEdgeId"]],["impl Send for GraphLoopId",1,["hydroflow_lang::graph::GraphLoopId"]],["impl Send for GraphNodeId",1,["hydroflow_lang::graph::GraphNodeId"]],["impl Send for GraphSubgraphId",1,["hydroflow_lang::graph::GraphSubgraphId"]],["impl Send for WriteConfig",1,["hydroflow_lang::graph::hydroflow_graph::WriteConfig"]],["impl<'a> !Send for WriteContextArgs<'a>",1,["hydroflow_lang::graph::ops::WriteContextArgs"]],["impl<Inner> !Send for Ported<Inner>",1,["hydroflow_lang::parse::Ported"]],["impl<K> Send for UnionFind<K>
where\n K: Send,
",1,["hydroflow_lang::union_find::UnionFind"]],["impl<S> Send for Diagnostic<S>
where\n S: Send,
",1,["hydroflow_lang::diagnostic::Diagnostic"]],["impl<V, E> Send for DiMulGraph<V, E>
where\n V: Send,\n E: Send,
",1,["hydroflow_lang::graph::di_mul_graph::DiMulGraph"]]]],["hydroflow_plus",[["impl !Send for DebugInstantiate",1,["hydroflow_plus::ir::DebugInstantiate"]],["impl !Send for HfPlusLeaf",1,["hydroflow_plus::ir::HfPlusLeaf"]],["impl !Send for HfPlusNode",1,["hydroflow_plus::ir::HfPlusNode"]],["impl !Send for HfPlusSource",1,["hydroflow_plus::ir::HfPlusSource"]],["impl !Send for FlowStateInner",1,["hydroflow_plus::builder::FlowStateInner"]],["impl !Send for DeployRuntimeCluster",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeCluster"]],["impl !Send for DeployRuntimeNode",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeNode"]],["impl !Send for DebugExpr",1,["hydroflow_plus::ir::DebugExpr"]],["impl !Send for DebugPipelineFn",1,["hydroflow_plus::ir::DebugPipelineFn"]],["impl !Send for TeeNode",1,["hydroflow_plus::ir::TeeNode"]],["impl !Send for PropertyDatabase",1,["hydroflow_plus::rewrites::properties::PropertyDatabase"]],["impl Send for Bounded",1,["hydroflow_plus::boundedness::Bounded"]],["impl Send for Unbounded",1,["hydroflow_plus::boundedness::Unbounded"]],["impl Send for ForwardRefMarker",1,["hydroflow_plus::cycle::ForwardRefMarker"]],["impl Send for TickCycleMarker",1,["hydroflow_plus::cycle::TickCycleMarker"]],["impl Send for LocationId",1,["hydroflow_plus::location::LocationId"]],["impl Send for HydroflowPlusMeta",1,["hydroflow_plus::deploy::deploy_runtime::HydroflowPlusMeta"]],["impl Send for MultiGraph",1,["hydroflow_plus::deploy::in_memory_graph::MultiGraph"]],["impl Send for MultiNode",1,["hydroflow_plus::deploy::in_memory_graph::MultiNode"]],["impl Send for SingleNode",1,["hydroflow_plus::deploy::in_memory_graph::SingleNode"]],["impl Send for SingleProcessGraph",1,["hydroflow_plus::deploy::in_memory_graph::SingleProcessGraph"]],["impl Send for DeployRuntime",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntime"]],["impl Send for ExternalBytesPort",1,["hydroflow_plus::location::external_process::ExternalBytesPort"]],["impl Send for NoOrder",1,["hydroflow_plus::stream::NoOrder"]],["impl Send for TotalOrder",1,["hydroflow_plus::stream::TotalOrder"]],["impl<'a> !Send for BuiltFlow<'a>",1,["hydroflow_plus::builder::built::BuiltFlow"]],["impl<'a> !Send for CompiledFlowWithId<'a>",1,["hydroflow_plus::builder::compiled::CompiledFlowWithId"]],["impl<'a> !Send for FlowBuilder<'a>",1,["hydroflow_plus::builder::FlowBuilder"]],["impl<'a> Send for ClusterSelfId<'a>",1,["hydroflow_plus::location::cluster::ClusterSelfId"]],["impl<'a> Send for RuntimeContext<'a>",1,["hydroflow_plus::runtime_context::RuntimeContext"]],["impl<'a, C> !Send for Cluster<'a, C>",1,["hydroflow_plus::location::cluster::Cluster"]],["impl<'a, C> Send for ClusterIds<'a, C>
where\n C: Send,
",1,["hydroflow_plus::location::cluster::ClusterIds"]],["impl<'a, D> !Send for DeployFlow<'a, D>",1,["hydroflow_plus::builder::deploy::DeployFlow"]],["impl<'a, D> Send for DeployResult<'a, D>
where\n <D as Deploy<'a>>::Process: Send,\n <D as Deploy<'a>>::Cluster: Send,\n <D as Deploy<'a>>::ExternalProcess: Send,
",1,["hydroflow_plus::builder::deploy::DeployResult"]],["impl<'a, ID> !Send for CompiledFlow<'a, ID>",1,["hydroflow_plus::builder::compiled::CompiledFlow"]],["impl<'a, P = ()> !Send for Process<'a, P>",1,["hydroflow_plus::location::process::Process"]],["impl<'a, P> !Send for ExternalProcess<'a, P>",1,["hydroflow_plus::location::external_process::ExternalProcess"]],["impl<'a, S> !Send for ForwardRef<'a, S>",1,["hydroflow_plus::cycle::ForwardRef"]],["impl<'a, S> !Send for TickCycle<'a, S>",1,["hydroflow_plus::cycle::TickCycle"]],["impl<C> Send for ClusterId<C>
where\n C: Send,
",1,["hydroflow_plus::location::cluster::cluster_id::ClusterId"]],["impl<L> Send for Tick<L>
where\n L: Send,
",1,["hydroflow_plus::location::tick::Tick"]],["impl<L> Send for Timestamped<L>
where\n L: Send,
",1,["hydroflow_plus::location::tick::Timestamped"]],["impl<T> Send for ExternalBincodeSink<T>
where\n T: Send,
",1,["hydroflow_plus::location::external_process::ExternalBincodeSink"]],["impl<T> Send for ExternalBincodeStream<T>
where\n T: Send,
",1,["hydroflow_plus::location::external_process::ExternalBincodeStream"]],["impl<T, L, B> !Send for Optional<T, L, B>",1,["hydroflow_plus::optional::Optional"]],["impl<T, L, B> !Send for Singleton<T, L, B>",1,["hydroflow_plus::singleton::Singleton"]],["impl<T, L, B, Order = TotalOrder> !Send for Stream<T, L, B, Order>",1,["hydroflow_plus::stream::Stream"]]]],["hydroflow_plus_test",[["impl Send for Leader",1,["hydroflow_plus_test::cluster::compute_pi::Leader"]],["impl Send for Worker",1,["hydroflow_plus_test::cluster::compute_pi::Worker"]],["impl Send for Leader",1,["hydroflow_plus_test::cluster::map_reduce::Leader"]],["impl Send for Worker",1,["hydroflow_plus_test::cluster::map_reduce::Worker"]],["impl Send for Acceptor",1,["hydroflow_plus_test::cluster::paxos::Acceptor"]],["impl Send for Ballot",1,["hydroflow_plus_test::cluster::paxos::Ballot"]],["impl Send for Proposer",1,["hydroflow_plus_test::cluster::paxos::Proposer"]],["impl Send for Client",1,["hydroflow_plus_test::cluster::paxos_bench::Client"]],["impl Send for Replica",1,["hydroflow_plus_test::cluster::paxos_kv::Replica"]],["impl Send for Client",1,["hydroflow_plus_test::cluster::two_pc::Client"]],["impl Send for Coordinator",1,["hydroflow_plus_test::cluster::two_pc::Coordinator"]],["impl Send for Participants",1,["hydroflow_plus_test::cluster::two_pc::Participants"]],["impl Send for P1",1,["hydroflow_plus_test::distributed::first_ten::P1"]],["impl Send for P2",1,["hydroflow_plus_test::distributed::first_ten::P2"]],["impl<K, V> Send for KvPayload<K, V>
where\n K: Send,\n V: Send,
",1,["hydroflow_plus_test::cluster::paxos_kv::KvPayload"]],["impl<K, V> Send for SequencedKv<K, V>
where\n K: Send,\n V: Send,
",1,["hydroflow_plus_test::cluster::paxos_kv::SequencedKv"]]]],["latency_measure",[["impl Send for TopolotreeMessage",1,["latency_measure::protocol::TopolotreeMessage"]],["impl Send for OperationPayload",1,["latency_measure::protocol::OperationPayload"]],["impl Send for QueryResponse",1,["latency_measure::protocol::QueryResponse"]],["impl<T> Send for Payload<T>
where\n T: Send,
",1,["latency_measure::protocol::Payload"]],["impl<T> Send for Timestamped<T>
where\n T: Send,
",1,["latency_measure::protocol::Timestamped"]]]],["lattices",[["impl Send for U32WithInfinity",1,["lattices::semiring_application::U32WithInfinity"]],["impl Send for BinaryTrust",1,["lattices::semiring_application::BinaryTrust"]],["impl Send for ConfidenceScore",1,["lattices::semiring_application::ConfidenceScore"]],["impl Send for Cost",1,["lattices::semiring_application::Cost"]],["impl Send for FuzzyLogic",1,["lattices::semiring_application::FuzzyLogic"]],["impl Send for Multiplicity",1,["lattices::semiring_application::Multiplicity"]],["impl Send for PairBimorphism",1,["lattices::pair::PairBimorphism"]],["impl<Bimorphism> Send for GhtBimorphism<Bimorphism>
where\n Bimorphism: Send,
",1,["lattices::ght::lattice::GhtBimorphism"]],["impl<Bimorphism> Send for GhtNodeKeyedBimorphism<Bimorphism>
where\n Bimorphism: Send,
",1,["lattices::ght::lattice::GhtNodeKeyedBimorphism"]],["impl<GhtOut> Send for GhtCartesianProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtCartesianProductBimorphism"]],["impl<GhtOut> Send for GhtValTypeProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtValTypeProductBimorphism"]],["impl<Head, Node> Send for GhtInner<Head, Node>
where\n Head: Send,\n Node: Send,
",1,["lattices::ght::GhtInner"]],["impl<Inner> Send for WithBot<Inner>
where\n Inner: Send,
",1,["lattices::with_bot::WithBot"]],["impl<Inner> Send for WithTop<Inner>
where\n Inner: Send,
",1,["lattices::with_top::WithTop"]],["impl<K, V> Send for EmptyMap<K, V>
where\n K: Send,\n V: Send,
",1,["lattices::collections::EmptyMap"]],["impl<K, V> Send for OptionMap<K, V>
where\n K: Send,\n V: Send,
",1,["lattices::collections::OptionMap"]],["impl<K, V> Send for SingletonMap<K, V>
where\n K: Send,\n V: Send,
",1,["lattices::collections::SingletonMap"]],["impl<K, V> Send for VecMap<K, V>
where\n K: Send,\n V: Send,
",1,["lattices::collections::VecMap"]],["impl<K, V, const N: usize> Send for ArrayMap<K, V, N>
where\n K: Send,\n V: Send,
",1,["lattices::collections::ArrayMap"]],["impl<Key, Val> Send for DomPair<Key, Val>
where\n Key: Send,\n Val: Send,
",1,["lattices::dom_pair::DomPair"]],["impl<Lat> Send for VecUnion<Lat>
where\n Lat: Send,
",1,["lattices::vec_union::VecUnion"]],["impl<LatA, LatB> Send for Pair<LatA, LatB>
where\n LatA: Send,\n LatB: Send,
",1,["lattices::pair::Pair"]],["impl<Map> Send for MapUnion<Map>
where\n Map: Send,
",1,["lattices::map_union::MapUnion"]],["impl<Map> Send for UnionFind<Map>
where\n Map: Send,
",1,["lattices::union_find::UnionFind"]],["impl<Map, TombstoneSet> Send for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: Send,\n TombstoneSet: Send,
",1,["lattices::map_union_with_tombstones::MapUnionWithTombstones"]],["impl<MapOut, Bimorphism> Send for KeyedBimorphism<MapOut, Bimorphism>
where\n Bimorphism: Send,
",1,["lattices::map_union::KeyedBimorphism"]],["impl<Schema, ValType, Storage> Send for GhtLeaf<Schema, ValType, Storage>
where\n Storage: Send,\n ValType: Send,
",1,["lattices::ght::GhtLeaf"]],["impl<Set> Send for SetUnion<Set>
where\n Set: Send,
",1,["lattices::set_union::SetUnion"]],["impl<Set, TombstoneSet> Send for SetUnionWithTombstones<Set, TombstoneSet>
where\n Set: Send,\n TombstoneSet: Send,
",1,["lattices::set_union_with_tombstones::SetUnionWithTombstones"]],["impl<SetOut> Send for CartesianProductBimorphism<SetOut>",1,["lattices::set_union::CartesianProductBimorphism"]],["impl<T> Send for EmptySet<T>
where\n T: Send,
",1,["lattices::collections::EmptySet"]],["impl<T> Send for OptionSet<T>
where\n T: Send,
",1,["lattices::collections::OptionSet"]],["impl<T> Send for SingletonSet<T>
where\n T: Send,
",1,["lattices::collections::SingletonSet"]],["impl<T> Send for VecSet<T>
where\n T: Send,
",1,["lattices::collections::VecSet"]],["impl<T> Send for Conflict<T>
where\n T: Send,
",1,["lattices::conflict::Conflict"]],["impl<T> Send for Max<T>
where\n T: Send,
",1,["lattices::ord::Max"]],["impl<T> Send for Min<T>
where\n T: Send,
",1,["lattices::ord::Min"]],["impl<T, Provenance> !Send for Point<T, Provenance>",1,["lattices::point::Point"]],["impl<T, const N: usize> Send for ArraySet<T, N>
where\n T: Send,
",1,["lattices::collections::ArraySet"]]]],["load_test_server",[["impl Send for Opts",1,["load_test_server::Opts"]],["impl Send for Switchboard",1,["load_test_server::Switchboard"]]]],["pn",[["impl !Send for GossipOrIncrement",1,["pn::GossipOrIncrement"]],["impl Send for TopolotreeMessage",1,["pn::protocol::TopolotreeMessage"]],["impl Send for OperationPayload",1,["pn::protocol::OperationPayload"]],["impl Send for QueryResponse",1,["pn::protocol::QueryResponse"]],["impl<T> Send for Payload<T>
where\n T: Send,
",1,["pn::protocol::Payload"]],["impl<T> Send for Timestamped<T>
where\n T: Send,
",1,["pn::protocol::Timestamped"]]]],["pn_delta",[["impl Send for GossipOrIncrement",1,["pn_delta::GossipOrIncrement"]],["impl Send for TopolotreeMessage",1,["pn_delta::protocol::TopolotreeMessage"]],["impl Send for OperationPayload",1,["pn_delta::protocol::OperationPayload"]],["impl Send for QueryResponse",1,["pn_delta::protocol::QueryResponse"]],["impl<T> Send for Payload<T>
where\n T: Send,
",1,["pn_delta::protocol::Payload"]],["impl<T> Send for Timestamped<T>
where\n T: Send,
",1,["pn_delta::protocol::Timestamped"]]]],["pusherator",[["impl<Func, In> Send for ForEach<Func, In>
where\n Func: Send,
",1,["pusherator::for_each::ForEach"]],["impl<Func, Nexts, Item> Send for Demux<Func, Nexts, Item>
where\n Func: Send,\n Nexts: Send,
",1,["pusherator::demux::Demux"]],["impl<I> Send for PivotBuild<I>
where\n I: Send,
",1,["pusherator::pivot::PivotBuild"]],["impl<I, P> Send for Pivot<I, P>
where\n I: Send,\n P: Send,
",1,["pusherator::pivot::Pivot"]],["impl<In> Send for Null<In>
where\n In: Send,
",1,["pusherator::null::Null"]],["impl<Next, Func> Send for Filter<Next, Func>
where\n Next: Send,\n Func: Send,
",1,["pusherator::filter::Filter"]],["impl<Next, Func> Send for Inspect<Next, Func>
where\n Next: Send,\n Func: Send,
",1,["pusherator::inspect::Inspect"]],["impl<Next, Func, In> Send for FilterMap<Next, Func, In>
where\n Next: Send,\n Func: Send,
",1,["pusherator::filter_map::FilterMap"]],["impl<Next, Func, In> Send for Map<Next, Func, In>
where\n Next: Send,\n Func: Send,
",1,["pusherator::map::Map"]],["impl<Next, In> Send for Flatten<Next, In>
where\n Next: Send,
",1,["pusherator::flatten::Flatten"]],["impl<Next1, Next2> Send for Switch<Next1, Next2>
where\n Next1: Send,\n Next2: Send,
",1,["pusherator::switch::Switch"]],["impl<Next1, Next2> Send for Tee<Next1, Next2>
where\n Next1: Send,\n Next2: Send,
",1,["pusherator::tee::Tee"]],["impl<Next1, Next2> Send for Unzip<Next1, Next2>
where\n Next1: Send,\n Next2: Send,
",1,["pusherator::unzip::Unzip"]],["impl<Next1, Next2, Func> Send for Partition<Next1, Next2, Func>
where\n Next1: Send,\n Next2: Send,\n Func: Send,
",1,["pusherator::partition::Partition"]],["impl<Prev> Send for FlattenBuild<Prev>
where\n Prev: Send,
",1,["pusherator::flatten::FlattenBuild"]],["impl<Prev, Func> Send for FilterBuild<Prev, Func>
where\n Prev: Send,\n Func: Send,
",1,["pusherator::filter::FilterBuild"]],["impl<Prev, Func> Send for FilterMapBuild<Prev, Func>
where\n Prev: Send,\n Func: Send,
",1,["pusherator::filter_map::FilterMapBuild"]],["impl<Prev, Func> Send for InspectBuild<Prev, Func>
where\n Prev: Send,\n Func: Send,
",1,["pusherator::inspect::InspectBuild"]],["impl<Prev, Func> Send for MapBuild<Prev, Func>
where\n Prev: Send,\n Func: Send,
",1,["pusherator::map::MapBuild"]],["impl<Prev, Next1> Send for SwitchBuild<Prev, Next1>
where\n Prev: Send,\n Next1: Send,
",1,["pusherator::switch::SwitchBuild"]],["impl<Prev, Next1> Send for TeeBuild<Prev, Next1>
where\n <Prev as PusheratorBuild>::ItemOut: Sized,\n Prev: Send,\n Next1: Send,
",1,["pusherator::tee::TeeBuild"]],["impl<Prev, Next1> Send for UnzipBuild<Prev, Next1>
where\n Prev: Send,\n Next1: Send,
",1,["pusherator::unzip::UnzipBuild"]],["impl<Prev, Next1, Func> Send for PartitionBuild<Prev, Next1, Func>
where\n Prev: Send,\n Next1: Send,\n Func: Send,
",1,["pusherator::partition::PartitionBuild"]],["impl<T> Send for InputBuild<T>
where\n T: Send,
",1,["pusherator::InputBuild"]]]],["relalg",[["impl Send for Datum",1,["relalg::Datum"]],["impl Send for ScalarExpr",1,["relalg::ScalarExpr"]]]],["stageleft",[["impl<'a> Send for BorrowBounds<'a>",1,["stageleft::BorrowBounds"]],["impl<T> Send for Import<T>
where\n T: Send,
",1,["stageleft::runtime_support::Import"]],["impl<T> Send for RuntimeData<T>
where\n T: Send,
",1,["stageleft::RuntimeData"]]]],["topolotree",[["impl Send for TopolotreeMessage",1,["topolotree::protocol::TopolotreeMessage"]],["impl Send for OperationPayload",1,["topolotree::protocol::OperationPayload"]],["impl Send for QueryResponse",1,["topolotree::protocol::QueryResponse"]],["impl Send for NodeId",1,["topolotree::NodeId"]],["impl<T> Send for Payload<T>
where\n T: Send,
",1,["topolotree::protocol::Payload"]],["impl<T> Send for Timestamped<T>
where\n T: Send,
",1,["topolotree::protocol::Timestamped"]]]],["variadics",[["impl<Iter, Item> Send for DuplicateCounted<Iter, Item>
where\n Iter: Send,\n Item: Send,
",1,["variadics::variadic_collections::DuplicateCounted"]],["impl<K, S> Send for VariadicCountedHashSet<K, S>
where\n S: Send,\n K: Send,
",1,["variadics::variadic_collections::VariadicCountedHashSet"]],["impl<Schema> Send for VariadicColumnMultiset<Schema>
where\n <Schema as VariadicExt>::IntoVec: Send,
",1,["variadics::variadic_collections::VariadicColumnMultiset"]],["impl<T, S> Send for VariadicHashSet<T, S>
where\n S: Send,\n T: Send,
",1,["variadics::variadic_collections::VariadicHashSet"]]]],["website_playground",[["impl Send for HydroflowOutput",1,["website_playground::HydroflowOutput"]],["impl Send for HydroflowResult",1,["website_playground::HydroflowResult"]],["impl Send for JsDiagnostic",1,["website_playground::JsDiagnostic"]],["impl Send for JsLineColumn",1,["website_playground::JsLineColumn"]],["impl Send for JsSpan",1,["website_playground::JsSpan"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[920,6237,1767,1452,12747,24301,5063,13960,20082,6552,2148,20503,627,2233,2346,15931,545,1341,2346,3112,1655]} \ No newline at end of file +//{"start":57,"fragment_lengths":[920,6237,1767,1452,12747,24301,5063,14951,20082,6552,2148,20503,627,2233,2346,15931,545,1341,2346,3112,1655]} \ No newline at end of file diff --git a/doc/trait.impl/core/marker/trait.StructuralPartialEq.js b/doc/trait.impl/core/marker/trait.StructuralPartialEq.js index b5ec4fec0b31..b21fb18d1e54 100644 --- a/doc/trait.impl/core/marker/trait.StructuralPartialEq.js +++ b/doc/trait.impl/core/marker/trait.StructuralPartialEq.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_kv",[["impl StructuralPartialEq for ClientRequest"],["impl StructuralPartialEq for ClientResponse"],["impl StructuralPartialEq for GossipMessage"],["impl StructuralPartialEq for KeyParseError"],["impl StructuralPartialEq for Namespace"],["impl StructuralPartialEq for Key"],["impl<A> StructuralPartialEq for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize,
"],["impl<A> StructuralPartialEq for Protocol<A>"],["impl<A> StructuralPartialEq for SeedNode<A>
where\n A: Address,
"]]],["gossip_server",[["impl StructuralPartialEq for SeedNodeSettings"],["impl StructuralPartialEq for Opts"]]],["hydro_deploy",[["impl StructuralPartialEq for HostTargetType"],["impl StructuralPartialEq for CrateTarget"],["impl StructuralPartialEq for LeafStatus"]]],["hydroflow",[["impl StructuralPartialEq for Message"],["impl StructuralPartialEq for StateHandleErased"],["impl StructuralPartialEq for HandoffId"],["impl StructuralPartialEq for StateId"],["impl StructuralPartialEq for SubgraphId"],["impl StructuralPartialEq for TickDuration"],["impl StructuralPartialEq for TickInstant"],["impl StructuralPartialEq for Address"],["impl<I> StructuralPartialEq for Iter<I>
where\n I: IntoIterator,
"],["impl<T> StructuralPartialEq for StateHandle<T>"],["impl<T> StructuralPartialEq for ClearDefault<T>
where\n T: Default,
"],["impl<T: Hash + Eq> StructuralPartialEq for HashMultiSet<T>"]]],["hydroflow_lang",[["impl StructuralPartialEq for Level"],["impl StructuralPartialEq for Color"],["impl StructuralPartialEq for DelayType"],["impl StructuralPartialEq for OperatorCategory"],["impl StructuralPartialEq for Persistence"],["impl StructuralPartialEq for GraphEdgeId"],["impl StructuralPartialEq for GraphNodeId"],["impl StructuralPartialEq for GraphSubgraphId"]]],["hydroflow_plus",[["impl StructuralPartialEq for LocationId"]]],["hydroflow_plus_test",[["impl StructuralPartialEq for Ballot"],["impl<K, V> StructuralPartialEq for KvPayload<K, V>"],["impl<K, V> StructuralPartialEq for SequencedKv<K, V>"]]],["latency_measure",[["impl StructuralPartialEq for TopolotreeMessage"],["impl StructuralPartialEq for OperationPayload"],["impl StructuralPartialEq for QueryResponse"],["impl<T: Debug> StructuralPartialEq for Payload<T>"],["impl<T: Debug> StructuralPartialEq for Timestamped<T>"]]],["lattices",[["impl StructuralPartialEq for U32WithInfinity"],["impl StructuralPartialEq for BinaryTrust"],["impl<K, V> StructuralPartialEq for OptionMap<K, V>"],["impl<K, V> StructuralPartialEq for SingletonMap<K, V>"],["impl<K, V> StructuralPartialEq for VecMap<K, V>"],["impl<K, V, const N: usize> StructuralPartialEq for ArrayMap<K, V, N>"],["impl<Schema, ValType, Storage> StructuralPartialEq for GhtLeaf<Schema, ValType, Storage>
where\n Schema: Eq + Hash,\n Storage: VariadicCollection<Schema = Schema>,
"],["impl<T> StructuralPartialEq for OptionSet<T>"],["impl<T> StructuralPartialEq for SingletonSet<T>"],["impl<T> StructuralPartialEq for VecSet<T>"],["impl<T> StructuralPartialEq for Max<T>"],["impl<T> StructuralPartialEq for Min<T>"],["impl<T, const N: usize> StructuralPartialEq for ArraySet<T, N>"]]],["load_test_server",[["impl StructuralPartialEq for Opts"]]],["pn",[["impl StructuralPartialEq for TopolotreeMessage"],["impl StructuralPartialEq for OperationPayload"],["impl StructuralPartialEq for QueryResponse"],["impl<T: Debug> StructuralPartialEq for Payload<T>"],["impl<T: Debug> StructuralPartialEq for Timestamped<T>"]]],["pn_delta",[["impl StructuralPartialEq for TopolotreeMessage"],["impl StructuralPartialEq for OperationPayload"],["impl StructuralPartialEq for QueryResponse"],["impl<T: Debug> StructuralPartialEq for Payload<T>"],["impl<T: Debug> StructuralPartialEq for Timestamped<T>"]]],["relalg",[["impl StructuralPartialEq for Datum"],["impl StructuralPartialEq for ScalarExpr"]]],["topolotree",[["impl StructuralPartialEq for TopolotreeMessage"],["impl StructuralPartialEq for OperationPayload"],["impl StructuralPartialEq for QueryResponse"],["impl StructuralPartialEq for NodeId"],["impl<T: Debug> StructuralPartialEq for Payload<T>"],["impl<T: Debug> StructuralPartialEq for Timestamped<T>"]]]]); + var implementors = Object.fromEntries([["gossip_kv",[["impl StructuralPartialEq for ClientRequest"],["impl StructuralPartialEq for ClientResponse"],["impl StructuralPartialEq for GossipMessage"],["impl StructuralPartialEq for KeyParseError"],["impl StructuralPartialEq for Namespace"],["impl StructuralPartialEq for Key"],["impl<A> StructuralPartialEq for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize,
"],["impl<A> StructuralPartialEq for Protocol<A>"],["impl<A> StructuralPartialEq for SeedNode<A>
where\n A: Address,
"]]],["gossip_server",[["impl StructuralPartialEq for SeedNodeSettings"],["impl StructuralPartialEq for Opts"]]],["hydro_deploy",[["impl StructuralPartialEq for HostTargetType"],["impl StructuralPartialEq for CrateTarget"],["impl StructuralPartialEq for LeafStatus"]]],["hydroflow",[["impl StructuralPartialEq for Message"],["impl StructuralPartialEq for StateHandleErased"],["impl StructuralPartialEq for HandoffId"],["impl StructuralPartialEq for StateId"],["impl StructuralPartialEq for SubgraphId"],["impl StructuralPartialEq for TickDuration"],["impl StructuralPartialEq for TickInstant"],["impl StructuralPartialEq for Address"],["impl<I> StructuralPartialEq for Iter<I>
where\n I: IntoIterator,
"],["impl<T> StructuralPartialEq for StateHandle<T>"],["impl<T> StructuralPartialEq for ClearDefault<T>
where\n T: Default,
"],["impl<T: Hash + Eq> StructuralPartialEq for HashMultiSet<T>"]]],["hydroflow_lang",[["impl StructuralPartialEq for Level"],["impl StructuralPartialEq for Color"],["impl StructuralPartialEq for DelayType"],["impl StructuralPartialEq for FloType"],["impl StructuralPartialEq for OperatorCategory"],["impl StructuralPartialEq for Persistence"],["impl StructuralPartialEq for GraphEdgeId"],["impl StructuralPartialEq for GraphLoopId"],["impl StructuralPartialEq for GraphNodeId"],["impl StructuralPartialEq for GraphSubgraphId"]]],["hydroflow_plus",[["impl StructuralPartialEq for LocationId"]]],["hydroflow_plus_test",[["impl StructuralPartialEq for Ballot"],["impl<K, V> StructuralPartialEq for KvPayload<K, V>"],["impl<K, V> StructuralPartialEq for SequencedKv<K, V>"]]],["latency_measure",[["impl StructuralPartialEq for TopolotreeMessage"],["impl StructuralPartialEq for OperationPayload"],["impl StructuralPartialEq for QueryResponse"],["impl<T: Debug> StructuralPartialEq for Payload<T>"],["impl<T: Debug> StructuralPartialEq for Timestamped<T>"]]],["lattices",[["impl StructuralPartialEq for U32WithInfinity"],["impl StructuralPartialEq for BinaryTrust"],["impl<K, V> StructuralPartialEq for OptionMap<K, V>"],["impl<K, V> StructuralPartialEq for SingletonMap<K, V>"],["impl<K, V> StructuralPartialEq for VecMap<K, V>"],["impl<K, V, const N: usize> StructuralPartialEq for ArrayMap<K, V, N>"],["impl<Schema, ValType, Storage> StructuralPartialEq for GhtLeaf<Schema, ValType, Storage>
where\n Schema: Eq + Hash,\n Storage: VariadicCollection<Schema = Schema>,
"],["impl<T> StructuralPartialEq for OptionSet<T>"],["impl<T> StructuralPartialEq for SingletonSet<T>"],["impl<T> StructuralPartialEq for VecSet<T>"],["impl<T> StructuralPartialEq for Max<T>"],["impl<T> StructuralPartialEq for Min<T>"],["impl<T, const N: usize> StructuralPartialEq for ArraySet<T, N>"]]],["load_test_server",[["impl StructuralPartialEq for Opts"]]],["pn",[["impl StructuralPartialEq for TopolotreeMessage"],["impl StructuralPartialEq for OperationPayload"],["impl StructuralPartialEq for QueryResponse"],["impl<T: Debug> StructuralPartialEq for Payload<T>"],["impl<T: Debug> StructuralPartialEq for Timestamped<T>"]]],["pn_delta",[["impl StructuralPartialEq for TopolotreeMessage"],["impl StructuralPartialEq for OperationPayload"],["impl StructuralPartialEq for QueryResponse"],["impl<T: Debug> StructuralPartialEq for Payload<T>"],["impl<T: Debug> StructuralPartialEq for Timestamped<T>"]]],["relalg",[["impl StructuralPartialEq for Datum"],["impl StructuralPartialEq for ScalarExpr"]]],["topolotree",[["impl StructuralPartialEq for TopolotreeMessage"],["impl StructuralPartialEq for OperationPayload"],["impl StructuralPartialEq for QueryResponse"],["impl StructuralPartialEq for NodeId"],["impl<T: Debug> StructuralPartialEq for Payload<T>"],["impl<T: Debug> StructuralPartialEq for Timestamped<T>"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[3743,667,1010,4804,2685,352,1148,2053,5072,327,1910,1976,590,2296]} \ No newline at end of file +//{"start":57,"fragment_lengths":[3743,667,1010,4804,3344,352,1148,2053,5072,327,1910,1976,590,2296]} \ No newline at end of file diff --git a/doc/trait.impl/core/marker/trait.Sync.js b/doc/trait.impl/core/marker/trait.Sync.js index 462847529963..cd55097b3633 100644 --- a/doc/trait.impl/core/marker/trait.Sync.js +++ b/doc/trait.impl/core/marker/trait.Sync.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_cli",[["impl Sync for InteractiveCommands",1,["gossip_cli::InteractiveCommands"]],["impl Sync for InteractiveApp",1,["gossip_cli::InteractiveApp"]],["impl Sync for Opts",1,["gossip_cli::Opts"]]]],["gossip_kv",[["impl Sync for ClientRequest",1,["gossip_kv::ClientRequest"]],["impl Sync for ClientResponse",1,["gossip_kv::ClientResponse"]],["impl Sync for GossipMessage",1,["gossip_kv::GossipMessage"]],["impl Sync for KeyParseError",1,["gossip_kv::KeyParseError"]],["impl Sync for Namespace",1,["gossip_kv::Namespace"]],["impl Sync for InfectingWrite",1,["gossip_kv::server::InfectingWrite"]],["impl Sync for SETS_COUNTER",1,["gossip_kv::server::SETS_COUNTER"]],["impl Sync for Key",1,["gossip_kv::Key"]],["impl<A> Sync for ClientRequestWithAddress<A>
where\n A: Sync,
",1,["gossip_kv::util::ClientRequestWithAddress"]],["impl<A> Sync for GossipRequestWithAddress<A>
where\n A: Sync,
",1,["gossip_kv::util::GossipRequestWithAddress"]],["impl<A> Sync for MemberData<A>
where\n A: Sync,
",1,["gossip_kv::membership::MemberData"]],["impl<A> Sync for MemberDataBuilder<A>
where\n A: Sync,
",1,["gossip_kv::membership::MemberDataBuilder"]],["impl<A> Sync for Protocol<A>
where\n A: Sync,
",1,["gossip_kv::membership::Protocol"]],["impl<A> Sync for SeedNode<A>
where\n A: Sync,
",1,["gossip_kv::server::SeedNode"]],["impl<T, const N: usize> Sync for BoundedSetLattice<T, N>
where\n T: Sync,
",1,["gossip_kv::lattices::BoundedSetLattice"]]]],["gossip_server",[["impl Sync for SeedNodeSettings",1,["gossip_server::config::SeedNodeSettings"]],["impl Sync for ServerSettings",1,["gossip_server::config::ServerSettings"]],["impl Sync for UnboundedSenderEventHandler",1,["gossip_server::config::UnboundedSenderEventHandler"]],["impl Sync for LowercaseAlphanumeric",1,["gossip_server::membership::LowercaseAlphanumeric"]],["impl Sync for Opts",1,["gossip_server::Opts"]]]],["hydro_cli",[["impl !Sync for AnyhowError",1,["hydro_cli::AnyhowError"]],["impl Sync for AnyhowWrapper",1,["hydro_cli::AnyhowWrapper"]],["impl Sync for Deployment",1,["hydro_cli::Deployment"]],["impl Sync for Host",1,["hydro_cli::Host"]],["impl Sync for Service",1,["hydro_cli::Service"]]]],["hydro_deploy",[["impl Sync for HostTargetType",1,["hydro_deploy::HostTargetType"]],["impl Sync for ServerStrategy",1,["hydro_deploy::ServerStrategy"]],["impl Sync for CrateTarget",1,["hydro_deploy::hydroflow_crate::CrateTarget"]],["impl Sync for ServerConfig",1,["hydro_deploy::hydroflow_crate::ports::ServerConfig"]],["impl Sync for SourcePath",1,["hydro_deploy::hydroflow_crate::ports::SourcePath"]],["impl Sync for BarTree",1,["hydro_deploy::progress::BarTree"]],["impl Sync for LeafStatus",1,["hydro_deploy::progress::LeafStatus"]],["impl Sync for AzureHost",1,["hydro_deploy::azure::AzureHost"]],["impl Sync for LaunchedVirtualMachine",1,["hydro_deploy::azure::LaunchedVirtualMachine"]],["impl Sync for CustomClientPort",1,["hydro_deploy::custom_service::CustomClientPort"]],["impl Sync for CustomService",1,["hydro_deploy::custom_service::CustomService"]],["impl Sync for Deployment",1,["hydro_deploy::deployment::Deployment"]],["impl Sync for GcpComputeEngineHost",1,["hydro_deploy::gcp::GcpComputeEngineHost"]],["impl Sync for GcpNetwork",1,["hydro_deploy::gcp::GcpNetwork"]],["impl Sync for LaunchedComputeEngine",1,["hydro_deploy::gcp::LaunchedComputeEngine"]],["impl Sync for DemuxSink",1,["hydro_deploy::hydroflow_crate::ports::DemuxSink"]],["impl Sync for HydroflowPortConfig",1,["hydro_deploy::hydroflow_crate::ports::HydroflowPortConfig"]],["impl Sync for NullSourceSink",1,["hydro_deploy::hydroflow_crate::ports::NullSourceSink"]],["impl Sync for TaggedSource",1,["hydro_deploy::hydroflow_crate::ports::TaggedSource"]],["impl Sync for HydroflowCrateService",1,["hydro_deploy::hydroflow_crate::service::HydroflowCrateService"]],["impl Sync for HydroflowCrate",1,["hydro_deploy::hydroflow_crate::HydroflowCrate"]],["impl Sync for TracingOptions",1,["hydro_deploy::hydroflow_crate::tracing_options::TracingOptions"]],["impl Sync for LaunchedLocalhostBinary",1,["hydro_deploy::localhost::launched_binary::LaunchedLocalhostBinary"]],["impl Sync for LocalhostHost",1,["hydro_deploy::localhost::LocalhostHost"]],["impl Sync for ProgressTracker",1,["hydro_deploy::progress::ProgressTracker"]],["impl Sync for ResourceBatch",1,["hydro_deploy::ResourceBatch"]],["impl Sync for ResourcePool",1,["hydro_deploy::ResourcePool"]],["impl Sync for ResourceResult",1,["hydro_deploy::ResourceResult"]],["impl Sync for TerraformBatch",1,["hydro_deploy::terraform::TerraformBatch"]],["impl Sync for TerraformConfig",1,["hydro_deploy::terraform::TerraformConfig"]],["impl Sync for TerraformOutput",1,["hydro_deploy::terraform::TerraformOutput"]],["impl Sync for TerraformPool",1,["hydro_deploy::terraform::TerraformPool"]],["impl Sync for TerraformProvider",1,["hydro_deploy::terraform::TerraformProvider"]],["impl Sync for TerraformResult",1,["hydro_deploy::terraform::TerraformResult"]],["impl Sync for TerraformResultOutput",1,["hydro_deploy::terraform::TerraformResultOutput"]],["impl<'a> Sync for ClientStrategy<'a>",1,["hydro_deploy::ClientStrategy"]]]],["hydroflow",[["impl !Sync for Context",1,["hydroflow::scheduled::context::Context"]],["impl !Sync for Fleet",1,["hydroflow::util::simulation::Fleet"]],["impl !Sync for Host",1,["hydroflow::util::simulation::Host"]],["impl !Sync for HostBuilder",1,["hydroflow::util::simulation::HostBuilder"]],["impl !Sync for Inbox",1,["hydroflow::util::simulation::Inbox"]],["impl !Sync for Outbox",1,["hydroflow::util::simulation::Outbox"]],["impl Sync for RECV",1,["hydroflow::scheduled::port::RECV"]],["impl Sync for SEND",1,["hydroflow::scheduled::port::SEND"]],["impl Sync for Message",1,["hydroflow::scheduled::net::Message"]],["impl Sync for Reactor",1,["hydroflow::scheduled::reactor::Reactor"]],["impl Sync for StateHandleErased",1,["hydroflow::scheduled::state::StateHandleErased"]],["impl Sync for HandoffId",1,["hydroflow::scheduled::HandoffId"]],["impl Sync for StateId",1,["hydroflow::scheduled::StateId"]],["impl Sync for SubgraphId",1,["hydroflow::scheduled::SubgraphId"]],["impl Sync for TickDuration",1,["hydroflow::scheduled::ticks::TickDuration"]],["impl Sync for TickInstant",1,["hydroflow::scheduled::ticks::TickInstant"]],["impl Sync for Address",1,["hydroflow::util::simulation::Address"]],["impl Sync for DroppableChild",1,["hydroflow::util::DroppableChild"]],["impl<'a> !Sync for Hydroflow<'a>",1,["hydroflow::scheduled::graph::Hydroflow"]],["impl<'a> !Sync for Query<'a>",1,["hydroflow::scheduled::query::Query"]],["impl<'a, I1, V1, I2, V2> Sync for CrossJoin<'a, I1, V1, I2, V2>
where\n I1: Sync,\n I2: Sync,\n V1: Sync,\n V2: Sync,
",1,["hydroflow::compiled::pull::cross_join::CrossJoin"]],["impl<'a, Key, I1, V1, I2, V2, LhsState, RhsState> Sync for SymmetricHashJoin<'a, Key, I1, V1, I2, V2, LhsState, RhsState>
where\n I1: Sync,\n I2: Sync,\n LhsState: Sync,\n RhsState: Sync,
",1,["hydroflow::compiled::pull::symmetric_hash_join::SymmetricHashJoin"]],["impl<'a, Key, V, Ipos> Sync for AntiJoin<'a, Key, V, Ipos>
where\n Ipos: Sync,\n Key: Sync,\n V: Sync,
",1,["hydroflow::compiled::pull::anti_join::AntiJoin"]],["impl<'a, T> !Sync for Operator<'a, T>",1,["hydroflow::scheduled::query::Operator"]],["impl<'context> !Sync for TransducerBuilderContext<'context>",1,["hydroflow::util::simulation::TransducerBuilderContext"]],["impl<F> Sync for MonotonicFn<F>
where\n F: Sync,
",1,["hydroflow::util::monotonic::MonotonicFn"]],["impl<F> Sync for Morphism<F>
where\n F: Sync,
",1,["hydroflow::util::monotonic::Morphism"]],["impl<I> Sync for Iter<I>
where\n I: Sync,
",1,["hydroflow::scheduled::handoff::Iter"]],["impl<K, A> Sync for HalfJoinStateFold<K, A>
where\n K: Sync,\n A: Sync,
",1,["hydroflow::compiled::pull::half_join_state::fold::HalfJoinStateFold"]],["impl<K, A> Sync for HalfJoinStateFoldFrom<K, A>
where\n K: Sync,\n A: Sync,
",1,["hydroflow::compiled::pull::half_join_state::fold_from::HalfJoinStateFoldFrom"]],["impl<K, A> Sync for HalfJoinStateReduce<K, A>
where\n K: Sync,\n A: Sync,
",1,["hydroflow::compiled::pull::half_join_state::reduce::HalfJoinStateReduce"]],["impl<K, V> Sync for PersistenceKeyed<K, V>
where\n K: Sync,\n V: Sync,
",1,["hydroflow::util::PersistenceKeyed"]],["impl<K, V> Sync for MonotonicMap<K, V>
where\n V: Sync,\n K: Sync,
",1,["hydroflow::util::monotonic_map::MonotonicMap"]],["impl<Key, ValBuild, ValProbe> Sync for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where\n Key: Sync,\n ValProbe: Sync,\n ValBuild: Sync,
",1,["hydroflow::compiled::pull::half_join_state::multiset::HalfMultisetJoinState"]],["impl<Key, ValBuild, ValProbe> Sync for HalfSetJoinState<Key, ValBuild, ValProbe>
where\n Key: Sync,\n ValProbe: Sync,\n ValBuild: Sync,
",1,["hydroflow::compiled::pull::half_join_state::set::HalfSetJoinState"]],["impl<S, H> !Sync for Port<S, H>",1,["hydroflow::scheduled::port::Port"]],["impl<S, H> !Sync for PortCtx<S, H>",1,["hydroflow::scheduled::port::PortCtx"]],["impl<T = Option<()>> !Sync for DeployPorts<T>",1,["hydroflow::util::deploy::DeployPorts"]],["impl<T> !Sync for TeeingHandoff<T>",1,["hydroflow::scheduled::handoff::tee::TeeingHandoff"]],["impl<T> !Sync for VecHandoff<T>",1,["hydroflow::scheduled::handoff::vector::VecHandoff"]],["impl<T> !Sync for Buffer<T>",1,["hydroflow::scheduled::input::Buffer"]],["impl<T> !Sync for StateHandle<T>",1,["hydroflow::scheduled::state::StateHandle"]],["impl<T> !Sync for Receiver<T>",1,["hydroflow::util::unsync::mpsc::Receiver"]],["impl<T> !Sync for Sender<T>",1,["hydroflow::util::unsync::mpsc::Sender"]],["impl<T> Sync for Persistence<T>
where\n T: Sync,
",1,["hydroflow::util::Persistence"]],["impl<T> Sync for ClearDefault<T>
where\n T: Sync,
",1,["hydroflow::util::clear::ClearDefault"]],["impl<T> Sync for HashMultiSet<T>
where\n T: Sync,
",1,["hydroflow::util::multiset::HashMultiSet"]],["impl<T> Sync for SparseVec<T>
where\n T: Sync,
",1,["hydroflow::util::sparse_vec::SparseVec"]],["impl<T, G> Sync for Input<T, G>
where\n G: Sync,\n T: Sync,
",1,["hydroflow::scheduled::input::Input"]],["impl<V1, V2> Sync for CrossJoinState<V1, V2>
where\n V1: Sync,\n V2: Sync,
",1,["hydroflow::compiled::pull::cross_join::CrossJoinState"]]]],["hydroflow_deploy_integration",[["impl Sync for BoundConnection",1,["hydroflow_deploy_integration::BoundConnection"]],["impl Sync for RealizedServerPort",1,["hydroflow_deploy_integration::RealizedServerPort"]],["impl Sync for ServerBindConfig",1,["hydroflow_deploy_integration::ServerBindConfig"]],["impl Sync for ServerOrBound",1,["hydroflow_deploy_integration::ServerOrBound"]],["impl Sync for ServerPort",1,["hydroflow_deploy_integration::ServerPort"]],["impl Sync for ConnectedDirect",1,["hydroflow_deploy_integration::ConnectedDirect"]],["impl<T> Sync for ConnectedDemux<T>",1,["hydroflow_deploy_integration::ConnectedDemux"]],["impl<T> Sync for ConnectedTagged<T>",1,["hydroflow_deploy_integration::ConnectedTagged"]],["impl<T, S> Sync for DemuxDrain<T, S>
where\n T: Sync,\n S: ?Sized,
",1,["hydroflow_deploy_integration::DemuxDrain"]],["impl<T, S> Sync for MergeSource<T, S>
where\n T: Sync,\n S: ?Sized,
",1,["hydroflow_deploy_integration::MergeSource"]],["impl<T, S> Sync for TaggedSource<T, S>
where\n T: Sync,\n S: ?Sized,
",1,["hydroflow_deploy_integration::TaggedSource"]]]],["hydroflow_lang",[["impl !Sync for GraphNode",1,["hydroflow_lang::graph::GraphNode"]],["impl !Sync for PortIndexValue",1,["hydroflow_lang::graph::PortIndexValue"]],["impl !Sync for PortListSpec",1,["hydroflow_lang::graph::ops::PortListSpec"]],["impl !Sync for HfStatement",1,["hydroflow_lang::parse::HfStatement"]],["impl !Sync for Pipeline",1,["hydroflow_lang::parse::Pipeline"]],["impl !Sync for PortIndex",1,["hydroflow_lang::parse::PortIndex"]],["impl !Sync for OperatorWriteOutput",1,["hydroflow_lang::graph::ops::OperatorWriteOutput"]],["impl !Sync for FlatGraphBuilder",1,["hydroflow_lang::graph::flat_graph_builder::FlatGraphBuilder"]],["impl !Sync for HydroflowGraph",1,["hydroflow_lang::graph::hydroflow_graph::HydroflowGraph"]],["impl !Sync for OpInstGenerics",1,["hydroflow_lang::graph::OpInstGenerics"]],["impl !Sync for OperatorInstance",1,["hydroflow_lang::graph::OperatorInstance"]],["impl !Sync for HfCode",1,["hydroflow_lang::parse::HfCode"]],["impl !Sync for Import",1,["hydroflow_lang::parse::Import"]],["impl !Sync for IndexInt",1,["hydroflow_lang::parse::IndexInt"]],["impl !Sync for Indexing",1,["hydroflow_lang::parse::Indexing"]],["impl !Sync for NamedHfStatement",1,["hydroflow_lang::parse::NamedHfStatement"]],["impl !Sync for Operator",1,["hydroflow_lang::parse::Operator"]],["impl !Sync for PipelineLink",1,["hydroflow_lang::parse::PipelineLink"]],["impl !Sync for PipelineParen",1,["hydroflow_lang::parse::PipelineParen"]],["impl !Sync for PipelineStatement",1,["hydroflow_lang::parse::PipelineStatement"]],["impl !Sync for PrettyRowCol",1,["hydroflow_lang::pretty_span::PrettyRowCol"]],["impl !Sync for PrettySpan",1,["hydroflow_lang::pretty_span::PrettySpan"]],["impl Sync for Level",1,["hydroflow_lang::diagnostic::Level"]],["impl Sync for Color",1,["hydroflow_lang::graph::Color"]],["impl Sync for WriteGraphType",1,["hydroflow_lang::graph::hydroflow_graph::WriteGraphType"]],["impl Sync for DelayType",1,["hydroflow_lang::graph::ops::DelayType"]],["impl Sync for OperatorCategory",1,["hydroflow_lang::graph::ops::OperatorCategory"]],["impl Sync for Persistence",1,["hydroflow_lang::graph::ops::Persistence"]],["impl Sync for SerdeSpan",1,["hydroflow_lang::diagnostic::SerdeSpan"]],["impl Sync for OperatorConstraints",1,["hydroflow_lang::graph::ops::OperatorConstraints"]],["impl Sync for GraphEdgeId",1,["hydroflow_lang::graph::GraphEdgeId"]],["impl Sync for GraphNodeId",1,["hydroflow_lang::graph::GraphNodeId"]],["impl Sync for GraphSubgraphId",1,["hydroflow_lang::graph::GraphSubgraphId"]],["impl Sync for WriteConfig",1,["hydroflow_lang::graph::hydroflow_graph::WriteConfig"]],["impl<'a> !Sync for WriteContextArgs<'a>",1,["hydroflow_lang::graph::ops::WriteContextArgs"]],["impl<Inner> !Sync for Ported<Inner>",1,["hydroflow_lang::parse::Ported"]],["impl<K> Sync for UnionFind<K>
where\n K: Sync,
",1,["hydroflow_lang::union_find::UnionFind"]],["impl<S> Sync for Diagnostic<S>
where\n S: Sync,
",1,["hydroflow_lang::diagnostic::Diagnostic"]],["impl<V, E> Sync for DiMulGraph<V, E>
where\n V: Sync,\n E: Sync,
",1,["hydroflow_lang::graph::di_mul_graph::DiMulGraph"]]]],["hydroflow_plus",[["impl !Sync for DebugInstantiate",1,["hydroflow_plus::ir::DebugInstantiate"]],["impl !Sync for HfPlusLeaf",1,["hydroflow_plus::ir::HfPlusLeaf"]],["impl !Sync for HfPlusNode",1,["hydroflow_plus::ir::HfPlusNode"]],["impl !Sync for HfPlusSource",1,["hydroflow_plus::ir::HfPlusSource"]],["impl !Sync for FlowStateInner",1,["hydroflow_plus::builder::FlowStateInner"]],["impl !Sync for DeployRuntimeCluster",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeCluster"]],["impl !Sync for DeployRuntimeNode",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeNode"]],["impl !Sync for DebugExpr",1,["hydroflow_plus::ir::DebugExpr"]],["impl !Sync for DebugPipelineFn",1,["hydroflow_plus::ir::DebugPipelineFn"]],["impl !Sync for TeeNode",1,["hydroflow_plus::ir::TeeNode"]],["impl !Sync for PropertyDatabase",1,["hydroflow_plus::rewrites::properties::PropertyDatabase"]],["impl Sync for Bounded",1,["hydroflow_plus::boundedness::Bounded"]],["impl Sync for Unbounded",1,["hydroflow_plus::boundedness::Unbounded"]],["impl Sync for ForwardRefMarker",1,["hydroflow_plus::cycle::ForwardRefMarker"]],["impl Sync for TickCycleMarker",1,["hydroflow_plus::cycle::TickCycleMarker"]],["impl Sync for LocationId",1,["hydroflow_plus::location::LocationId"]],["impl Sync for HydroflowPlusMeta",1,["hydroflow_plus::deploy::deploy_runtime::HydroflowPlusMeta"]],["impl Sync for MultiGraph",1,["hydroflow_plus::deploy::in_memory_graph::MultiGraph"]],["impl Sync for MultiNode",1,["hydroflow_plus::deploy::in_memory_graph::MultiNode"]],["impl Sync for SingleNode",1,["hydroflow_plus::deploy::in_memory_graph::SingleNode"]],["impl Sync for SingleProcessGraph",1,["hydroflow_plus::deploy::in_memory_graph::SingleProcessGraph"]],["impl Sync for DeployRuntime",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntime"]],["impl Sync for ExternalBytesPort",1,["hydroflow_plus::location::external_process::ExternalBytesPort"]],["impl Sync for NoOrder",1,["hydroflow_plus::stream::NoOrder"]],["impl Sync for TotalOrder",1,["hydroflow_plus::stream::TotalOrder"]],["impl<'a> !Sync for BuiltFlow<'a>",1,["hydroflow_plus::builder::built::BuiltFlow"]],["impl<'a> !Sync for CompiledFlowWithId<'a>",1,["hydroflow_plus::builder::compiled::CompiledFlowWithId"]],["impl<'a> !Sync for FlowBuilder<'a>",1,["hydroflow_plus::builder::FlowBuilder"]],["impl<'a> Sync for ClusterSelfId<'a>",1,["hydroflow_plus::location::cluster::ClusterSelfId"]],["impl<'a> Sync for RuntimeContext<'a>",1,["hydroflow_plus::runtime_context::RuntimeContext"]],["impl<'a, C> !Sync for Cluster<'a, C>",1,["hydroflow_plus::location::cluster::Cluster"]],["impl<'a, C> Sync for ClusterIds<'a, C>
where\n C: Sync,
",1,["hydroflow_plus::location::cluster::ClusterIds"]],["impl<'a, D> !Sync for DeployFlow<'a, D>",1,["hydroflow_plus::builder::deploy::DeployFlow"]],["impl<'a, D> Sync for DeployResult<'a, D>
where\n <D as Deploy<'a>>::Process: Sync,\n <D as Deploy<'a>>::Cluster: Sync,\n <D as Deploy<'a>>::ExternalProcess: Sync,
",1,["hydroflow_plus::builder::deploy::DeployResult"]],["impl<'a, ID> !Sync for CompiledFlow<'a, ID>",1,["hydroflow_plus::builder::compiled::CompiledFlow"]],["impl<'a, P = ()> !Sync for Process<'a, P>",1,["hydroflow_plus::location::process::Process"]],["impl<'a, P> !Sync for ExternalProcess<'a, P>",1,["hydroflow_plus::location::external_process::ExternalProcess"]],["impl<'a, S> !Sync for ForwardRef<'a, S>",1,["hydroflow_plus::cycle::ForwardRef"]],["impl<'a, S> !Sync for TickCycle<'a, S>",1,["hydroflow_plus::cycle::TickCycle"]],["impl<C> Sync for ClusterId<C>
where\n C: Sync,
",1,["hydroflow_plus::location::cluster::cluster_id::ClusterId"]],["impl<L> Sync for Tick<L>
where\n L: Sync,
",1,["hydroflow_plus::location::tick::Tick"]],["impl<L> Sync for Timestamped<L>
where\n L: Sync,
",1,["hydroflow_plus::location::tick::Timestamped"]],["impl<T> Sync for ExternalBincodeSink<T>
where\n T: Sync,
",1,["hydroflow_plus::location::external_process::ExternalBincodeSink"]],["impl<T> Sync for ExternalBincodeStream<T>
where\n T: Sync,
",1,["hydroflow_plus::location::external_process::ExternalBincodeStream"]],["impl<T, L, B> !Sync for Optional<T, L, B>",1,["hydroflow_plus::optional::Optional"]],["impl<T, L, B> !Sync for Singleton<T, L, B>",1,["hydroflow_plus::singleton::Singleton"]],["impl<T, L, B, Order = TotalOrder> !Sync for Stream<T, L, B, Order>",1,["hydroflow_plus::stream::Stream"]]]],["hydroflow_plus_test",[["impl Sync for Leader",1,["hydroflow_plus_test::cluster::compute_pi::Leader"]],["impl Sync for Worker",1,["hydroflow_plus_test::cluster::compute_pi::Worker"]],["impl Sync for Leader",1,["hydroflow_plus_test::cluster::map_reduce::Leader"]],["impl Sync for Worker",1,["hydroflow_plus_test::cluster::map_reduce::Worker"]],["impl Sync for Acceptor",1,["hydroflow_plus_test::cluster::paxos::Acceptor"]],["impl Sync for Ballot",1,["hydroflow_plus_test::cluster::paxos::Ballot"]],["impl Sync for Proposer",1,["hydroflow_plus_test::cluster::paxos::Proposer"]],["impl Sync for Client",1,["hydroflow_plus_test::cluster::paxos_bench::Client"]],["impl Sync for Replica",1,["hydroflow_plus_test::cluster::paxos_kv::Replica"]],["impl Sync for Client",1,["hydroflow_plus_test::cluster::two_pc::Client"]],["impl Sync for Coordinator",1,["hydroflow_plus_test::cluster::two_pc::Coordinator"]],["impl Sync for Participants",1,["hydroflow_plus_test::cluster::two_pc::Participants"]],["impl Sync for P1",1,["hydroflow_plus_test::distributed::first_ten::P1"]],["impl Sync for P2",1,["hydroflow_plus_test::distributed::first_ten::P2"]],["impl<K, V> Sync for KvPayload<K, V>
where\n K: Sync,\n V: Sync,
",1,["hydroflow_plus_test::cluster::paxos_kv::KvPayload"]],["impl<K, V> Sync for SequencedKv<K, V>
where\n K: Sync,\n V: Sync,
",1,["hydroflow_plus_test::cluster::paxos_kv::SequencedKv"]]]],["latency_measure",[["impl Sync for TopolotreeMessage",1,["latency_measure::protocol::TopolotreeMessage"]],["impl Sync for OperationPayload",1,["latency_measure::protocol::OperationPayload"]],["impl Sync for QueryResponse",1,["latency_measure::protocol::QueryResponse"]],["impl<T> Sync for Payload<T>
where\n T: Sync,
",1,["latency_measure::protocol::Payload"]],["impl<T> Sync for Timestamped<T>
where\n T: Sync,
",1,["latency_measure::protocol::Timestamped"]]]],["lattices",[["impl Sync for U32WithInfinity",1,["lattices::semiring_application::U32WithInfinity"]],["impl Sync for BinaryTrust",1,["lattices::semiring_application::BinaryTrust"]],["impl Sync for ConfidenceScore",1,["lattices::semiring_application::ConfidenceScore"]],["impl Sync for Cost",1,["lattices::semiring_application::Cost"]],["impl Sync for FuzzyLogic",1,["lattices::semiring_application::FuzzyLogic"]],["impl Sync for Multiplicity",1,["lattices::semiring_application::Multiplicity"]],["impl Sync for PairBimorphism",1,["lattices::pair::PairBimorphism"]],["impl<Bimorphism> Sync for GhtBimorphism<Bimorphism>
where\n Bimorphism: Sync,
",1,["lattices::ght::lattice::GhtBimorphism"]],["impl<Bimorphism> Sync for GhtNodeKeyedBimorphism<Bimorphism>
where\n Bimorphism: Sync,
",1,["lattices::ght::lattice::GhtNodeKeyedBimorphism"]],["impl<GhtOut> Sync for GhtCartesianProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtCartesianProductBimorphism"]],["impl<GhtOut> Sync for GhtValTypeProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtValTypeProductBimorphism"]],["impl<Head, Node> Sync for GhtInner<Head, Node>
where\n Head: Sync,\n Node: Sync,
",1,["lattices::ght::GhtInner"]],["impl<Inner> Sync for WithBot<Inner>
where\n Inner: Sync,
",1,["lattices::with_bot::WithBot"]],["impl<Inner> Sync for WithTop<Inner>
where\n Inner: Sync,
",1,["lattices::with_top::WithTop"]],["impl<K, V> Sync for EmptyMap<K, V>
where\n K: Sync,\n V: Sync,
",1,["lattices::collections::EmptyMap"]],["impl<K, V> Sync for OptionMap<K, V>
where\n K: Sync,\n V: Sync,
",1,["lattices::collections::OptionMap"]],["impl<K, V> Sync for SingletonMap<K, V>
where\n K: Sync,\n V: Sync,
",1,["lattices::collections::SingletonMap"]],["impl<K, V> Sync for VecMap<K, V>
where\n K: Sync,\n V: Sync,
",1,["lattices::collections::VecMap"]],["impl<K, V, const N: usize> Sync for ArrayMap<K, V, N>
where\n K: Sync,\n V: Sync,
",1,["lattices::collections::ArrayMap"]],["impl<Key, Val> Sync for DomPair<Key, Val>
where\n Key: Sync,\n Val: Sync,
",1,["lattices::dom_pair::DomPair"]],["impl<Lat> Sync for VecUnion<Lat>
where\n Lat: Sync,
",1,["lattices::vec_union::VecUnion"]],["impl<LatA, LatB> Sync for Pair<LatA, LatB>
where\n LatA: Sync,\n LatB: Sync,
",1,["lattices::pair::Pair"]],["impl<Map> Sync for MapUnion<Map>
where\n Map: Sync,
",1,["lattices::map_union::MapUnion"]],["impl<Map> Sync for UnionFind<Map>
where\n Map: Sync,
",1,["lattices::union_find::UnionFind"]],["impl<Map, TombstoneSet> Sync for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: Sync,\n TombstoneSet: Sync,
",1,["lattices::map_union_with_tombstones::MapUnionWithTombstones"]],["impl<MapOut, Bimorphism> Sync for KeyedBimorphism<MapOut, Bimorphism>
where\n Bimorphism: Sync,
",1,["lattices::map_union::KeyedBimorphism"]],["impl<Schema, ValType, Storage> Sync for GhtLeaf<Schema, ValType, Storage>
where\n Storage: Sync,\n ValType: Sync,
",1,["lattices::ght::GhtLeaf"]],["impl<Set> Sync for SetUnion<Set>
where\n Set: Sync,
",1,["lattices::set_union::SetUnion"]],["impl<Set, TombstoneSet> Sync for SetUnionWithTombstones<Set, TombstoneSet>
where\n Set: Sync,\n TombstoneSet: Sync,
",1,["lattices::set_union_with_tombstones::SetUnionWithTombstones"]],["impl<SetOut> Sync for CartesianProductBimorphism<SetOut>",1,["lattices::set_union::CartesianProductBimorphism"]],["impl<T> Sync for EmptySet<T>
where\n T: Sync,
",1,["lattices::collections::EmptySet"]],["impl<T> Sync for OptionSet<T>
where\n T: Sync,
",1,["lattices::collections::OptionSet"]],["impl<T> Sync for SingletonSet<T>
where\n T: Sync,
",1,["lattices::collections::SingletonSet"]],["impl<T> Sync for VecSet<T>
where\n T: Sync,
",1,["lattices::collections::VecSet"]],["impl<T> Sync for Conflict<T>
where\n T: Sync,
",1,["lattices::conflict::Conflict"]],["impl<T> Sync for Max<T>
where\n T: Sync,
",1,["lattices::ord::Max"]],["impl<T> Sync for Min<T>
where\n T: Sync,
",1,["lattices::ord::Min"]],["impl<T, Provenance> !Sync for Point<T, Provenance>",1,["lattices::point::Point"]],["impl<T, const N: usize> Sync for ArraySet<T, N>
where\n T: Sync,
",1,["lattices::collections::ArraySet"]]]],["load_test_server",[["impl Sync for Opts",1,["load_test_server::Opts"]],["impl Sync for Switchboard",1,["load_test_server::Switchboard"]]]],["pn",[["impl !Sync for GossipOrIncrement",1,["pn::GossipOrIncrement"]],["impl Sync for TopolotreeMessage",1,["pn::protocol::TopolotreeMessage"]],["impl Sync for OperationPayload",1,["pn::protocol::OperationPayload"]],["impl Sync for QueryResponse",1,["pn::protocol::QueryResponse"]],["impl<T> Sync for Payload<T>
where\n T: Sync,
",1,["pn::protocol::Payload"]],["impl<T> Sync for Timestamped<T>
where\n T: Sync,
",1,["pn::protocol::Timestamped"]]]],["pn_delta",[["impl Sync for GossipOrIncrement",1,["pn_delta::GossipOrIncrement"]],["impl Sync for TopolotreeMessage",1,["pn_delta::protocol::TopolotreeMessage"]],["impl Sync for OperationPayload",1,["pn_delta::protocol::OperationPayload"]],["impl Sync for QueryResponse",1,["pn_delta::protocol::QueryResponse"]],["impl<T> Sync for Payload<T>
where\n T: Sync,
",1,["pn_delta::protocol::Payload"]],["impl<T> Sync for Timestamped<T>
where\n T: Sync,
",1,["pn_delta::protocol::Timestamped"]]]],["pusherator",[["impl<Func, In> Sync for ForEach<Func, In>
where\n Func: Sync,
",1,["pusherator::for_each::ForEach"]],["impl<Func, Nexts, Item> Sync for Demux<Func, Nexts, Item>
where\n Func: Sync,\n Nexts: Sync,
",1,["pusherator::demux::Demux"]],["impl<I> Sync for PivotBuild<I>
where\n I: Sync,
",1,["pusherator::pivot::PivotBuild"]],["impl<I, P> Sync for Pivot<I, P>
where\n I: Sync,\n P: Sync,
",1,["pusherator::pivot::Pivot"]],["impl<In> Sync for Null<In>
where\n In: Sync,
",1,["pusherator::null::Null"]],["impl<Next, Func> Sync for Filter<Next, Func>
where\n Next: Sync,\n Func: Sync,
",1,["pusherator::filter::Filter"]],["impl<Next, Func> Sync for Inspect<Next, Func>
where\n Next: Sync,\n Func: Sync,
",1,["pusherator::inspect::Inspect"]],["impl<Next, Func, In> Sync for FilterMap<Next, Func, In>
where\n Next: Sync,\n Func: Sync,
",1,["pusherator::filter_map::FilterMap"]],["impl<Next, Func, In> Sync for Map<Next, Func, In>
where\n Next: Sync,\n Func: Sync,
",1,["pusherator::map::Map"]],["impl<Next, In> Sync for Flatten<Next, In>
where\n Next: Sync,
",1,["pusherator::flatten::Flatten"]],["impl<Next1, Next2> Sync for Switch<Next1, Next2>
where\n Next1: Sync,\n Next2: Sync,
",1,["pusherator::switch::Switch"]],["impl<Next1, Next2> Sync for Tee<Next1, Next2>
where\n Next1: Sync,\n Next2: Sync,
",1,["pusherator::tee::Tee"]],["impl<Next1, Next2> Sync for Unzip<Next1, Next2>
where\n Next1: Sync,\n Next2: Sync,
",1,["pusherator::unzip::Unzip"]],["impl<Next1, Next2, Func> Sync for Partition<Next1, Next2, Func>
where\n Next1: Sync,\n Next2: Sync,\n Func: Sync,
",1,["pusherator::partition::Partition"]],["impl<Prev> Sync for FlattenBuild<Prev>
where\n Prev: Sync,
",1,["pusherator::flatten::FlattenBuild"]],["impl<Prev, Func> Sync for FilterBuild<Prev, Func>
where\n Prev: Sync,\n Func: Sync,
",1,["pusherator::filter::FilterBuild"]],["impl<Prev, Func> Sync for FilterMapBuild<Prev, Func>
where\n Prev: Sync,\n Func: Sync,
",1,["pusherator::filter_map::FilterMapBuild"]],["impl<Prev, Func> Sync for InspectBuild<Prev, Func>
where\n Prev: Sync,\n Func: Sync,
",1,["pusherator::inspect::InspectBuild"]],["impl<Prev, Func> Sync for MapBuild<Prev, Func>
where\n Prev: Sync,\n Func: Sync,
",1,["pusherator::map::MapBuild"]],["impl<Prev, Next1> Sync for SwitchBuild<Prev, Next1>
where\n Prev: Sync,\n Next1: Sync,
",1,["pusherator::switch::SwitchBuild"]],["impl<Prev, Next1> Sync for TeeBuild<Prev, Next1>
where\n <Prev as PusheratorBuild>::ItemOut: Sized,\n Prev: Sync,\n Next1: Sync,
",1,["pusherator::tee::TeeBuild"]],["impl<Prev, Next1> Sync for UnzipBuild<Prev, Next1>
where\n Prev: Sync,\n Next1: Sync,
",1,["pusherator::unzip::UnzipBuild"]],["impl<Prev, Next1, Func> Sync for PartitionBuild<Prev, Next1, Func>
where\n Prev: Sync,\n Next1: Sync,\n Func: Sync,
",1,["pusherator::partition::PartitionBuild"]],["impl<T> Sync for InputBuild<T>
where\n T: Sync,
",1,["pusherator::InputBuild"]]]],["relalg",[["impl Sync for Datum",1,["relalg::Datum"]],["impl Sync for ScalarExpr",1,["relalg::ScalarExpr"]]]],["stageleft",[["impl<'a> Sync for BorrowBounds<'a>",1,["stageleft::BorrowBounds"]],["impl<T> Sync for Import<T>
where\n T: Sync,
",1,["stageleft::runtime_support::Import"]],["impl<T> Sync for RuntimeData<T>
where\n T: Sync,
",1,["stageleft::RuntimeData"]]]],["topolotree",[["impl Sync for TopolotreeMessage",1,["topolotree::protocol::TopolotreeMessage"]],["impl Sync for OperationPayload",1,["topolotree::protocol::OperationPayload"]],["impl Sync for QueryResponse",1,["topolotree::protocol::QueryResponse"]],["impl Sync for NodeId",1,["topolotree::NodeId"]],["impl<T> Sync for Payload<T>
where\n T: Sync,
",1,["topolotree::protocol::Payload"]],["impl<T> Sync for Timestamped<T>
where\n T: Sync,
",1,["topolotree::protocol::Timestamped"]]]],["variadics",[["impl<Iter, Item> Sync for DuplicateCounted<Iter, Item>
where\n Iter: Sync,\n Item: Sync,
",1,["variadics::variadic_collections::DuplicateCounted"]],["impl<K, S> Sync for VariadicCountedHashSet<K, S>
where\n S: Sync,\n K: Sync,
",1,["variadics::variadic_collections::VariadicCountedHashSet"]],["impl<Schema> Sync for VariadicColumnMultiset<Schema>
where\n <Schema as VariadicExt>::IntoVec: Sync,
",1,["variadics::variadic_collections::VariadicColumnMultiset"]],["impl<T, S> Sync for VariadicHashSet<T, S>
where\n S: Sync,\n T: Sync,
",1,["variadics::variadic_collections::VariadicHashSet"]]]],["website_playground",[["impl Sync for HydroflowOutput",1,["website_playground::HydroflowOutput"]],["impl Sync for HydroflowResult",1,["website_playground::HydroflowResult"]],["impl Sync for JsDiagnostic",1,["website_playground::JsDiagnostic"]],["impl Sync for JsLineColumn",1,["website_playground::JsLineColumn"]],["impl Sync for JsSpan",1,["website_playground::JsSpan"]]]]]); + var implementors = Object.fromEntries([["gossip_cli",[["impl Sync for InteractiveCommands",1,["gossip_cli::InteractiveCommands"]],["impl Sync for InteractiveApp",1,["gossip_cli::InteractiveApp"]],["impl Sync for Opts",1,["gossip_cli::Opts"]]]],["gossip_kv",[["impl Sync for ClientRequest",1,["gossip_kv::ClientRequest"]],["impl Sync for ClientResponse",1,["gossip_kv::ClientResponse"]],["impl Sync for GossipMessage",1,["gossip_kv::GossipMessage"]],["impl Sync for KeyParseError",1,["gossip_kv::KeyParseError"]],["impl Sync for Namespace",1,["gossip_kv::Namespace"]],["impl Sync for InfectingWrite",1,["gossip_kv::server::InfectingWrite"]],["impl Sync for SETS_COUNTER",1,["gossip_kv::server::SETS_COUNTER"]],["impl Sync for Key",1,["gossip_kv::Key"]],["impl<A> Sync for ClientRequestWithAddress<A>
where\n A: Sync,
",1,["gossip_kv::util::ClientRequestWithAddress"]],["impl<A> Sync for GossipRequestWithAddress<A>
where\n A: Sync,
",1,["gossip_kv::util::GossipRequestWithAddress"]],["impl<A> Sync for MemberData<A>
where\n A: Sync,
",1,["gossip_kv::membership::MemberData"]],["impl<A> Sync for MemberDataBuilder<A>
where\n A: Sync,
",1,["gossip_kv::membership::MemberDataBuilder"]],["impl<A> Sync for Protocol<A>
where\n A: Sync,
",1,["gossip_kv::membership::Protocol"]],["impl<A> Sync for SeedNode<A>
where\n A: Sync,
",1,["gossip_kv::server::SeedNode"]],["impl<T, const N: usize> Sync for BoundedSetLattice<T, N>
where\n T: Sync,
",1,["gossip_kv::lattices::BoundedSetLattice"]]]],["gossip_server",[["impl Sync for SeedNodeSettings",1,["gossip_server::config::SeedNodeSettings"]],["impl Sync for ServerSettings",1,["gossip_server::config::ServerSettings"]],["impl Sync for UnboundedSenderEventHandler",1,["gossip_server::config::UnboundedSenderEventHandler"]],["impl Sync for LowercaseAlphanumeric",1,["gossip_server::membership::LowercaseAlphanumeric"]],["impl Sync for Opts",1,["gossip_server::Opts"]]]],["hydro_cli",[["impl !Sync for AnyhowError",1,["hydro_cli::AnyhowError"]],["impl Sync for AnyhowWrapper",1,["hydro_cli::AnyhowWrapper"]],["impl Sync for Deployment",1,["hydro_cli::Deployment"]],["impl Sync for Host",1,["hydro_cli::Host"]],["impl Sync for Service",1,["hydro_cli::Service"]]]],["hydro_deploy",[["impl Sync for HostTargetType",1,["hydro_deploy::HostTargetType"]],["impl Sync for ServerStrategy",1,["hydro_deploy::ServerStrategy"]],["impl Sync for CrateTarget",1,["hydro_deploy::hydroflow_crate::CrateTarget"]],["impl Sync for ServerConfig",1,["hydro_deploy::hydroflow_crate::ports::ServerConfig"]],["impl Sync for SourcePath",1,["hydro_deploy::hydroflow_crate::ports::SourcePath"]],["impl Sync for BarTree",1,["hydro_deploy::progress::BarTree"]],["impl Sync for LeafStatus",1,["hydro_deploy::progress::LeafStatus"]],["impl Sync for AzureHost",1,["hydro_deploy::azure::AzureHost"]],["impl Sync for LaunchedVirtualMachine",1,["hydro_deploy::azure::LaunchedVirtualMachine"]],["impl Sync for CustomClientPort",1,["hydro_deploy::custom_service::CustomClientPort"]],["impl Sync for CustomService",1,["hydro_deploy::custom_service::CustomService"]],["impl Sync for Deployment",1,["hydro_deploy::deployment::Deployment"]],["impl Sync for GcpComputeEngineHost",1,["hydro_deploy::gcp::GcpComputeEngineHost"]],["impl Sync for GcpNetwork",1,["hydro_deploy::gcp::GcpNetwork"]],["impl Sync for LaunchedComputeEngine",1,["hydro_deploy::gcp::LaunchedComputeEngine"]],["impl Sync for DemuxSink",1,["hydro_deploy::hydroflow_crate::ports::DemuxSink"]],["impl Sync for HydroflowPortConfig",1,["hydro_deploy::hydroflow_crate::ports::HydroflowPortConfig"]],["impl Sync for NullSourceSink",1,["hydro_deploy::hydroflow_crate::ports::NullSourceSink"]],["impl Sync for TaggedSource",1,["hydro_deploy::hydroflow_crate::ports::TaggedSource"]],["impl Sync for HydroflowCrateService",1,["hydro_deploy::hydroflow_crate::service::HydroflowCrateService"]],["impl Sync for HydroflowCrate",1,["hydro_deploy::hydroflow_crate::HydroflowCrate"]],["impl Sync for TracingOptions",1,["hydro_deploy::hydroflow_crate::tracing_options::TracingOptions"]],["impl Sync for LaunchedLocalhostBinary",1,["hydro_deploy::localhost::launched_binary::LaunchedLocalhostBinary"]],["impl Sync for LocalhostHost",1,["hydro_deploy::localhost::LocalhostHost"]],["impl Sync for ProgressTracker",1,["hydro_deploy::progress::ProgressTracker"]],["impl Sync for ResourceBatch",1,["hydro_deploy::ResourceBatch"]],["impl Sync for ResourcePool",1,["hydro_deploy::ResourcePool"]],["impl Sync for ResourceResult",1,["hydro_deploy::ResourceResult"]],["impl Sync for TerraformBatch",1,["hydro_deploy::terraform::TerraformBatch"]],["impl Sync for TerraformConfig",1,["hydro_deploy::terraform::TerraformConfig"]],["impl Sync for TerraformOutput",1,["hydro_deploy::terraform::TerraformOutput"]],["impl Sync for TerraformPool",1,["hydro_deploy::terraform::TerraformPool"]],["impl Sync for TerraformProvider",1,["hydro_deploy::terraform::TerraformProvider"]],["impl Sync for TerraformResult",1,["hydro_deploy::terraform::TerraformResult"]],["impl Sync for TerraformResultOutput",1,["hydro_deploy::terraform::TerraformResultOutput"]],["impl<'a> Sync for ClientStrategy<'a>",1,["hydro_deploy::ClientStrategy"]]]],["hydroflow",[["impl !Sync for Context",1,["hydroflow::scheduled::context::Context"]],["impl !Sync for Fleet",1,["hydroflow::util::simulation::Fleet"]],["impl !Sync for Host",1,["hydroflow::util::simulation::Host"]],["impl !Sync for HostBuilder",1,["hydroflow::util::simulation::HostBuilder"]],["impl !Sync for Inbox",1,["hydroflow::util::simulation::Inbox"]],["impl !Sync for Outbox",1,["hydroflow::util::simulation::Outbox"]],["impl Sync for RECV",1,["hydroflow::scheduled::port::RECV"]],["impl Sync for SEND",1,["hydroflow::scheduled::port::SEND"]],["impl Sync for Message",1,["hydroflow::scheduled::net::Message"]],["impl Sync for Reactor",1,["hydroflow::scheduled::reactor::Reactor"]],["impl Sync for StateHandleErased",1,["hydroflow::scheduled::state::StateHandleErased"]],["impl Sync for HandoffId",1,["hydroflow::scheduled::HandoffId"]],["impl Sync for StateId",1,["hydroflow::scheduled::StateId"]],["impl Sync for SubgraphId",1,["hydroflow::scheduled::SubgraphId"]],["impl Sync for TickDuration",1,["hydroflow::scheduled::ticks::TickDuration"]],["impl Sync for TickInstant",1,["hydroflow::scheduled::ticks::TickInstant"]],["impl Sync for Address",1,["hydroflow::util::simulation::Address"]],["impl Sync for DroppableChild",1,["hydroflow::util::DroppableChild"]],["impl<'a> !Sync for Hydroflow<'a>",1,["hydroflow::scheduled::graph::Hydroflow"]],["impl<'a> !Sync for Query<'a>",1,["hydroflow::scheduled::query::Query"]],["impl<'a, I1, V1, I2, V2> Sync for CrossJoin<'a, I1, V1, I2, V2>
where\n I1: Sync,\n I2: Sync,\n V1: Sync,\n V2: Sync,
",1,["hydroflow::compiled::pull::cross_join::CrossJoin"]],["impl<'a, Key, I1, V1, I2, V2, LhsState, RhsState> Sync for SymmetricHashJoin<'a, Key, I1, V1, I2, V2, LhsState, RhsState>
where\n I1: Sync,\n I2: Sync,\n LhsState: Sync,\n RhsState: Sync,
",1,["hydroflow::compiled::pull::symmetric_hash_join::SymmetricHashJoin"]],["impl<'a, Key, V, Ipos> Sync for AntiJoin<'a, Key, V, Ipos>
where\n Ipos: Sync,\n Key: Sync,\n V: Sync,
",1,["hydroflow::compiled::pull::anti_join::AntiJoin"]],["impl<'a, T> !Sync for Operator<'a, T>",1,["hydroflow::scheduled::query::Operator"]],["impl<'context> !Sync for TransducerBuilderContext<'context>",1,["hydroflow::util::simulation::TransducerBuilderContext"]],["impl<F> Sync for MonotonicFn<F>
where\n F: Sync,
",1,["hydroflow::util::monotonic::MonotonicFn"]],["impl<F> Sync for Morphism<F>
where\n F: Sync,
",1,["hydroflow::util::monotonic::Morphism"]],["impl<I> Sync for Iter<I>
where\n I: Sync,
",1,["hydroflow::scheduled::handoff::Iter"]],["impl<K, A> Sync for HalfJoinStateFold<K, A>
where\n K: Sync,\n A: Sync,
",1,["hydroflow::compiled::pull::half_join_state::fold::HalfJoinStateFold"]],["impl<K, A> Sync for HalfJoinStateFoldFrom<K, A>
where\n K: Sync,\n A: Sync,
",1,["hydroflow::compiled::pull::half_join_state::fold_from::HalfJoinStateFoldFrom"]],["impl<K, A> Sync for HalfJoinStateReduce<K, A>
where\n K: Sync,\n A: Sync,
",1,["hydroflow::compiled::pull::half_join_state::reduce::HalfJoinStateReduce"]],["impl<K, V> Sync for PersistenceKeyed<K, V>
where\n K: Sync,\n V: Sync,
",1,["hydroflow::util::PersistenceKeyed"]],["impl<K, V> Sync for MonotonicMap<K, V>
where\n V: Sync,\n K: Sync,
",1,["hydroflow::util::monotonic_map::MonotonicMap"]],["impl<Key, ValBuild, ValProbe> Sync for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where\n Key: Sync,\n ValProbe: Sync,\n ValBuild: Sync,
",1,["hydroflow::compiled::pull::half_join_state::multiset::HalfMultisetJoinState"]],["impl<Key, ValBuild, ValProbe> Sync for HalfSetJoinState<Key, ValBuild, ValProbe>
where\n Key: Sync,\n ValProbe: Sync,\n ValBuild: Sync,
",1,["hydroflow::compiled::pull::half_join_state::set::HalfSetJoinState"]],["impl<S, H> !Sync for Port<S, H>",1,["hydroflow::scheduled::port::Port"]],["impl<S, H> !Sync for PortCtx<S, H>",1,["hydroflow::scheduled::port::PortCtx"]],["impl<T = Option<()>> !Sync for DeployPorts<T>",1,["hydroflow::util::deploy::DeployPorts"]],["impl<T> !Sync for TeeingHandoff<T>",1,["hydroflow::scheduled::handoff::tee::TeeingHandoff"]],["impl<T> !Sync for VecHandoff<T>",1,["hydroflow::scheduled::handoff::vector::VecHandoff"]],["impl<T> !Sync for Buffer<T>",1,["hydroflow::scheduled::input::Buffer"]],["impl<T> !Sync for StateHandle<T>",1,["hydroflow::scheduled::state::StateHandle"]],["impl<T> !Sync for Receiver<T>",1,["hydroflow::util::unsync::mpsc::Receiver"]],["impl<T> !Sync for Sender<T>",1,["hydroflow::util::unsync::mpsc::Sender"]],["impl<T> Sync for Persistence<T>
where\n T: Sync,
",1,["hydroflow::util::Persistence"]],["impl<T> Sync for ClearDefault<T>
where\n T: Sync,
",1,["hydroflow::util::clear::ClearDefault"]],["impl<T> Sync for HashMultiSet<T>
where\n T: Sync,
",1,["hydroflow::util::multiset::HashMultiSet"]],["impl<T> Sync for SparseVec<T>
where\n T: Sync,
",1,["hydroflow::util::sparse_vec::SparseVec"]],["impl<T, G> Sync for Input<T, G>
where\n G: Sync,\n T: Sync,
",1,["hydroflow::scheduled::input::Input"]],["impl<V1, V2> Sync for CrossJoinState<V1, V2>
where\n V1: Sync,\n V2: Sync,
",1,["hydroflow::compiled::pull::cross_join::CrossJoinState"]]]],["hydroflow_deploy_integration",[["impl Sync for BoundConnection",1,["hydroflow_deploy_integration::BoundConnection"]],["impl Sync for RealizedServerPort",1,["hydroflow_deploy_integration::RealizedServerPort"]],["impl Sync for ServerBindConfig",1,["hydroflow_deploy_integration::ServerBindConfig"]],["impl Sync for ServerOrBound",1,["hydroflow_deploy_integration::ServerOrBound"]],["impl Sync for ServerPort",1,["hydroflow_deploy_integration::ServerPort"]],["impl Sync for ConnectedDirect",1,["hydroflow_deploy_integration::ConnectedDirect"]],["impl<T> Sync for ConnectedDemux<T>",1,["hydroflow_deploy_integration::ConnectedDemux"]],["impl<T> Sync for ConnectedTagged<T>",1,["hydroflow_deploy_integration::ConnectedTagged"]],["impl<T, S> Sync for DemuxDrain<T, S>
where\n T: Sync,\n S: ?Sized,
",1,["hydroflow_deploy_integration::DemuxDrain"]],["impl<T, S> Sync for MergeSource<T, S>
where\n T: Sync,\n S: ?Sized,
",1,["hydroflow_deploy_integration::MergeSource"]],["impl<T, S> Sync for TaggedSource<T, S>
where\n T: Sync,\n S: ?Sized,
",1,["hydroflow_deploy_integration::TaggedSource"]]]],["hydroflow_lang",[["impl !Sync for GraphNode",1,["hydroflow_lang::graph::GraphNode"]],["impl !Sync for PortIndexValue",1,["hydroflow_lang::graph::PortIndexValue"]],["impl !Sync for PortListSpec",1,["hydroflow_lang::graph::ops::PortListSpec"]],["impl !Sync for HfStatement",1,["hydroflow_lang::parse::HfStatement"]],["impl !Sync for Pipeline",1,["hydroflow_lang::parse::Pipeline"]],["impl !Sync for PortIndex",1,["hydroflow_lang::parse::PortIndex"]],["impl !Sync for OperatorWriteOutput",1,["hydroflow_lang::graph::ops::OperatorWriteOutput"]],["impl !Sync for FlatGraphBuilder",1,["hydroflow_lang::graph::flat_graph_builder::FlatGraphBuilder"]],["impl !Sync for HydroflowGraph",1,["hydroflow_lang::graph::hydroflow_graph::HydroflowGraph"]],["impl !Sync for OpInstGenerics",1,["hydroflow_lang::graph::OpInstGenerics"]],["impl !Sync for OperatorInstance",1,["hydroflow_lang::graph::OperatorInstance"]],["impl !Sync for HfCode",1,["hydroflow_lang::parse::HfCode"]],["impl !Sync for Import",1,["hydroflow_lang::parse::Import"]],["impl !Sync for IndexInt",1,["hydroflow_lang::parse::IndexInt"]],["impl !Sync for Indexing",1,["hydroflow_lang::parse::Indexing"]],["impl !Sync for LoopStatement",1,["hydroflow_lang::parse::LoopStatement"]],["impl !Sync for NamedHfStatement",1,["hydroflow_lang::parse::NamedHfStatement"]],["impl !Sync for Operator",1,["hydroflow_lang::parse::Operator"]],["impl !Sync for PipelineLink",1,["hydroflow_lang::parse::PipelineLink"]],["impl !Sync for PipelineParen",1,["hydroflow_lang::parse::PipelineParen"]],["impl !Sync for PipelineStatement",1,["hydroflow_lang::parse::PipelineStatement"]],["impl !Sync for PrettyRowCol",1,["hydroflow_lang::pretty_span::PrettyRowCol"]],["impl !Sync for PrettySpan",1,["hydroflow_lang::pretty_span::PrettySpan"]],["impl Sync for Level",1,["hydroflow_lang::diagnostic::Level"]],["impl Sync for Color",1,["hydroflow_lang::graph::Color"]],["impl Sync for WriteGraphType",1,["hydroflow_lang::graph::hydroflow_graph::WriteGraphType"]],["impl Sync for DelayType",1,["hydroflow_lang::graph::ops::DelayType"]],["impl Sync for FloType",1,["hydroflow_lang::graph::ops::FloType"]],["impl Sync for OperatorCategory",1,["hydroflow_lang::graph::ops::OperatorCategory"]],["impl Sync for Persistence",1,["hydroflow_lang::graph::ops::Persistence"]],["impl Sync for SerdeSpan",1,["hydroflow_lang::diagnostic::SerdeSpan"]],["impl Sync for OperatorConstraints",1,["hydroflow_lang::graph::ops::OperatorConstraints"]],["impl Sync for GraphEdgeId",1,["hydroflow_lang::graph::GraphEdgeId"]],["impl Sync for GraphLoopId",1,["hydroflow_lang::graph::GraphLoopId"]],["impl Sync for GraphNodeId",1,["hydroflow_lang::graph::GraphNodeId"]],["impl Sync for GraphSubgraphId",1,["hydroflow_lang::graph::GraphSubgraphId"]],["impl Sync for WriteConfig",1,["hydroflow_lang::graph::hydroflow_graph::WriteConfig"]],["impl<'a> !Sync for WriteContextArgs<'a>",1,["hydroflow_lang::graph::ops::WriteContextArgs"]],["impl<Inner> !Sync for Ported<Inner>",1,["hydroflow_lang::parse::Ported"]],["impl<K> Sync for UnionFind<K>
where\n K: Sync,
",1,["hydroflow_lang::union_find::UnionFind"]],["impl<S> Sync for Diagnostic<S>
where\n S: Sync,
",1,["hydroflow_lang::diagnostic::Diagnostic"]],["impl<V, E> Sync for DiMulGraph<V, E>
where\n V: Sync,\n E: Sync,
",1,["hydroflow_lang::graph::di_mul_graph::DiMulGraph"]]]],["hydroflow_plus",[["impl !Sync for DebugInstantiate",1,["hydroflow_plus::ir::DebugInstantiate"]],["impl !Sync for HfPlusLeaf",1,["hydroflow_plus::ir::HfPlusLeaf"]],["impl !Sync for HfPlusNode",1,["hydroflow_plus::ir::HfPlusNode"]],["impl !Sync for HfPlusSource",1,["hydroflow_plus::ir::HfPlusSource"]],["impl !Sync for FlowStateInner",1,["hydroflow_plus::builder::FlowStateInner"]],["impl !Sync for DeployRuntimeCluster",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeCluster"]],["impl !Sync for DeployRuntimeNode",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeNode"]],["impl !Sync for DebugExpr",1,["hydroflow_plus::ir::DebugExpr"]],["impl !Sync for DebugPipelineFn",1,["hydroflow_plus::ir::DebugPipelineFn"]],["impl !Sync for TeeNode",1,["hydroflow_plus::ir::TeeNode"]],["impl !Sync for PropertyDatabase",1,["hydroflow_plus::rewrites::properties::PropertyDatabase"]],["impl Sync for Bounded",1,["hydroflow_plus::boundedness::Bounded"]],["impl Sync for Unbounded",1,["hydroflow_plus::boundedness::Unbounded"]],["impl Sync for ForwardRefMarker",1,["hydroflow_plus::cycle::ForwardRefMarker"]],["impl Sync for TickCycleMarker",1,["hydroflow_plus::cycle::TickCycleMarker"]],["impl Sync for LocationId",1,["hydroflow_plus::location::LocationId"]],["impl Sync for HydroflowPlusMeta",1,["hydroflow_plus::deploy::deploy_runtime::HydroflowPlusMeta"]],["impl Sync for MultiGraph",1,["hydroflow_plus::deploy::in_memory_graph::MultiGraph"]],["impl Sync for MultiNode",1,["hydroflow_plus::deploy::in_memory_graph::MultiNode"]],["impl Sync for SingleNode",1,["hydroflow_plus::deploy::in_memory_graph::SingleNode"]],["impl Sync for SingleProcessGraph",1,["hydroflow_plus::deploy::in_memory_graph::SingleProcessGraph"]],["impl Sync for DeployRuntime",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntime"]],["impl Sync for ExternalBytesPort",1,["hydroflow_plus::location::external_process::ExternalBytesPort"]],["impl Sync for NoOrder",1,["hydroflow_plus::stream::NoOrder"]],["impl Sync for TotalOrder",1,["hydroflow_plus::stream::TotalOrder"]],["impl<'a> !Sync for BuiltFlow<'a>",1,["hydroflow_plus::builder::built::BuiltFlow"]],["impl<'a> !Sync for CompiledFlowWithId<'a>",1,["hydroflow_plus::builder::compiled::CompiledFlowWithId"]],["impl<'a> !Sync for FlowBuilder<'a>",1,["hydroflow_plus::builder::FlowBuilder"]],["impl<'a> Sync for ClusterSelfId<'a>",1,["hydroflow_plus::location::cluster::ClusterSelfId"]],["impl<'a> Sync for RuntimeContext<'a>",1,["hydroflow_plus::runtime_context::RuntimeContext"]],["impl<'a, C> !Sync for Cluster<'a, C>",1,["hydroflow_plus::location::cluster::Cluster"]],["impl<'a, C> Sync for ClusterIds<'a, C>
where\n C: Sync,
",1,["hydroflow_plus::location::cluster::ClusterIds"]],["impl<'a, D> !Sync for DeployFlow<'a, D>",1,["hydroflow_plus::builder::deploy::DeployFlow"]],["impl<'a, D> Sync for DeployResult<'a, D>
where\n <D as Deploy<'a>>::Process: Sync,\n <D as Deploy<'a>>::Cluster: Sync,\n <D as Deploy<'a>>::ExternalProcess: Sync,
",1,["hydroflow_plus::builder::deploy::DeployResult"]],["impl<'a, ID> !Sync for CompiledFlow<'a, ID>",1,["hydroflow_plus::builder::compiled::CompiledFlow"]],["impl<'a, P = ()> !Sync for Process<'a, P>",1,["hydroflow_plus::location::process::Process"]],["impl<'a, P> !Sync for ExternalProcess<'a, P>",1,["hydroflow_plus::location::external_process::ExternalProcess"]],["impl<'a, S> !Sync for ForwardRef<'a, S>",1,["hydroflow_plus::cycle::ForwardRef"]],["impl<'a, S> !Sync for TickCycle<'a, S>",1,["hydroflow_plus::cycle::TickCycle"]],["impl<C> Sync for ClusterId<C>
where\n C: Sync,
",1,["hydroflow_plus::location::cluster::cluster_id::ClusterId"]],["impl<L> Sync for Tick<L>
where\n L: Sync,
",1,["hydroflow_plus::location::tick::Tick"]],["impl<L> Sync for Timestamped<L>
where\n L: Sync,
",1,["hydroflow_plus::location::tick::Timestamped"]],["impl<T> Sync for ExternalBincodeSink<T>
where\n T: Sync,
",1,["hydroflow_plus::location::external_process::ExternalBincodeSink"]],["impl<T> Sync for ExternalBincodeStream<T>
where\n T: Sync,
",1,["hydroflow_plus::location::external_process::ExternalBincodeStream"]],["impl<T, L, B> !Sync for Optional<T, L, B>",1,["hydroflow_plus::optional::Optional"]],["impl<T, L, B> !Sync for Singleton<T, L, B>",1,["hydroflow_plus::singleton::Singleton"]],["impl<T, L, B, Order = TotalOrder> !Sync for Stream<T, L, B, Order>",1,["hydroflow_plus::stream::Stream"]]]],["hydroflow_plus_test",[["impl Sync for Leader",1,["hydroflow_plus_test::cluster::compute_pi::Leader"]],["impl Sync for Worker",1,["hydroflow_plus_test::cluster::compute_pi::Worker"]],["impl Sync for Leader",1,["hydroflow_plus_test::cluster::map_reduce::Leader"]],["impl Sync for Worker",1,["hydroflow_plus_test::cluster::map_reduce::Worker"]],["impl Sync for Acceptor",1,["hydroflow_plus_test::cluster::paxos::Acceptor"]],["impl Sync for Ballot",1,["hydroflow_plus_test::cluster::paxos::Ballot"]],["impl Sync for Proposer",1,["hydroflow_plus_test::cluster::paxos::Proposer"]],["impl Sync for Client",1,["hydroflow_plus_test::cluster::paxos_bench::Client"]],["impl Sync for Replica",1,["hydroflow_plus_test::cluster::paxos_kv::Replica"]],["impl Sync for Client",1,["hydroflow_plus_test::cluster::two_pc::Client"]],["impl Sync for Coordinator",1,["hydroflow_plus_test::cluster::two_pc::Coordinator"]],["impl Sync for Participants",1,["hydroflow_plus_test::cluster::two_pc::Participants"]],["impl Sync for P1",1,["hydroflow_plus_test::distributed::first_ten::P1"]],["impl Sync for P2",1,["hydroflow_plus_test::distributed::first_ten::P2"]],["impl<K, V> Sync for KvPayload<K, V>
where\n K: Sync,\n V: Sync,
",1,["hydroflow_plus_test::cluster::paxos_kv::KvPayload"]],["impl<K, V> Sync for SequencedKv<K, V>
where\n K: Sync,\n V: Sync,
",1,["hydroflow_plus_test::cluster::paxos_kv::SequencedKv"]]]],["latency_measure",[["impl Sync for TopolotreeMessage",1,["latency_measure::protocol::TopolotreeMessage"]],["impl Sync for OperationPayload",1,["latency_measure::protocol::OperationPayload"]],["impl Sync for QueryResponse",1,["latency_measure::protocol::QueryResponse"]],["impl<T> Sync for Payload<T>
where\n T: Sync,
",1,["latency_measure::protocol::Payload"]],["impl<T> Sync for Timestamped<T>
where\n T: Sync,
",1,["latency_measure::protocol::Timestamped"]]]],["lattices",[["impl Sync for U32WithInfinity",1,["lattices::semiring_application::U32WithInfinity"]],["impl Sync for BinaryTrust",1,["lattices::semiring_application::BinaryTrust"]],["impl Sync for ConfidenceScore",1,["lattices::semiring_application::ConfidenceScore"]],["impl Sync for Cost",1,["lattices::semiring_application::Cost"]],["impl Sync for FuzzyLogic",1,["lattices::semiring_application::FuzzyLogic"]],["impl Sync for Multiplicity",1,["lattices::semiring_application::Multiplicity"]],["impl Sync for PairBimorphism",1,["lattices::pair::PairBimorphism"]],["impl<Bimorphism> Sync for GhtBimorphism<Bimorphism>
where\n Bimorphism: Sync,
",1,["lattices::ght::lattice::GhtBimorphism"]],["impl<Bimorphism> Sync for GhtNodeKeyedBimorphism<Bimorphism>
where\n Bimorphism: Sync,
",1,["lattices::ght::lattice::GhtNodeKeyedBimorphism"]],["impl<GhtOut> Sync for GhtCartesianProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtCartesianProductBimorphism"]],["impl<GhtOut> Sync for GhtValTypeProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtValTypeProductBimorphism"]],["impl<Head, Node> Sync for GhtInner<Head, Node>
where\n Head: Sync,\n Node: Sync,
",1,["lattices::ght::GhtInner"]],["impl<Inner> Sync for WithBot<Inner>
where\n Inner: Sync,
",1,["lattices::with_bot::WithBot"]],["impl<Inner> Sync for WithTop<Inner>
where\n Inner: Sync,
",1,["lattices::with_top::WithTop"]],["impl<K, V> Sync for EmptyMap<K, V>
where\n K: Sync,\n V: Sync,
",1,["lattices::collections::EmptyMap"]],["impl<K, V> Sync for OptionMap<K, V>
where\n K: Sync,\n V: Sync,
",1,["lattices::collections::OptionMap"]],["impl<K, V> Sync for SingletonMap<K, V>
where\n K: Sync,\n V: Sync,
",1,["lattices::collections::SingletonMap"]],["impl<K, V> Sync for VecMap<K, V>
where\n K: Sync,\n V: Sync,
",1,["lattices::collections::VecMap"]],["impl<K, V, const N: usize> Sync for ArrayMap<K, V, N>
where\n K: Sync,\n V: Sync,
",1,["lattices::collections::ArrayMap"]],["impl<Key, Val> Sync for DomPair<Key, Val>
where\n Key: Sync,\n Val: Sync,
",1,["lattices::dom_pair::DomPair"]],["impl<Lat> Sync for VecUnion<Lat>
where\n Lat: Sync,
",1,["lattices::vec_union::VecUnion"]],["impl<LatA, LatB> Sync for Pair<LatA, LatB>
where\n LatA: Sync,\n LatB: Sync,
",1,["lattices::pair::Pair"]],["impl<Map> Sync for MapUnion<Map>
where\n Map: Sync,
",1,["lattices::map_union::MapUnion"]],["impl<Map> Sync for UnionFind<Map>
where\n Map: Sync,
",1,["lattices::union_find::UnionFind"]],["impl<Map, TombstoneSet> Sync for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: Sync,\n TombstoneSet: Sync,
",1,["lattices::map_union_with_tombstones::MapUnionWithTombstones"]],["impl<MapOut, Bimorphism> Sync for KeyedBimorphism<MapOut, Bimorphism>
where\n Bimorphism: Sync,
",1,["lattices::map_union::KeyedBimorphism"]],["impl<Schema, ValType, Storage> Sync for GhtLeaf<Schema, ValType, Storage>
where\n Storage: Sync,\n ValType: Sync,
",1,["lattices::ght::GhtLeaf"]],["impl<Set> Sync for SetUnion<Set>
where\n Set: Sync,
",1,["lattices::set_union::SetUnion"]],["impl<Set, TombstoneSet> Sync for SetUnionWithTombstones<Set, TombstoneSet>
where\n Set: Sync,\n TombstoneSet: Sync,
",1,["lattices::set_union_with_tombstones::SetUnionWithTombstones"]],["impl<SetOut> Sync for CartesianProductBimorphism<SetOut>",1,["lattices::set_union::CartesianProductBimorphism"]],["impl<T> Sync for EmptySet<T>
where\n T: Sync,
",1,["lattices::collections::EmptySet"]],["impl<T> Sync for OptionSet<T>
where\n T: Sync,
",1,["lattices::collections::OptionSet"]],["impl<T> Sync for SingletonSet<T>
where\n T: Sync,
",1,["lattices::collections::SingletonSet"]],["impl<T> Sync for VecSet<T>
where\n T: Sync,
",1,["lattices::collections::VecSet"]],["impl<T> Sync for Conflict<T>
where\n T: Sync,
",1,["lattices::conflict::Conflict"]],["impl<T> Sync for Max<T>
where\n T: Sync,
",1,["lattices::ord::Max"]],["impl<T> Sync for Min<T>
where\n T: Sync,
",1,["lattices::ord::Min"]],["impl<T, Provenance> !Sync for Point<T, Provenance>",1,["lattices::point::Point"]],["impl<T, const N: usize> Sync for ArraySet<T, N>
where\n T: Sync,
",1,["lattices::collections::ArraySet"]]]],["load_test_server",[["impl Sync for Opts",1,["load_test_server::Opts"]],["impl Sync for Switchboard",1,["load_test_server::Switchboard"]]]],["pn",[["impl !Sync for GossipOrIncrement",1,["pn::GossipOrIncrement"]],["impl Sync for TopolotreeMessage",1,["pn::protocol::TopolotreeMessage"]],["impl Sync for OperationPayload",1,["pn::protocol::OperationPayload"]],["impl Sync for QueryResponse",1,["pn::protocol::QueryResponse"]],["impl<T> Sync for Payload<T>
where\n T: Sync,
",1,["pn::protocol::Payload"]],["impl<T> Sync for Timestamped<T>
where\n T: Sync,
",1,["pn::protocol::Timestamped"]]]],["pn_delta",[["impl Sync for GossipOrIncrement",1,["pn_delta::GossipOrIncrement"]],["impl Sync for TopolotreeMessage",1,["pn_delta::protocol::TopolotreeMessage"]],["impl Sync for OperationPayload",1,["pn_delta::protocol::OperationPayload"]],["impl Sync for QueryResponse",1,["pn_delta::protocol::QueryResponse"]],["impl<T> Sync for Payload<T>
where\n T: Sync,
",1,["pn_delta::protocol::Payload"]],["impl<T> Sync for Timestamped<T>
where\n T: Sync,
",1,["pn_delta::protocol::Timestamped"]]]],["pusherator",[["impl<Func, In> Sync for ForEach<Func, In>
where\n Func: Sync,
",1,["pusherator::for_each::ForEach"]],["impl<Func, Nexts, Item> Sync for Demux<Func, Nexts, Item>
where\n Func: Sync,\n Nexts: Sync,
",1,["pusherator::demux::Demux"]],["impl<I> Sync for PivotBuild<I>
where\n I: Sync,
",1,["pusherator::pivot::PivotBuild"]],["impl<I, P> Sync for Pivot<I, P>
where\n I: Sync,\n P: Sync,
",1,["pusherator::pivot::Pivot"]],["impl<In> Sync for Null<In>
where\n In: Sync,
",1,["pusherator::null::Null"]],["impl<Next, Func> Sync for Filter<Next, Func>
where\n Next: Sync,\n Func: Sync,
",1,["pusherator::filter::Filter"]],["impl<Next, Func> Sync for Inspect<Next, Func>
where\n Next: Sync,\n Func: Sync,
",1,["pusherator::inspect::Inspect"]],["impl<Next, Func, In> Sync for FilterMap<Next, Func, In>
where\n Next: Sync,\n Func: Sync,
",1,["pusherator::filter_map::FilterMap"]],["impl<Next, Func, In> Sync for Map<Next, Func, In>
where\n Next: Sync,\n Func: Sync,
",1,["pusherator::map::Map"]],["impl<Next, In> Sync for Flatten<Next, In>
where\n Next: Sync,
",1,["pusherator::flatten::Flatten"]],["impl<Next1, Next2> Sync for Switch<Next1, Next2>
where\n Next1: Sync,\n Next2: Sync,
",1,["pusherator::switch::Switch"]],["impl<Next1, Next2> Sync for Tee<Next1, Next2>
where\n Next1: Sync,\n Next2: Sync,
",1,["pusherator::tee::Tee"]],["impl<Next1, Next2> Sync for Unzip<Next1, Next2>
where\n Next1: Sync,\n Next2: Sync,
",1,["pusherator::unzip::Unzip"]],["impl<Next1, Next2, Func> Sync for Partition<Next1, Next2, Func>
where\n Next1: Sync,\n Next2: Sync,\n Func: Sync,
",1,["pusherator::partition::Partition"]],["impl<Prev> Sync for FlattenBuild<Prev>
where\n Prev: Sync,
",1,["pusherator::flatten::FlattenBuild"]],["impl<Prev, Func> Sync for FilterBuild<Prev, Func>
where\n Prev: Sync,\n Func: Sync,
",1,["pusherator::filter::FilterBuild"]],["impl<Prev, Func> Sync for FilterMapBuild<Prev, Func>
where\n Prev: Sync,\n Func: Sync,
",1,["pusherator::filter_map::FilterMapBuild"]],["impl<Prev, Func> Sync for InspectBuild<Prev, Func>
where\n Prev: Sync,\n Func: Sync,
",1,["pusherator::inspect::InspectBuild"]],["impl<Prev, Func> Sync for MapBuild<Prev, Func>
where\n Prev: Sync,\n Func: Sync,
",1,["pusherator::map::MapBuild"]],["impl<Prev, Next1> Sync for SwitchBuild<Prev, Next1>
where\n Prev: Sync,\n Next1: Sync,
",1,["pusherator::switch::SwitchBuild"]],["impl<Prev, Next1> Sync for TeeBuild<Prev, Next1>
where\n <Prev as PusheratorBuild>::ItemOut: Sized,\n Prev: Sync,\n Next1: Sync,
",1,["pusherator::tee::TeeBuild"]],["impl<Prev, Next1> Sync for UnzipBuild<Prev, Next1>
where\n Prev: Sync,\n Next1: Sync,
",1,["pusherator::unzip::UnzipBuild"]],["impl<Prev, Next1, Func> Sync for PartitionBuild<Prev, Next1, Func>
where\n Prev: Sync,\n Next1: Sync,\n Func: Sync,
",1,["pusherator::partition::PartitionBuild"]],["impl<T> Sync for InputBuild<T>
where\n T: Sync,
",1,["pusherator::InputBuild"]]]],["relalg",[["impl Sync for Datum",1,["relalg::Datum"]],["impl Sync for ScalarExpr",1,["relalg::ScalarExpr"]]]],["stageleft",[["impl<'a> Sync for BorrowBounds<'a>",1,["stageleft::BorrowBounds"]],["impl<T> Sync for Import<T>
where\n T: Sync,
",1,["stageleft::runtime_support::Import"]],["impl<T> Sync for RuntimeData<T>
where\n T: Sync,
",1,["stageleft::RuntimeData"]]]],["topolotree",[["impl Sync for TopolotreeMessage",1,["topolotree::protocol::TopolotreeMessage"]],["impl Sync for OperationPayload",1,["topolotree::protocol::OperationPayload"]],["impl Sync for QueryResponse",1,["topolotree::protocol::QueryResponse"]],["impl Sync for NodeId",1,["topolotree::NodeId"]],["impl<T> Sync for Payload<T>
where\n T: Sync,
",1,["topolotree::protocol::Payload"]],["impl<T> Sync for Timestamped<T>
where\n T: Sync,
",1,["topolotree::protocol::Timestamped"]]]],["variadics",[["impl<Iter, Item> Sync for DuplicateCounted<Iter, Item>
where\n Iter: Sync,\n Item: Sync,
",1,["variadics::variadic_collections::DuplicateCounted"]],["impl<K, S> Sync for VariadicCountedHashSet<K, S>
where\n S: Sync,\n K: Sync,
",1,["variadics::variadic_collections::VariadicCountedHashSet"]],["impl<Schema> Sync for VariadicColumnMultiset<Schema>
where\n <Schema as VariadicExt>::IntoVec: Sync,
",1,["variadics::variadic_collections::VariadicColumnMultiset"]],["impl<T, S> Sync for VariadicHashSet<T, S>
where\n S: Sync,\n T: Sync,
",1,["variadics::variadic_collections::VariadicHashSet"]]]],["website_playground",[["impl Sync for HydroflowOutput",1,["website_playground::HydroflowOutput"]],["impl Sync for HydroflowResult",1,["website_playground::HydroflowResult"]],["impl Sync for JsDiagnostic",1,["website_playground::JsDiagnostic"]],["impl Sync for JsLineColumn",1,["website_playground::JsLineColumn"]],["impl Sync for JsSpan",1,["website_playground::JsSpan"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[920,6237,1767,1452,12747,24370,5063,13960,20082,6552,2148,20503,627,2233,2346,15931,545,1341,2346,3112,1655]} \ No newline at end of file +//{"start":57,"fragment_lengths":[920,6237,1767,1452,12747,24370,5063,14951,20082,6552,2148,20503,627,2233,2346,15931,545,1341,2346,3112,1655]} \ No newline at end of file diff --git a/doc/trait.impl/core/marker/trait.Unpin.js b/doc/trait.impl/core/marker/trait.Unpin.js index 45627182215a..8e603c30084a 100644 --- a/doc/trait.impl/core/marker/trait.Unpin.js +++ b/doc/trait.impl/core/marker/trait.Unpin.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_cli",[["impl Unpin for InteractiveCommands",1,["gossip_cli::InteractiveCommands"]],["impl Unpin for InteractiveApp",1,["gossip_cli::InteractiveApp"]],["impl Unpin for Opts",1,["gossip_cli::Opts"]]]],["gossip_kv",[["impl Unpin for ClientRequest",1,["gossip_kv::ClientRequest"]],["impl Unpin for ClientResponse",1,["gossip_kv::ClientResponse"]],["impl Unpin for GossipMessage",1,["gossip_kv::GossipMessage"]],["impl Unpin for KeyParseError",1,["gossip_kv::KeyParseError"]],["impl Unpin for Namespace",1,["gossip_kv::Namespace"]],["impl Unpin for InfectingWrite",1,["gossip_kv::server::InfectingWrite"]],["impl Unpin for SETS_COUNTER",1,["gossip_kv::server::SETS_COUNTER"]],["impl Unpin for Key",1,["gossip_kv::Key"]],["impl<A> Unpin for ClientRequestWithAddress<A>
where\n A: Unpin,
",1,["gossip_kv::util::ClientRequestWithAddress"]],["impl<A> Unpin for GossipRequestWithAddress<A>
where\n A: Unpin,
",1,["gossip_kv::util::GossipRequestWithAddress"]],["impl<A> Unpin for MemberData<A>
where\n A: Unpin,
",1,["gossip_kv::membership::MemberData"]],["impl<A> Unpin for MemberDataBuilder<A>
where\n A: Unpin,
",1,["gossip_kv::membership::MemberDataBuilder"]],["impl<A> Unpin for Protocol<A>
where\n A: Unpin,
",1,["gossip_kv::membership::Protocol"]],["impl<A> Unpin for SeedNode<A>
where\n A: Unpin,
",1,["gossip_kv::server::SeedNode"]],["impl<T, const N: usize> Unpin for BoundedSetLattice<T, N>
where\n T: Unpin,
",1,["gossip_kv::lattices::BoundedSetLattice"]]]],["gossip_server",[["impl Unpin for SeedNodeSettings",1,["gossip_server::config::SeedNodeSettings"]],["impl Unpin for ServerSettings",1,["gossip_server::config::ServerSettings"]],["impl Unpin for UnboundedSenderEventHandler",1,["gossip_server::config::UnboundedSenderEventHandler"]],["impl Unpin for LowercaseAlphanumeric",1,["gossip_server::membership::LowercaseAlphanumeric"]],["impl Unpin for Opts",1,["gossip_server::Opts"]]]],["hydro_cli",[["impl Unpin for AnyhowError",1,["hydro_cli::AnyhowError"]],["impl Unpin for AnyhowWrapper",1,["hydro_cli::AnyhowWrapper"]],["impl Unpin for Deployment",1,["hydro_cli::Deployment"]],["impl Unpin for Host",1,["hydro_cli::Host"]],["impl Unpin for Service",1,["hydro_cli::Service"]]]],["hydro_deploy",[["impl Unpin for HostTargetType",1,["hydro_deploy::HostTargetType"]],["impl Unpin for ServerStrategy",1,["hydro_deploy::ServerStrategy"]],["impl Unpin for CrateTarget",1,["hydro_deploy::hydroflow_crate::CrateTarget"]],["impl Unpin for ServerConfig",1,["hydro_deploy::hydroflow_crate::ports::ServerConfig"]],["impl Unpin for SourcePath",1,["hydro_deploy::hydroflow_crate::ports::SourcePath"]],["impl Unpin for BarTree",1,["hydro_deploy::progress::BarTree"]],["impl Unpin for LeafStatus",1,["hydro_deploy::progress::LeafStatus"]],["impl Unpin for AzureHost",1,["hydro_deploy::azure::AzureHost"]],["impl Unpin for LaunchedVirtualMachine",1,["hydro_deploy::azure::LaunchedVirtualMachine"]],["impl Unpin for CustomClientPort",1,["hydro_deploy::custom_service::CustomClientPort"]],["impl Unpin for CustomService",1,["hydro_deploy::custom_service::CustomService"]],["impl Unpin for Deployment",1,["hydro_deploy::deployment::Deployment"]],["impl Unpin for GcpComputeEngineHost",1,["hydro_deploy::gcp::GcpComputeEngineHost"]],["impl Unpin for GcpNetwork",1,["hydro_deploy::gcp::GcpNetwork"]],["impl Unpin for LaunchedComputeEngine",1,["hydro_deploy::gcp::LaunchedComputeEngine"]],["impl Unpin for DemuxSink",1,["hydro_deploy::hydroflow_crate::ports::DemuxSink"]],["impl Unpin for HydroflowPortConfig",1,["hydro_deploy::hydroflow_crate::ports::HydroflowPortConfig"]],["impl Unpin for NullSourceSink",1,["hydro_deploy::hydroflow_crate::ports::NullSourceSink"]],["impl Unpin for TaggedSource",1,["hydro_deploy::hydroflow_crate::ports::TaggedSource"]],["impl Unpin for HydroflowCrateService",1,["hydro_deploy::hydroflow_crate::service::HydroflowCrateService"]],["impl Unpin for HydroflowCrate",1,["hydro_deploy::hydroflow_crate::HydroflowCrate"]],["impl Unpin for TracingOptions",1,["hydro_deploy::hydroflow_crate::tracing_options::TracingOptions"]],["impl Unpin for LaunchedLocalhostBinary",1,["hydro_deploy::localhost::launched_binary::LaunchedLocalhostBinary"]],["impl Unpin for LocalhostHost",1,["hydro_deploy::localhost::LocalhostHost"]],["impl Unpin for ProgressTracker",1,["hydro_deploy::progress::ProgressTracker"]],["impl Unpin for ResourceBatch",1,["hydro_deploy::ResourceBatch"]],["impl Unpin for ResourcePool",1,["hydro_deploy::ResourcePool"]],["impl Unpin for ResourceResult",1,["hydro_deploy::ResourceResult"]],["impl Unpin for TerraformBatch",1,["hydro_deploy::terraform::TerraformBatch"]],["impl Unpin for TerraformConfig",1,["hydro_deploy::terraform::TerraformConfig"]],["impl Unpin for TerraformOutput",1,["hydro_deploy::terraform::TerraformOutput"]],["impl Unpin for TerraformPool",1,["hydro_deploy::terraform::TerraformPool"]],["impl Unpin for TerraformProvider",1,["hydro_deploy::terraform::TerraformProvider"]],["impl Unpin for TerraformResult",1,["hydro_deploy::terraform::TerraformResult"]],["impl Unpin for TerraformResultOutput",1,["hydro_deploy::terraform::TerraformResultOutput"]],["impl<'a> Unpin for ClientStrategy<'a>",1,["hydro_deploy::ClientStrategy"]]]],["hydroflow",[["impl Unpin for RECV",1,["hydroflow::scheduled::port::RECV"]],["impl Unpin for SEND",1,["hydroflow::scheduled::port::SEND"]],["impl Unpin for Context",1,["hydroflow::scheduled::context::Context"]],["impl Unpin for Message",1,["hydroflow::scheduled::net::Message"]],["impl Unpin for Reactor",1,["hydroflow::scheduled::reactor::Reactor"]],["impl Unpin for StateHandleErased",1,["hydroflow::scheduled::state::StateHandleErased"]],["impl Unpin for HandoffId",1,["hydroflow::scheduled::HandoffId"]],["impl Unpin for StateId",1,["hydroflow::scheduled::StateId"]],["impl Unpin for SubgraphId",1,["hydroflow::scheduled::SubgraphId"]],["impl Unpin for TickDuration",1,["hydroflow::scheduled::ticks::TickDuration"]],["impl Unpin for TickInstant",1,["hydroflow::scheduled::ticks::TickInstant"]],["impl Unpin for Address",1,["hydroflow::util::simulation::Address"]],["impl Unpin for Fleet",1,["hydroflow::util::simulation::Fleet"]],["impl Unpin for Host",1,["hydroflow::util::simulation::Host"]],["impl Unpin for HostBuilder",1,["hydroflow::util::simulation::HostBuilder"]],["impl Unpin for Inbox",1,["hydroflow::util::simulation::Inbox"]],["impl Unpin for Outbox",1,["hydroflow::util::simulation::Outbox"]],["impl Unpin for DroppableChild",1,["hydroflow::util::DroppableChild"]],["impl<'a> Unpin for Hydroflow<'a>",1,["hydroflow::scheduled::graph::Hydroflow"]],["impl<'a> Unpin for Query<'a>",1,["hydroflow::scheduled::query::Query"]],["impl<'a, I1, V1, I2, V2> Unpin for CrossJoin<'a, I1, V1, I2, V2>
where\n I1: Unpin,\n I2: Unpin,
",1,["hydroflow::compiled::pull::cross_join::CrossJoin"]],["impl<'a, Key, I1, V1, I2, V2, LhsState, RhsState> Unpin for SymmetricHashJoin<'a, Key, I1, V1, I2, V2, LhsState, RhsState>
where\n I1: Unpin,\n I2: Unpin,
",1,["hydroflow::compiled::pull::symmetric_hash_join::SymmetricHashJoin"]],["impl<'a, Key, V, Ipos> Unpin for AntiJoin<'a, Key, V, Ipos>
where\n Ipos: Unpin,
",1,["hydroflow::compiled::pull::anti_join::AntiJoin"]],["impl<'a, T> Unpin for Operator<'a, T>",1,["hydroflow::scheduled::query::Operator"]],["impl<'context> Unpin for TransducerBuilderContext<'context>",1,["hydroflow::util::simulation::TransducerBuilderContext"]],["impl<F> Unpin for MonotonicFn<F>
where\n F: Unpin,
",1,["hydroflow::util::monotonic::MonotonicFn"]],["impl<F> Unpin for Morphism<F>
where\n F: Unpin,
",1,["hydroflow::util::monotonic::Morphism"]],["impl<I> Unpin for Iter<I>
where\n I: Unpin,
",1,["hydroflow::scheduled::handoff::Iter"]],["impl<K, A> Unpin for HalfJoinStateFold<K, A>
where\n K: Unpin,\n A: Unpin,
",1,["hydroflow::compiled::pull::half_join_state::fold::HalfJoinStateFold"]],["impl<K, A> Unpin for HalfJoinStateFoldFrom<K, A>
where\n K: Unpin,\n A: Unpin,
",1,["hydroflow::compiled::pull::half_join_state::fold_from::HalfJoinStateFoldFrom"]],["impl<K, A> Unpin for HalfJoinStateReduce<K, A>
where\n K: Unpin,\n A: Unpin,
",1,["hydroflow::compiled::pull::half_join_state::reduce::HalfJoinStateReduce"]],["impl<K, V> Unpin for PersistenceKeyed<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["hydroflow::util::PersistenceKeyed"]],["impl<K, V> Unpin for MonotonicMap<K, V>
where\n V: Unpin,\n K: Unpin,
",1,["hydroflow::util::monotonic_map::MonotonicMap"]],["impl<Key, ValBuild, ValProbe> Unpin for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where\n Key: Unpin,\n ValProbe: Unpin,\n ValBuild: Unpin,
",1,["hydroflow::compiled::pull::half_join_state::multiset::HalfMultisetJoinState"]],["impl<Key, ValBuild, ValProbe> Unpin for HalfSetJoinState<Key, ValBuild, ValProbe>
where\n Key: Unpin,\n ValProbe: Unpin,\n ValBuild: Unpin,
",1,["hydroflow::compiled::pull::half_join_state::set::HalfSetJoinState"]],["impl<S, H> Unpin for Port<S, H>",1,["hydroflow::scheduled::port::Port"]],["impl<S, H> Unpin for PortCtx<S, H>
where\n H: Unpin,
",1,["hydroflow::scheduled::port::PortCtx"]],["impl<T> Unpin for Persistence<T>
where\n T: Unpin,
",1,["hydroflow::util::Persistence"]],["impl<T> Unpin for TeeingHandoff<T>",1,["hydroflow::scheduled::handoff::tee::TeeingHandoff"]],["impl<T> Unpin for VecHandoff<T>",1,["hydroflow::scheduled::handoff::vector::VecHandoff"]],["impl<T> Unpin for Buffer<T>",1,["hydroflow::scheduled::input::Buffer"]],["impl<T> Unpin for StateHandle<T>",1,["hydroflow::scheduled::state::StateHandle"]],["impl<T> Unpin for ClearDefault<T>
where\n T: Unpin,
",1,["hydroflow::util::clear::ClearDefault"]],["impl<T> Unpin for DeployPorts<T>
where\n T: Unpin,
",1,["hydroflow::util::deploy::DeployPorts"]],["impl<T> Unpin for HashMultiSet<T>
where\n T: Unpin,
",1,["hydroflow::util::multiset::HashMultiSet"]],["impl<T> Unpin for SparseVec<T>
where\n T: Unpin,
",1,["hydroflow::util::sparse_vec::SparseVec"]],["impl<T> Unpin for Receiver<T>",1,["hydroflow::util::unsync::mpsc::Receiver"]],["impl<T> Unpin for Sender<T>",1,["hydroflow::util::unsync::mpsc::Sender"]],["impl<T, G> Unpin for Input<T, G>
where\n G: Unpin,\n T: Unpin,
",1,["hydroflow::scheduled::input::Input"]],["impl<V1, V2> Unpin for CrossJoinState<V1, V2>
where\n V1: Unpin,\n V2: Unpin,
",1,["hydroflow::compiled::pull::cross_join::CrossJoinState"]]]],["hydroflow_deploy_integration",[["impl Unpin for BoundConnection",1,["hydroflow_deploy_integration::BoundConnection"]],["impl Unpin for RealizedServerPort",1,["hydroflow_deploy_integration::RealizedServerPort"]],["impl Unpin for ServerBindConfig",1,["hydroflow_deploy_integration::ServerBindConfig"]],["impl Unpin for ServerOrBound",1,["hydroflow_deploy_integration::ServerOrBound"]],["impl Unpin for ServerPort",1,["hydroflow_deploy_integration::ServerPort"]],["impl Unpin for ConnectedDirect",1,["hydroflow_deploy_integration::ConnectedDirect"]],["impl<'pin, T, S: Sink<T, Error = Error> + Send + Sync + ?Sized> Unpin for DemuxDrain<T, S>
where\n __DemuxDrain<'pin, T, S>: Unpin,
"],["impl<T> Unpin for ConnectedDemux<T>",1,["hydroflow_deploy_integration::ConnectedDemux"]],["impl<T> Unpin for ConnectedTagged<T>",1,["hydroflow_deploy_integration::ConnectedTagged"]],["impl<T, S> Unpin for MergeSource<T, S>
where\n S: ?Sized,
",1,["hydroflow_deploy_integration::MergeSource"]],["impl<T, S> Unpin for TaggedSource<T, S>
where\n S: ?Sized,
",1,["hydroflow_deploy_integration::TaggedSource"]]]],["hydroflow_lang",[["impl Unpin for Level",1,["hydroflow_lang::diagnostic::Level"]],["impl Unpin for Color",1,["hydroflow_lang::graph::Color"]],["impl Unpin for GraphNode",1,["hydroflow_lang::graph::GraphNode"]],["impl Unpin for PortIndexValue",1,["hydroflow_lang::graph::PortIndexValue"]],["impl Unpin for WriteGraphType",1,["hydroflow_lang::graph::hydroflow_graph::WriteGraphType"]],["impl Unpin for DelayType",1,["hydroflow_lang::graph::ops::DelayType"]],["impl Unpin for OperatorCategory",1,["hydroflow_lang::graph::ops::OperatorCategory"]],["impl Unpin for Persistence",1,["hydroflow_lang::graph::ops::Persistence"]],["impl Unpin for PortListSpec",1,["hydroflow_lang::graph::ops::PortListSpec"]],["impl Unpin for HfStatement",1,["hydroflow_lang::parse::HfStatement"]],["impl Unpin for Pipeline",1,["hydroflow_lang::parse::Pipeline"]],["impl Unpin for PortIndex",1,["hydroflow_lang::parse::PortIndex"]],["impl Unpin for SerdeSpan",1,["hydroflow_lang::diagnostic::SerdeSpan"]],["impl Unpin for OperatorConstraints",1,["hydroflow_lang::graph::ops::OperatorConstraints"]],["impl Unpin for OperatorWriteOutput",1,["hydroflow_lang::graph::ops::OperatorWriteOutput"]],["impl Unpin for FlatGraphBuilder",1,["hydroflow_lang::graph::flat_graph_builder::FlatGraphBuilder"]],["impl Unpin for GraphEdgeId",1,["hydroflow_lang::graph::GraphEdgeId"]],["impl Unpin for GraphNodeId",1,["hydroflow_lang::graph::GraphNodeId"]],["impl Unpin for GraphSubgraphId",1,["hydroflow_lang::graph::GraphSubgraphId"]],["impl Unpin for HydroflowGraph",1,["hydroflow_lang::graph::hydroflow_graph::HydroflowGraph"]],["impl Unpin for OpInstGenerics",1,["hydroflow_lang::graph::OpInstGenerics"]],["impl Unpin for OperatorInstance",1,["hydroflow_lang::graph::OperatorInstance"]],["impl Unpin for WriteConfig",1,["hydroflow_lang::graph::hydroflow_graph::WriteConfig"]],["impl Unpin for HfCode",1,["hydroflow_lang::parse::HfCode"]],["impl Unpin for Import",1,["hydroflow_lang::parse::Import"]],["impl Unpin for IndexInt",1,["hydroflow_lang::parse::IndexInt"]],["impl Unpin for Indexing",1,["hydroflow_lang::parse::Indexing"]],["impl Unpin for NamedHfStatement",1,["hydroflow_lang::parse::NamedHfStatement"]],["impl Unpin for Operator",1,["hydroflow_lang::parse::Operator"]],["impl Unpin for PipelineLink",1,["hydroflow_lang::parse::PipelineLink"]],["impl Unpin for PipelineParen",1,["hydroflow_lang::parse::PipelineParen"]],["impl Unpin for PipelineStatement",1,["hydroflow_lang::parse::PipelineStatement"]],["impl Unpin for PrettyRowCol",1,["hydroflow_lang::pretty_span::PrettyRowCol"]],["impl Unpin for PrettySpan",1,["hydroflow_lang::pretty_span::PrettySpan"]],["impl<'a> Unpin for WriteContextArgs<'a>",1,["hydroflow_lang::graph::ops::WriteContextArgs"]],["impl<Inner> Unpin for Ported<Inner>
where\n Inner: Unpin,
",1,["hydroflow_lang::parse::Ported"]],["impl<K> Unpin for UnionFind<K>
where\n K: Unpin,
",1,["hydroflow_lang::union_find::UnionFind"]],["impl<S> Unpin for Diagnostic<S>
where\n S: Unpin,
",1,["hydroflow_lang::diagnostic::Diagnostic"]],["impl<V, E> Unpin for DiMulGraph<V, E>
where\n V: Unpin,\n E: Unpin,
",1,["hydroflow_lang::graph::di_mul_graph::DiMulGraph"]]]],["hydroflow_plus",[["impl Unpin for Bounded",1,["hydroflow_plus::boundedness::Bounded"]],["impl Unpin for Unbounded",1,["hydroflow_plus::boundedness::Unbounded"]],["impl Unpin for ForwardRefMarker",1,["hydroflow_plus::cycle::ForwardRefMarker"]],["impl Unpin for TickCycleMarker",1,["hydroflow_plus::cycle::TickCycleMarker"]],["impl Unpin for DebugInstantiate",1,["hydroflow_plus::ir::DebugInstantiate"]],["impl Unpin for HfPlusLeaf",1,["hydroflow_plus::ir::HfPlusLeaf"]],["impl Unpin for HfPlusNode",1,["hydroflow_plus::ir::HfPlusNode"]],["impl Unpin for HfPlusSource",1,["hydroflow_plus::ir::HfPlusSource"]],["impl Unpin for LocationId",1,["hydroflow_plus::location::LocationId"]],["impl Unpin for FlowStateInner",1,["hydroflow_plus::builder::FlowStateInner"]],["impl Unpin for HydroflowPlusMeta",1,["hydroflow_plus::deploy::deploy_runtime::HydroflowPlusMeta"]],["impl Unpin for MultiGraph",1,["hydroflow_plus::deploy::in_memory_graph::MultiGraph"]],["impl Unpin for MultiNode",1,["hydroflow_plus::deploy::in_memory_graph::MultiNode"]],["impl Unpin for SingleNode",1,["hydroflow_plus::deploy::in_memory_graph::SingleNode"]],["impl Unpin for SingleProcessGraph",1,["hydroflow_plus::deploy::in_memory_graph::SingleProcessGraph"]],["impl Unpin for DeployRuntime",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntime"]],["impl Unpin for DeployRuntimeCluster",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeCluster"]],["impl Unpin for DeployRuntimeNode",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeNode"]],["impl Unpin for DebugExpr",1,["hydroflow_plus::ir::DebugExpr"]],["impl Unpin for DebugPipelineFn",1,["hydroflow_plus::ir::DebugPipelineFn"]],["impl Unpin for TeeNode",1,["hydroflow_plus::ir::TeeNode"]],["impl Unpin for ExternalBytesPort",1,["hydroflow_plus::location::external_process::ExternalBytesPort"]],["impl Unpin for PropertyDatabase",1,["hydroflow_plus::rewrites::properties::PropertyDatabase"]],["impl Unpin for NoOrder",1,["hydroflow_plus::stream::NoOrder"]],["impl Unpin for TotalOrder",1,["hydroflow_plus::stream::TotalOrder"]],["impl<'a> Unpin for BuiltFlow<'a>",1,["hydroflow_plus::builder::built::BuiltFlow"]],["impl<'a> Unpin for CompiledFlowWithId<'a>",1,["hydroflow_plus::builder::compiled::CompiledFlowWithId"]],["impl<'a> Unpin for FlowBuilder<'a>",1,["hydroflow_plus::builder::FlowBuilder"]],["impl<'a> Unpin for ClusterSelfId<'a>",1,["hydroflow_plus::location::cluster::ClusterSelfId"]],["impl<'a> Unpin for RuntimeContext<'a>",1,["hydroflow_plus::runtime_context::RuntimeContext"]],["impl<'a, C> Unpin for Cluster<'a, C>
where\n C: Unpin,
",1,["hydroflow_plus::location::cluster::Cluster"]],["impl<'a, C> Unpin for ClusterIds<'a, C>
where\n C: Unpin,
",1,["hydroflow_plus::location::cluster::ClusterIds"]],["impl<'a, D> Unpin for DeployFlow<'a, D>
where\n D: Unpin,\n <D as LocalDeploy<'a>>::Process: Unpin,\n <D as LocalDeploy<'a>>::ExternalProcess: Unpin,\n <D as LocalDeploy<'a>>::Cluster: Unpin,
",1,["hydroflow_plus::builder::deploy::DeployFlow"]],["impl<'a, D> Unpin for DeployResult<'a, D>
where\n <D as Deploy<'a>>::Process: Unpin,\n <D as Deploy<'a>>::Cluster: Unpin,\n <D as Deploy<'a>>::ExternalProcess: Unpin,
",1,["hydroflow_plus::builder::deploy::DeployResult"]],["impl<'a, ID> Unpin for CompiledFlow<'a, ID>
where\n ID: Unpin,
",1,["hydroflow_plus::builder::compiled::CompiledFlow"]],["impl<'a, P> Unpin for ExternalProcess<'a, P>
where\n P: Unpin,
",1,["hydroflow_plus::location::external_process::ExternalProcess"]],["impl<'a, P> Unpin for Process<'a, P>
where\n P: Unpin,
",1,["hydroflow_plus::location::process::Process"]],["impl<'a, S> Unpin for ForwardRef<'a, S>
where\n S: Unpin,
",1,["hydroflow_plus::cycle::ForwardRef"]],["impl<'a, S> Unpin for TickCycle<'a, S>
where\n S: Unpin,
",1,["hydroflow_plus::cycle::TickCycle"]],["impl<C> Unpin for ClusterId<C>
where\n C: Unpin,
",1,["hydroflow_plus::location::cluster::cluster_id::ClusterId"]],["impl<L> Unpin for Tick<L>
where\n L: Unpin,
",1,["hydroflow_plus::location::tick::Tick"]],["impl<L> Unpin for Timestamped<L>
where\n L: Unpin,
",1,["hydroflow_plus::location::tick::Timestamped"]],["impl<T> Unpin for ExternalBincodeSink<T>
where\n T: Unpin,
",1,["hydroflow_plus::location::external_process::ExternalBincodeSink"]],["impl<T> Unpin for ExternalBincodeStream<T>
where\n T: Unpin,
",1,["hydroflow_plus::location::external_process::ExternalBincodeStream"]],["impl<T, L, B> Unpin for Optional<T, L, B>
where\n L: Unpin,\n T: Unpin,\n B: Unpin,
",1,["hydroflow_plus::optional::Optional"]],["impl<T, L, B> Unpin for Singleton<T, L, B>
where\n L: Unpin,\n T: Unpin,\n B: Unpin,
",1,["hydroflow_plus::singleton::Singleton"]],["impl<T, L, B, Order> Unpin for Stream<T, L, B, Order>
where\n L: Unpin,\n T: Unpin,\n B: Unpin,\n Order: Unpin,
",1,["hydroflow_plus::stream::Stream"]]]],["hydroflow_plus_test",[["impl Unpin for Leader",1,["hydroflow_plus_test::cluster::compute_pi::Leader"]],["impl Unpin for Worker",1,["hydroflow_plus_test::cluster::compute_pi::Worker"]],["impl Unpin for Leader",1,["hydroflow_plus_test::cluster::map_reduce::Leader"]],["impl Unpin for Worker",1,["hydroflow_plus_test::cluster::map_reduce::Worker"]],["impl Unpin for Acceptor",1,["hydroflow_plus_test::cluster::paxos::Acceptor"]],["impl Unpin for Ballot",1,["hydroflow_plus_test::cluster::paxos::Ballot"]],["impl Unpin for Proposer",1,["hydroflow_plus_test::cluster::paxos::Proposer"]],["impl Unpin for Client",1,["hydroflow_plus_test::cluster::paxos_bench::Client"]],["impl Unpin for Replica",1,["hydroflow_plus_test::cluster::paxos_kv::Replica"]],["impl Unpin for Client",1,["hydroflow_plus_test::cluster::two_pc::Client"]],["impl Unpin for Coordinator",1,["hydroflow_plus_test::cluster::two_pc::Coordinator"]],["impl Unpin for Participants",1,["hydroflow_plus_test::cluster::two_pc::Participants"]],["impl Unpin for P1",1,["hydroflow_plus_test::distributed::first_ten::P1"]],["impl Unpin for P2",1,["hydroflow_plus_test::distributed::first_ten::P2"]],["impl<K, V> Unpin for KvPayload<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["hydroflow_plus_test::cluster::paxos_kv::KvPayload"]],["impl<K, V> Unpin for SequencedKv<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["hydroflow_plus_test::cluster::paxos_kv::SequencedKv"]]]],["latency_measure",[["impl Unpin for TopolotreeMessage",1,["latency_measure::protocol::TopolotreeMessage"]],["impl Unpin for OperationPayload",1,["latency_measure::protocol::OperationPayload"]],["impl Unpin for QueryResponse",1,["latency_measure::protocol::QueryResponse"]],["impl<T> Unpin for Payload<T>
where\n T: Unpin,
",1,["latency_measure::protocol::Payload"]],["impl<T> Unpin for Timestamped<T>
where\n T: Unpin,
",1,["latency_measure::protocol::Timestamped"]]]],["lattices",[["impl Unpin for U32WithInfinity",1,["lattices::semiring_application::U32WithInfinity"]],["impl Unpin for BinaryTrust",1,["lattices::semiring_application::BinaryTrust"]],["impl Unpin for ConfidenceScore",1,["lattices::semiring_application::ConfidenceScore"]],["impl Unpin for Cost",1,["lattices::semiring_application::Cost"]],["impl Unpin for FuzzyLogic",1,["lattices::semiring_application::FuzzyLogic"]],["impl Unpin for Multiplicity",1,["lattices::semiring_application::Multiplicity"]],["impl Unpin for PairBimorphism",1,["lattices::pair::PairBimorphism"]],["impl<Bimorphism> Unpin for GhtBimorphism<Bimorphism>
where\n Bimorphism: Unpin,
",1,["lattices::ght::lattice::GhtBimorphism"]],["impl<Bimorphism> Unpin for GhtNodeKeyedBimorphism<Bimorphism>
where\n Bimorphism: Unpin,
",1,["lattices::ght::lattice::GhtNodeKeyedBimorphism"]],["impl<GhtOut> Unpin for GhtCartesianProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtCartesianProductBimorphism"]],["impl<GhtOut> Unpin for GhtValTypeProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtValTypeProductBimorphism"]],["impl<Head, Node> Unpin for GhtInner<Head, Node>
where\n Head: Unpin,\n Node: Unpin,
",1,["lattices::ght::GhtInner"]],["impl<Inner> Unpin for WithBot<Inner>
where\n Inner: Unpin,
",1,["lattices::with_bot::WithBot"]],["impl<Inner> Unpin for WithTop<Inner>
where\n Inner: Unpin,
",1,["lattices::with_top::WithTop"]],["impl<K, V> Unpin for EmptyMap<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["lattices::collections::EmptyMap"]],["impl<K, V> Unpin for OptionMap<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["lattices::collections::OptionMap"]],["impl<K, V> Unpin for SingletonMap<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["lattices::collections::SingletonMap"]],["impl<K, V> Unpin for VecMap<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["lattices::collections::VecMap"]],["impl<K, V, const N: usize> Unpin for ArrayMap<K, V, N>
where\n K: Unpin,\n V: Unpin,
",1,["lattices::collections::ArrayMap"]],["impl<Key, Val> Unpin for DomPair<Key, Val>
where\n Key: Unpin,\n Val: Unpin,
",1,["lattices::dom_pair::DomPair"]],["impl<Lat> Unpin for VecUnion<Lat>
where\n Lat: Unpin,
",1,["lattices::vec_union::VecUnion"]],["impl<LatA, LatB> Unpin for Pair<LatA, LatB>
where\n LatA: Unpin,\n LatB: Unpin,
",1,["lattices::pair::Pair"]],["impl<Map> Unpin for MapUnion<Map>
where\n Map: Unpin,
",1,["lattices::map_union::MapUnion"]],["impl<Map> Unpin for UnionFind<Map>
where\n Map: Unpin,
",1,["lattices::union_find::UnionFind"]],["impl<Map, TombstoneSet> Unpin for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: Unpin,\n TombstoneSet: Unpin,
",1,["lattices::map_union_with_tombstones::MapUnionWithTombstones"]],["impl<MapOut, Bimorphism> Unpin for KeyedBimorphism<MapOut, Bimorphism>
where\n Bimorphism: Unpin,
",1,["lattices::map_union::KeyedBimorphism"]],["impl<Schema, ValType, Storage> Unpin for GhtLeaf<Schema, ValType, Storage>
where\n Storage: Unpin,\n ValType: Unpin,
",1,["lattices::ght::GhtLeaf"]],["impl<Set> Unpin for SetUnion<Set>
where\n Set: Unpin,
",1,["lattices::set_union::SetUnion"]],["impl<Set, TombstoneSet> Unpin for SetUnionWithTombstones<Set, TombstoneSet>
where\n Set: Unpin,\n TombstoneSet: Unpin,
",1,["lattices::set_union_with_tombstones::SetUnionWithTombstones"]],["impl<SetOut> Unpin for CartesianProductBimorphism<SetOut>",1,["lattices::set_union::CartesianProductBimorphism"]],["impl<T> Unpin for EmptySet<T>
where\n T: Unpin,
",1,["lattices::collections::EmptySet"]],["impl<T> Unpin for OptionSet<T>
where\n T: Unpin,
",1,["lattices::collections::OptionSet"]],["impl<T> Unpin for SingletonSet<T>
where\n T: Unpin,
",1,["lattices::collections::SingletonSet"]],["impl<T> Unpin for VecSet<T>
where\n T: Unpin,
",1,["lattices::collections::VecSet"]],["impl<T> Unpin for Conflict<T>
where\n T: Unpin,
",1,["lattices::conflict::Conflict"]],["impl<T> Unpin for Max<T>
where\n T: Unpin,
",1,["lattices::ord::Max"]],["impl<T> Unpin for Min<T>
where\n T: Unpin,
",1,["lattices::ord::Min"]],["impl<T, Provenance> Unpin for Point<T, Provenance>
where\n T: Unpin,
",1,["lattices::point::Point"]],["impl<T, const N: usize> Unpin for ArraySet<T, N>
where\n T: Unpin,
",1,["lattices::collections::ArraySet"]]]],["load_test_server",[["impl Unpin for Opts",1,["load_test_server::Opts"]],["impl Unpin for Switchboard",1,["load_test_server::Switchboard"]]]],["pn",[["impl Unpin for GossipOrIncrement",1,["pn::GossipOrIncrement"]],["impl Unpin for TopolotreeMessage",1,["pn::protocol::TopolotreeMessage"]],["impl Unpin for OperationPayload",1,["pn::protocol::OperationPayload"]],["impl Unpin for QueryResponse",1,["pn::protocol::QueryResponse"]],["impl<T> Unpin for Payload<T>
where\n T: Unpin,
",1,["pn::protocol::Payload"]],["impl<T> Unpin for Timestamped<T>
where\n T: Unpin,
",1,["pn::protocol::Timestamped"]]]],["pn_delta",[["impl Unpin for GossipOrIncrement",1,["pn_delta::GossipOrIncrement"]],["impl Unpin for TopolotreeMessage",1,["pn_delta::protocol::TopolotreeMessage"]],["impl Unpin for OperationPayload",1,["pn_delta::protocol::OperationPayload"]],["impl Unpin for QueryResponse",1,["pn_delta::protocol::QueryResponse"]],["impl<T> Unpin for Payload<T>
where\n T: Unpin,
",1,["pn_delta::protocol::Payload"]],["impl<T> Unpin for Timestamped<T>
where\n T: Unpin,
",1,["pn_delta::protocol::Timestamped"]]]],["pusherator",[["impl<Func, In> Unpin for ForEach<Func, In>
where\n Func: Unpin,
",1,["pusherator::for_each::ForEach"]],["impl<Func, Nexts, Item> Unpin for Demux<Func, Nexts, Item>
where\n Func: Unpin,\n Nexts: Unpin,
",1,["pusherator::demux::Demux"]],["impl<I> Unpin for PivotBuild<I>
where\n I: Unpin,
",1,["pusherator::pivot::PivotBuild"]],["impl<I, P> Unpin for Pivot<I, P>
where\n I: Unpin,\n P: Unpin,
",1,["pusherator::pivot::Pivot"]],["impl<In> Unpin for Null<In>
where\n In: Unpin,
",1,["pusherator::null::Null"]],["impl<Next, Func> Unpin for Filter<Next, Func>
where\n Next: Unpin,\n Func: Unpin,
",1,["pusherator::filter::Filter"]],["impl<Next, Func> Unpin for Inspect<Next, Func>
where\n Next: Unpin,\n Func: Unpin,
",1,["pusherator::inspect::Inspect"]],["impl<Next, Func, In> Unpin for FilterMap<Next, Func, In>
where\n Next: Unpin,\n Func: Unpin,
",1,["pusherator::filter_map::FilterMap"]],["impl<Next, Func, In> Unpin for Map<Next, Func, In>
where\n Next: Unpin,\n Func: Unpin,
",1,["pusherator::map::Map"]],["impl<Next, In> Unpin for Flatten<Next, In>
where\n Next: Unpin,
",1,["pusherator::flatten::Flatten"]],["impl<Next1, Next2> Unpin for Switch<Next1, Next2>
where\n Next1: Unpin,\n Next2: Unpin,
",1,["pusherator::switch::Switch"]],["impl<Next1, Next2> Unpin for Tee<Next1, Next2>
where\n Next1: Unpin,\n Next2: Unpin,
",1,["pusherator::tee::Tee"]],["impl<Next1, Next2> Unpin for Unzip<Next1, Next2>
where\n Next1: Unpin,\n Next2: Unpin,
",1,["pusherator::unzip::Unzip"]],["impl<Next1, Next2, Func> Unpin for Partition<Next1, Next2, Func>
where\n Next1: Unpin,\n Next2: Unpin,\n Func: Unpin,
",1,["pusherator::partition::Partition"]],["impl<Prev> Unpin for FlattenBuild<Prev>
where\n Prev: Unpin,
",1,["pusherator::flatten::FlattenBuild"]],["impl<Prev, Func> Unpin for FilterBuild<Prev, Func>
where\n Prev: Unpin,\n Func: Unpin,
",1,["pusherator::filter::FilterBuild"]],["impl<Prev, Func> Unpin for FilterMapBuild<Prev, Func>
where\n Prev: Unpin,\n Func: Unpin,
",1,["pusherator::filter_map::FilterMapBuild"]],["impl<Prev, Func> Unpin for InspectBuild<Prev, Func>
where\n Prev: Unpin,\n Func: Unpin,
",1,["pusherator::inspect::InspectBuild"]],["impl<Prev, Func> Unpin for MapBuild<Prev, Func>
where\n Prev: Unpin,\n Func: Unpin,
",1,["pusherator::map::MapBuild"]],["impl<Prev, Next1> Unpin for SwitchBuild<Prev, Next1>
where\n Prev: Unpin,\n Next1: Unpin,
",1,["pusherator::switch::SwitchBuild"]],["impl<Prev, Next1> Unpin for TeeBuild<Prev, Next1>
where\n <Prev as PusheratorBuild>::ItemOut: Sized,\n Prev: Unpin,\n Next1: Unpin,
",1,["pusherator::tee::TeeBuild"]],["impl<Prev, Next1> Unpin for UnzipBuild<Prev, Next1>
where\n Prev: Unpin,\n Next1: Unpin,
",1,["pusherator::unzip::UnzipBuild"]],["impl<Prev, Next1, Func> Unpin for PartitionBuild<Prev, Next1, Func>
where\n Prev: Unpin,\n Next1: Unpin,\n Func: Unpin,
",1,["pusherator::partition::PartitionBuild"]],["impl<T> Unpin for InputBuild<T>
where\n T: Unpin,
",1,["pusherator::InputBuild"]]]],["relalg",[["impl Unpin for Datum",1,["relalg::Datum"]],["impl Unpin for ScalarExpr",1,["relalg::ScalarExpr"]]]],["stageleft",[["impl<'a> Unpin for BorrowBounds<'a>",1,["stageleft::BorrowBounds"]],["impl<T> Unpin for Import<T>
where\n T: Unpin,
",1,["stageleft::runtime_support::Import"]],["impl<T> Unpin for RuntimeData<T>
where\n T: Unpin,
",1,["stageleft::RuntimeData"]]]],["topolotree",[["impl Unpin for TopolotreeMessage",1,["topolotree::protocol::TopolotreeMessage"]],["impl Unpin for OperationPayload",1,["topolotree::protocol::OperationPayload"]],["impl Unpin for QueryResponse",1,["topolotree::protocol::QueryResponse"]],["impl Unpin for NodeId",1,["topolotree::NodeId"]],["impl<T> Unpin for Payload<T>
where\n T: Unpin,
",1,["topolotree::protocol::Payload"]],["impl<T> Unpin for Timestamped<T>
where\n T: Unpin,
",1,["topolotree::protocol::Timestamped"]]]],["variadics",[["impl<Iter, Item> Unpin for DuplicateCounted<Iter, Item>
where\n Iter: Unpin,\n Item: Unpin,
",1,["variadics::variadic_collections::DuplicateCounted"]],["impl<K, S> Unpin for VariadicCountedHashSet<K, S>
where\n S: Unpin,\n K: Unpin,
",1,["variadics::variadic_collections::VariadicCountedHashSet"]],["impl<Schema> Unpin for VariadicColumnMultiset<Schema>
where\n <Schema as VariadicExt>::IntoVec: Unpin,
",1,["variadics::variadic_collections::VariadicColumnMultiset"]],["impl<T, S> Unpin for VariadicHashSet<T, S>
where\n S: Unpin,\n T: Unpin,
",1,["variadics::variadic_collections::VariadicHashSet"]]]],["website_playground",[["impl Unpin for HydroflowOutput",1,["website_playground::HydroflowOutput"]],["impl Unpin for HydroflowResult",1,["website_playground::HydroflowResult"]],["impl Unpin for JsDiagnostic",1,["website_playground::JsDiagnostic"]],["impl Unpin for JsLineColumn",1,["website_playground::JsLineColumn"]],["impl Unpin for JsSpan",1,["website_playground::JsSpan"]]]]]); + var implementors = Object.fromEntries([["gossip_cli",[["impl Unpin for InteractiveCommands",1,["gossip_cli::InteractiveCommands"]],["impl Unpin for InteractiveApp",1,["gossip_cli::InteractiveApp"]],["impl Unpin for Opts",1,["gossip_cli::Opts"]]]],["gossip_kv",[["impl Unpin for ClientRequest",1,["gossip_kv::ClientRequest"]],["impl Unpin for ClientResponse",1,["gossip_kv::ClientResponse"]],["impl Unpin for GossipMessage",1,["gossip_kv::GossipMessage"]],["impl Unpin for KeyParseError",1,["gossip_kv::KeyParseError"]],["impl Unpin for Namespace",1,["gossip_kv::Namespace"]],["impl Unpin for InfectingWrite",1,["gossip_kv::server::InfectingWrite"]],["impl Unpin for SETS_COUNTER",1,["gossip_kv::server::SETS_COUNTER"]],["impl Unpin for Key",1,["gossip_kv::Key"]],["impl<A> Unpin for ClientRequestWithAddress<A>
where\n A: Unpin,
",1,["gossip_kv::util::ClientRequestWithAddress"]],["impl<A> Unpin for GossipRequestWithAddress<A>
where\n A: Unpin,
",1,["gossip_kv::util::GossipRequestWithAddress"]],["impl<A> Unpin for MemberData<A>
where\n A: Unpin,
",1,["gossip_kv::membership::MemberData"]],["impl<A> Unpin for MemberDataBuilder<A>
where\n A: Unpin,
",1,["gossip_kv::membership::MemberDataBuilder"]],["impl<A> Unpin for Protocol<A>
where\n A: Unpin,
",1,["gossip_kv::membership::Protocol"]],["impl<A> Unpin for SeedNode<A>
where\n A: Unpin,
",1,["gossip_kv::server::SeedNode"]],["impl<T, const N: usize> Unpin for BoundedSetLattice<T, N>
where\n T: Unpin,
",1,["gossip_kv::lattices::BoundedSetLattice"]]]],["gossip_server",[["impl Unpin for SeedNodeSettings",1,["gossip_server::config::SeedNodeSettings"]],["impl Unpin for ServerSettings",1,["gossip_server::config::ServerSettings"]],["impl Unpin for UnboundedSenderEventHandler",1,["gossip_server::config::UnboundedSenderEventHandler"]],["impl Unpin for LowercaseAlphanumeric",1,["gossip_server::membership::LowercaseAlphanumeric"]],["impl Unpin for Opts",1,["gossip_server::Opts"]]]],["hydro_cli",[["impl Unpin for AnyhowError",1,["hydro_cli::AnyhowError"]],["impl Unpin for AnyhowWrapper",1,["hydro_cli::AnyhowWrapper"]],["impl Unpin for Deployment",1,["hydro_cli::Deployment"]],["impl Unpin for Host",1,["hydro_cli::Host"]],["impl Unpin for Service",1,["hydro_cli::Service"]]]],["hydro_deploy",[["impl Unpin for HostTargetType",1,["hydro_deploy::HostTargetType"]],["impl Unpin for ServerStrategy",1,["hydro_deploy::ServerStrategy"]],["impl Unpin for CrateTarget",1,["hydro_deploy::hydroflow_crate::CrateTarget"]],["impl Unpin for ServerConfig",1,["hydro_deploy::hydroflow_crate::ports::ServerConfig"]],["impl Unpin for SourcePath",1,["hydro_deploy::hydroflow_crate::ports::SourcePath"]],["impl Unpin for BarTree",1,["hydro_deploy::progress::BarTree"]],["impl Unpin for LeafStatus",1,["hydro_deploy::progress::LeafStatus"]],["impl Unpin for AzureHost",1,["hydro_deploy::azure::AzureHost"]],["impl Unpin for LaunchedVirtualMachine",1,["hydro_deploy::azure::LaunchedVirtualMachine"]],["impl Unpin for CustomClientPort",1,["hydro_deploy::custom_service::CustomClientPort"]],["impl Unpin for CustomService",1,["hydro_deploy::custom_service::CustomService"]],["impl Unpin for Deployment",1,["hydro_deploy::deployment::Deployment"]],["impl Unpin for GcpComputeEngineHost",1,["hydro_deploy::gcp::GcpComputeEngineHost"]],["impl Unpin for GcpNetwork",1,["hydro_deploy::gcp::GcpNetwork"]],["impl Unpin for LaunchedComputeEngine",1,["hydro_deploy::gcp::LaunchedComputeEngine"]],["impl Unpin for DemuxSink",1,["hydro_deploy::hydroflow_crate::ports::DemuxSink"]],["impl Unpin for HydroflowPortConfig",1,["hydro_deploy::hydroflow_crate::ports::HydroflowPortConfig"]],["impl Unpin for NullSourceSink",1,["hydro_deploy::hydroflow_crate::ports::NullSourceSink"]],["impl Unpin for TaggedSource",1,["hydro_deploy::hydroflow_crate::ports::TaggedSource"]],["impl Unpin for HydroflowCrateService",1,["hydro_deploy::hydroflow_crate::service::HydroflowCrateService"]],["impl Unpin for HydroflowCrate",1,["hydro_deploy::hydroflow_crate::HydroflowCrate"]],["impl Unpin for TracingOptions",1,["hydro_deploy::hydroflow_crate::tracing_options::TracingOptions"]],["impl Unpin for LaunchedLocalhostBinary",1,["hydro_deploy::localhost::launched_binary::LaunchedLocalhostBinary"]],["impl Unpin for LocalhostHost",1,["hydro_deploy::localhost::LocalhostHost"]],["impl Unpin for ProgressTracker",1,["hydro_deploy::progress::ProgressTracker"]],["impl Unpin for ResourceBatch",1,["hydro_deploy::ResourceBatch"]],["impl Unpin for ResourcePool",1,["hydro_deploy::ResourcePool"]],["impl Unpin for ResourceResult",1,["hydro_deploy::ResourceResult"]],["impl Unpin for TerraformBatch",1,["hydro_deploy::terraform::TerraformBatch"]],["impl Unpin for TerraformConfig",1,["hydro_deploy::terraform::TerraformConfig"]],["impl Unpin for TerraformOutput",1,["hydro_deploy::terraform::TerraformOutput"]],["impl Unpin for TerraformPool",1,["hydro_deploy::terraform::TerraformPool"]],["impl Unpin for TerraformProvider",1,["hydro_deploy::terraform::TerraformProvider"]],["impl Unpin for TerraformResult",1,["hydro_deploy::terraform::TerraformResult"]],["impl Unpin for TerraformResultOutput",1,["hydro_deploy::terraform::TerraformResultOutput"]],["impl<'a> Unpin for ClientStrategy<'a>",1,["hydro_deploy::ClientStrategy"]]]],["hydroflow",[["impl Unpin for RECV",1,["hydroflow::scheduled::port::RECV"]],["impl Unpin for SEND",1,["hydroflow::scheduled::port::SEND"]],["impl Unpin for Context",1,["hydroflow::scheduled::context::Context"]],["impl Unpin for Message",1,["hydroflow::scheduled::net::Message"]],["impl Unpin for Reactor",1,["hydroflow::scheduled::reactor::Reactor"]],["impl Unpin for StateHandleErased",1,["hydroflow::scheduled::state::StateHandleErased"]],["impl Unpin for HandoffId",1,["hydroflow::scheduled::HandoffId"]],["impl Unpin for StateId",1,["hydroflow::scheduled::StateId"]],["impl Unpin for SubgraphId",1,["hydroflow::scheduled::SubgraphId"]],["impl Unpin for TickDuration",1,["hydroflow::scheduled::ticks::TickDuration"]],["impl Unpin for TickInstant",1,["hydroflow::scheduled::ticks::TickInstant"]],["impl Unpin for Address",1,["hydroflow::util::simulation::Address"]],["impl Unpin for Fleet",1,["hydroflow::util::simulation::Fleet"]],["impl Unpin for Host",1,["hydroflow::util::simulation::Host"]],["impl Unpin for HostBuilder",1,["hydroflow::util::simulation::HostBuilder"]],["impl Unpin for Inbox",1,["hydroflow::util::simulation::Inbox"]],["impl Unpin for Outbox",1,["hydroflow::util::simulation::Outbox"]],["impl Unpin for DroppableChild",1,["hydroflow::util::DroppableChild"]],["impl<'a> Unpin for Hydroflow<'a>",1,["hydroflow::scheduled::graph::Hydroflow"]],["impl<'a> Unpin for Query<'a>",1,["hydroflow::scheduled::query::Query"]],["impl<'a, I1, V1, I2, V2> Unpin for CrossJoin<'a, I1, V1, I2, V2>
where\n I1: Unpin,\n I2: Unpin,
",1,["hydroflow::compiled::pull::cross_join::CrossJoin"]],["impl<'a, Key, I1, V1, I2, V2, LhsState, RhsState> Unpin for SymmetricHashJoin<'a, Key, I1, V1, I2, V2, LhsState, RhsState>
where\n I1: Unpin,\n I2: Unpin,
",1,["hydroflow::compiled::pull::symmetric_hash_join::SymmetricHashJoin"]],["impl<'a, Key, V, Ipos> Unpin for AntiJoin<'a, Key, V, Ipos>
where\n Ipos: Unpin,
",1,["hydroflow::compiled::pull::anti_join::AntiJoin"]],["impl<'a, T> Unpin for Operator<'a, T>",1,["hydroflow::scheduled::query::Operator"]],["impl<'context> Unpin for TransducerBuilderContext<'context>",1,["hydroflow::util::simulation::TransducerBuilderContext"]],["impl<F> Unpin for MonotonicFn<F>
where\n F: Unpin,
",1,["hydroflow::util::monotonic::MonotonicFn"]],["impl<F> Unpin for Morphism<F>
where\n F: Unpin,
",1,["hydroflow::util::monotonic::Morphism"]],["impl<I> Unpin for Iter<I>
where\n I: Unpin,
",1,["hydroflow::scheduled::handoff::Iter"]],["impl<K, A> Unpin for HalfJoinStateFold<K, A>
where\n K: Unpin,\n A: Unpin,
",1,["hydroflow::compiled::pull::half_join_state::fold::HalfJoinStateFold"]],["impl<K, A> Unpin for HalfJoinStateFoldFrom<K, A>
where\n K: Unpin,\n A: Unpin,
",1,["hydroflow::compiled::pull::half_join_state::fold_from::HalfJoinStateFoldFrom"]],["impl<K, A> Unpin for HalfJoinStateReduce<K, A>
where\n K: Unpin,\n A: Unpin,
",1,["hydroflow::compiled::pull::half_join_state::reduce::HalfJoinStateReduce"]],["impl<K, V> Unpin for PersistenceKeyed<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["hydroflow::util::PersistenceKeyed"]],["impl<K, V> Unpin for MonotonicMap<K, V>
where\n V: Unpin,\n K: Unpin,
",1,["hydroflow::util::monotonic_map::MonotonicMap"]],["impl<Key, ValBuild, ValProbe> Unpin for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where\n Key: Unpin,\n ValProbe: Unpin,\n ValBuild: Unpin,
",1,["hydroflow::compiled::pull::half_join_state::multiset::HalfMultisetJoinState"]],["impl<Key, ValBuild, ValProbe> Unpin for HalfSetJoinState<Key, ValBuild, ValProbe>
where\n Key: Unpin,\n ValProbe: Unpin,\n ValBuild: Unpin,
",1,["hydroflow::compiled::pull::half_join_state::set::HalfSetJoinState"]],["impl<S, H> Unpin for Port<S, H>",1,["hydroflow::scheduled::port::Port"]],["impl<S, H> Unpin for PortCtx<S, H>
where\n H: Unpin,
",1,["hydroflow::scheduled::port::PortCtx"]],["impl<T> Unpin for Persistence<T>
where\n T: Unpin,
",1,["hydroflow::util::Persistence"]],["impl<T> Unpin for TeeingHandoff<T>",1,["hydroflow::scheduled::handoff::tee::TeeingHandoff"]],["impl<T> Unpin for VecHandoff<T>",1,["hydroflow::scheduled::handoff::vector::VecHandoff"]],["impl<T> Unpin for Buffer<T>",1,["hydroflow::scheduled::input::Buffer"]],["impl<T> Unpin for StateHandle<T>",1,["hydroflow::scheduled::state::StateHandle"]],["impl<T> Unpin for ClearDefault<T>
where\n T: Unpin,
",1,["hydroflow::util::clear::ClearDefault"]],["impl<T> Unpin for DeployPorts<T>
where\n T: Unpin,
",1,["hydroflow::util::deploy::DeployPorts"]],["impl<T> Unpin for HashMultiSet<T>
where\n T: Unpin,
",1,["hydroflow::util::multiset::HashMultiSet"]],["impl<T> Unpin for SparseVec<T>
where\n T: Unpin,
",1,["hydroflow::util::sparse_vec::SparseVec"]],["impl<T> Unpin for Receiver<T>",1,["hydroflow::util::unsync::mpsc::Receiver"]],["impl<T> Unpin for Sender<T>",1,["hydroflow::util::unsync::mpsc::Sender"]],["impl<T, G> Unpin for Input<T, G>
where\n G: Unpin,\n T: Unpin,
",1,["hydroflow::scheduled::input::Input"]],["impl<V1, V2> Unpin for CrossJoinState<V1, V2>
where\n V1: Unpin,\n V2: Unpin,
",1,["hydroflow::compiled::pull::cross_join::CrossJoinState"]]]],["hydroflow_deploy_integration",[["impl Unpin for BoundConnection",1,["hydroflow_deploy_integration::BoundConnection"]],["impl Unpin for RealizedServerPort",1,["hydroflow_deploy_integration::RealizedServerPort"]],["impl Unpin for ServerBindConfig",1,["hydroflow_deploy_integration::ServerBindConfig"]],["impl Unpin for ServerOrBound",1,["hydroflow_deploy_integration::ServerOrBound"]],["impl Unpin for ServerPort",1,["hydroflow_deploy_integration::ServerPort"]],["impl Unpin for ConnectedDirect",1,["hydroflow_deploy_integration::ConnectedDirect"]],["impl<'pin, T, S: Sink<T, Error = Error> + Send + Sync + ?Sized> Unpin for DemuxDrain<T, S>
where\n __DemuxDrain<'pin, T, S>: Unpin,
"],["impl<T> Unpin for ConnectedDemux<T>",1,["hydroflow_deploy_integration::ConnectedDemux"]],["impl<T> Unpin for ConnectedTagged<T>",1,["hydroflow_deploy_integration::ConnectedTagged"]],["impl<T, S> Unpin for MergeSource<T, S>
where\n S: ?Sized,
",1,["hydroflow_deploy_integration::MergeSource"]],["impl<T, S> Unpin for TaggedSource<T, S>
where\n S: ?Sized,
",1,["hydroflow_deploy_integration::TaggedSource"]]]],["hydroflow_lang",[["impl Unpin for Level",1,["hydroflow_lang::diagnostic::Level"]],["impl Unpin for Color",1,["hydroflow_lang::graph::Color"]],["impl Unpin for GraphNode",1,["hydroflow_lang::graph::GraphNode"]],["impl Unpin for PortIndexValue",1,["hydroflow_lang::graph::PortIndexValue"]],["impl Unpin for WriteGraphType",1,["hydroflow_lang::graph::hydroflow_graph::WriteGraphType"]],["impl Unpin for DelayType",1,["hydroflow_lang::graph::ops::DelayType"]],["impl Unpin for FloType",1,["hydroflow_lang::graph::ops::FloType"]],["impl Unpin for OperatorCategory",1,["hydroflow_lang::graph::ops::OperatorCategory"]],["impl Unpin for Persistence",1,["hydroflow_lang::graph::ops::Persistence"]],["impl Unpin for PortListSpec",1,["hydroflow_lang::graph::ops::PortListSpec"]],["impl Unpin for HfStatement",1,["hydroflow_lang::parse::HfStatement"]],["impl Unpin for Pipeline",1,["hydroflow_lang::parse::Pipeline"]],["impl Unpin for PortIndex",1,["hydroflow_lang::parse::PortIndex"]],["impl Unpin for SerdeSpan",1,["hydroflow_lang::diagnostic::SerdeSpan"]],["impl Unpin for OperatorConstraints",1,["hydroflow_lang::graph::ops::OperatorConstraints"]],["impl Unpin for OperatorWriteOutput",1,["hydroflow_lang::graph::ops::OperatorWriteOutput"]],["impl Unpin for FlatGraphBuilder",1,["hydroflow_lang::graph::flat_graph_builder::FlatGraphBuilder"]],["impl Unpin for GraphEdgeId",1,["hydroflow_lang::graph::GraphEdgeId"]],["impl Unpin for GraphLoopId",1,["hydroflow_lang::graph::GraphLoopId"]],["impl Unpin for GraphNodeId",1,["hydroflow_lang::graph::GraphNodeId"]],["impl Unpin for GraphSubgraphId",1,["hydroflow_lang::graph::GraphSubgraphId"]],["impl Unpin for HydroflowGraph",1,["hydroflow_lang::graph::hydroflow_graph::HydroflowGraph"]],["impl Unpin for OpInstGenerics",1,["hydroflow_lang::graph::OpInstGenerics"]],["impl Unpin for OperatorInstance",1,["hydroflow_lang::graph::OperatorInstance"]],["impl Unpin for WriteConfig",1,["hydroflow_lang::graph::hydroflow_graph::WriteConfig"]],["impl Unpin for HfCode",1,["hydroflow_lang::parse::HfCode"]],["impl Unpin for Import",1,["hydroflow_lang::parse::Import"]],["impl Unpin for IndexInt",1,["hydroflow_lang::parse::IndexInt"]],["impl Unpin for Indexing",1,["hydroflow_lang::parse::Indexing"]],["impl Unpin for LoopStatement",1,["hydroflow_lang::parse::LoopStatement"]],["impl Unpin for NamedHfStatement",1,["hydroflow_lang::parse::NamedHfStatement"]],["impl Unpin for Operator",1,["hydroflow_lang::parse::Operator"]],["impl Unpin for PipelineLink",1,["hydroflow_lang::parse::PipelineLink"]],["impl Unpin for PipelineParen",1,["hydroflow_lang::parse::PipelineParen"]],["impl Unpin for PipelineStatement",1,["hydroflow_lang::parse::PipelineStatement"]],["impl Unpin for PrettyRowCol",1,["hydroflow_lang::pretty_span::PrettyRowCol"]],["impl Unpin for PrettySpan",1,["hydroflow_lang::pretty_span::PrettySpan"]],["impl<'a> Unpin for WriteContextArgs<'a>",1,["hydroflow_lang::graph::ops::WriteContextArgs"]],["impl<Inner> Unpin for Ported<Inner>
where\n Inner: Unpin,
",1,["hydroflow_lang::parse::Ported"]],["impl<K> Unpin for UnionFind<K>
where\n K: Unpin,
",1,["hydroflow_lang::union_find::UnionFind"]],["impl<S> Unpin for Diagnostic<S>
where\n S: Unpin,
",1,["hydroflow_lang::diagnostic::Diagnostic"]],["impl<V, E> Unpin for DiMulGraph<V, E>
where\n V: Unpin,\n E: Unpin,
",1,["hydroflow_lang::graph::di_mul_graph::DiMulGraph"]]]],["hydroflow_plus",[["impl Unpin for Bounded",1,["hydroflow_plus::boundedness::Bounded"]],["impl Unpin for Unbounded",1,["hydroflow_plus::boundedness::Unbounded"]],["impl Unpin for ForwardRefMarker",1,["hydroflow_plus::cycle::ForwardRefMarker"]],["impl Unpin for TickCycleMarker",1,["hydroflow_plus::cycle::TickCycleMarker"]],["impl Unpin for DebugInstantiate",1,["hydroflow_plus::ir::DebugInstantiate"]],["impl Unpin for HfPlusLeaf",1,["hydroflow_plus::ir::HfPlusLeaf"]],["impl Unpin for HfPlusNode",1,["hydroflow_plus::ir::HfPlusNode"]],["impl Unpin for HfPlusSource",1,["hydroflow_plus::ir::HfPlusSource"]],["impl Unpin for LocationId",1,["hydroflow_plus::location::LocationId"]],["impl Unpin for FlowStateInner",1,["hydroflow_plus::builder::FlowStateInner"]],["impl Unpin for HydroflowPlusMeta",1,["hydroflow_plus::deploy::deploy_runtime::HydroflowPlusMeta"]],["impl Unpin for MultiGraph",1,["hydroflow_plus::deploy::in_memory_graph::MultiGraph"]],["impl Unpin for MultiNode",1,["hydroflow_plus::deploy::in_memory_graph::MultiNode"]],["impl Unpin for SingleNode",1,["hydroflow_plus::deploy::in_memory_graph::SingleNode"]],["impl Unpin for SingleProcessGraph",1,["hydroflow_plus::deploy::in_memory_graph::SingleProcessGraph"]],["impl Unpin for DeployRuntime",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntime"]],["impl Unpin for DeployRuntimeCluster",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeCluster"]],["impl Unpin for DeployRuntimeNode",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeNode"]],["impl Unpin for DebugExpr",1,["hydroflow_plus::ir::DebugExpr"]],["impl Unpin for DebugPipelineFn",1,["hydroflow_plus::ir::DebugPipelineFn"]],["impl Unpin for TeeNode",1,["hydroflow_plus::ir::TeeNode"]],["impl Unpin for ExternalBytesPort",1,["hydroflow_plus::location::external_process::ExternalBytesPort"]],["impl Unpin for PropertyDatabase",1,["hydroflow_plus::rewrites::properties::PropertyDatabase"]],["impl Unpin for NoOrder",1,["hydroflow_plus::stream::NoOrder"]],["impl Unpin for TotalOrder",1,["hydroflow_plus::stream::TotalOrder"]],["impl<'a> Unpin for BuiltFlow<'a>",1,["hydroflow_plus::builder::built::BuiltFlow"]],["impl<'a> Unpin for CompiledFlowWithId<'a>",1,["hydroflow_plus::builder::compiled::CompiledFlowWithId"]],["impl<'a> Unpin for FlowBuilder<'a>",1,["hydroflow_plus::builder::FlowBuilder"]],["impl<'a> Unpin for ClusterSelfId<'a>",1,["hydroflow_plus::location::cluster::ClusterSelfId"]],["impl<'a> Unpin for RuntimeContext<'a>",1,["hydroflow_plus::runtime_context::RuntimeContext"]],["impl<'a, C> Unpin for Cluster<'a, C>
where\n C: Unpin,
",1,["hydroflow_plus::location::cluster::Cluster"]],["impl<'a, C> Unpin for ClusterIds<'a, C>
where\n C: Unpin,
",1,["hydroflow_plus::location::cluster::ClusterIds"]],["impl<'a, D> Unpin for DeployFlow<'a, D>
where\n D: Unpin,\n <D as LocalDeploy<'a>>::Process: Unpin,\n <D as LocalDeploy<'a>>::ExternalProcess: Unpin,\n <D as LocalDeploy<'a>>::Cluster: Unpin,
",1,["hydroflow_plus::builder::deploy::DeployFlow"]],["impl<'a, D> Unpin for DeployResult<'a, D>
where\n <D as Deploy<'a>>::Process: Unpin,\n <D as Deploy<'a>>::Cluster: Unpin,\n <D as Deploy<'a>>::ExternalProcess: Unpin,
",1,["hydroflow_plus::builder::deploy::DeployResult"]],["impl<'a, ID> Unpin for CompiledFlow<'a, ID>
where\n ID: Unpin,
",1,["hydroflow_plus::builder::compiled::CompiledFlow"]],["impl<'a, P> Unpin for ExternalProcess<'a, P>
where\n P: Unpin,
",1,["hydroflow_plus::location::external_process::ExternalProcess"]],["impl<'a, P> Unpin for Process<'a, P>
where\n P: Unpin,
",1,["hydroflow_plus::location::process::Process"]],["impl<'a, S> Unpin for ForwardRef<'a, S>
where\n S: Unpin,
",1,["hydroflow_plus::cycle::ForwardRef"]],["impl<'a, S> Unpin for TickCycle<'a, S>
where\n S: Unpin,
",1,["hydroflow_plus::cycle::TickCycle"]],["impl<C> Unpin for ClusterId<C>
where\n C: Unpin,
",1,["hydroflow_plus::location::cluster::cluster_id::ClusterId"]],["impl<L> Unpin for Tick<L>
where\n L: Unpin,
",1,["hydroflow_plus::location::tick::Tick"]],["impl<L> Unpin for Timestamped<L>
where\n L: Unpin,
",1,["hydroflow_plus::location::tick::Timestamped"]],["impl<T> Unpin for ExternalBincodeSink<T>
where\n T: Unpin,
",1,["hydroflow_plus::location::external_process::ExternalBincodeSink"]],["impl<T> Unpin for ExternalBincodeStream<T>
where\n T: Unpin,
",1,["hydroflow_plus::location::external_process::ExternalBincodeStream"]],["impl<T, L, B> Unpin for Optional<T, L, B>
where\n L: Unpin,\n T: Unpin,\n B: Unpin,
",1,["hydroflow_plus::optional::Optional"]],["impl<T, L, B> Unpin for Singleton<T, L, B>
where\n L: Unpin,\n T: Unpin,\n B: Unpin,
",1,["hydroflow_plus::singleton::Singleton"]],["impl<T, L, B, Order> Unpin for Stream<T, L, B, Order>
where\n L: Unpin,\n T: Unpin,\n B: Unpin,\n Order: Unpin,
",1,["hydroflow_plus::stream::Stream"]]]],["hydroflow_plus_test",[["impl Unpin for Leader",1,["hydroflow_plus_test::cluster::compute_pi::Leader"]],["impl Unpin for Worker",1,["hydroflow_plus_test::cluster::compute_pi::Worker"]],["impl Unpin for Leader",1,["hydroflow_plus_test::cluster::map_reduce::Leader"]],["impl Unpin for Worker",1,["hydroflow_plus_test::cluster::map_reduce::Worker"]],["impl Unpin for Acceptor",1,["hydroflow_plus_test::cluster::paxos::Acceptor"]],["impl Unpin for Ballot",1,["hydroflow_plus_test::cluster::paxos::Ballot"]],["impl Unpin for Proposer",1,["hydroflow_plus_test::cluster::paxos::Proposer"]],["impl Unpin for Client",1,["hydroflow_plus_test::cluster::paxos_bench::Client"]],["impl Unpin for Replica",1,["hydroflow_plus_test::cluster::paxos_kv::Replica"]],["impl Unpin for Client",1,["hydroflow_plus_test::cluster::two_pc::Client"]],["impl Unpin for Coordinator",1,["hydroflow_plus_test::cluster::two_pc::Coordinator"]],["impl Unpin for Participants",1,["hydroflow_plus_test::cluster::two_pc::Participants"]],["impl Unpin for P1",1,["hydroflow_plus_test::distributed::first_ten::P1"]],["impl Unpin for P2",1,["hydroflow_plus_test::distributed::first_ten::P2"]],["impl<K, V> Unpin for KvPayload<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["hydroflow_plus_test::cluster::paxos_kv::KvPayload"]],["impl<K, V> Unpin for SequencedKv<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["hydroflow_plus_test::cluster::paxos_kv::SequencedKv"]]]],["latency_measure",[["impl Unpin for TopolotreeMessage",1,["latency_measure::protocol::TopolotreeMessage"]],["impl Unpin for OperationPayload",1,["latency_measure::protocol::OperationPayload"]],["impl Unpin for QueryResponse",1,["latency_measure::protocol::QueryResponse"]],["impl<T> Unpin for Payload<T>
where\n T: Unpin,
",1,["latency_measure::protocol::Payload"]],["impl<T> Unpin for Timestamped<T>
where\n T: Unpin,
",1,["latency_measure::protocol::Timestamped"]]]],["lattices",[["impl Unpin for U32WithInfinity",1,["lattices::semiring_application::U32WithInfinity"]],["impl Unpin for BinaryTrust",1,["lattices::semiring_application::BinaryTrust"]],["impl Unpin for ConfidenceScore",1,["lattices::semiring_application::ConfidenceScore"]],["impl Unpin for Cost",1,["lattices::semiring_application::Cost"]],["impl Unpin for FuzzyLogic",1,["lattices::semiring_application::FuzzyLogic"]],["impl Unpin for Multiplicity",1,["lattices::semiring_application::Multiplicity"]],["impl Unpin for PairBimorphism",1,["lattices::pair::PairBimorphism"]],["impl<Bimorphism> Unpin for GhtBimorphism<Bimorphism>
where\n Bimorphism: Unpin,
",1,["lattices::ght::lattice::GhtBimorphism"]],["impl<Bimorphism> Unpin for GhtNodeKeyedBimorphism<Bimorphism>
where\n Bimorphism: Unpin,
",1,["lattices::ght::lattice::GhtNodeKeyedBimorphism"]],["impl<GhtOut> Unpin for GhtCartesianProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtCartesianProductBimorphism"]],["impl<GhtOut> Unpin for GhtValTypeProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtValTypeProductBimorphism"]],["impl<Head, Node> Unpin for GhtInner<Head, Node>
where\n Head: Unpin,\n Node: Unpin,
",1,["lattices::ght::GhtInner"]],["impl<Inner> Unpin for WithBot<Inner>
where\n Inner: Unpin,
",1,["lattices::with_bot::WithBot"]],["impl<Inner> Unpin for WithTop<Inner>
where\n Inner: Unpin,
",1,["lattices::with_top::WithTop"]],["impl<K, V> Unpin for EmptyMap<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["lattices::collections::EmptyMap"]],["impl<K, V> Unpin for OptionMap<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["lattices::collections::OptionMap"]],["impl<K, V> Unpin for SingletonMap<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["lattices::collections::SingletonMap"]],["impl<K, V> Unpin for VecMap<K, V>
where\n K: Unpin,\n V: Unpin,
",1,["lattices::collections::VecMap"]],["impl<K, V, const N: usize> Unpin for ArrayMap<K, V, N>
where\n K: Unpin,\n V: Unpin,
",1,["lattices::collections::ArrayMap"]],["impl<Key, Val> Unpin for DomPair<Key, Val>
where\n Key: Unpin,\n Val: Unpin,
",1,["lattices::dom_pair::DomPair"]],["impl<Lat> Unpin for VecUnion<Lat>
where\n Lat: Unpin,
",1,["lattices::vec_union::VecUnion"]],["impl<LatA, LatB> Unpin for Pair<LatA, LatB>
where\n LatA: Unpin,\n LatB: Unpin,
",1,["lattices::pair::Pair"]],["impl<Map> Unpin for MapUnion<Map>
where\n Map: Unpin,
",1,["lattices::map_union::MapUnion"]],["impl<Map> Unpin for UnionFind<Map>
where\n Map: Unpin,
",1,["lattices::union_find::UnionFind"]],["impl<Map, TombstoneSet> Unpin for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: Unpin,\n TombstoneSet: Unpin,
",1,["lattices::map_union_with_tombstones::MapUnionWithTombstones"]],["impl<MapOut, Bimorphism> Unpin for KeyedBimorphism<MapOut, Bimorphism>
where\n Bimorphism: Unpin,
",1,["lattices::map_union::KeyedBimorphism"]],["impl<Schema, ValType, Storage> Unpin for GhtLeaf<Schema, ValType, Storage>
where\n Storage: Unpin,\n ValType: Unpin,
",1,["lattices::ght::GhtLeaf"]],["impl<Set> Unpin for SetUnion<Set>
where\n Set: Unpin,
",1,["lattices::set_union::SetUnion"]],["impl<Set, TombstoneSet> Unpin for SetUnionWithTombstones<Set, TombstoneSet>
where\n Set: Unpin,\n TombstoneSet: Unpin,
",1,["lattices::set_union_with_tombstones::SetUnionWithTombstones"]],["impl<SetOut> Unpin for CartesianProductBimorphism<SetOut>",1,["lattices::set_union::CartesianProductBimorphism"]],["impl<T> Unpin for EmptySet<T>
where\n T: Unpin,
",1,["lattices::collections::EmptySet"]],["impl<T> Unpin for OptionSet<T>
where\n T: Unpin,
",1,["lattices::collections::OptionSet"]],["impl<T> Unpin for SingletonSet<T>
where\n T: Unpin,
",1,["lattices::collections::SingletonSet"]],["impl<T> Unpin for VecSet<T>
where\n T: Unpin,
",1,["lattices::collections::VecSet"]],["impl<T> Unpin for Conflict<T>
where\n T: Unpin,
",1,["lattices::conflict::Conflict"]],["impl<T> Unpin for Max<T>
where\n T: Unpin,
",1,["lattices::ord::Max"]],["impl<T> Unpin for Min<T>
where\n T: Unpin,
",1,["lattices::ord::Min"]],["impl<T, Provenance> Unpin for Point<T, Provenance>
where\n T: Unpin,
",1,["lattices::point::Point"]],["impl<T, const N: usize> Unpin for ArraySet<T, N>
where\n T: Unpin,
",1,["lattices::collections::ArraySet"]]]],["load_test_server",[["impl Unpin for Opts",1,["load_test_server::Opts"]],["impl Unpin for Switchboard",1,["load_test_server::Switchboard"]]]],["pn",[["impl Unpin for GossipOrIncrement",1,["pn::GossipOrIncrement"]],["impl Unpin for TopolotreeMessage",1,["pn::protocol::TopolotreeMessage"]],["impl Unpin for OperationPayload",1,["pn::protocol::OperationPayload"]],["impl Unpin for QueryResponse",1,["pn::protocol::QueryResponse"]],["impl<T> Unpin for Payload<T>
where\n T: Unpin,
",1,["pn::protocol::Payload"]],["impl<T> Unpin for Timestamped<T>
where\n T: Unpin,
",1,["pn::protocol::Timestamped"]]]],["pn_delta",[["impl Unpin for GossipOrIncrement",1,["pn_delta::GossipOrIncrement"]],["impl Unpin for TopolotreeMessage",1,["pn_delta::protocol::TopolotreeMessage"]],["impl Unpin for OperationPayload",1,["pn_delta::protocol::OperationPayload"]],["impl Unpin for QueryResponse",1,["pn_delta::protocol::QueryResponse"]],["impl<T> Unpin for Payload<T>
where\n T: Unpin,
",1,["pn_delta::protocol::Payload"]],["impl<T> Unpin for Timestamped<T>
where\n T: Unpin,
",1,["pn_delta::protocol::Timestamped"]]]],["pusherator",[["impl<Func, In> Unpin for ForEach<Func, In>
where\n Func: Unpin,
",1,["pusherator::for_each::ForEach"]],["impl<Func, Nexts, Item> Unpin for Demux<Func, Nexts, Item>
where\n Func: Unpin,\n Nexts: Unpin,
",1,["pusherator::demux::Demux"]],["impl<I> Unpin for PivotBuild<I>
where\n I: Unpin,
",1,["pusherator::pivot::PivotBuild"]],["impl<I, P> Unpin for Pivot<I, P>
where\n I: Unpin,\n P: Unpin,
",1,["pusherator::pivot::Pivot"]],["impl<In> Unpin for Null<In>
where\n In: Unpin,
",1,["pusherator::null::Null"]],["impl<Next, Func> Unpin for Filter<Next, Func>
where\n Next: Unpin,\n Func: Unpin,
",1,["pusherator::filter::Filter"]],["impl<Next, Func> Unpin for Inspect<Next, Func>
where\n Next: Unpin,\n Func: Unpin,
",1,["pusherator::inspect::Inspect"]],["impl<Next, Func, In> Unpin for FilterMap<Next, Func, In>
where\n Next: Unpin,\n Func: Unpin,
",1,["pusherator::filter_map::FilterMap"]],["impl<Next, Func, In> Unpin for Map<Next, Func, In>
where\n Next: Unpin,\n Func: Unpin,
",1,["pusherator::map::Map"]],["impl<Next, In> Unpin for Flatten<Next, In>
where\n Next: Unpin,
",1,["pusherator::flatten::Flatten"]],["impl<Next1, Next2> Unpin for Switch<Next1, Next2>
where\n Next1: Unpin,\n Next2: Unpin,
",1,["pusherator::switch::Switch"]],["impl<Next1, Next2> Unpin for Tee<Next1, Next2>
where\n Next1: Unpin,\n Next2: Unpin,
",1,["pusherator::tee::Tee"]],["impl<Next1, Next2> Unpin for Unzip<Next1, Next2>
where\n Next1: Unpin,\n Next2: Unpin,
",1,["pusherator::unzip::Unzip"]],["impl<Next1, Next2, Func> Unpin for Partition<Next1, Next2, Func>
where\n Next1: Unpin,\n Next2: Unpin,\n Func: Unpin,
",1,["pusherator::partition::Partition"]],["impl<Prev> Unpin for FlattenBuild<Prev>
where\n Prev: Unpin,
",1,["pusherator::flatten::FlattenBuild"]],["impl<Prev, Func> Unpin for FilterBuild<Prev, Func>
where\n Prev: Unpin,\n Func: Unpin,
",1,["pusherator::filter::FilterBuild"]],["impl<Prev, Func> Unpin for FilterMapBuild<Prev, Func>
where\n Prev: Unpin,\n Func: Unpin,
",1,["pusherator::filter_map::FilterMapBuild"]],["impl<Prev, Func> Unpin for InspectBuild<Prev, Func>
where\n Prev: Unpin,\n Func: Unpin,
",1,["pusherator::inspect::InspectBuild"]],["impl<Prev, Func> Unpin for MapBuild<Prev, Func>
where\n Prev: Unpin,\n Func: Unpin,
",1,["pusherator::map::MapBuild"]],["impl<Prev, Next1> Unpin for SwitchBuild<Prev, Next1>
where\n Prev: Unpin,\n Next1: Unpin,
",1,["pusherator::switch::SwitchBuild"]],["impl<Prev, Next1> Unpin for TeeBuild<Prev, Next1>
where\n <Prev as PusheratorBuild>::ItemOut: Sized,\n Prev: Unpin,\n Next1: Unpin,
",1,["pusherator::tee::TeeBuild"]],["impl<Prev, Next1> Unpin for UnzipBuild<Prev, Next1>
where\n Prev: Unpin,\n Next1: Unpin,
",1,["pusherator::unzip::UnzipBuild"]],["impl<Prev, Next1, Func> Unpin for PartitionBuild<Prev, Next1, Func>
where\n Prev: Unpin,\n Next1: Unpin,\n Func: Unpin,
",1,["pusherator::partition::PartitionBuild"]],["impl<T> Unpin for InputBuild<T>
where\n T: Unpin,
",1,["pusherator::InputBuild"]]]],["relalg",[["impl Unpin for Datum",1,["relalg::Datum"]],["impl Unpin for ScalarExpr",1,["relalg::ScalarExpr"]]]],["stageleft",[["impl<'a> Unpin for BorrowBounds<'a>",1,["stageleft::BorrowBounds"]],["impl<T> Unpin for Import<T>
where\n T: Unpin,
",1,["stageleft::runtime_support::Import"]],["impl<T> Unpin for RuntimeData<T>
where\n T: Unpin,
",1,["stageleft::RuntimeData"]]]],["topolotree",[["impl Unpin for TopolotreeMessage",1,["topolotree::protocol::TopolotreeMessage"]],["impl Unpin for OperationPayload",1,["topolotree::protocol::OperationPayload"]],["impl Unpin for QueryResponse",1,["topolotree::protocol::QueryResponse"]],["impl Unpin for NodeId",1,["topolotree::NodeId"]],["impl<T> Unpin for Payload<T>
where\n T: Unpin,
",1,["topolotree::protocol::Payload"]],["impl<T> Unpin for Timestamped<T>
where\n T: Unpin,
",1,["topolotree::protocol::Timestamped"]]]],["variadics",[["impl<Iter, Item> Unpin for DuplicateCounted<Iter, Item>
where\n Iter: Unpin,\n Item: Unpin,
",1,["variadics::variadic_collections::DuplicateCounted"]],["impl<K, S> Unpin for VariadicCountedHashSet<K, S>
where\n S: Unpin,\n K: Unpin,
",1,["variadics::variadic_collections::VariadicCountedHashSet"]],["impl<Schema> Unpin for VariadicColumnMultiset<Schema>
where\n <Schema as VariadicExt>::IntoVec: Unpin,
",1,["variadics::variadic_collections::VariadicColumnMultiset"]],["impl<T, S> Unpin for VariadicHashSet<T, S>
where\n S: Unpin,\n T: Unpin,
",1,["variadics::variadic_collections::VariadicHashSet"]]]],["website_playground",[["impl Unpin for HydroflowOutput",1,["website_playground::HydroflowOutput"]],["impl Unpin for HydroflowResult",1,["website_playground::HydroflowResult"]],["impl Unpin for JsDiagnostic",1,["website_playground::JsDiagnostic"]],["impl Unpin for JsLineColumn",1,["website_playground::JsLineColumn"]],["impl Unpin for JsSpan",1,["website_playground::JsSpan"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[929,6303,1782,1466,12855,23834,5233,14247,24273,6612,2169,20914,633,2256,2370,16135,551,1356,2370,3145,1670]} \ No newline at end of file +//{"start":57,"fragment_lengths":[929,6303,1782,1466,12855,23834,5233,15246,24273,6612,2169,20914,633,2256,2370,16135,551,1356,2370,3145,1670]} \ No newline at end of file diff --git a/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index fb94d4e39e15..a19b3bfd7f61 100644 --- a/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_cli",[["impl RefUnwindSafe for InteractiveCommands",1,["gossip_cli::InteractiveCommands"]],["impl RefUnwindSafe for InteractiveApp",1,["gossip_cli::InteractiveApp"]],["impl RefUnwindSafe for Opts",1,["gossip_cli::Opts"]]]],["gossip_kv",[["impl RefUnwindSafe for ClientRequest",1,["gossip_kv::ClientRequest"]],["impl RefUnwindSafe for ClientResponse",1,["gossip_kv::ClientResponse"]],["impl RefUnwindSafe for GossipMessage",1,["gossip_kv::GossipMessage"]],["impl RefUnwindSafe for KeyParseError",1,["gossip_kv::KeyParseError"]],["impl RefUnwindSafe for Namespace",1,["gossip_kv::Namespace"]],["impl RefUnwindSafe for InfectingWrite",1,["gossip_kv::server::InfectingWrite"]],["impl RefUnwindSafe for SETS_COUNTER",1,["gossip_kv::server::SETS_COUNTER"]],["impl RefUnwindSafe for Key",1,["gossip_kv::Key"]],["impl<A> RefUnwindSafe for ClientRequestWithAddress<A>
where\n A: RefUnwindSafe,
",1,["gossip_kv::util::ClientRequestWithAddress"]],["impl<A> RefUnwindSafe for GossipRequestWithAddress<A>
where\n A: RefUnwindSafe,
",1,["gossip_kv::util::GossipRequestWithAddress"]],["impl<A> RefUnwindSafe for MemberData<A>
where\n A: RefUnwindSafe,
",1,["gossip_kv::membership::MemberData"]],["impl<A> RefUnwindSafe for MemberDataBuilder<A>
where\n A: RefUnwindSafe,
",1,["gossip_kv::membership::MemberDataBuilder"]],["impl<A> RefUnwindSafe for Protocol<A>
where\n A: RefUnwindSafe,
",1,["gossip_kv::membership::Protocol"]],["impl<A> RefUnwindSafe for SeedNode<A>
where\n A: RefUnwindSafe,
",1,["gossip_kv::server::SeedNode"]],["impl<T, const N: usize> RefUnwindSafe for BoundedSetLattice<T, N>
where\n T: RefUnwindSafe,
",1,["gossip_kv::lattices::BoundedSetLattice"]]]],["gossip_server",[["impl !RefUnwindSafe for UnboundedSenderEventHandler",1,["gossip_server::config::UnboundedSenderEventHandler"]],["impl RefUnwindSafe for SeedNodeSettings",1,["gossip_server::config::SeedNodeSettings"]],["impl RefUnwindSafe for ServerSettings",1,["gossip_server::config::ServerSettings"]],["impl RefUnwindSafe for LowercaseAlphanumeric",1,["gossip_server::membership::LowercaseAlphanumeric"]],["impl RefUnwindSafe for Opts",1,["gossip_server::Opts"]]]],["hydro_cli",[["impl !RefUnwindSafe for AnyhowError",1,["hydro_cli::AnyhowError"]],["impl !RefUnwindSafe for AnyhowWrapper",1,["hydro_cli::AnyhowWrapper"]],["impl !RefUnwindSafe for Deployment",1,["hydro_cli::Deployment"]],["impl !RefUnwindSafe for Host",1,["hydro_cli::Host"]],["impl !RefUnwindSafe for Service",1,["hydro_cli::Service"]]]],["hydro_deploy",[["impl !RefUnwindSafe for ServerConfig",1,["hydro_deploy::hydroflow_crate::ports::ServerConfig"]],["impl !RefUnwindSafe for SourcePath",1,["hydro_deploy::hydroflow_crate::ports::SourcePath"]],["impl !RefUnwindSafe for CustomClientPort",1,["hydro_deploy::custom_service::CustomClientPort"]],["impl !RefUnwindSafe for CustomService",1,["hydro_deploy::custom_service::CustomService"]],["impl !RefUnwindSafe for Deployment",1,["hydro_deploy::deployment::Deployment"]],["impl !RefUnwindSafe for GcpComputeEngineHost",1,["hydro_deploy::gcp::GcpComputeEngineHost"]],["impl !RefUnwindSafe for DemuxSink",1,["hydro_deploy::hydroflow_crate::ports::DemuxSink"]],["impl !RefUnwindSafe for HydroflowPortConfig",1,["hydro_deploy::hydroflow_crate::ports::HydroflowPortConfig"]],["impl !RefUnwindSafe for TaggedSource",1,["hydro_deploy::hydroflow_crate::ports::TaggedSource"]],["impl !RefUnwindSafe for HydroflowCrateService",1,["hydro_deploy::hydroflow_crate::service::HydroflowCrateService"]],["impl !RefUnwindSafe for HydroflowCrate",1,["hydro_deploy::hydroflow_crate::HydroflowCrate"]],["impl !RefUnwindSafe for LaunchedLocalhostBinary",1,["hydro_deploy::localhost::launched_binary::LaunchedLocalhostBinary"]],["impl !RefUnwindSafe for ResourcePool",1,["hydro_deploy::ResourcePool"]],["impl !RefUnwindSafe for TerraformPool",1,["hydro_deploy::terraform::TerraformPool"]],["impl RefUnwindSafe for HostTargetType",1,["hydro_deploy::HostTargetType"]],["impl RefUnwindSafe for ServerStrategy",1,["hydro_deploy::ServerStrategy"]],["impl RefUnwindSafe for CrateTarget",1,["hydro_deploy::hydroflow_crate::CrateTarget"]],["impl RefUnwindSafe for BarTree",1,["hydro_deploy::progress::BarTree"]],["impl RefUnwindSafe for LeafStatus",1,["hydro_deploy::progress::LeafStatus"]],["impl RefUnwindSafe for AzureHost",1,["hydro_deploy::azure::AzureHost"]],["impl RefUnwindSafe for LaunchedVirtualMachine",1,["hydro_deploy::azure::LaunchedVirtualMachine"]],["impl RefUnwindSafe for GcpNetwork",1,["hydro_deploy::gcp::GcpNetwork"]],["impl RefUnwindSafe for LaunchedComputeEngine",1,["hydro_deploy::gcp::LaunchedComputeEngine"]],["impl RefUnwindSafe for NullSourceSink",1,["hydro_deploy::hydroflow_crate::ports::NullSourceSink"]],["impl RefUnwindSafe for TracingOptions",1,["hydro_deploy::hydroflow_crate::tracing_options::TracingOptions"]],["impl RefUnwindSafe for LocalhostHost",1,["hydro_deploy::localhost::LocalhostHost"]],["impl RefUnwindSafe for ProgressTracker",1,["hydro_deploy::progress::ProgressTracker"]],["impl RefUnwindSafe for ResourceBatch",1,["hydro_deploy::ResourceBatch"]],["impl RefUnwindSafe for ResourceResult",1,["hydro_deploy::ResourceResult"]],["impl RefUnwindSafe for TerraformBatch",1,["hydro_deploy::terraform::TerraformBatch"]],["impl RefUnwindSafe for TerraformConfig",1,["hydro_deploy::terraform::TerraformConfig"]],["impl RefUnwindSafe for TerraformOutput",1,["hydro_deploy::terraform::TerraformOutput"]],["impl RefUnwindSafe for TerraformProvider",1,["hydro_deploy::terraform::TerraformProvider"]],["impl RefUnwindSafe for TerraformResult",1,["hydro_deploy::terraform::TerraformResult"]],["impl RefUnwindSafe for TerraformResultOutput",1,["hydro_deploy::terraform::TerraformResultOutput"]],["impl<'a> !RefUnwindSafe for ClientStrategy<'a>",1,["hydro_deploy::ClientStrategy"]]]],["hydroflow",[["impl !RefUnwindSafe for Context",1,["hydroflow::scheduled::context::Context"]],["impl !RefUnwindSafe for Reactor",1,["hydroflow::scheduled::reactor::Reactor"]],["impl !RefUnwindSafe for Fleet",1,["hydroflow::util::simulation::Fleet"]],["impl !RefUnwindSafe for Host",1,["hydroflow::util::simulation::Host"]],["impl !RefUnwindSafe for HostBuilder",1,["hydroflow::util::simulation::HostBuilder"]],["impl !RefUnwindSafe for Inbox",1,["hydroflow::util::simulation::Inbox"]],["impl !RefUnwindSafe for Outbox",1,["hydroflow::util::simulation::Outbox"]],["impl RefUnwindSafe for RECV",1,["hydroflow::scheduled::port::RECV"]],["impl RefUnwindSafe for SEND",1,["hydroflow::scheduled::port::SEND"]],["impl RefUnwindSafe for Message",1,["hydroflow::scheduled::net::Message"]],["impl RefUnwindSafe for StateHandleErased",1,["hydroflow::scheduled::state::StateHandleErased"]],["impl RefUnwindSafe for HandoffId",1,["hydroflow::scheduled::HandoffId"]],["impl RefUnwindSafe for StateId",1,["hydroflow::scheduled::StateId"]],["impl RefUnwindSafe for SubgraphId",1,["hydroflow::scheduled::SubgraphId"]],["impl RefUnwindSafe for TickDuration",1,["hydroflow::scheduled::ticks::TickDuration"]],["impl RefUnwindSafe for TickInstant",1,["hydroflow::scheduled::ticks::TickInstant"]],["impl RefUnwindSafe for Address",1,["hydroflow::util::simulation::Address"]],["impl RefUnwindSafe for DroppableChild",1,["hydroflow::util::DroppableChild"]],["impl<'a> !RefUnwindSafe for Hydroflow<'a>",1,["hydroflow::scheduled::graph::Hydroflow"]],["impl<'a> !RefUnwindSafe for Query<'a>",1,["hydroflow::scheduled::query::Query"]],["impl<'a, I1, V1, I2, V2> RefUnwindSafe for CrossJoin<'a, I1, V1, I2, V2>
where\n I1: RefUnwindSafe,\n I2: RefUnwindSafe,\n V1: RefUnwindSafe,\n V2: RefUnwindSafe,
",1,["hydroflow::compiled::pull::cross_join::CrossJoin"]],["impl<'a, Key, I1, V1, I2, V2, LhsState, RhsState> RefUnwindSafe for SymmetricHashJoin<'a, Key, I1, V1, I2, V2, LhsState, RhsState>
where\n I1: RefUnwindSafe,\n I2: RefUnwindSafe,\n LhsState: RefUnwindSafe,\n RhsState: RefUnwindSafe,
",1,["hydroflow::compiled::pull::symmetric_hash_join::SymmetricHashJoin"]],["impl<'a, Key, V, Ipos> RefUnwindSafe for AntiJoin<'a, Key, V, Ipos>
where\n Ipos: RefUnwindSafe,\n Key: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["hydroflow::compiled::pull::anti_join::AntiJoin"]],["impl<'a, T> !RefUnwindSafe for Operator<'a, T>",1,["hydroflow::scheduled::query::Operator"]],["impl<'context> !RefUnwindSafe for TransducerBuilderContext<'context>",1,["hydroflow::util::simulation::TransducerBuilderContext"]],["impl<F> RefUnwindSafe for MonotonicFn<F>
where\n F: RefUnwindSafe,
",1,["hydroflow::util::monotonic::MonotonicFn"]],["impl<F> RefUnwindSafe for Morphism<F>
where\n F: RefUnwindSafe,
",1,["hydroflow::util::monotonic::Morphism"]],["impl<I> RefUnwindSafe for Iter<I>
where\n I: RefUnwindSafe,
",1,["hydroflow::scheduled::handoff::Iter"]],["impl<K, A> RefUnwindSafe for HalfJoinStateFold<K, A>
where\n K: RefUnwindSafe,\n A: RefUnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::fold::HalfJoinStateFold"]],["impl<K, A> RefUnwindSafe for HalfJoinStateFoldFrom<K, A>
where\n K: RefUnwindSafe,\n A: RefUnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::fold_from::HalfJoinStateFoldFrom"]],["impl<K, A> RefUnwindSafe for HalfJoinStateReduce<K, A>
where\n K: RefUnwindSafe,\n A: RefUnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::reduce::HalfJoinStateReduce"]],["impl<K, V> RefUnwindSafe for PersistenceKeyed<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["hydroflow::util::PersistenceKeyed"]],["impl<K, V> RefUnwindSafe for MonotonicMap<K, V>
where\n V: RefUnwindSafe,\n K: RefUnwindSafe,
",1,["hydroflow::util::monotonic_map::MonotonicMap"]],["impl<Key, ValBuild, ValProbe> RefUnwindSafe for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where\n Key: RefUnwindSafe,\n ValProbe: RefUnwindSafe,\n ValBuild: RefUnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::multiset::HalfMultisetJoinState"]],["impl<Key, ValBuild, ValProbe> RefUnwindSafe for HalfSetJoinState<Key, ValBuild, ValProbe>
where\n Key: RefUnwindSafe,\n ValProbe: RefUnwindSafe,\n ValBuild: RefUnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::set::HalfSetJoinState"]],["impl<S, H> RefUnwindSafe for Port<S, H>
where\n S: RefUnwindSafe,
",1,["hydroflow::scheduled::port::Port"]],["impl<S, H> RefUnwindSafe for PortCtx<S, H>
where\n H: RefUnwindSafe,\n S: RefUnwindSafe,
",1,["hydroflow::scheduled::port::PortCtx"]],["impl<T = Option<()>> !RefUnwindSafe for DeployPorts<T>",1,["hydroflow::util::deploy::DeployPorts"]],["impl<T> !RefUnwindSafe for TeeingHandoff<T>",1,["hydroflow::scheduled::handoff::tee::TeeingHandoff"]],["impl<T> !RefUnwindSafe for VecHandoff<T>",1,["hydroflow::scheduled::handoff::vector::VecHandoff"]],["impl<T> !RefUnwindSafe for Buffer<T>",1,["hydroflow::scheduled::input::Buffer"]],["impl<T> !RefUnwindSafe for Receiver<T>",1,["hydroflow::util::unsync::mpsc::Receiver"]],["impl<T> !RefUnwindSafe for Sender<T>",1,["hydroflow::util::unsync::mpsc::Sender"]],["impl<T> RefUnwindSafe for Persistence<T>
where\n T: RefUnwindSafe,
",1,["hydroflow::util::Persistence"]],["impl<T> RefUnwindSafe for StateHandle<T>
where\n T: RefUnwindSafe,
",1,["hydroflow::scheduled::state::StateHandle"]],["impl<T> RefUnwindSafe for ClearDefault<T>
where\n T: RefUnwindSafe,
",1,["hydroflow::util::clear::ClearDefault"]],["impl<T> RefUnwindSafe for HashMultiSet<T>
where\n T: RefUnwindSafe,
",1,["hydroflow::util::multiset::HashMultiSet"]],["impl<T> RefUnwindSafe for SparseVec<T>
where\n T: RefUnwindSafe,
",1,["hydroflow::util::sparse_vec::SparseVec"]],["impl<T, G> !RefUnwindSafe for Input<T, G>",1,["hydroflow::scheduled::input::Input"]],["impl<V1, V2> RefUnwindSafe for CrossJoinState<V1, V2>
where\n V1: RefUnwindSafe,\n V2: RefUnwindSafe,
",1,["hydroflow::compiled::pull::cross_join::CrossJoinState"]]]],["hydroflow_deploy_integration",[["impl !RefUnwindSafe for ConnectedDirect",1,["hydroflow_deploy_integration::ConnectedDirect"]],["impl RefUnwindSafe for BoundConnection",1,["hydroflow_deploy_integration::BoundConnection"]],["impl RefUnwindSafe for RealizedServerPort",1,["hydroflow_deploy_integration::RealizedServerPort"]],["impl RefUnwindSafe for ServerBindConfig",1,["hydroflow_deploy_integration::ServerBindConfig"]],["impl RefUnwindSafe for ServerOrBound",1,["hydroflow_deploy_integration::ServerOrBound"]],["impl RefUnwindSafe for ServerPort",1,["hydroflow_deploy_integration::ServerPort"]],["impl<T> !RefUnwindSafe for ConnectedTagged<T>",1,["hydroflow_deploy_integration::ConnectedTagged"]],["impl<T> RefUnwindSafe for ConnectedDemux<T>",1,["hydroflow_deploy_integration::ConnectedDemux"]],["impl<T, S> RefUnwindSafe for DemuxDrain<T, S>
where\n T: RefUnwindSafe,\n S: RefUnwindSafe + ?Sized,
",1,["hydroflow_deploy_integration::DemuxDrain"]],["impl<T, S> RefUnwindSafe for MergeSource<T, S>
where\n T: RefUnwindSafe,\n S: RefUnwindSafe + ?Sized,
",1,["hydroflow_deploy_integration::MergeSource"]],["impl<T, S> RefUnwindSafe for TaggedSource<T, S>
where\n T: RefUnwindSafe,\n S: RefUnwindSafe + ?Sized,
",1,["hydroflow_deploy_integration::TaggedSource"]]]],["hydroflow_lang",[["impl !RefUnwindSafe for OperatorConstraints",1,["hydroflow_lang::graph::ops::OperatorConstraints"]],["impl !RefUnwindSafe for FlatGraphBuilder",1,["hydroflow_lang::graph::flat_graph_builder::FlatGraphBuilder"]],["impl !RefUnwindSafe for HydroflowGraph",1,["hydroflow_lang::graph::hydroflow_graph::HydroflowGraph"]],["impl !RefUnwindSafe for OperatorInstance",1,["hydroflow_lang::graph::OperatorInstance"]],["impl RefUnwindSafe for Level",1,["hydroflow_lang::diagnostic::Level"]],["impl RefUnwindSafe for Color",1,["hydroflow_lang::graph::Color"]],["impl RefUnwindSafe for GraphNode",1,["hydroflow_lang::graph::GraphNode"]],["impl RefUnwindSafe for PortIndexValue",1,["hydroflow_lang::graph::PortIndexValue"]],["impl RefUnwindSafe for WriteGraphType",1,["hydroflow_lang::graph::hydroflow_graph::WriteGraphType"]],["impl RefUnwindSafe for DelayType",1,["hydroflow_lang::graph::ops::DelayType"]],["impl RefUnwindSafe for OperatorCategory",1,["hydroflow_lang::graph::ops::OperatorCategory"]],["impl RefUnwindSafe for Persistence",1,["hydroflow_lang::graph::ops::Persistence"]],["impl RefUnwindSafe for PortListSpec",1,["hydroflow_lang::graph::ops::PortListSpec"]],["impl RefUnwindSafe for HfStatement",1,["hydroflow_lang::parse::HfStatement"]],["impl RefUnwindSafe for Pipeline",1,["hydroflow_lang::parse::Pipeline"]],["impl RefUnwindSafe for PortIndex",1,["hydroflow_lang::parse::PortIndex"]],["impl RefUnwindSafe for SerdeSpan",1,["hydroflow_lang::diagnostic::SerdeSpan"]],["impl RefUnwindSafe for OperatorWriteOutput",1,["hydroflow_lang::graph::ops::OperatorWriteOutput"]],["impl RefUnwindSafe for GraphEdgeId",1,["hydroflow_lang::graph::GraphEdgeId"]],["impl RefUnwindSafe for GraphNodeId",1,["hydroflow_lang::graph::GraphNodeId"]],["impl RefUnwindSafe for GraphSubgraphId",1,["hydroflow_lang::graph::GraphSubgraphId"]],["impl RefUnwindSafe for OpInstGenerics",1,["hydroflow_lang::graph::OpInstGenerics"]],["impl RefUnwindSafe for WriteConfig",1,["hydroflow_lang::graph::hydroflow_graph::WriteConfig"]],["impl RefUnwindSafe for HfCode",1,["hydroflow_lang::parse::HfCode"]],["impl RefUnwindSafe for Import",1,["hydroflow_lang::parse::Import"]],["impl RefUnwindSafe for IndexInt",1,["hydroflow_lang::parse::IndexInt"]],["impl RefUnwindSafe for Indexing",1,["hydroflow_lang::parse::Indexing"]],["impl RefUnwindSafe for NamedHfStatement",1,["hydroflow_lang::parse::NamedHfStatement"]],["impl RefUnwindSafe for Operator",1,["hydroflow_lang::parse::Operator"]],["impl RefUnwindSafe for PipelineLink",1,["hydroflow_lang::parse::PipelineLink"]],["impl RefUnwindSafe for PipelineParen",1,["hydroflow_lang::parse::PipelineParen"]],["impl RefUnwindSafe for PipelineStatement",1,["hydroflow_lang::parse::PipelineStatement"]],["impl RefUnwindSafe for PrettyRowCol",1,["hydroflow_lang::pretty_span::PrettyRowCol"]],["impl RefUnwindSafe for PrettySpan",1,["hydroflow_lang::pretty_span::PrettySpan"]],["impl<'a> !RefUnwindSafe for WriteContextArgs<'a>",1,["hydroflow_lang::graph::ops::WriteContextArgs"]],["impl<Inner> RefUnwindSafe for Ported<Inner>
where\n Inner: RefUnwindSafe,
",1,["hydroflow_lang::parse::Ported"]],["impl<K> RefUnwindSafe for UnionFind<K>
where\n K: RefUnwindSafe,
",1,["hydroflow_lang::union_find::UnionFind"]],["impl<S> RefUnwindSafe for Diagnostic<S>
where\n S: RefUnwindSafe,
",1,["hydroflow_lang::diagnostic::Diagnostic"]],["impl<V, E> RefUnwindSafe for DiMulGraph<V, E>
where\n V: RefUnwindSafe,\n E: RefUnwindSafe,
",1,["hydroflow_lang::graph::di_mul_graph::DiMulGraph"]]]],["hydroflow_plus",[["impl !RefUnwindSafe for DebugInstantiate",1,["hydroflow_plus::ir::DebugInstantiate"]],["impl !RefUnwindSafe for HfPlusLeaf",1,["hydroflow_plus::ir::HfPlusLeaf"]],["impl !RefUnwindSafe for HfPlusNode",1,["hydroflow_plus::ir::HfPlusNode"]],["impl !RefUnwindSafe for FlowStateInner",1,["hydroflow_plus::builder::FlowStateInner"]],["impl !RefUnwindSafe for DeployRuntimeCluster",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeCluster"]],["impl !RefUnwindSafe for DeployRuntimeNode",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeNode"]],["impl !RefUnwindSafe for DebugPipelineFn",1,["hydroflow_plus::ir::DebugPipelineFn"]],["impl !RefUnwindSafe for TeeNode",1,["hydroflow_plus::ir::TeeNode"]],["impl RefUnwindSafe for Bounded",1,["hydroflow_plus::boundedness::Bounded"]],["impl RefUnwindSafe for Unbounded",1,["hydroflow_plus::boundedness::Unbounded"]],["impl RefUnwindSafe for ForwardRefMarker",1,["hydroflow_plus::cycle::ForwardRefMarker"]],["impl RefUnwindSafe for TickCycleMarker",1,["hydroflow_plus::cycle::TickCycleMarker"]],["impl RefUnwindSafe for HfPlusSource",1,["hydroflow_plus::ir::HfPlusSource"]],["impl RefUnwindSafe for LocationId",1,["hydroflow_plus::location::LocationId"]],["impl RefUnwindSafe for HydroflowPlusMeta",1,["hydroflow_plus::deploy::deploy_runtime::HydroflowPlusMeta"]],["impl RefUnwindSafe for MultiGraph",1,["hydroflow_plus::deploy::in_memory_graph::MultiGraph"]],["impl RefUnwindSafe for MultiNode",1,["hydroflow_plus::deploy::in_memory_graph::MultiNode"]],["impl RefUnwindSafe for SingleNode",1,["hydroflow_plus::deploy::in_memory_graph::SingleNode"]],["impl RefUnwindSafe for SingleProcessGraph",1,["hydroflow_plus::deploy::in_memory_graph::SingleProcessGraph"]],["impl RefUnwindSafe for DeployRuntime",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntime"]],["impl RefUnwindSafe for DebugExpr",1,["hydroflow_plus::ir::DebugExpr"]],["impl RefUnwindSafe for ExternalBytesPort",1,["hydroflow_plus::location::external_process::ExternalBytesPort"]],["impl RefUnwindSafe for PropertyDatabase",1,["hydroflow_plus::rewrites::properties::PropertyDatabase"]],["impl RefUnwindSafe for NoOrder",1,["hydroflow_plus::stream::NoOrder"]],["impl RefUnwindSafe for TotalOrder",1,["hydroflow_plus::stream::TotalOrder"]],["impl<'a> !RefUnwindSafe for BuiltFlow<'a>",1,["hydroflow_plus::builder::built::BuiltFlow"]],["impl<'a> !RefUnwindSafe for FlowBuilder<'a>",1,["hydroflow_plus::builder::FlowBuilder"]],["impl<'a> RefUnwindSafe for CompiledFlowWithId<'a>",1,["hydroflow_plus::builder::compiled::CompiledFlowWithId"]],["impl<'a> RefUnwindSafe for ClusterSelfId<'a>",1,["hydroflow_plus::location::cluster::ClusterSelfId"]],["impl<'a> RefUnwindSafe for RuntimeContext<'a>",1,["hydroflow_plus::runtime_context::RuntimeContext"]],["impl<'a, C> !RefUnwindSafe for Cluster<'a, C>",1,["hydroflow_plus::location::cluster::Cluster"]],["impl<'a, C> RefUnwindSafe for ClusterIds<'a, C>
where\n C: RefUnwindSafe,
",1,["hydroflow_plus::location::cluster::ClusterIds"]],["impl<'a, D> !RefUnwindSafe for DeployFlow<'a, D>",1,["hydroflow_plus::builder::deploy::DeployFlow"]],["impl<'a, D> RefUnwindSafe for DeployResult<'a, D>
where\n <D as Deploy<'a>>::Process: RefUnwindSafe,\n <D as Deploy<'a>>::Cluster: RefUnwindSafe,\n <D as Deploy<'a>>::ExternalProcess: RefUnwindSafe,
",1,["hydroflow_plus::builder::deploy::DeployResult"]],["impl<'a, ID> !RefUnwindSafe for CompiledFlow<'a, ID>",1,["hydroflow_plus::builder::compiled::CompiledFlow"]],["impl<'a, P = ()> !RefUnwindSafe for Process<'a, P>",1,["hydroflow_plus::location::process::Process"]],["impl<'a, P> !RefUnwindSafe for ExternalProcess<'a, P>",1,["hydroflow_plus::location::external_process::ExternalProcess"]],["impl<'a, S> RefUnwindSafe for ForwardRef<'a, S>
where\n S: RefUnwindSafe,
",1,["hydroflow_plus::cycle::ForwardRef"]],["impl<'a, S> RefUnwindSafe for TickCycle<'a, S>
where\n S: RefUnwindSafe,
",1,["hydroflow_plus::cycle::TickCycle"]],["impl<C> RefUnwindSafe for ClusterId<C>
where\n C: RefUnwindSafe,
",1,["hydroflow_plus::location::cluster::cluster_id::ClusterId"]],["impl<L> RefUnwindSafe for Tick<L>
where\n L: RefUnwindSafe,
",1,["hydroflow_plus::location::tick::Tick"]],["impl<L> RefUnwindSafe for Timestamped<L>
where\n L: RefUnwindSafe,
",1,["hydroflow_plus::location::tick::Timestamped"]],["impl<T> RefUnwindSafe for ExternalBincodeSink<T>
where\n T: RefUnwindSafe,
",1,["hydroflow_plus::location::external_process::ExternalBincodeSink"]],["impl<T> RefUnwindSafe for ExternalBincodeStream<T>
where\n T: RefUnwindSafe,
",1,["hydroflow_plus::location::external_process::ExternalBincodeStream"]],["impl<T, L, B> !RefUnwindSafe for Optional<T, L, B>",1,["hydroflow_plus::optional::Optional"]],["impl<T, L, B> !RefUnwindSafe for Singleton<T, L, B>",1,["hydroflow_plus::singleton::Singleton"]],["impl<T, L, B, Order = TotalOrder> !RefUnwindSafe for Stream<T, L, B, Order>",1,["hydroflow_plus::stream::Stream"]]]],["hydroflow_plus_test",[["impl RefUnwindSafe for Leader",1,["hydroflow_plus_test::cluster::compute_pi::Leader"]],["impl RefUnwindSafe for Worker",1,["hydroflow_plus_test::cluster::compute_pi::Worker"]],["impl RefUnwindSafe for Leader",1,["hydroflow_plus_test::cluster::map_reduce::Leader"]],["impl RefUnwindSafe for Worker",1,["hydroflow_plus_test::cluster::map_reduce::Worker"]],["impl RefUnwindSafe for Acceptor",1,["hydroflow_plus_test::cluster::paxos::Acceptor"]],["impl RefUnwindSafe for Ballot",1,["hydroflow_plus_test::cluster::paxos::Ballot"]],["impl RefUnwindSafe for Proposer",1,["hydroflow_plus_test::cluster::paxos::Proposer"]],["impl RefUnwindSafe for Client",1,["hydroflow_plus_test::cluster::paxos_bench::Client"]],["impl RefUnwindSafe for Replica",1,["hydroflow_plus_test::cluster::paxos_kv::Replica"]],["impl RefUnwindSafe for Client",1,["hydroflow_plus_test::cluster::two_pc::Client"]],["impl RefUnwindSafe for Coordinator",1,["hydroflow_plus_test::cluster::two_pc::Coordinator"]],["impl RefUnwindSafe for Participants",1,["hydroflow_plus_test::cluster::two_pc::Participants"]],["impl RefUnwindSafe for P1",1,["hydroflow_plus_test::distributed::first_ten::P1"]],["impl RefUnwindSafe for P2",1,["hydroflow_plus_test::distributed::first_ten::P2"]],["impl<K, V> RefUnwindSafe for KvPayload<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["hydroflow_plus_test::cluster::paxos_kv::KvPayload"]],["impl<K, V> RefUnwindSafe for SequencedKv<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["hydroflow_plus_test::cluster::paxos_kv::SequencedKv"]]]],["latency_measure",[["impl RefUnwindSafe for TopolotreeMessage",1,["latency_measure::protocol::TopolotreeMessage"]],["impl RefUnwindSafe for OperationPayload",1,["latency_measure::protocol::OperationPayload"]],["impl RefUnwindSafe for QueryResponse",1,["latency_measure::protocol::QueryResponse"]],["impl<T> RefUnwindSafe for Payload<T>
where\n T: RefUnwindSafe,
",1,["latency_measure::protocol::Payload"]],["impl<T> RefUnwindSafe for Timestamped<T>
where\n T: RefUnwindSafe,
",1,["latency_measure::protocol::Timestamped"]]]],["lattices",[["impl RefUnwindSafe for U32WithInfinity",1,["lattices::semiring_application::U32WithInfinity"]],["impl RefUnwindSafe for BinaryTrust",1,["lattices::semiring_application::BinaryTrust"]],["impl RefUnwindSafe for ConfidenceScore",1,["lattices::semiring_application::ConfidenceScore"]],["impl RefUnwindSafe for Cost",1,["lattices::semiring_application::Cost"]],["impl RefUnwindSafe for FuzzyLogic",1,["lattices::semiring_application::FuzzyLogic"]],["impl RefUnwindSafe for Multiplicity",1,["lattices::semiring_application::Multiplicity"]],["impl RefUnwindSafe for PairBimorphism",1,["lattices::pair::PairBimorphism"]],["impl<Bimorphism> RefUnwindSafe for GhtBimorphism<Bimorphism>
where\n Bimorphism: RefUnwindSafe,
",1,["lattices::ght::lattice::GhtBimorphism"]],["impl<Bimorphism> RefUnwindSafe for GhtNodeKeyedBimorphism<Bimorphism>
where\n Bimorphism: RefUnwindSafe,
",1,["lattices::ght::lattice::GhtNodeKeyedBimorphism"]],["impl<GhtOut> RefUnwindSafe for GhtCartesianProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtCartesianProductBimorphism"]],["impl<GhtOut> RefUnwindSafe for GhtValTypeProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtValTypeProductBimorphism"]],["impl<Head, Node> RefUnwindSafe for GhtInner<Head, Node>
where\n Head: RefUnwindSafe,\n Node: RefUnwindSafe,
",1,["lattices::ght::GhtInner"]],["impl<Inner> RefUnwindSafe for WithBot<Inner>
where\n Inner: RefUnwindSafe,
",1,["lattices::with_bot::WithBot"]],["impl<Inner> RefUnwindSafe for WithTop<Inner>
where\n Inner: RefUnwindSafe,
",1,["lattices::with_top::WithTop"]],["impl<K, V> RefUnwindSafe for EmptyMap<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["lattices::collections::EmptyMap"]],["impl<K, V> RefUnwindSafe for OptionMap<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["lattices::collections::OptionMap"]],["impl<K, V> RefUnwindSafe for SingletonMap<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["lattices::collections::SingletonMap"]],["impl<K, V> RefUnwindSafe for VecMap<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["lattices::collections::VecMap"]],["impl<K, V, const N: usize> RefUnwindSafe for ArrayMap<K, V, N>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["lattices::collections::ArrayMap"]],["impl<Key, Val> RefUnwindSafe for DomPair<Key, Val>
where\n Key: RefUnwindSafe,\n Val: RefUnwindSafe,
",1,["lattices::dom_pair::DomPair"]],["impl<Lat> RefUnwindSafe for VecUnion<Lat>
where\n Lat: RefUnwindSafe,
",1,["lattices::vec_union::VecUnion"]],["impl<LatA, LatB> RefUnwindSafe for Pair<LatA, LatB>
where\n LatA: RefUnwindSafe,\n LatB: RefUnwindSafe,
",1,["lattices::pair::Pair"]],["impl<Map> RefUnwindSafe for MapUnion<Map>
where\n Map: RefUnwindSafe,
",1,["lattices::map_union::MapUnion"]],["impl<Map> RefUnwindSafe for UnionFind<Map>
where\n Map: RefUnwindSafe,
",1,["lattices::union_find::UnionFind"]],["impl<Map, TombstoneSet> RefUnwindSafe for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: RefUnwindSafe,\n TombstoneSet: RefUnwindSafe,
",1,["lattices::map_union_with_tombstones::MapUnionWithTombstones"]],["impl<MapOut, Bimorphism> RefUnwindSafe for KeyedBimorphism<MapOut, Bimorphism>
where\n Bimorphism: RefUnwindSafe,
",1,["lattices::map_union::KeyedBimorphism"]],["impl<Schema, ValType, Storage> RefUnwindSafe for GhtLeaf<Schema, ValType, Storage>
where\n Storage: RefUnwindSafe,\n ValType: RefUnwindSafe,
",1,["lattices::ght::GhtLeaf"]],["impl<Set> RefUnwindSafe for SetUnion<Set>
where\n Set: RefUnwindSafe,
",1,["lattices::set_union::SetUnion"]],["impl<Set, TombstoneSet> RefUnwindSafe for SetUnionWithTombstones<Set, TombstoneSet>
where\n Set: RefUnwindSafe,\n TombstoneSet: RefUnwindSafe,
",1,["lattices::set_union_with_tombstones::SetUnionWithTombstones"]],["impl<SetOut> RefUnwindSafe for CartesianProductBimorphism<SetOut>",1,["lattices::set_union::CartesianProductBimorphism"]],["impl<T> RefUnwindSafe for EmptySet<T>
where\n T: RefUnwindSafe,
",1,["lattices::collections::EmptySet"]],["impl<T> RefUnwindSafe for OptionSet<T>
where\n T: RefUnwindSafe,
",1,["lattices::collections::OptionSet"]],["impl<T> RefUnwindSafe for SingletonSet<T>
where\n T: RefUnwindSafe,
",1,["lattices::collections::SingletonSet"]],["impl<T> RefUnwindSafe for VecSet<T>
where\n T: RefUnwindSafe,
",1,["lattices::collections::VecSet"]],["impl<T> RefUnwindSafe for Conflict<T>
where\n T: RefUnwindSafe,
",1,["lattices::conflict::Conflict"]],["impl<T> RefUnwindSafe for Max<T>
where\n T: RefUnwindSafe,
",1,["lattices::ord::Max"]],["impl<T> RefUnwindSafe for Min<T>
where\n T: RefUnwindSafe,
",1,["lattices::ord::Min"]],["impl<T, Provenance> RefUnwindSafe for Point<T, Provenance>
where\n T: RefUnwindSafe,\n Provenance: RefUnwindSafe,
",1,["lattices::point::Point"]],["impl<T, const N: usize> RefUnwindSafe for ArraySet<T, N>
where\n T: RefUnwindSafe,
",1,["lattices::collections::ArraySet"]]]],["load_test_server",[["impl !RefUnwindSafe for Switchboard",1,["load_test_server::Switchboard"]],["impl RefUnwindSafe for Opts",1,["load_test_server::Opts"]]]],["pn",[["impl !RefUnwindSafe for GossipOrIncrement",1,["pn::GossipOrIncrement"]],["impl RefUnwindSafe for TopolotreeMessage",1,["pn::protocol::TopolotreeMessage"]],["impl RefUnwindSafe for OperationPayload",1,["pn::protocol::OperationPayload"]],["impl RefUnwindSafe for QueryResponse",1,["pn::protocol::QueryResponse"]],["impl<T> RefUnwindSafe for Payload<T>
where\n T: RefUnwindSafe,
",1,["pn::protocol::Payload"]],["impl<T> RefUnwindSafe for Timestamped<T>
where\n T: RefUnwindSafe,
",1,["pn::protocol::Timestamped"]]]],["pn_delta",[["impl RefUnwindSafe for GossipOrIncrement",1,["pn_delta::GossipOrIncrement"]],["impl RefUnwindSafe for TopolotreeMessage",1,["pn_delta::protocol::TopolotreeMessage"]],["impl RefUnwindSafe for OperationPayload",1,["pn_delta::protocol::OperationPayload"]],["impl RefUnwindSafe for QueryResponse",1,["pn_delta::protocol::QueryResponse"]],["impl<T> RefUnwindSafe for Payload<T>
where\n T: RefUnwindSafe,
",1,["pn_delta::protocol::Payload"]],["impl<T> RefUnwindSafe for Timestamped<T>
where\n T: RefUnwindSafe,
",1,["pn_delta::protocol::Timestamped"]]]],["pusherator",[["impl<Func, In> RefUnwindSafe for ForEach<Func, In>
where\n Func: RefUnwindSafe,
",1,["pusherator::for_each::ForEach"]],["impl<Func, Nexts, Item> RefUnwindSafe for Demux<Func, Nexts, Item>
where\n Func: RefUnwindSafe,\n Nexts: RefUnwindSafe,
",1,["pusherator::demux::Demux"]],["impl<I> RefUnwindSafe for PivotBuild<I>
where\n I: RefUnwindSafe,
",1,["pusherator::pivot::PivotBuild"]],["impl<I, P> RefUnwindSafe for Pivot<I, P>
where\n I: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["pusherator::pivot::Pivot"]],["impl<In> RefUnwindSafe for Null<In>
where\n In: RefUnwindSafe,
",1,["pusherator::null::Null"]],["impl<Next, Func> RefUnwindSafe for Filter<Next, Func>
where\n Next: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::filter::Filter"]],["impl<Next, Func> RefUnwindSafe for Inspect<Next, Func>
where\n Next: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::inspect::Inspect"]],["impl<Next, Func, In> RefUnwindSafe for FilterMap<Next, Func, In>
where\n Next: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::filter_map::FilterMap"]],["impl<Next, Func, In> RefUnwindSafe for Map<Next, Func, In>
where\n Next: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::map::Map"]],["impl<Next, In> RefUnwindSafe for Flatten<Next, In>
where\n Next: RefUnwindSafe,
",1,["pusherator::flatten::Flatten"]],["impl<Next1, Next2> RefUnwindSafe for Switch<Next1, Next2>
where\n Next1: RefUnwindSafe,\n Next2: RefUnwindSafe,
",1,["pusherator::switch::Switch"]],["impl<Next1, Next2> RefUnwindSafe for Tee<Next1, Next2>
where\n Next1: RefUnwindSafe,\n Next2: RefUnwindSafe,
",1,["pusherator::tee::Tee"]],["impl<Next1, Next2> RefUnwindSafe for Unzip<Next1, Next2>
where\n Next1: RefUnwindSafe,\n Next2: RefUnwindSafe,
",1,["pusherator::unzip::Unzip"]],["impl<Next1, Next2, Func> RefUnwindSafe for Partition<Next1, Next2, Func>
where\n Next1: RefUnwindSafe,\n Next2: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::partition::Partition"]],["impl<Prev> RefUnwindSafe for FlattenBuild<Prev>
where\n Prev: RefUnwindSafe,
",1,["pusherator::flatten::FlattenBuild"]],["impl<Prev, Func> RefUnwindSafe for FilterBuild<Prev, Func>
where\n Prev: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::filter::FilterBuild"]],["impl<Prev, Func> RefUnwindSafe for FilterMapBuild<Prev, Func>
where\n Prev: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::filter_map::FilterMapBuild"]],["impl<Prev, Func> RefUnwindSafe for InspectBuild<Prev, Func>
where\n Prev: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::inspect::InspectBuild"]],["impl<Prev, Func> RefUnwindSafe for MapBuild<Prev, Func>
where\n Prev: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::map::MapBuild"]],["impl<Prev, Next1> RefUnwindSafe for SwitchBuild<Prev, Next1>
where\n Prev: RefUnwindSafe,\n Next1: RefUnwindSafe,
",1,["pusherator::switch::SwitchBuild"]],["impl<Prev, Next1> RefUnwindSafe for TeeBuild<Prev, Next1>
where\n <Prev as PusheratorBuild>::ItemOut: Sized,\n Prev: RefUnwindSafe,\n Next1: RefUnwindSafe,
",1,["pusherator::tee::TeeBuild"]],["impl<Prev, Next1> RefUnwindSafe for UnzipBuild<Prev, Next1>
where\n Prev: RefUnwindSafe,\n Next1: RefUnwindSafe,
",1,["pusherator::unzip::UnzipBuild"]],["impl<Prev, Next1, Func> RefUnwindSafe for PartitionBuild<Prev, Next1, Func>
where\n Prev: RefUnwindSafe,\n Next1: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::partition::PartitionBuild"]],["impl<T> RefUnwindSafe for InputBuild<T>
where\n T: RefUnwindSafe,
",1,["pusherator::InputBuild"]]]],["relalg",[["impl RefUnwindSafe for Datum",1,["relalg::Datum"]],["impl RefUnwindSafe for ScalarExpr",1,["relalg::ScalarExpr"]]]],["stageleft",[["impl<'a> RefUnwindSafe for BorrowBounds<'a>",1,["stageleft::BorrowBounds"]],["impl<T> RefUnwindSafe for Import<T>
where\n T: RefUnwindSafe,
",1,["stageleft::runtime_support::Import"]],["impl<T> RefUnwindSafe for RuntimeData<T>
where\n T: RefUnwindSafe,
",1,["stageleft::RuntimeData"]]]],["topolotree",[["impl RefUnwindSafe for TopolotreeMessage",1,["topolotree::protocol::TopolotreeMessage"]],["impl RefUnwindSafe for OperationPayload",1,["topolotree::protocol::OperationPayload"]],["impl RefUnwindSafe for QueryResponse",1,["topolotree::protocol::QueryResponse"]],["impl RefUnwindSafe for NodeId",1,["topolotree::NodeId"]],["impl<T> RefUnwindSafe for Payload<T>
where\n T: RefUnwindSafe,
",1,["topolotree::protocol::Payload"]],["impl<T> RefUnwindSafe for Timestamped<T>
where\n T: RefUnwindSafe,
",1,["topolotree::protocol::Timestamped"]]]],["variadics",[["impl<Iter, Item> RefUnwindSafe for DuplicateCounted<Iter, Item>
where\n Iter: RefUnwindSafe,\n Item: RefUnwindSafe,
",1,["variadics::variadic_collections::DuplicateCounted"]],["impl<K, S> RefUnwindSafe for VariadicCountedHashSet<K, S>
where\n S: RefUnwindSafe,\n K: RefUnwindSafe,
",1,["variadics::variadic_collections::VariadicCountedHashSet"]],["impl<Schema> RefUnwindSafe for VariadicColumnMultiset<Schema>
where\n <Schema as VariadicExt>::IntoVec: RefUnwindSafe,
",1,["variadics::variadic_collections::VariadicColumnMultiset"]],["impl<T, S> RefUnwindSafe for VariadicHashSet<T, S>
where\n S: RefUnwindSafe,\n T: RefUnwindSafe,
",1,["variadics::variadic_collections::VariadicHashSet"]]]],["website_playground",[["impl RefUnwindSafe for HydroflowOutput",1,["website_playground::HydroflowOutput"]],["impl RefUnwindSafe for HydroflowResult",1,["website_playground::HydroflowResult"]],["impl RefUnwindSafe for JsDiagnostic",1,["website_playground::JsDiagnostic"]],["impl RefUnwindSafe for JsLineColumn",1,["website_playground::JsLineColumn"]],["impl RefUnwindSafe for JsSpan",1,["website_playground::JsSpan"]]]]]); + var implementors = Object.fromEntries([["gossip_cli",[["impl RefUnwindSafe for InteractiveCommands",1,["gossip_cli::InteractiveCommands"]],["impl RefUnwindSafe for InteractiveApp",1,["gossip_cli::InteractiveApp"]],["impl RefUnwindSafe for Opts",1,["gossip_cli::Opts"]]]],["gossip_kv",[["impl RefUnwindSafe for ClientRequest",1,["gossip_kv::ClientRequest"]],["impl RefUnwindSafe for ClientResponse",1,["gossip_kv::ClientResponse"]],["impl RefUnwindSafe for GossipMessage",1,["gossip_kv::GossipMessage"]],["impl RefUnwindSafe for KeyParseError",1,["gossip_kv::KeyParseError"]],["impl RefUnwindSafe for Namespace",1,["gossip_kv::Namespace"]],["impl RefUnwindSafe for InfectingWrite",1,["gossip_kv::server::InfectingWrite"]],["impl RefUnwindSafe for SETS_COUNTER",1,["gossip_kv::server::SETS_COUNTER"]],["impl RefUnwindSafe for Key",1,["gossip_kv::Key"]],["impl<A> RefUnwindSafe for ClientRequestWithAddress<A>
where\n A: RefUnwindSafe,
",1,["gossip_kv::util::ClientRequestWithAddress"]],["impl<A> RefUnwindSafe for GossipRequestWithAddress<A>
where\n A: RefUnwindSafe,
",1,["gossip_kv::util::GossipRequestWithAddress"]],["impl<A> RefUnwindSafe for MemberData<A>
where\n A: RefUnwindSafe,
",1,["gossip_kv::membership::MemberData"]],["impl<A> RefUnwindSafe for MemberDataBuilder<A>
where\n A: RefUnwindSafe,
",1,["gossip_kv::membership::MemberDataBuilder"]],["impl<A> RefUnwindSafe for Protocol<A>
where\n A: RefUnwindSafe,
",1,["gossip_kv::membership::Protocol"]],["impl<A> RefUnwindSafe for SeedNode<A>
where\n A: RefUnwindSafe,
",1,["gossip_kv::server::SeedNode"]],["impl<T, const N: usize> RefUnwindSafe for BoundedSetLattice<T, N>
where\n T: RefUnwindSafe,
",1,["gossip_kv::lattices::BoundedSetLattice"]]]],["gossip_server",[["impl !RefUnwindSafe for UnboundedSenderEventHandler",1,["gossip_server::config::UnboundedSenderEventHandler"]],["impl RefUnwindSafe for SeedNodeSettings",1,["gossip_server::config::SeedNodeSettings"]],["impl RefUnwindSafe for ServerSettings",1,["gossip_server::config::ServerSettings"]],["impl RefUnwindSafe for LowercaseAlphanumeric",1,["gossip_server::membership::LowercaseAlphanumeric"]],["impl RefUnwindSafe for Opts",1,["gossip_server::Opts"]]]],["hydro_cli",[["impl !RefUnwindSafe for AnyhowError",1,["hydro_cli::AnyhowError"]],["impl !RefUnwindSafe for AnyhowWrapper",1,["hydro_cli::AnyhowWrapper"]],["impl !RefUnwindSafe for Deployment",1,["hydro_cli::Deployment"]],["impl !RefUnwindSafe for Host",1,["hydro_cli::Host"]],["impl !RefUnwindSafe for Service",1,["hydro_cli::Service"]]]],["hydro_deploy",[["impl !RefUnwindSafe for ServerConfig",1,["hydro_deploy::hydroflow_crate::ports::ServerConfig"]],["impl !RefUnwindSafe for SourcePath",1,["hydro_deploy::hydroflow_crate::ports::SourcePath"]],["impl !RefUnwindSafe for CustomClientPort",1,["hydro_deploy::custom_service::CustomClientPort"]],["impl !RefUnwindSafe for CustomService",1,["hydro_deploy::custom_service::CustomService"]],["impl !RefUnwindSafe for Deployment",1,["hydro_deploy::deployment::Deployment"]],["impl !RefUnwindSafe for GcpComputeEngineHost",1,["hydro_deploy::gcp::GcpComputeEngineHost"]],["impl !RefUnwindSafe for DemuxSink",1,["hydro_deploy::hydroflow_crate::ports::DemuxSink"]],["impl !RefUnwindSafe for HydroflowPortConfig",1,["hydro_deploy::hydroflow_crate::ports::HydroflowPortConfig"]],["impl !RefUnwindSafe for TaggedSource",1,["hydro_deploy::hydroflow_crate::ports::TaggedSource"]],["impl !RefUnwindSafe for HydroflowCrateService",1,["hydro_deploy::hydroflow_crate::service::HydroflowCrateService"]],["impl !RefUnwindSafe for HydroflowCrate",1,["hydro_deploy::hydroflow_crate::HydroflowCrate"]],["impl !RefUnwindSafe for LaunchedLocalhostBinary",1,["hydro_deploy::localhost::launched_binary::LaunchedLocalhostBinary"]],["impl !RefUnwindSafe for ResourcePool",1,["hydro_deploy::ResourcePool"]],["impl !RefUnwindSafe for TerraformPool",1,["hydro_deploy::terraform::TerraformPool"]],["impl RefUnwindSafe for HostTargetType",1,["hydro_deploy::HostTargetType"]],["impl RefUnwindSafe for ServerStrategy",1,["hydro_deploy::ServerStrategy"]],["impl RefUnwindSafe for CrateTarget",1,["hydro_deploy::hydroflow_crate::CrateTarget"]],["impl RefUnwindSafe for BarTree",1,["hydro_deploy::progress::BarTree"]],["impl RefUnwindSafe for LeafStatus",1,["hydro_deploy::progress::LeafStatus"]],["impl RefUnwindSafe for AzureHost",1,["hydro_deploy::azure::AzureHost"]],["impl RefUnwindSafe for LaunchedVirtualMachine",1,["hydro_deploy::azure::LaunchedVirtualMachine"]],["impl RefUnwindSafe for GcpNetwork",1,["hydro_deploy::gcp::GcpNetwork"]],["impl RefUnwindSafe for LaunchedComputeEngine",1,["hydro_deploy::gcp::LaunchedComputeEngine"]],["impl RefUnwindSafe for NullSourceSink",1,["hydro_deploy::hydroflow_crate::ports::NullSourceSink"]],["impl RefUnwindSafe for TracingOptions",1,["hydro_deploy::hydroflow_crate::tracing_options::TracingOptions"]],["impl RefUnwindSafe for LocalhostHost",1,["hydro_deploy::localhost::LocalhostHost"]],["impl RefUnwindSafe for ProgressTracker",1,["hydro_deploy::progress::ProgressTracker"]],["impl RefUnwindSafe for ResourceBatch",1,["hydro_deploy::ResourceBatch"]],["impl RefUnwindSafe for ResourceResult",1,["hydro_deploy::ResourceResult"]],["impl RefUnwindSafe for TerraformBatch",1,["hydro_deploy::terraform::TerraformBatch"]],["impl RefUnwindSafe for TerraformConfig",1,["hydro_deploy::terraform::TerraformConfig"]],["impl RefUnwindSafe for TerraformOutput",1,["hydro_deploy::terraform::TerraformOutput"]],["impl RefUnwindSafe for TerraformProvider",1,["hydro_deploy::terraform::TerraformProvider"]],["impl RefUnwindSafe for TerraformResult",1,["hydro_deploy::terraform::TerraformResult"]],["impl RefUnwindSafe for TerraformResultOutput",1,["hydro_deploy::terraform::TerraformResultOutput"]],["impl<'a> !RefUnwindSafe for ClientStrategy<'a>",1,["hydro_deploy::ClientStrategy"]]]],["hydroflow",[["impl !RefUnwindSafe for Context",1,["hydroflow::scheduled::context::Context"]],["impl !RefUnwindSafe for Reactor",1,["hydroflow::scheduled::reactor::Reactor"]],["impl !RefUnwindSafe for Fleet",1,["hydroflow::util::simulation::Fleet"]],["impl !RefUnwindSafe for Host",1,["hydroflow::util::simulation::Host"]],["impl !RefUnwindSafe for HostBuilder",1,["hydroflow::util::simulation::HostBuilder"]],["impl !RefUnwindSafe for Inbox",1,["hydroflow::util::simulation::Inbox"]],["impl !RefUnwindSafe for Outbox",1,["hydroflow::util::simulation::Outbox"]],["impl RefUnwindSafe for RECV",1,["hydroflow::scheduled::port::RECV"]],["impl RefUnwindSafe for SEND",1,["hydroflow::scheduled::port::SEND"]],["impl RefUnwindSafe for Message",1,["hydroflow::scheduled::net::Message"]],["impl RefUnwindSafe for StateHandleErased",1,["hydroflow::scheduled::state::StateHandleErased"]],["impl RefUnwindSafe for HandoffId",1,["hydroflow::scheduled::HandoffId"]],["impl RefUnwindSafe for StateId",1,["hydroflow::scheduled::StateId"]],["impl RefUnwindSafe for SubgraphId",1,["hydroflow::scheduled::SubgraphId"]],["impl RefUnwindSafe for TickDuration",1,["hydroflow::scheduled::ticks::TickDuration"]],["impl RefUnwindSafe for TickInstant",1,["hydroflow::scheduled::ticks::TickInstant"]],["impl RefUnwindSafe for Address",1,["hydroflow::util::simulation::Address"]],["impl RefUnwindSafe for DroppableChild",1,["hydroflow::util::DroppableChild"]],["impl<'a> !RefUnwindSafe for Hydroflow<'a>",1,["hydroflow::scheduled::graph::Hydroflow"]],["impl<'a> !RefUnwindSafe for Query<'a>",1,["hydroflow::scheduled::query::Query"]],["impl<'a, I1, V1, I2, V2> RefUnwindSafe for CrossJoin<'a, I1, V1, I2, V2>
where\n I1: RefUnwindSafe,\n I2: RefUnwindSafe,\n V1: RefUnwindSafe,\n V2: RefUnwindSafe,
",1,["hydroflow::compiled::pull::cross_join::CrossJoin"]],["impl<'a, Key, I1, V1, I2, V2, LhsState, RhsState> RefUnwindSafe for SymmetricHashJoin<'a, Key, I1, V1, I2, V2, LhsState, RhsState>
where\n I1: RefUnwindSafe,\n I2: RefUnwindSafe,\n LhsState: RefUnwindSafe,\n RhsState: RefUnwindSafe,
",1,["hydroflow::compiled::pull::symmetric_hash_join::SymmetricHashJoin"]],["impl<'a, Key, V, Ipos> RefUnwindSafe for AntiJoin<'a, Key, V, Ipos>
where\n Ipos: RefUnwindSafe,\n Key: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["hydroflow::compiled::pull::anti_join::AntiJoin"]],["impl<'a, T> !RefUnwindSafe for Operator<'a, T>",1,["hydroflow::scheduled::query::Operator"]],["impl<'context> !RefUnwindSafe for TransducerBuilderContext<'context>",1,["hydroflow::util::simulation::TransducerBuilderContext"]],["impl<F> RefUnwindSafe for MonotonicFn<F>
where\n F: RefUnwindSafe,
",1,["hydroflow::util::monotonic::MonotonicFn"]],["impl<F> RefUnwindSafe for Morphism<F>
where\n F: RefUnwindSafe,
",1,["hydroflow::util::monotonic::Morphism"]],["impl<I> RefUnwindSafe for Iter<I>
where\n I: RefUnwindSafe,
",1,["hydroflow::scheduled::handoff::Iter"]],["impl<K, A> RefUnwindSafe for HalfJoinStateFold<K, A>
where\n K: RefUnwindSafe,\n A: RefUnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::fold::HalfJoinStateFold"]],["impl<K, A> RefUnwindSafe for HalfJoinStateFoldFrom<K, A>
where\n K: RefUnwindSafe,\n A: RefUnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::fold_from::HalfJoinStateFoldFrom"]],["impl<K, A> RefUnwindSafe for HalfJoinStateReduce<K, A>
where\n K: RefUnwindSafe,\n A: RefUnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::reduce::HalfJoinStateReduce"]],["impl<K, V> RefUnwindSafe for PersistenceKeyed<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["hydroflow::util::PersistenceKeyed"]],["impl<K, V> RefUnwindSafe for MonotonicMap<K, V>
where\n V: RefUnwindSafe,\n K: RefUnwindSafe,
",1,["hydroflow::util::monotonic_map::MonotonicMap"]],["impl<Key, ValBuild, ValProbe> RefUnwindSafe for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where\n Key: RefUnwindSafe,\n ValProbe: RefUnwindSafe,\n ValBuild: RefUnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::multiset::HalfMultisetJoinState"]],["impl<Key, ValBuild, ValProbe> RefUnwindSafe for HalfSetJoinState<Key, ValBuild, ValProbe>
where\n Key: RefUnwindSafe,\n ValProbe: RefUnwindSafe,\n ValBuild: RefUnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::set::HalfSetJoinState"]],["impl<S, H> RefUnwindSafe for Port<S, H>
where\n S: RefUnwindSafe,
",1,["hydroflow::scheduled::port::Port"]],["impl<S, H> RefUnwindSafe for PortCtx<S, H>
where\n H: RefUnwindSafe,\n S: RefUnwindSafe,
",1,["hydroflow::scheduled::port::PortCtx"]],["impl<T = Option<()>> !RefUnwindSafe for DeployPorts<T>",1,["hydroflow::util::deploy::DeployPorts"]],["impl<T> !RefUnwindSafe for TeeingHandoff<T>",1,["hydroflow::scheduled::handoff::tee::TeeingHandoff"]],["impl<T> !RefUnwindSafe for VecHandoff<T>",1,["hydroflow::scheduled::handoff::vector::VecHandoff"]],["impl<T> !RefUnwindSafe for Buffer<T>",1,["hydroflow::scheduled::input::Buffer"]],["impl<T> !RefUnwindSafe for Receiver<T>",1,["hydroflow::util::unsync::mpsc::Receiver"]],["impl<T> !RefUnwindSafe for Sender<T>",1,["hydroflow::util::unsync::mpsc::Sender"]],["impl<T> RefUnwindSafe for Persistence<T>
where\n T: RefUnwindSafe,
",1,["hydroflow::util::Persistence"]],["impl<T> RefUnwindSafe for StateHandle<T>
where\n T: RefUnwindSafe,
",1,["hydroflow::scheduled::state::StateHandle"]],["impl<T> RefUnwindSafe for ClearDefault<T>
where\n T: RefUnwindSafe,
",1,["hydroflow::util::clear::ClearDefault"]],["impl<T> RefUnwindSafe for HashMultiSet<T>
where\n T: RefUnwindSafe,
",1,["hydroflow::util::multiset::HashMultiSet"]],["impl<T> RefUnwindSafe for SparseVec<T>
where\n T: RefUnwindSafe,
",1,["hydroflow::util::sparse_vec::SparseVec"]],["impl<T, G> !RefUnwindSafe for Input<T, G>",1,["hydroflow::scheduled::input::Input"]],["impl<V1, V2> RefUnwindSafe for CrossJoinState<V1, V2>
where\n V1: RefUnwindSafe,\n V2: RefUnwindSafe,
",1,["hydroflow::compiled::pull::cross_join::CrossJoinState"]]]],["hydroflow_deploy_integration",[["impl !RefUnwindSafe for ConnectedDirect",1,["hydroflow_deploy_integration::ConnectedDirect"]],["impl RefUnwindSafe for BoundConnection",1,["hydroflow_deploy_integration::BoundConnection"]],["impl RefUnwindSafe for RealizedServerPort",1,["hydroflow_deploy_integration::RealizedServerPort"]],["impl RefUnwindSafe for ServerBindConfig",1,["hydroflow_deploy_integration::ServerBindConfig"]],["impl RefUnwindSafe for ServerOrBound",1,["hydroflow_deploy_integration::ServerOrBound"]],["impl RefUnwindSafe for ServerPort",1,["hydroflow_deploy_integration::ServerPort"]],["impl<T> !RefUnwindSafe for ConnectedTagged<T>",1,["hydroflow_deploy_integration::ConnectedTagged"]],["impl<T> RefUnwindSafe for ConnectedDemux<T>",1,["hydroflow_deploy_integration::ConnectedDemux"]],["impl<T, S> RefUnwindSafe for DemuxDrain<T, S>
where\n T: RefUnwindSafe,\n S: RefUnwindSafe + ?Sized,
",1,["hydroflow_deploy_integration::DemuxDrain"]],["impl<T, S> RefUnwindSafe for MergeSource<T, S>
where\n T: RefUnwindSafe,\n S: RefUnwindSafe + ?Sized,
",1,["hydroflow_deploy_integration::MergeSource"]],["impl<T, S> RefUnwindSafe for TaggedSource<T, S>
where\n T: RefUnwindSafe,\n S: RefUnwindSafe + ?Sized,
",1,["hydroflow_deploy_integration::TaggedSource"]]]],["hydroflow_lang",[["impl !RefUnwindSafe for OperatorConstraints",1,["hydroflow_lang::graph::ops::OperatorConstraints"]],["impl !RefUnwindSafe for FlatGraphBuilder",1,["hydroflow_lang::graph::flat_graph_builder::FlatGraphBuilder"]],["impl !RefUnwindSafe for HydroflowGraph",1,["hydroflow_lang::graph::hydroflow_graph::HydroflowGraph"]],["impl !RefUnwindSafe for OperatorInstance",1,["hydroflow_lang::graph::OperatorInstance"]],["impl RefUnwindSafe for Level",1,["hydroflow_lang::diagnostic::Level"]],["impl RefUnwindSafe for Color",1,["hydroflow_lang::graph::Color"]],["impl RefUnwindSafe for GraphNode",1,["hydroflow_lang::graph::GraphNode"]],["impl RefUnwindSafe for PortIndexValue",1,["hydroflow_lang::graph::PortIndexValue"]],["impl RefUnwindSafe for WriteGraphType",1,["hydroflow_lang::graph::hydroflow_graph::WriteGraphType"]],["impl RefUnwindSafe for DelayType",1,["hydroflow_lang::graph::ops::DelayType"]],["impl RefUnwindSafe for FloType",1,["hydroflow_lang::graph::ops::FloType"]],["impl RefUnwindSafe for OperatorCategory",1,["hydroflow_lang::graph::ops::OperatorCategory"]],["impl RefUnwindSafe for Persistence",1,["hydroflow_lang::graph::ops::Persistence"]],["impl RefUnwindSafe for PortListSpec",1,["hydroflow_lang::graph::ops::PortListSpec"]],["impl RefUnwindSafe for HfStatement",1,["hydroflow_lang::parse::HfStatement"]],["impl RefUnwindSafe for Pipeline",1,["hydroflow_lang::parse::Pipeline"]],["impl RefUnwindSafe for PortIndex",1,["hydroflow_lang::parse::PortIndex"]],["impl RefUnwindSafe for SerdeSpan",1,["hydroflow_lang::diagnostic::SerdeSpan"]],["impl RefUnwindSafe for OperatorWriteOutput",1,["hydroflow_lang::graph::ops::OperatorWriteOutput"]],["impl RefUnwindSafe for GraphEdgeId",1,["hydroflow_lang::graph::GraphEdgeId"]],["impl RefUnwindSafe for GraphLoopId",1,["hydroflow_lang::graph::GraphLoopId"]],["impl RefUnwindSafe for GraphNodeId",1,["hydroflow_lang::graph::GraphNodeId"]],["impl RefUnwindSafe for GraphSubgraphId",1,["hydroflow_lang::graph::GraphSubgraphId"]],["impl RefUnwindSafe for OpInstGenerics",1,["hydroflow_lang::graph::OpInstGenerics"]],["impl RefUnwindSafe for WriteConfig",1,["hydroflow_lang::graph::hydroflow_graph::WriteConfig"]],["impl RefUnwindSafe for HfCode",1,["hydroflow_lang::parse::HfCode"]],["impl RefUnwindSafe for Import",1,["hydroflow_lang::parse::Import"]],["impl RefUnwindSafe for IndexInt",1,["hydroflow_lang::parse::IndexInt"]],["impl RefUnwindSafe for Indexing",1,["hydroflow_lang::parse::Indexing"]],["impl RefUnwindSafe for LoopStatement",1,["hydroflow_lang::parse::LoopStatement"]],["impl RefUnwindSafe for NamedHfStatement",1,["hydroflow_lang::parse::NamedHfStatement"]],["impl RefUnwindSafe for Operator",1,["hydroflow_lang::parse::Operator"]],["impl RefUnwindSafe for PipelineLink",1,["hydroflow_lang::parse::PipelineLink"]],["impl RefUnwindSafe for PipelineParen",1,["hydroflow_lang::parse::PipelineParen"]],["impl RefUnwindSafe for PipelineStatement",1,["hydroflow_lang::parse::PipelineStatement"]],["impl RefUnwindSafe for PrettyRowCol",1,["hydroflow_lang::pretty_span::PrettyRowCol"]],["impl RefUnwindSafe for PrettySpan",1,["hydroflow_lang::pretty_span::PrettySpan"]],["impl<'a> !RefUnwindSafe for WriteContextArgs<'a>",1,["hydroflow_lang::graph::ops::WriteContextArgs"]],["impl<Inner> RefUnwindSafe for Ported<Inner>
where\n Inner: RefUnwindSafe,
",1,["hydroflow_lang::parse::Ported"]],["impl<K> RefUnwindSafe for UnionFind<K>
where\n K: RefUnwindSafe,
",1,["hydroflow_lang::union_find::UnionFind"]],["impl<S> RefUnwindSafe for Diagnostic<S>
where\n S: RefUnwindSafe,
",1,["hydroflow_lang::diagnostic::Diagnostic"]],["impl<V, E> RefUnwindSafe for DiMulGraph<V, E>
where\n V: RefUnwindSafe,\n E: RefUnwindSafe,
",1,["hydroflow_lang::graph::di_mul_graph::DiMulGraph"]]]],["hydroflow_plus",[["impl !RefUnwindSafe for DebugInstantiate",1,["hydroflow_plus::ir::DebugInstantiate"]],["impl !RefUnwindSafe for HfPlusLeaf",1,["hydroflow_plus::ir::HfPlusLeaf"]],["impl !RefUnwindSafe for HfPlusNode",1,["hydroflow_plus::ir::HfPlusNode"]],["impl !RefUnwindSafe for FlowStateInner",1,["hydroflow_plus::builder::FlowStateInner"]],["impl !RefUnwindSafe for DeployRuntimeCluster",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeCluster"]],["impl !RefUnwindSafe for DeployRuntimeNode",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeNode"]],["impl !RefUnwindSafe for DebugPipelineFn",1,["hydroflow_plus::ir::DebugPipelineFn"]],["impl !RefUnwindSafe for TeeNode",1,["hydroflow_plus::ir::TeeNode"]],["impl RefUnwindSafe for Bounded",1,["hydroflow_plus::boundedness::Bounded"]],["impl RefUnwindSafe for Unbounded",1,["hydroflow_plus::boundedness::Unbounded"]],["impl RefUnwindSafe for ForwardRefMarker",1,["hydroflow_plus::cycle::ForwardRefMarker"]],["impl RefUnwindSafe for TickCycleMarker",1,["hydroflow_plus::cycle::TickCycleMarker"]],["impl RefUnwindSafe for HfPlusSource",1,["hydroflow_plus::ir::HfPlusSource"]],["impl RefUnwindSafe for LocationId",1,["hydroflow_plus::location::LocationId"]],["impl RefUnwindSafe for HydroflowPlusMeta",1,["hydroflow_plus::deploy::deploy_runtime::HydroflowPlusMeta"]],["impl RefUnwindSafe for MultiGraph",1,["hydroflow_plus::deploy::in_memory_graph::MultiGraph"]],["impl RefUnwindSafe for MultiNode",1,["hydroflow_plus::deploy::in_memory_graph::MultiNode"]],["impl RefUnwindSafe for SingleNode",1,["hydroflow_plus::deploy::in_memory_graph::SingleNode"]],["impl RefUnwindSafe for SingleProcessGraph",1,["hydroflow_plus::deploy::in_memory_graph::SingleProcessGraph"]],["impl RefUnwindSafe for DeployRuntime",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntime"]],["impl RefUnwindSafe for DebugExpr",1,["hydroflow_plus::ir::DebugExpr"]],["impl RefUnwindSafe for ExternalBytesPort",1,["hydroflow_plus::location::external_process::ExternalBytesPort"]],["impl RefUnwindSafe for PropertyDatabase",1,["hydroflow_plus::rewrites::properties::PropertyDatabase"]],["impl RefUnwindSafe for NoOrder",1,["hydroflow_plus::stream::NoOrder"]],["impl RefUnwindSafe for TotalOrder",1,["hydroflow_plus::stream::TotalOrder"]],["impl<'a> !RefUnwindSafe for BuiltFlow<'a>",1,["hydroflow_plus::builder::built::BuiltFlow"]],["impl<'a> !RefUnwindSafe for FlowBuilder<'a>",1,["hydroflow_plus::builder::FlowBuilder"]],["impl<'a> RefUnwindSafe for CompiledFlowWithId<'a>",1,["hydroflow_plus::builder::compiled::CompiledFlowWithId"]],["impl<'a> RefUnwindSafe for ClusterSelfId<'a>",1,["hydroflow_plus::location::cluster::ClusterSelfId"]],["impl<'a> RefUnwindSafe for RuntimeContext<'a>",1,["hydroflow_plus::runtime_context::RuntimeContext"]],["impl<'a, C> !RefUnwindSafe for Cluster<'a, C>",1,["hydroflow_plus::location::cluster::Cluster"]],["impl<'a, C> RefUnwindSafe for ClusterIds<'a, C>
where\n C: RefUnwindSafe,
",1,["hydroflow_plus::location::cluster::ClusterIds"]],["impl<'a, D> !RefUnwindSafe for DeployFlow<'a, D>",1,["hydroflow_plus::builder::deploy::DeployFlow"]],["impl<'a, D> RefUnwindSafe for DeployResult<'a, D>
where\n <D as Deploy<'a>>::Process: RefUnwindSafe,\n <D as Deploy<'a>>::Cluster: RefUnwindSafe,\n <D as Deploy<'a>>::ExternalProcess: RefUnwindSafe,
",1,["hydroflow_plus::builder::deploy::DeployResult"]],["impl<'a, ID> !RefUnwindSafe for CompiledFlow<'a, ID>",1,["hydroflow_plus::builder::compiled::CompiledFlow"]],["impl<'a, P = ()> !RefUnwindSafe for Process<'a, P>",1,["hydroflow_plus::location::process::Process"]],["impl<'a, P> !RefUnwindSafe for ExternalProcess<'a, P>",1,["hydroflow_plus::location::external_process::ExternalProcess"]],["impl<'a, S> RefUnwindSafe for ForwardRef<'a, S>
where\n S: RefUnwindSafe,
",1,["hydroflow_plus::cycle::ForwardRef"]],["impl<'a, S> RefUnwindSafe for TickCycle<'a, S>
where\n S: RefUnwindSafe,
",1,["hydroflow_plus::cycle::TickCycle"]],["impl<C> RefUnwindSafe for ClusterId<C>
where\n C: RefUnwindSafe,
",1,["hydroflow_plus::location::cluster::cluster_id::ClusterId"]],["impl<L> RefUnwindSafe for Tick<L>
where\n L: RefUnwindSafe,
",1,["hydroflow_plus::location::tick::Tick"]],["impl<L> RefUnwindSafe for Timestamped<L>
where\n L: RefUnwindSafe,
",1,["hydroflow_plus::location::tick::Timestamped"]],["impl<T> RefUnwindSafe for ExternalBincodeSink<T>
where\n T: RefUnwindSafe,
",1,["hydroflow_plus::location::external_process::ExternalBincodeSink"]],["impl<T> RefUnwindSafe for ExternalBincodeStream<T>
where\n T: RefUnwindSafe,
",1,["hydroflow_plus::location::external_process::ExternalBincodeStream"]],["impl<T, L, B> !RefUnwindSafe for Optional<T, L, B>",1,["hydroflow_plus::optional::Optional"]],["impl<T, L, B> !RefUnwindSafe for Singleton<T, L, B>",1,["hydroflow_plus::singleton::Singleton"]],["impl<T, L, B, Order = TotalOrder> !RefUnwindSafe for Stream<T, L, B, Order>",1,["hydroflow_plus::stream::Stream"]]]],["hydroflow_plus_test",[["impl RefUnwindSafe for Leader",1,["hydroflow_plus_test::cluster::compute_pi::Leader"]],["impl RefUnwindSafe for Worker",1,["hydroflow_plus_test::cluster::compute_pi::Worker"]],["impl RefUnwindSafe for Leader",1,["hydroflow_plus_test::cluster::map_reduce::Leader"]],["impl RefUnwindSafe for Worker",1,["hydroflow_plus_test::cluster::map_reduce::Worker"]],["impl RefUnwindSafe for Acceptor",1,["hydroflow_plus_test::cluster::paxos::Acceptor"]],["impl RefUnwindSafe for Ballot",1,["hydroflow_plus_test::cluster::paxos::Ballot"]],["impl RefUnwindSafe for Proposer",1,["hydroflow_plus_test::cluster::paxos::Proposer"]],["impl RefUnwindSafe for Client",1,["hydroflow_plus_test::cluster::paxos_bench::Client"]],["impl RefUnwindSafe for Replica",1,["hydroflow_plus_test::cluster::paxos_kv::Replica"]],["impl RefUnwindSafe for Client",1,["hydroflow_plus_test::cluster::two_pc::Client"]],["impl RefUnwindSafe for Coordinator",1,["hydroflow_plus_test::cluster::two_pc::Coordinator"]],["impl RefUnwindSafe for Participants",1,["hydroflow_plus_test::cluster::two_pc::Participants"]],["impl RefUnwindSafe for P1",1,["hydroflow_plus_test::distributed::first_ten::P1"]],["impl RefUnwindSafe for P2",1,["hydroflow_plus_test::distributed::first_ten::P2"]],["impl<K, V> RefUnwindSafe for KvPayload<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["hydroflow_plus_test::cluster::paxos_kv::KvPayload"]],["impl<K, V> RefUnwindSafe for SequencedKv<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["hydroflow_plus_test::cluster::paxos_kv::SequencedKv"]]]],["latency_measure",[["impl RefUnwindSafe for TopolotreeMessage",1,["latency_measure::protocol::TopolotreeMessage"]],["impl RefUnwindSafe for OperationPayload",1,["latency_measure::protocol::OperationPayload"]],["impl RefUnwindSafe for QueryResponse",1,["latency_measure::protocol::QueryResponse"]],["impl<T> RefUnwindSafe for Payload<T>
where\n T: RefUnwindSafe,
",1,["latency_measure::protocol::Payload"]],["impl<T> RefUnwindSafe for Timestamped<T>
where\n T: RefUnwindSafe,
",1,["latency_measure::protocol::Timestamped"]]]],["lattices",[["impl RefUnwindSafe for U32WithInfinity",1,["lattices::semiring_application::U32WithInfinity"]],["impl RefUnwindSafe for BinaryTrust",1,["lattices::semiring_application::BinaryTrust"]],["impl RefUnwindSafe for ConfidenceScore",1,["lattices::semiring_application::ConfidenceScore"]],["impl RefUnwindSafe for Cost",1,["lattices::semiring_application::Cost"]],["impl RefUnwindSafe for FuzzyLogic",1,["lattices::semiring_application::FuzzyLogic"]],["impl RefUnwindSafe for Multiplicity",1,["lattices::semiring_application::Multiplicity"]],["impl RefUnwindSafe for PairBimorphism",1,["lattices::pair::PairBimorphism"]],["impl<Bimorphism> RefUnwindSafe for GhtBimorphism<Bimorphism>
where\n Bimorphism: RefUnwindSafe,
",1,["lattices::ght::lattice::GhtBimorphism"]],["impl<Bimorphism> RefUnwindSafe for GhtNodeKeyedBimorphism<Bimorphism>
where\n Bimorphism: RefUnwindSafe,
",1,["lattices::ght::lattice::GhtNodeKeyedBimorphism"]],["impl<GhtOut> RefUnwindSafe for GhtCartesianProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtCartesianProductBimorphism"]],["impl<GhtOut> RefUnwindSafe for GhtValTypeProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtValTypeProductBimorphism"]],["impl<Head, Node> RefUnwindSafe for GhtInner<Head, Node>
where\n Head: RefUnwindSafe,\n Node: RefUnwindSafe,
",1,["lattices::ght::GhtInner"]],["impl<Inner> RefUnwindSafe for WithBot<Inner>
where\n Inner: RefUnwindSafe,
",1,["lattices::with_bot::WithBot"]],["impl<Inner> RefUnwindSafe for WithTop<Inner>
where\n Inner: RefUnwindSafe,
",1,["lattices::with_top::WithTop"]],["impl<K, V> RefUnwindSafe for EmptyMap<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["lattices::collections::EmptyMap"]],["impl<K, V> RefUnwindSafe for OptionMap<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["lattices::collections::OptionMap"]],["impl<K, V> RefUnwindSafe for SingletonMap<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["lattices::collections::SingletonMap"]],["impl<K, V> RefUnwindSafe for VecMap<K, V>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["lattices::collections::VecMap"]],["impl<K, V, const N: usize> RefUnwindSafe for ArrayMap<K, V, N>
where\n K: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["lattices::collections::ArrayMap"]],["impl<Key, Val> RefUnwindSafe for DomPair<Key, Val>
where\n Key: RefUnwindSafe,\n Val: RefUnwindSafe,
",1,["lattices::dom_pair::DomPair"]],["impl<Lat> RefUnwindSafe for VecUnion<Lat>
where\n Lat: RefUnwindSafe,
",1,["lattices::vec_union::VecUnion"]],["impl<LatA, LatB> RefUnwindSafe for Pair<LatA, LatB>
where\n LatA: RefUnwindSafe,\n LatB: RefUnwindSafe,
",1,["lattices::pair::Pair"]],["impl<Map> RefUnwindSafe for MapUnion<Map>
where\n Map: RefUnwindSafe,
",1,["lattices::map_union::MapUnion"]],["impl<Map> RefUnwindSafe for UnionFind<Map>
where\n Map: RefUnwindSafe,
",1,["lattices::union_find::UnionFind"]],["impl<Map, TombstoneSet> RefUnwindSafe for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: RefUnwindSafe,\n TombstoneSet: RefUnwindSafe,
",1,["lattices::map_union_with_tombstones::MapUnionWithTombstones"]],["impl<MapOut, Bimorphism> RefUnwindSafe for KeyedBimorphism<MapOut, Bimorphism>
where\n Bimorphism: RefUnwindSafe,
",1,["lattices::map_union::KeyedBimorphism"]],["impl<Schema, ValType, Storage> RefUnwindSafe for GhtLeaf<Schema, ValType, Storage>
where\n Storage: RefUnwindSafe,\n ValType: RefUnwindSafe,
",1,["lattices::ght::GhtLeaf"]],["impl<Set> RefUnwindSafe for SetUnion<Set>
where\n Set: RefUnwindSafe,
",1,["lattices::set_union::SetUnion"]],["impl<Set, TombstoneSet> RefUnwindSafe for SetUnionWithTombstones<Set, TombstoneSet>
where\n Set: RefUnwindSafe,\n TombstoneSet: RefUnwindSafe,
",1,["lattices::set_union_with_tombstones::SetUnionWithTombstones"]],["impl<SetOut> RefUnwindSafe for CartesianProductBimorphism<SetOut>",1,["lattices::set_union::CartesianProductBimorphism"]],["impl<T> RefUnwindSafe for EmptySet<T>
where\n T: RefUnwindSafe,
",1,["lattices::collections::EmptySet"]],["impl<T> RefUnwindSafe for OptionSet<T>
where\n T: RefUnwindSafe,
",1,["lattices::collections::OptionSet"]],["impl<T> RefUnwindSafe for SingletonSet<T>
where\n T: RefUnwindSafe,
",1,["lattices::collections::SingletonSet"]],["impl<T> RefUnwindSafe for VecSet<T>
where\n T: RefUnwindSafe,
",1,["lattices::collections::VecSet"]],["impl<T> RefUnwindSafe for Conflict<T>
where\n T: RefUnwindSafe,
",1,["lattices::conflict::Conflict"]],["impl<T> RefUnwindSafe for Max<T>
where\n T: RefUnwindSafe,
",1,["lattices::ord::Max"]],["impl<T> RefUnwindSafe for Min<T>
where\n T: RefUnwindSafe,
",1,["lattices::ord::Min"]],["impl<T, Provenance> RefUnwindSafe for Point<T, Provenance>
where\n T: RefUnwindSafe,\n Provenance: RefUnwindSafe,
",1,["lattices::point::Point"]],["impl<T, const N: usize> RefUnwindSafe for ArraySet<T, N>
where\n T: RefUnwindSafe,
",1,["lattices::collections::ArraySet"]]]],["load_test_server",[["impl !RefUnwindSafe for Switchboard",1,["load_test_server::Switchboard"]],["impl RefUnwindSafe for Opts",1,["load_test_server::Opts"]]]],["pn",[["impl !RefUnwindSafe for GossipOrIncrement",1,["pn::GossipOrIncrement"]],["impl RefUnwindSafe for TopolotreeMessage",1,["pn::protocol::TopolotreeMessage"]],["impl RefUnwindSafe for OperationPayload",1,["pn::protocol::OperationPayload"]],["impl RefUnwindSafe for QueryResponse",1,["pn::protocol::QueryResponse"]],["impl<T> RefUnwindSafe for Payload<T>
where\n T: RefUnwindSafe,
",1,["pn::protocol::Payload"]],["impl<T> RefUnwindSafe for Timestamped<T>
where\n T: RefUnwindSafe,
",1,["pn::protocol::Timestamped"]]]],["pn_delta",[["impl RefUnwindSafe for GossipOrIncrement",1,["pn_delta::GossipOrIncrement"]],["impl RefUnwindSafe for TopolotreeMessage",1,["pn_delta::protocol::TopolotreeMessage"]],["impl RefUnwindSafe for OperationPayload",1,["pn_delta::protocol::OperationPayload"]],["impl RefUnwindSafe for QueryResponse",1,["pn_delta::protocol::QueryResponse"]],["impl<T> RefUnwindSafe for Payload<T>
where\n T: RefUnwindSafe,
",1,["pn_delta::protocol::Payload"]],["impl<T> RefUnwindSafe for Timestamped<T>
where\n T: RefUnwindSafe,
",1,["pn_delta::protocol::Timestamped"]]]],["pusherator",[["impl<Func, In> RefUnwindSafe for ForEach<Func, In>
where\n Func: RefUnwindSafe,
",1,["pusherator::for_each::ForEach"]],["impl<Func, Nexts, Item> RefUnwindSafe for Demux<Func, Nexts, Item>
where\n Func: RefUnwindSafe,\n Nexts: RefUnwindSafe,
",1,["pusherator::demux::Demux"]],["impl<I> RefUnwindSafe for PivotBuild<I>
where\n I: RefUnwindSafe,
",1,["pusherator::pivot::PivotBuild"]],["impl<I, P> RefUnwindSafe for Pivot<I, P>
where\n I: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["pusherator::pivot::Pivot"]],["impl<In> RefUnwindSafe for Null<In>
where\n In: RefUnwindSafe,
",1,["pusherator::null::Null"]],["impl<Next, Func> RefUnwindSafe for Filter<Next, Func>
where\n Next: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::filter::Filter"]],["impl<Next, Func> RefUnwindSafe for Inspect<Next, Func>
where\n Next: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::inspect::Inspect"]],["impl<Next, Func, In> RefUnwindSafe for FilterMap<Next, Func, In>
where\n Next: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::filter_map::FilterMap"]],["impl<Next, Func, In> RefUnwindSafe for Map<Next, Func, In>
where\n Next: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::map::Map"]],["impl<Next, In> RefUnwindSafe for Flatten<Next, In>
where\n Next: RefUnwindSafe,
",1,["pusherator::flatten::Flatten"]],["impl<Next1, Next2> RefUnwindSafe for Switch<Next1, Next2>
where\n Next1: RefUnwindSafe,\n Next2: RefUnwindSafe,
",1,["pusherator::switch::Switch"]],["impl<Next1, Next2> RefUnwindSafe for Tee<Next1, Next2>
where\n Next1: RefUnwindSafe,\n Next2: RefUnwindSafe,
",1,["pusherator::tee::Tee"]],["impl<Next1, Next2> RefUnwindSafe for Unzip<Next1, Next2>
where\n Next1: RefUnwindSafe,\n Next2: RefUnwindSafe,
",1,["pusherator::unzip::Unzip"]],["impl<Next1, Next2, Func> RefUnwindSafe for Partition<Next1, Next2, Func>
where\n Next1: RefUnwindSafe,\n Next2: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::partition::Partition"]],["impl<Prev> RefUnwindSafe for FlattenBuild<Prev>
where\n Prev: RefUnwindSafe,
",1,["pusherator::flatten::FlattenBuild"]],["impl<Prev, Func> RefUnwindSafe for FilterBuild<Prev, Func>
where\n Prev: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::filter::FilterBuild"]],["impl<Prev, Func> RefUnwindSafe for FilterMapBuild<Prev, Func>
where\n Prev: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::filter_map::FilterMapBuild"]],["impl<Prev, Func> RefUnwindSafe for InspectBuild<Prev, Func>
where\n Prev: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::inspect::InspectBuild"]],["impl<Prev, Func> RefUnwindSafe for MapBuild<Prev, Func>
where\n Prev: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::map::MapBuild"]],["impl<Prev, Next1> RefUnwindSafe for SwitchBuild<Prev, Next1>
where\n Prev: RefUnwindSafe,\n Next1: RefUnwindSafe,
",1,["pusherator::switch::SwitchBuild"]],["impl<Prev, Next1> RefUnwindSafe for TeeBuild<Prev, Next1>
where\n <Prev as PusheratorBuild>::ItemOut: Sized,\n Prev: RefUnwindSafe,\n Next1: RefUnwindSafe,
",1,["pusherator::tee::TeeBuild"]],["impl<Prev, Next1> RefUnwindSafe for UnzipBuild<Prev, Next1>
where\n Prev: RefUnwindSafe,\n Next1: RefUnwindSafe,
",1,["pusherator::unzip::UnzipBuild"]],["impl<Prev, Next1, Func> RefUnwindSafe for PartitionBuild<Prev, Next1, Func>
where\n Prev: RefUnwindSafe,\n Next1: RefUnwindSafe,\n Func: RefUnwindSafe,
",1,["pusherator::partition::PartitionBuild"]],["impl<T> RefUnwindSafe for InputBuild<T>
where\n T: RefUnwindSafe,
",1,["pusherator::InputBuild"]]]],["relalg",[["impl RefUnwindSafe for Datum",1,["relalg::Datum"]],["impl RefUnwindSafe for ScalarExpr",1,["relalg::ScalarExpr"]]]],["stageleft",[["impl<'a> RefUnwindSafe for BorrowBounds<'a>",1,["stageleft::BorrowBounds"]],["impl<T> RefUnwindSafe for Import<T>
where\n T: RefUnwindSafe,
",1,["stageleft::runtime_support::Import"]],["impl<T> RefUnwindSafe for RuntimeData<T>
where\n T: RefUnwindSafe,
",1,["stageleft::RuntimeData"]]]],["topolotree",[["impl RefUnwindSafe for TopolotreeMessage",1,["topolotree::protocol::TopolotreeMessage"]],["impl RefUnwindSafe for OperationPayload",1,["topolotree::protocol::OperationPayload"]],["impl RefUnwindSafe for QueryResponse",1,["topolotree::protocol::QueryResponse"]],["impl RefUnwindSafe for NodeId",1,["topolotree::NodeId"]],["impl<T> RefUnwindSafe for Payload<T>
where\n T: RefUnwindSafe,
",1,["topolotree::protocol::Payload"]],["impl<T> RefUnwindSafe for Timestamped<T>
where\n T: RefUnwindSafe,
",1,["topolotree::protocol::Timestamped"]]]],["variadics",[["impl<Iter, Item> RefUnwindSafe for DuplicateCounted<Iter, Item>
where\n Iter: RefUnwindSafe,\n Item: RefUnwindSafe,
",1,["variadics::variadic_collections::DuplicateCounted"]],["impl<K, S> RefUnwindSafe for VariadicCountedHashSet<K, S>
where\n S: RefUnwindSafe,\n K: RefUnwindSafe,
",1,["variadics::variadic_collections::VariadicCountedHashSet"]],["impl<Schema> RefUnwindSafe for VariadicColumnMultiset<Schema>
where\n <Schema as VariadicExt>::IntoVec: RefUnwindSafe,
",1,["variadics::variadic_collections::VariadicColumnMultiset"]],["impl<T, S> RefUnwindSafe for VariadicHashSet<T, S>
where\n S: RefUnwindSafe,\n T: RefUnwindSafe,
",1,["variadics::variadic_collections::VariadicHashSet"]]]],["website_playground",[["impl RefUnwindSafe for HydroflowOutput",1,["website_playground::HydroflowOutput"]],["impl RefUnwindSafe for HydroflowResult",1,["website_playground::HydroflowResult"]],["impl RefUnwindSafe for JsDiagnostic",1,["website_playground::JsDiagnostic"]],["impl RefUnwindSafe for JsLineColumn",1,["website_playground::JsLineColumn"]],["impl RefUnwindSafe for JsSpan",1,["website_playground::JsSpan"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[1070,7337,2018,1706,14562,29219,7458,16320,23326,7552,2498,24829,728,2633,2746,19331,645,1591,2746,3662,1905]} \ No newline at end of file +//{"start":57,"fragment_lengths":[1070,7337,2018,1706,14562,29219,7458,17460,23326,7552,2498,24829,728,2633,2746,19331,645,1591,2746,3662,1905]} \ No newline at end of file diff --git a/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index ee7c7f05a203..5061cda7c476 100644 --- a/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_cli",[["impl UnwindSafe for InteractiveCommands",1,["gossip_cli::InteractiveCommands"]],["impl UnwindSafe for InteractiveApp",1,["gossip_cli::InteractiveApp"]],["impl UnwindSafe for Opts",1,["gossip_cli::Opts"]]]],["gossip_kv",[["impl UnwindSafe for ClientRequest",1,["gossip_kv::ClientRequest"]],["impl UnwindSafe for ClientResponse",1,["gossip_kv::ClientResponse"]],["impl UnwindSafe for GossipMessage",1,["gossip_kv::GossipMessage"]],["impl UnwindSafe for KeyParseError",1,["gossip_kv::KeyParseError"]],["impl UnwindSafe for Namespace",1,["gossip_kv::Namespace"]],["impl UnwindSafe for InfectingWrite",1,["gossip_kv::server::InfectingWrite"]],["impl UnwindSafe for SETS_COUNTER",1,["gossip_kv::server::SETS_COUNTER"]],["impl UnwindSafe for Key",1,["gossip_kv::Key"]],["impl<A> UnwindSafe for ClientRequestWithAddress<A>
where\n A: UnwindSafe,
",1,["gossip_kv::util::ClientRequestWithAddress"]],["impl<A> UnwindSafe for GossipRequestWithAddress<A>
where\n A: UnwindSafe,
",1,["gossip_kv::util::GossipRequestWithAddress"]],["impl<A> UnwindSafe for MemberData<A>
where\n A: UnwindSafe,
",1,["gossip_kv::membership::MemberData"]],["impl<A> UnwindSafe for MemberDataBuilder<A>
where\n A: UnwindSafe,
",1,["gossip_kv::membership::MemberDataBuilder"]],["impl<A> UnwindSafe for Protocol<A>
where\n A: UnwindSafe,
",1,["gossip_kv::membership::Protocol"]],["impl<A> UnwindSafe for SeedNode<A>
where\n A: UnwindSafe,
",1,["gossip_kv::server::SeedNode"]],["impl<T, const N: usize> UnwindSafe for BoundedSetLattice<T, N>
where\n T: UnwindSafe,
",1,["gossip_kv::lattices::BoundedSetLattice"]]]],["gossip_server",[["impl !UnwindSafe for UnboundedSenderEventHandler",1,["gossip_server::config::UnboundedSenderEventHandler"]],["impl UnwindSafe for SeedNodeSettings",1,["gossip_server::config::SeedNodeSettings"]],["impl UnwindSafe for ServerSettings",1,["gossip_server::config::ServerSettings"]],["impl UnwindSafe for LowercaseAlphanumeric",1,["gossip_server::membership::LowercaseAlphanumeric"]],["impl UnwindSafe for Opts",1,["gossip_server::Opts"]]]],["hydro_cli",[["impl !UnwindSafe for AnyhowWrapper",1,["hydro_cli::AnyhowWrapper"]],["impl !UnwindSafe for Deployment",1,["hydro_cli::Deployment"]],["impl !UnwindSafe for Host",1,["hydro_cli::Host"]],["impl !UnwindSafe for Service",1,["hydro_cli::Service"]],["impl UnwindSafe for AnyhowError",1,["hydro_cli::AnyhowError"]]]],["hydro_deploy",[["impl !UnwindSafe for ServerConfig",1,["hydro_deploy::hydroflow_crate::ports::ServerConfig"]],["impl !UnwindSafe for SourcePath",1,["hydro_deploy::hydroflow_crate::ports::SourcePath"]],["impl !UnwindSafe for CustomClientPort",1,["hydro_deploy::custom_service::CustomClientPort"]],["impl !UnwindSafe for CustomService",1,["hydro_deploy::custom_service::CustomService"]],["impl !UnwindSafe for Deployment",1,["hydro_deploy::deployment::Deployment"]],["impl !UnwindSafe for GcpComputeEngineHost",1,["hydro_deploy::gcp::GcpComputeEngineHost"]],["impl !UnwindSafe for DemuxSink",1,["hydro_deploy::hydroflow_crate::ports::DemuxSink"]],["impl !UnwindSafe for HydroflowPortConfig",1,["hydro_deploy::hydroflow_crate::ports::HydroflowPortConfig"]],["impl !UnwindSafe for TaggedSource",1,["hydro_deploy::hydroflow_crate::ports::TaggedSource"]],["impl !UnwindSafe for HydroflowCrateService",1,["hydro_deploy::hydroflow_crate::service::HydroflowCrateService"]],["impl !UnwindSafe for HydroflowCrate",1,["hydro_deploy::hydroflow_crate::HydroflowCrate"]],["impl !UnwindSafe for LaunchedLocalhostBinary",1,["hydro_deploy::localhost::launched_binary::LaunchedLocalhostBinary"]],["impl !UnwindSafe for ResourcePool",1,["hydro_deploy::ResourcePool"]],["impl !UnwindSafe for TerraformPool",1,["hydro_deploy::terraform::TerraformPool"]],["impl UnwindSafe for HostTargetType",1,["hydro_deploy::HostTargetType"]],["impl UnwindSafe for ServerStrategy",1,["hydro_deploy::ServerStrategy"]],["impl UnwindSafe for CrateTarget",1,["hydro_deploy::hydroflow_crate::CrateTarget"]],["impl UnwindSafe for BarTree",1,["hydro_deploy::progress::BarTree"]],["impl UnwindSafe for LeafStatus",1,["hydro_deploy::progress::LeafStatus"]],["impl UnwindSafe for AzureHost",1,["hydro_deploy::azure::AzureHost"]],["impl UnwindSafe for LaunchedVirtualMachine",1,["hydro_deploy::azure::LaunchedVirtualMachine"]],["impl UnwindSafe for GcpNetwork",1,["hydro_deploy::gcp::GcpNetwork"]],["impl UnwindSafe for LaunchedComputeEngine",1,["hydro_deploy::gcp::LaunchedComputeEngine"]],["impl UnwindSafe for NullSourceSink",1,["hydro_deploy::hydroflow_crate::ports::NullSourceSink"]],["impl UnwindSafe for TracingOptions",1,["hydro_deploy::hydroflow_crate::tracing_options::TracingOptions"]],["impl UnwindSafe for LocalhostHost",1,["hydro_deploy::localhost::LocalhostHost"]],["impl UnwindSafe for ProgressTracker",1,["hydro_deploy::progress::ProgressTracker"]],["impl UnwindSafe for ResourceBatch",1,["hydro_deploy::ResourceBatch"]],["impl UnwindSafe for ResourceResult",1,["hydro_deploy::ResourceResult"]],["impl UnwindSafe for TerraformBatch",1,["hydro_deploy::terraform::TerraformBatch"]],["impl UnwindSafe for TerraformConfig",1,["hydro_deploy::terraform::TerraformConfig"]],["impl UnwindSafe for TerraformOutput",1,["hydro_deploy::terraform::TerraformOutput"]],["impl UnwindSafe for TerraformProvider",1,["hydro_deploy::terraform::TerraformProvider"]],["impl UnwindSafe for TerraformResult",1,["hydro_deploy::terraform::TerraformResult"]],["impl UnwindSafe for TerraformResultOutput",1,["hydro_deploy::terraform::TerraformResultOutput"]],["impl<'a> !UnwindSafe for ClientStrategy<'a>",1,["hydro_deploy::ClientStrategy"]]]],["hydroflow",[["impl !UnwindSafe for Context",1,["hydroflow::scheduled::context::Context"]],["impl !UnwindSafe for Reactor",1,["hydroflow::scheduled::reactor::Reactor"]],["impl !UnwindSafe for Fleet",1,["hydroflow::util::simulation::Fleet"]],["impl !UnwindSafe for Host",1,["hydroflow::util::simulation::Host"]],["impl !UnwindSafe for HostBuilder",1,["hydroflow::util::simulation::HostBuilder"]],["impl !UnwindSafe for Inbox",1,["hydroflow::util::simulation::Inbox"]],["impl !UnwindSafe for Outbox",1,["hydroflow::util::simulation::Outbox"]],["impl UnwindSafe for RECV",1,["hydroflow::scheduled::port::RECV"]],["impl UnwindSafe for SEND",1,["hydroflow::scheduled::port::SEND"]],["impl UnwindSafe for Message",1,["hydroflow::scheduled::net::Message"]],["impl UnwindSafe for StateHandleErased",1,["hydroflow::scheduled::state::StateHandleErased"]],["impl UnwindSafe for HandoffId",1,["hydroflow::scheduled::HandoffId"]],["impl UnwindSafe for StateId",1,["hydroflow::scheduled::StateId"]],["impl UnwindSafe for SubgraphId",1,["hydroflow::scheduled::SubgraphId"]],["impl UnwindSafe for TickDuration",1,["hydroflow::scheduled::ticks::TickDuration"]],["impl UnwindSafe for TickInstant",1,["hydroflow::scheduled::ticks::TickInstant"]],["impl UnwindSafe for Address",1,["hydroflow::util::simulation::Address"]],["impl UnwindSafe for DroppableChild",1,["hydroflow::util::DroppableChild"]],["impl<'a> !UnwindSafe for Hydroflow<'a>",1,["hydroflow::scheduled::graph::Hydroflow"]],["impl<'a> !UnwindSafe for Query<'a>",1,["hydroflow::scheduled::query::Query"]],["impl<'a, I1, V1, I2, V2> !UnwindSafe for CrossJoin<'a, I1, V1, I2, V2>",1,["hydroflow::compiled::pull::cross_join::CrossJoin"]],["impl<'a, Key, I1, V1, I2, V2, LhsState, RhsState> !UnwindSafe for SymmetricHashJoin<'a, Key, I1, V1, I2, V2, LhsState, RhsState>",1,["hydroflow::compiled::pull::symmetric_hash_join::SymmetricHashJoin"]],["impl<'a, Key, V, Ipos> !UnwindSafe for AntiJoin<'a, Key, V, Ipos>",1,["hydroflow::compiled::pull::anti_join::AntiJoin"]],["impl<'a, T> !UnwindSafe for Operator<'a, T>",1,["hydroflow::scheduled::query::Operator"]],["impl<'context> !UnwindSafe for TransducerBuilderContext<'context>",1,["hydroflow::util::simulation::TransducerBuilderContext"]],["impl<F> UnwindSafe for MonotonicFn<F>
where\n F: UnwindSafe,
",1,["hydroflow::util::monotonic::MonotonicFn"]],["impl<F> UnwindSafe for Morphism<F>
where\n F: UnwindSafe,
",1,["hydroflow::util::monotonic::Morphism"]],["impl<I> UnwindSafe for Iter<I>
where\n I: UnwindSafe,
",1,["hydroflow::scheduled::handoff::Iter"]],["impl<K, A> UnwindSafe for HalfJoinStateFold<K, A>
where\n K: UnwindSafe,\n A: UnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::fold::HalfJoinStateFold"]],["impl<K, A> UnwindSafe for HalfJoinStateFoldFrom<K, A>
where\n K: UnwindSafe,\n A: UnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::fold_from::HalfJoinStateFoldFrom"]],["impl<K, A> UnwindSafe for HalfJoinStateReduce<K, A>
where\n K: UnwindSafe,\n A: UnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::reduce::HalfJoinStateReduce"]],["impl<K, V> UnwindSafe for PersistenceKeyed<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["hydroflow::util::PersistenceKeyed"]],["impl<K, V> UnwindSafe for MonotonicMap<K, V>
where\n V: UnwindSafe,\n K: UnwindSafe,
",1,["hydroflow::util::monotonic_map::MonotonicMap"]],["impl<Key, ValBuild, ValProbe> UnwindSafe for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where\n Key: UnwindSafe,\n ValBuild: RefUnwindSafe + UnwindSafe,\n ValProbe: UnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::multiset::HalfMultisetJoinState"]],["impl<Key, ValBuild, ValProbe> UnwindSafe for HalfSetJoinState<Key, ValBuild, ValProbe>
where\n Key: UnwindSafe,\n ValBuild: RefUnwindSafe + UnwindSafe,\n ValProbe: UnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::set::HalfSetJoinState"]],["impl<S, H> UnwindSafe for Port<S, H>
where\n S: RefUnwindSafe,
",1,["hydroflow::scheduled::port::Port"]],["impl<S, H> UnwindSafe for PortCtx<S, H>
where\n H: UnwindSafe,\n S: RefUnwindSafe,
",1,["hydroflow::scheduled::port::PortCtx"]],["impl<T> !UnwindSafe for TeeingHandoff<T>",1,["hydroflow::scheduled::handoff::tee::TeeingHandoff"]],["impl<T> !UnwindSafe for VecHandoff<T>",1,["hydroflow::scheduled::handoff::vector::VecHandoff"]],["impl<T> !UnwindSafe for Buffer<T>",1,["hydroflow::scheduled::input::Buffer"]],["impl<T> !UnwindSafe for Receiver<T>",1,["hydroflow::util::unsync::mpsc::Receiver"]],["impl<T> !UnwindSafe for Sender<T>",1,["hydroflow::util::unsync::mpsc::Sender"]],["impl<T> UnwindSafe for Persistence<T>
where\n T: UnwindSafe,
",1,["hydroflow::util::Persistence"]],["impl<T> UnwindSafe for StateHandle<T>
where\n T: RefUnwindSafe,
",1,["hydroflow::scheduled::state::StateHandle"]],["impl<T> UnwindSafe for ClearDefault<T>
where\n T: UnwindSafe,
",1,["hydroflow::util::clear::ClearDefault"]],["impl<T> UnwindSafe for DeployPorts<T>
where\n T: UnwindSafe,
",1,["hydroflow::util::deploy::DeployPorts"]],["impl<T> UnwindSafe for HashMultiSet<T>
where\n T: UnwindSafe,
",1,["hydroflow::util::multiset::HashMultiSet"]],["impl<T> UnwindSafe for SparseVec<T>
where\n T: UnwindSafe,
",1,["hydroflow::util::sparse_vec::SparseVec"]],["impl<T, G> !UnwindSafe for Input<T, G>",1,["hydroflow::scheduled::input::Input"]],["impl<V1, V2> UnwindSafe for CrossJoinState<V1, V2>
where\n V1: UnwindSafe,\n V2: UnwindSafe,
",1,["hydroflow::compiled::pull::cross_join::CrossJoinState"]]]],["hydroflow_deploy_integration",[["impl !UnwindSafe for ConnectedDirect",1,["hydroflow_deploy_integration::ConnectedDirect"]],["impl UnwindSafe for BoundConnection",1,["hydroflow_deploy_integration::BoundConnection"]],["impl UnwindSafe for RealizedServerPort",1,["hydroflow_deploy_integration::RealizedServerPort"]],["impl UnwindSafe for ServerBindConfig",1,["hydroflow_deploy_integration::ServerBindConfig"]],["impl UnwindSafe for ServerOrBound",1,["hydroflow_deploy_integration::ServerOrBound"]],["impl UnwindSafe for ServerPort",1,["hydroflow_deploy_integration::ServerPort"]],["impl<T> !UnwindSafe for ConnectedTagged<T>",1,["hydroflow_deploy_integration::ConnectedTagged"]],["impl<T> UnwindSafe for ConnectedDemux<T>",1,["hydroflow_deploy_integration::ConnectedDemux"]],["impl<T, S> UnwindSafe for DemuxDrain<T, S>
where\n T: UnwindSafe,\n S: UnwindSafe + ?Sized,
",1,["hydroflow_deploy_integration::DemuxDrain"]],["impl<T, S> UnwindSafe for MergeSource<T, S>
where\n T: UnwindSafe,\n S: UnwindSafe + ?Sized,
",1,["hydroflow_deploy_integration::MergeSource"]],["impl<T, S> UnwindSafe for TaggedSource<T, S>
where\n T: UnwindSafe,\n S: UnwindSafe + ?Sized,
",1,["hydroflow_deploy_integration::TaggedSource"]]]],["hydroflow_lang",[["impl !UnwindSafe for OperatorConstraints",1,["hydroflow_lang::graph::ops::OperatorConstraints"]],["impl !UnwindSafe for FlatGraphBuilder",1,["hydroflow_lang::graph::flat_graph_builder::FlatGraphBuilder"]],["impl !UnwindSafe for HydroflowGraph",1,["hydroflow_lang::graph::hydroflow_graph::HydroflowGraph"]],["impl !UnwindSafe for OperatorInstance",1,["hydroflow_lang::graph::OperatorInstance"]],["impl UnwindSafe for Level",1,["hydroflow_lang::diagnostic::Level"]],["impl UnwindSafe for Color",1,["hydroflow_lang::graph::Color"]],["impl UnwindSafe for GraphNode",1,["hydroflow_lang::graph::GraphNode"]],["impl UnwindSafe for PortIndexValue",1,["hydroflow_lang::graph::PortIndexValue"]],["impl UnwindSafe for WriteGraphType",1,["hydroflow_lang::graph::hydroflow_graph::WriteGraphType"]],["impl UnwindSafe for DelayType",1,["hydroflow_lang::graph::ops::DelayType"]],["impl UnwindSafe for OperatorCategory",1,["hydroflow_lang::graph::ops::OperatorCategory"]],["impl UnwindSafe for Persistence",1,["hydroflow_lang::graph::ops::Persistence"]],["impl UnwindSafe for PortListSpec",1,["hydroflow_lang::graph::ops::PortListSpec"]],["impl UnwindSafe for HfStatement",1,["hydroflow_lang::parse::HfStatement"]],["impl UnwindSafe for Pipeline",1,["hydroflow_lang::parse::Pipeline"]],["impl UnwindSafe for PortIndex",1,["hydroflow_lang::parse::PortIndex"]],["impl UnwindSafe for SerdeSpan",1,["hydroflow_lang::diagnostic::SerdeSpan"]],["impl UnwindSafe for OperatorWriteOutput",1,["hydroflow_lang::graph::ops::OperatorWriteOutput"]],["impl UnwindSafe for GraphEdgeId",1,["hydroflow_lang::graph::GraphEdgeId"]],["impl UnwindSafe for GraphNodeId",1,["hydroflow_lang::graph::GraphNodeId"]],["impl UnwindSafe for GraphSubgraphId",1,["hydroflow_lang::graph::GraphSubgraphId"]],["impl UnwindSafe for OpInstGenerics",1,["hydroflow_lang::graph::OpInstGenerics"]],["impl UnwindSafe for WriteConfig",1,["hydroflow_lang::graph::hydroflow_graph::WriteConfig"]],["impl UnwindSafe for HfCode",1,["hydroflow_lang::parse::HfCode"]],["impl UnwindSafe for Import",1,["hydroflow_lang::parse::Import"]],["impl UnwindSafe for IndexInt",1,["hydroflow_lang::parse::IndexInt"]],["impl UnwindSafe for Indexing",1,["hydroflow_lang::parse::Indexing"]],["impl UnwindSafe for NamedHfStatement",1,["hydroflow_lang::parse::NamedHfStatement"]],["impl UnwindSafe for Operator",1,["hydroflow_lang::parse::Operator"]],["impl UnwindSafe for PipelineLink",1,["hydroflow_lang::parse::PipelineLink"]],["impl UnwindSafe for PipelineParen",1,["hydroflow_lang::parse::PipelineParen"]],["impl UnwindSafe for PipelineStatement",1,["hydroflow_lang::parse::PipelineStatement"]],["impl UnwindSafe for PrettyRowCol",1,["hydroflow_lang::pretty_span::PrettyRowCol"]],["impl UnwindSafe for PrettySpan",1,["hydroflow_lang::pretty_span::PrettySpan"]],["impl<'a> !UnwindSafe for WriteContextArgs<'a>",1,["hydroflow_lang::graph::ops::WriteContextArgs"]],["impl<Inner> UnwindSafe for Ported<Inner>
where\n Inner: UnwindSafe,
",1,["hydroflow_lang::parse::Ported"]],["impl<K> UnwindSafe for UnionFind<K>
where\n K: UnwindSafe,
",1,["hydroflow_lang::union_find::UnionFind"]],["impl<S> UnwindSafe for Diagnostic<S>
where\n S: UnwindSafe,
",1,["hydroflow_lang::diagnostic::Diagnostic"]],["impl<V, E> UnwindSafe for DiMulGraph<V, E>
where\n V: UnwindSafe,\n E: UnwindSafe,
",1,["hydroflow_lang::graph::di_mul_graph::DiMulGraph"]]]],["hydroflow_plus",[["impl !UnwindSafe for DebugInstantiate",1,["hydroflow_plus::ir::DebugInstantiate"]],["impl !UnwindSafe for HfPlusLeaf",1,["hydroflow_plus::ir::HfPlusLeaf"]],["impl !UnwindSafe for HfPlusNode",1,["hydroflow_plus::ir::HfPlusNode"]],["impl !UnwindSafe for FlowStateInner",1,["hydroflow_plus::builder::FlowStateInner"]],["impl !UnwindSafe for DeployRuntimeCluster",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeCluster"]],["impl !UnwindSafe for DeployRuntimeNode",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeNode"]],["impl !UnwindSafe for DebugPipelineFn",1,["hydroflow_plus::ir::DebugPipelineFn"]],["impl !UnwindSafe for TeeNode",1,["hydroflow_plus::ir::TeeNode"]],["impl UnwindSafe for Bounded",1,["hydroflow_plus::boundedness::Bounded"]],["impl UnwindSafe for Unbounded",1,["hydroflow_plus::boundedness::Unbounded"]],["impl UnwindSafe for ForwardRefMarker",1,["hydroflow_plus::cycle::ForwardRefMarker"]],["impl UnwindSafe for TickCycleMarker",1,["hydroflow_plus::cycle::TickCycleMarker"]],["impl UnwindSafe for HfPlusSource",1,["hydroflow_plus::ir::HfPlusSource"]],["impl UnwindSafe for LocationId",1,["hydroflow_plus::location::LocationId"]],["impl UnwindSafe for HydroflowPlusMeta",1,["hydroflow_plus::deploy::deploy_runtime::HydroflowPlusMeta"]],["impl UnwindSafe for MultiGraph",1,["hydroflow_plus::deploy::in_memory_graph::MultiGraph"]],["impl UnwindSafe for MultiNode",1,["hydroflow_plus::deploy::in_memory_graph::MultiNode"]],["impl UnwindSafe for SingleNode",1,["hydroflow_plus::deploy::in_memory_graph::SingleNode"]],["impl UnwindSafe for SingleProcessGraph",1,["hydroflow_plus::deploy::in_memory_graph::SingleProcessGraph"]],["impl UnwindSafe for DeployRuntime",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntime"]],["impl UnwindSafe for DebugExpr",1,["hydroflow_plus::ir::DebugExpr"]],["impl UnwindSafe for ExternalBytesPort",1,["hydroflow_plus::location::external_process::ExternalBytesPort"]],["impl UnwindSafe for PropertyDatabase",1,["hydroflow_plus::rewrites::properties::PropertyDatabase"]],["impl UnwindSafe for NoOrder",1,["hydroflow_plus::stream::NoOrder"]],["impl UnwindSafe for TotalOrder",1,["hydroflow_plus::stream::TotalOrder"]],["impl<'a> !UnwindSafe for BuiltFlow<'a>",1,["hydroflow_plus::builder::built::BuiltFlow"]],["impl<'a> !UnwindSafe for FlowBuilder<'a>",1,["hydroflow_plus::builder::FlowBuilder"]],["impl<'a> UnwindSafe for CompiledFlowWithId<'a>",1,["hydroflow_plus::builder::compiled::CompiledFlowWithId"]],["impl<'a> UnwindSafe for ClusterSelfId<'a>",1,["hydroflow_plus::location::cluster::ClusterSelfId"]],["impl<'a> UnwindSafe for RuntimeContext<'a>",1,["hydroflow_plus::runtime_context::RuntimeContext"]],["impl<'a, C> !UnwindSafe for Cluster<'a, C>",1,["hydroflow_plus::location::cluster::Cluster"]],["impl<'a, C> UnwindSafe for ClusterIds<'a, C>
where\n C: UnwindSafe,
",1,["hydroflow_plus::location::cluster::ClusterIds"]],["impl<'a, D> !UnwindSafe for DeployFlow<'a, D>",1,["hydroflow_plus::builder::deploy::DeployFlow"]],["impl<'a, D> UnwindSafe for DeployResult<'a, D>
where\n <D as Deploy<'a>>::Process: UnwindSafe,\n <D as Deploy<'a>>::Cluster: UnwindSafe,\n <D as Deploy<'a>>::ExternalProcess: UnwindSafe,
",1,["hydroflow_plus::builder::deploy::DeployResult"]],["impl<'a, ID> !UnwindSafe for CompiledFlow<'a, ID>",1,["hydroflow_plus::builder::compiled::CompiledFlow"]],["impl<'a, P = ()> !UnwindSafe for Process<'a, P>",1,["hydroflow_plus::location::process::Process"]],["impl<'a, P> !UnwindSafe for ExternalProcess<'a, P>",1,["hydroflow_plus::location::external_process::ExternalProcess"]],["impl<'a, S> UnwindSafe for ForwardRef<'a, S>
where\n S: UnwindSafe,
",1,["hydroflow_plus::cycle::ForwardRef"]],["impl<'a, S> UnwindSafe for TickCycle<'a, S>
where\n S: UnwindSafe,
",1,["hydroflow_plus::cycle::TickCycle"]],["impl<C> UnwindSafe for ClusterId<C>
where\n C: UnwindSafe,
",1,["hydroflow_plus::location::cluster::cluster_id::ClusterId"]],["impl<L> UnwindSafe for Tick<L>
where\n L: UnwindSafe,
",1,["hydroflow_plus::location::tick::Tick"]],["impl<L> UnwindSafe for Timestamped<L>
where\n L: UnwindSafe,
",1,["hydroflow_plus::location::tick::Timestamped"]],["impl<T> UnwindSafe for ExternalBincodeSink<T>
where\n T: UnwindSafe,
",1,["hydroflow_plus::location::external_process::ExternalBincodeSink"]],["impl<T> UnwindSafe for ExternalBincodeStream<T>
where\n T: UnwindSafe,
",1,["hydroflow_plus::location::external_process::ExternalBincodeStream"]],["impl<T, L, B> !UnwindSafe for Optional<T, L, B>",1,["hydroflow_plus::optional::Optional"]],["impl<T, L, B> !UnwindSafe for Singleton<T, L, B>",1,["hydroflow_plus::singleton::Singleton"]],["impl<T, L, B, Order = TotalOrder> !UnwindSafe for Stream<T, L, B, Order>",1,["hydroflow_plus::stream::Stream"]]]],["hydroflow_plus_test",[["impl UnwindSafe for Leader",1,["hydroflow_plus_test::cluster::compute_pi::Leader"]],["impl UnwindSafe for Worker",1,["hydroflow_plus_test::cluster::compute_pi::Worker"]],["impl UnwindSafe for Leader",1,["hydroflow_plus_test::cluster::map_reduce::Leader"]],["impl UnwindSafe for Worker",1,["hydroflow_plus_test::cluster::map_reduce::Worker"]],["impl UnwindSafe for Acceptor",1,["hydroflow_plus_test::cluster::paxos::Acceptor"]],["impl UnwindSafe for Ballot",1,["hydroflow_plus_test::cluster::paxos::Ballot"]],["impl UnwindSafe for Proposer",1,["hydroflow_plus_test::cluster::paxos::Proposer"]],["impl UnwindSafe for Client",1,["hydroflow_plus_test::cluster::paxos_bench::Client"]],["impl UnwindSafe for Replica",1,["hydroflow_plus_test::cluster::paxos_kv::Replica"]],["impl UnwindSafe for Client",1,["hydroflow_plus_test::cluster::two_pc::Client"]],["impl UnwindSafe for Coordinator",1,["hydroflow_plus_test::cluster::two_pc::Coordinator"]],["impl UnwindSafe for Participants",1,["hydroflow_plus_test::cluster::two_pc::Participants"]],["impl UnwindSafe for P1",1,["hydroflow_plus_test::distributed::first_ten::P1"]],["impl UnwindSafe for P2",1,["hydroflow_plus_test::distributed::first_ten::P2"]],["impl<K, V> UnwindSafe for KvPayload<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["hydroflow_plus_test::cluster::paxos_kv::KvPayload"]],["impl<K, V> UnwindSafe for SequencedKv<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["hydroflow_plus_test::cluster::paxos_kv::SequencedKv"]]]],["latency_measure",[["impl UnwindSafe for TopolotreeMessage",1,["latency_measure::protocol::TopolotreeMessage"]],["impl UnwindSafe for OperationPayload",1,["latency_measure::protocol::OperationPayload"]],["impl UnwindSafe for QueryResponse",1,["latency_measure::protocol::QueryResponse"]],["impl<T> UnwindSafe for Payload<T>
where\n T: UnwindSafe,
",1,["latency_measure::protocol::Payload"]],["impl<T> UnwindSafe for Timestamped<T>
where\n T: UnwindSafe,
",1,["latency_measure::protocol::Timestamped"]]]],["lattices",[["impl UnwindSafe for U32WithInfinity",1,["lattices::semiring_application::U32WithInfinity"]],["impl UnwindSafe for BinaryTrust",1,["lattices::semiring_application::BinaryTrust"]],["impl UnwindSafe for ConfidenceScore",1,["lattices::semiring_application::ConfidenceScore"]],["impl UnwindSafe for Cost",1,["lattices::semiring_application::Cost"]],["impl UnwindSafe for FuzzyLogic",1,["lattices::semiring_application::FuzzyLogic"]],["impl UnwindSafe for Multiplicity",1,["lattices::semiring_application::Multiplicity"]],["impl UnwindSafe for PairBimorphism",1,["lattices::pair::PairBimorphism"]],["impl<Bimorphism> UnwindSafe for GhtBimorphism<Bimorphism>
where\n Bimorphism: UnwindSafe,
",1,["lattices::ght::lattice::GhtBimorphism"]],["impl<Bimorphism> UnwindSafe for GhtNodeKeyedBimorphism<Bimorphism>
where\n Bimorphism: UnwindSafe,
",1,["lattices::ght::lattice::GhtNodeKeyedBimorphism"]],["impl<GhtOut> UnwindSafe for GhtCartesianProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtCartesianProductBimorphism"]],["impl<GhtOut> UnwindSafe for GhtValTypeProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtValTypeProductBimorphism"]],["impl<Head, Node> UnwindSafe for GhtInner<Head, Node>
where\n Head: UnwindSafe,\n Node: UnwindSafe,
",1,["lattices::ght::GhtInner"]],["impl<Inner> UnwindSafe for WithBot<Inner>
where\n Inner: UnwindSafe,
",1,["lattices::with_bot::WithBot"]],["impl<Inner> UnwindSafe for WithTop<Inner>
where\n Inner: UnwindSafe,
",1,["lattices::with_top::WithTop"]],["impl<K, V> UnwindSafe for EmptyMap<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["lattices::collections::EmptyMap"]],["impl<K, V> UnwindSafe for OptionMap<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["lattices::collections::OptionMap"]],["impl<K, V> UnwindSafe for SingletonMap<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["lattices::collections::SingletonMap"]],["impl<K, V> UnwindSafe for VecMap<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["lattices::collections::VecMap"]],["impl<K, V, const N: usize> UnwindSafe for ArrayMap<K, V, N>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["lattices::collections::ArrayMap"]],["impl<Key, Val> UnwindSafe for DomPair<Key, Val>
where\n Key: UnwindSafe,\n Val: UnwindSafe,
",1,["lattices::dom_pair::DomPair"]],["impl<Lat> UnwindSafe for VecUnion<Lat>
where\n Lat: UnwindSafe,
",1,["lattices::vec_union::VecUnion"]],["impl<LatA, LatB> UnwindSafe for Pair<LatA, LatB>
where\n LatA: UnwindSafe,\n LatB: UnwindSafe,
",1,["lattices::pair::Pair"]],["impl<Map> UnwindSafe for MapUnion<Map>
where\n Map: UnwindSafe,
",1,["lattices::map_union::MapUnion"]],["impl<Map> UnwindSafe for UnionFind<Map>
where\n Map: UnwindSafe,
",1,["lattices::union_find::UnionFind"]],["impl<Map, TombstoneSet> UnwindSafe for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: UnwindSafe,\n TombstoneSet: UnwindSafe,
",1,["lattices::map_union_with_tombstones::MapUnionWithTombstones"]],["impl<MapOut, Bimorphism> UnwindSafe for KeyedBimorphism<MapOut, Bimorphism>
where\n Bimorphism: UnwindSafe,
",1,["lattices::map_union::KeyedBimorphism"]],["impl<Schema, ValType, Storage> UnwindSafe for GhtLeaf<Schema, ValType, Storage>
where\n Storage: UnwindSafe,\n ValType: UnwindSafe,
",1,["lattices::ght::GhtLeaf"]],["impl<Set> UnwindSafe for SetUnion<Set>
where\n Set: UnwindSafe,
",1,["lattices::set_union::SetUnion"]],["impl<Set, TombstoneSet> UnwindSafe for SetUnionWithTombstones<Set, TombstoneSet>
where\n Set: UnwindSafe,\n TombstoneSet: UnwindSafe,
",1,["lattices::set_union_with_tombstones::SetUnionWithTombstones"]],["impl<SetOut> UnwindSafe for CartesianProductBimorphism<SetOut>",1,["lattices::set_union::CartesianProductBimorphism"]],["impl<T> UnwindSafe for EmptySet<T>
where\n T: UnwindSafe,
",1,["lattices::collections::EmptySet"]],["impl<T> UnwindSafe for OptionSet<T>
where\n T: UnwindSafe,
",1,["lattices::collections::OptionSet"]],["impl<T> UnwindSafe for SingletonSet<T>
where\n T: UnwindSafe,
",1,["lattices::collections::SingletonSet"]],["impl<T> UnwindSafe for VecSet<T>
where\n T: UnwindSafe,
",1,["lattices::collections::VecSet"]],["impl<T> UnwindSafe for Conflict<T>
where\n T: UnwindSafe,
",1,["lattices::conflict::Conflict"]],["impl<T> UnwindSafe for Max<T>
where\n T: UnwindSafe,
",1,["lattices::ord::Max"]],["impl<T> UnwindSafe for Min<T>
where\n T: UnwindSafe,
",1,["lattices::ord::Min"]],["impl<T, Provenance> UnwindSafe for Point<T, Provenance>
where\n T: UnwindSafe,\n Provenance: RefUnwindSafe,
",1,["lattices::point::Point"]],["impl<T, const N: usize> UnwindSafe for ArraySet<T, N>
where\n T: UnwindSafe,
",1,["lattices::collections::ArraySet"]]]],["load_test_server",[["impl !UnwindSafe for Switchboard",1,["load_test_server::Switchboard"]],["impl UnwindSafe for Opts",1,["load_test_server::Opts"]]]],["pn",[["impl !UnwindSafe for GossipOrIncrement",1,["pn::GossipOrIncrement"]],["impl UnwindSafe for TopolotreeMessage",1,["pn::protocol::TopolotreeMessage"]],["impl UnwindSafe for OperationPayload",1,["pn::protocol::OperationPayload"]],["impl UnwindSafe for QueryResponse",1,["pn::protocol::QueryResponse"]],["impl<T> UnwindSafe for Payload<T>
where\n T: UnwindSafe,
",1,["pn::protocol::Payload"]],["impl<T> UnwindSafe for Timestamped<T>
where\n T: UnwindSafe,
",1,["pn::protocol::Timestamped"]]]],["pn_delta",[["impl UnwindSafe for GossipOrIncrement",1,["pn_delta::GossipOrIncrement"]],["impl UnwindSafe for TopolotreeMessage",1,["pn_delta::protocol::TopolotreeMessage"]],["impl UnwindSafe for OperationPayload",1,["pn_delta::protocol::OperationPayload"]],["impl UnwindSafe for QueryResponse",1,["pn_delta::protocol::QueryResponse"]],["impl<T> UnwindSafe for Payload<T>
where\n T: UnwindSafe,
",1,["pn_delta::protocol::Payload"]],["impl<T> UnwindSafe for Timestamped<T>
where\n T: UnwindSafe,
",1,["pn_delta::protocol::Timestamped"]]]],["pusherator",[["impl<Func, In> UnwindSafe for ForEach<Func, In>
where\n Func: UnwindSafe,
",1,["pusherator::for_each::ForEach"]],["impl<Func, Nexts, Item> UnwindSafe for Demux<Func, Nexts, Item>
where\n Func: UnwindSafe,\n Nexts: UnwindSafe,
",1,["pusherator::demux::Demux"]],["impl<I> UnwindSafe for PivotBuild<I>
where\n I: UnwindSafe,
",1,["pusherator::pivot::PivotBuild"]],["impl<I, P> UnwindSafe for Pivot<I, P>
where\n I: UnwindSafe,\n P: UnwindSafe,
",1,["pusherator::pivot::Pivot"]],["impl<In> UnwindSafe for Null<In>
where\n In: UnwindSafe,
",1,["pusherator::null::Null"]],["impl<Next, Func> UnwindSafe for Filter<Next, Func>
where\n Next: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::filter::Filter"]],["impl<Next, Func> UnwindSafe for Inspect<Next, Func>
where\n Next: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::inspect::Inspect"]],["impl<Next, Func, In> UnwindSafe for FilterMap<Next, Func, In>
where\n Next: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::filter_map::FilterMap"]],["impl<Next, Func, In> UnwindSafe for Map<Next, Func, In>
where\n Next: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::map::Map"]],["impl<Next, In> UnwindSafe for Flatten<Next, In>
where\n Next: UnwindSafe,
",1,["pusherator::flatten::Flatten"]],["impl<Next1, Next2> UnwindSafe for Switch<Next1, Next2>
where\n Next1: UnwindSafe,\n Next2: UnwindSafe,
",1,["pusherator::switch::Switch"]],["impl<Next1, Next2> UnwindSafe for Tee<Next1, Next2>
where\n Next1: UnwindSafe,\n Next2: UnwindSafe,
",1,["pusherator::tee::Tee"]],["impl<Next1, Next2> UnwindSafe for Unzip<Next1, Next2>
where\n Next1: UnwindSafe,\n Next2: UnwindSafe,
",1,["pusherator::unzip::Unzip"]],["impl<Next1, Next2, Func> UnwindSafe for Partition<Next1, Next2, Func>
where\n Next1: UnwindSafe,\n Next2: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::partition::Partition"]],["impl<Prev> UnwindSafe for FlattenBuild<Prev>
where\n Prev: UnwindSafe,
",1,["pusherator::flatten::FlattenBuild"]],["impl<Prev, Func> UnwindSafe for FilterBuild<Prev, Func>
where\n Prev: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::filter::FilterBuild"]],["impl<Prev, Func> UnwindSafe for FilterMapBuild<Prev, Func>
where\n Prev: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::filter_map::FilterMapBuild"]],["impl<Prev, Func> UnwindSafe for InspectBuild<Prev, Func>
where\n Prev: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::inspect::InspectBuild"]],["impl<Prev, Func> UnwindSafe for MapBuild<Prev, Func>
where\n Prev: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::map::MapBuild"]],["impl<Prev, Next1> UnwindSafe for SwitchBuild<Prev, Next1>
where\n Prev: UnwindSafe,\n Next1: UnwindSafe,
",1,["pusherator::switch::SwitchBuild"]],["impl<Prev, Next1> UnwindSafe for TeeBuild<Prev, Next1>
where\n <Prev as PusheratorBuild>::ItemOut: Sized,\n Prev: UnwindSafe,\n Next1: UnwindSafe,
",1,["pusherator::tee::TeeBuild"]],["impl<Prev, Next1> UnwindSafe for UnzipBuild<Prev, Next1>
where\n Prev: UnwindSafe,\n Next1: UnwindSafe,
",1,["pusherator::unzip::UnzipBuild"]],["impl<Prev, Next1, Func> UnwindSafe for PartitionBuild<Prev, Next1, Func>
where\n Prev: UnwindSafe,\n Next1: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::partition::PartitionBuild"]],["impl<T> UnwindSafe for InputBuild<T>
where\n T: UnwindSafe,
",1,["pusherator::InputBuild"]]]],["relalg",[["impl UnwindSafe for Datum",1,["relalg::Datum"]],["impl UnwindSafe for ScalarExpr",1,["relalg::ScalarExpr"]]]],["stageleft",[["impl<'a> UnwindSafe for BorrowBounds<'a>",1,["stageleft::BorrowBounds"]],["impl<T> UnwindSafe for Import<T>
where\n T: UnwindSafe,
",1,["stageleft::runtime_support::Import"]],["impl<T> UnwindSafe for RuntimeData<T>
where\n T: UnwindSafe,
",1,["stageleft::RuntimeData"]]]],["topolotree",[["impl UnwindSafe for TopolotreeMessage",1,["topolotree::protocol::TopolotreeMessage"]],["impl UnwindSafe for OperationPayload",1,["topolotree::protocol::OperationPayload"]],["impl UnwindSafe for QueryResponse",1,["topolotree::protocol::QueryResponse"]],["impl UnwindSafe for NodeId",1,["topolotree::NodeId"]],["impl<T> UnwindSafe for Payload<T>
where\n T: UnwindSafe,
",1,["topolotree::protocol::Payload"]],["impl<T> UnwindSafe for Timestamped<T>
where\n T: UnwindSafe,
",1,["topolotree::protocol::Timestamped"]]]],["variadics",[["impl<Iter, Item> UnwindSafe for DuplicateCounted<Iter, Item>
where\n Iter: UnwindSafe,\n Item: UnwindSafe,
",1,["variadics::variadic_collections::DuplicateCounted"]],["impl<K, S> UnwindSafe for VariadicCountedHashSet<K, S>
where\n S: UnwindSafe,\n K: UnwindSafe,
",1,["variadics::variadic_collections::VariadicCountedHashSet"]],["impl<Schema> UnwindSafe for VariadicColumnMultiset<Schema>
where\n <Schema as VariadicExt>::IntoVec: UnwindSafe,
",1,["variadics::variadic_collections::VariadicColumnMultiset"]],["impl<T, S> UnwindSafe for VariadicHashSet<T, S>
where\n S: UnwindSafe,\n T: UnwindSafe,
",1,["variadics::variadic_collections::VariadicHashSet"]]]],["website_playground",[["impl UnwindSafe for HydroflowOutput",1,["website_playground::HydroflowOutput"]],["impl UnwindSafe for HydroflowResult",1,["website_playground::HydroflowResult"]],["impl UnwindSafe for JsDiagnostic",1,["website_playground::JsDiagnostic"]],["impl UnwindSafe for JsLineColumn",1,["website_playground::JsLineColumn"]],["impl UnwindSafe for JsSpan",1,["website_playground::JsSpan"]]]]]); + var implementors = Object.fromEntries([["gossip_cli",[["impl UnwindSafe for InteractiveCommands",1,["gossip_cli::InteractiveCommands"]],["impl UnwindSafe for InteractiveApp",1,["gossip_cli::InteractiveApp"]],["impl UnwindSafe for Opts",1,["gossip_cli::Opts"]]]],["gossip_kv",[["impl UnwindSafe for ClientRequest",1,["gossip_kv::ClientRequest"]],["impl UnwindSafe for ClientResponse",1,["gossip_kv::ClientResponse"]],["impl UnwindSafe for GossipMessage",1,["gossip_kv::GossipMessage"]],["impl UnwindSafe for KeyParseError",1,["gossip_kv::KeyParseError"]],["impl UnwindSafe for Namespace",1,["gossip_kv::Namespace"]],["impl UnwindSafe for InfectingWrite",1,["gossip_kv::server::InfectingWrite"]],["impl UnwindSafe for SETS_COUNTER",1,["gossip_kv::server::SETS_COUNTER"]],["impl UnwindSafe for Key",1,["gossip_kv::Key"]],["impl<A> UnwindSafe for ClientRequestWithAddress<A>
where\n A: UnwindSafe,
",1,["gossip_kv::util::ClientRequestWithAddress"]],["impl<A> UnwindSafe for GossipRequestWithAddress<A>
where\n A: UnwindSafe,
",1,["gossip_kv::util::GossipRequestWithAddress"]],["impl<A> UnwindSafe for MemberData<A>
where\n A: UnwindSafe,
",1,["gossip_kv::membership::MemberData"]],["impl<A> UnwindSafe for MemberDataBuilder<A>
where\n A: UnwindSafe,
",1,["gossip_kv::membership::MemberDataBuilder"]],["impl<A> UnwindSafe for Protocol<A>
where\n A: UnwindSafe,
",1,["gossip_kv::membership::Protocol"]],["impl<A> UnwindSafe for SeedNode<A>
where\n A: UnwindSafe,
",1,["gossip_kv::server::SeedNode"]],["impl<T, const N: usize> UnwindSafe for BoundedSetLattice<T, N>
where\n T: UnwindSafe,
",1,["gossip_kv::lattices::BoundedSetLattice"]]]],["gossip_server",[["impl !UnwindSafe for UnboundedSenderEventHandler",1,["gossip_server::config::UnboundedSenderEventHandler"]],["impl UnwindSafe for SeedNodeSettings",1,["gossip_server::config::SeedNodeSettings"]],["impl UnwindSafe for ServerSettings",1,["gossip_server::config::ServerSettings"]],["impl UnwindSafe for LowercaseAlphanumeric",1,["gossip_server::membership::LowercaseAlphanumeric"]],["impl UnwindSafe for Opts",1,["gossip_server::Opts"]]]],["hydro_cli",[["impl !UnwindSafe for AnyhowWrapper",1,["hydro_cli::AnyhowWrapper"]],["impl !UnwindSafe for Deployment",1,["hydro_cli::Deployment"]],["impl !UnwindSafe for Host",1,["hydro_cli::Host"]],["impl !UnwindSafe for Service",1,["hydro_cli::Service"]],["impl UnwindSafe for AnyhowError",1,["hydro_cli::AnyhowError"]]]],["hydro_deploy",[["impl !UnwindSafe for ServerConfig",1,["hydro_deploy::hydroflow_crate::ports::ServerConfig"]],["impl !UnwindSafe for SourcePath",1,["hydro_deploy::hydroflow_crate::ports::SourcePath"]],["impl !UnwindSafe for CustomClientPort",1,["hydro_deploy::custom_service::CustomClientPort"]],["impl !UnwindSafe for CustomService",1,["hydro_deploy::custom_service::CustomService"]],["impl !UnwindSafe for Deployment",1,["hydro_deploy::deployment::Deployment"]],["impl !UnwindSafe for GcpComputeEngineHost",1,["hydro_deploy::gcp::GcpComputeEngineHost"]],["impl !UnwindSafe for DemuxSink",1,["hydro_deploy::hydroflow_crate::ports::DemuxSink"]],["impl !UnwindSafe for HydroflowPortConfig",1,["hydro_deploy::hydroflow_crate::ports::HydroflowPortConfig"]],["impl !UnwindSafe for TaggedSource",1,["hydro_deploy::hydroflow_crate::ports::TaggedSource"]],["impl !UnwindSafe for HydroflowCrateService",1,["hydro_deploy::hydroflow_crate::service::HydroflowCrateService"]],["impl !UnwindSafe for HydroflowCrate",1,["hydro_deploy::hydroflow_crate::HydroflowCrate"]],["impl !UnwindSafe for LaunchedLocalhostBinary",1,["hydro_deploy::localhost::launched_binary::LaunchedLocalhostBinary"]],["impl !UnwindSafe for ResourcePool",1,["hydro_deploy::ResourcePool"]],["impl !UnwindSafe for TerraformPool",1,["hydro_deploy::terraform::TerraformPool"]],["impl UnwindSafe for HostTargetType",1,["hydro_deploy::HostTargetType"]],["impl UnwindSafe for ServerStrategy",1,["hydro_deploy::ServerStrategy"]],["impl UnwindSafe for CrateTarget",1,["hydro_deploy::hydroflow_crate::CrateTarget"]],["impl UnwindSafe for BarTree",1,["hydro_deploy::progress::BarTree"]],["impl UnwindSafe for LeafStatus",1,["hydro_deploy::progress::LeafStatus"]],["impl UnwindSafe for AzureHost",1,["hydro_deploy::azure::AzureHost"]],["impl UnwindSafe for LaunchedVirtualMachine",1,["hydro_deploy::azure::LaunchedVirtualMachine"]],["impl UnwindSafe for GcpNetwork",1,["hydro_deploy::gcp::GcpNetwork"]],["impl UnwindSafe for LaunchedComputeEngine",1,["hydro_deploy::gcp::LaunchedComputeEngine"]],["impl UnwindSafe for NullSourceSink",1,["hydro_deploy::hydroflow_crate::ports::NullSourceSink"]],["impl UnwindSafe for TracingOptions",1,["hydro_deploy::hydroflow_crate::tracing_options::TracingOptions"]],["impl UnwindSafe for LocalhostHost",1,["hydro_deploy::localhost::LocalhostHost"]],["impl UnwindSafe for ProgressTracker",1,["hydro_deploy::progress::ProgressTracker"]],["impl UnwindSafe for ResourceBatch",1,["hydro_deploy::ResourceBatch"]],["impl UnwindSafe for ResourceResult",1,["hydro_deploy::ResourceResult"]],["impl UnwindSafe for TerraformBatch",1,["hydro_deploy::terraform::TerraformBatch"]],["impl UnwindSafe for TerraformConfig",1,["hydro_deploy::terraform::TerraformConfig"]],["impl UnwindSafe for TerraformOutput",1,["hydro_deploy::terraform::TerraformOutput"]],["impl UnwindSafe for TerraformProvider",1,["hydro_deploy::terraform::TerraformProvider"]],["impl UnwindSafe for TerraformResult",1,["hydro_deploy::terraform::TerraformResult"]],["impl UnwindSafe for TerraformResultOutput",1,["hydro_deploy::terraform::TerraformResultOutput"]],["impl<'a> !UnwindSafe for ClientStrategy<'a>",1,["hydro_deploy::ClientStrategy"]]]],["hydroflow",[["impl !UnwindSafe for Context",1,["hydroflow::scheduled::context::Context"]],["impl !UnwindSafe for Reactor",1,["hydroflow::scheduled::reactor::Reactor"]],["impl !UnwindSafe for Fleet",1,["hydroflow::util::simulation::Fleet"]],["impl !UnwindSafe for Host",1,["hydroflow::util::simulation::Host"]],["impl !UnwindSafe for HostBuilder",1,["hydroflow::util::simulation::HostBuilder"]],["impl !UnwindSafe for Inbox",1,["hydroflow::util::simulation::Inbox"]],["impl !UnwindSafe for Outbox",1,["hydroflow::util::simulation::Outbox"]],["impl UnwindSafe for RECV",1,["hydroflow::scheduled::port::RECV"]],["impl UnwindSafe for SEND",1,["hydroflow::scheduled::port::SEND"]],["impl UnwindSafe for Message",1,["hydroflow::scheduled::net::Message"]],["impl UnwindSafe for StateHandleErased",1,["hydroflow::scheduled::state::StateHandleErased"]],["impl UnwindSafe for HandoffId",1,["hydroflow::scheduled::HandoffId"]],["impl UnwindSafe for StateId",1,["hydroflow::scheduled::StateId"]],["impl UnwindSafe for SubgraphId",1,["hydroflow::scheduled::SubgraphId"]],["impl UnwindSafe for TickDuration",1,["hydroflow::scheduled::ticks::TickDuration"]],["impl UnwindSafe for TickInstant",1,["hydroflow::scheduled::ticks::TickInstant"]],["impl UnwindSafe for Address",1,["hydroflow::util::simulation::Address"]],["impl UnwindSafe for DroppableChild",1,["hydroflow::util::DroppableChild"]],["impl<'a> !UnwindSafe for Hydroflow<'a>",1,["hydroflow::scheduled::graph::Hydroflow"]],["impl<'a> !UnwindSafe for Query<'a>",1,["hydroflow::scheduled::query::Query"]],["impl<'a, I1, V1, I2, V2> !UnwindSafe for CrossJoin<'a, I1, V1, I2, V2>",1,["hydroflow::compiled::pull::cross_join::CrossJoin"]],["impl<'a, Key, I1, V1, I2, V2, LhsState, RhsState> !UnwindSafe for SymmetricHashJoin<'a, Key, I1, V1, I2, V2, LhsState, RhsState>",1,["hydroflow::compiled::pull::symmetric_hash_join::SymmetricHashJoin"]],["impl<'a, Key, V, Ipos> !UnwindSafe for AntiJoin<'a, Key, V, Ipos>",1,["hydroflow::compiled::pull::anti_join::AntiJoin"]],["impl<'a, T> !UnwindSafe for Operator<'a, T>",1,["hydroflow::scheduled::query::Operator"]],["impl<'context> !UnwindSafe for TransducerBuilderContext<'context>",1,["hydroflow::util::simulation::TransducerBuilderContext"]],["impl<F> UnwindSafe for MonotonicFn<F>
where\n F: UnwindSafe,
",1,["hydroflow::util::monotonic::MonotonicFn"]],["impl<F> UnwindSafe for Morphism<F>
where\n F: UnwindSafe,
",1,["hydroflow::util::monotonic::Morphism"]],["impl<I> UnwindSafe for Iter<I>
where\n I: UnwindSafe,
",1,["hydroflow::scheduled::handoff::Iter"]],["impl<K, A> UnwindSafe for HalfJoinStateFold<K, A>
where\n K: UnwindSafe,\n A: UnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::fold::HalfJoinStateFold"]],["impl<K, A> UnwindSafe for HalfJoinStateFoldFrom<K, A>
where\n K: UnwindSafe,\n A: UnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::fold_from::HalfJoinStateFoldFrom"]],["impl<K, A> UnwindSafe for HalfJoinStateReduce<K, A>
where\n K: UnwindSafe,\n A: UnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::reduce::HalfJoinStateReduce"]],["impl<K, V> UnwindSafe for PersistenceKeyed<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["hydroflow::util::PersistenceKeyed"]],["impl<K, V> UnwindSafe for MonotonicMap<K, V>
where\n V: UnwindSafe,\n K: UnwindSafe,
",1,["hydroflow::util::monotonic_map::MonotonicMap"]],["impl<Key, ValBuild, ValProbe> UnwindSafe for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where\n Key: UnwindSafe,\n ValBuild: RefUnwindSafe + UnwindSafe,\n ValProbe: UnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::multiset::HalfMultisetJoinState"]],["impl<Key, ValBuild, ValProbe> UnwindSafe for HalfSetJoinState<Key, ValBuild, ValProbe>
where\n Key: UnwindSafe,\n ValBuild: RefUnwindSafe + UnwindSafe,\n ValProbe: UnwindSafe,
",1,["hydroflow::compiled::pull::half_join_state::set::HalfSetJoinState"]],["impl<S, H> UnwindSafe for Port<S, H>
where\n S: RefUnwindSafe,
",1,["hydroflow::scheduled::port::Port"]],["impl<S, H> UnwindSafe for PortCtx<S, H>
where\n H: UnwindSafe,\n S: RefUnwindSafe,
",1,["hydroflow::scheduled::port::PortCtx"]],["impl<T> !UnwindSafe for TeeingHandoff<T>",1,["hydroflow::scheduled::handoff::tee::TeeingHandoff"]],["impl<T> !UnwindSafe for VecHandoff<T>",1,["hydroflow::scheduled::handoff::vector::VecHandoff"]],["impl<T> !UnwindSafe for Buffer<T>",1,["hydroflow::scheduled::input::Buffer"]],["impl<T> !UnwindSafe for Receiver<T>",1,["hydroflow::util::unsync::mpsc::Receiver"]],["impl<T> !UnwindSafe for Sender<T>",1,["hydroflow::util::unsync::mpsc::Sender"]],["impl<T> UnwindSafe for Persistence<T>
where\n T: UnwindSafe,
",1,["hydroflow::util::Persistence"]],["impl<T> UnwindSafe for StateHandle<T>
where\n T: RefUnwindSafe,
",1,["hydroflow::scheduled::state::StateHandle"]],["impl<T> UnwindSafe for ClearDefault<T>
where\n T: UnwindSafe,
",1,["hydroflow::util::clear::ClearDefault"]],["impl<T> UnwindSafe for DeployPorts<T>
where\n T: UnwindSafe,
",1,["hydroflow::util::deploy::DeployPorts"]],["impl<T> UnwindSafe for HashMultiSet<T>
where\n T: UnwindSafe,
",1,["hydroflow::util::multiset::HashMultiSet"]],["impl<T> UnwindSafe for SparseVec<T>
where\n T: UnwindSafe,
",1,["hydroflow::util::sparse_vec::SparseVec"]],["impl<T, G> !UnwindSafe for Input<T, G>",1,["hydroflow::scheduled::input::Input"]],["impl<V1, V2> UnwindSafe for CrossJoinState<V1, V2>
where\n V1: UnwindSafe,\n V2: UnwindSafe,
",1,["hydroflow::compiled::pull::cross_join::CrossJoinState"]]]],["hydroflow_deploy_integration",[["impl !UnwindSafe for ConnectedDirect",1,["hydroflow_deploy_integration::ConnectedDirect"]],["impl UnwindSafe for BoundConnection",1,["hydroflow_deploy_integration::BoundConnection"]],["impl UnwindSafe for RealizedServerPort",1,["hydroflow_deploy_integration::RealizedServerPort"]],["impl UnwindSafe for ServerBindConfig",1,["hydroflow_deploy_integration::ServerBindConfig"]],["impl UnwindSafe for ServerOrBound",1,["hydroflow_deploy_integration::ServerOrBound"]],["impl UnwindSafe for ServerPort",1,["hydroflow_deploy_integration::ServerPort"]],["impl<T> !UnwindSafe for ConnectedTagged<T>",1,["hydroflow_deploy_integration::ConnectedTagged"]],["impl<T> UnwindSafe for ConnectedDemux<T>",1,["hydroflow_deploy_integration::ConnectedDemux"]],["impl<T, S> UnwindSafe for DemuxDrain<T, S>
where\n T: UnwindSafe,\n S: UnwindSafe + ?Sized,
",1,["hydroflow_deploy_integration::DemuxDrain"]],["impl<T, S> UnwindSafe for MergeSource<T, S>
where\n T: UnwindSafe,\n S: UnwindSafe + ?Sized,
",1,["hydroflow_deploy_integration::MergeSource"]],["impl<T, S> UnwindSafe for TaggedSource<T, S>
where\n T: UnwindSafe,\n S: UnwindSafe + ?Sized,
",1,["hydroflow_deploy_integration::TaggedSource"]]]],["hydroflow_lang",[["impl !UnwindSafe for OperatorConstraints",1,["hydroflow_lang::graph::ops::OperatorConstraints"]],["impl !UnwindSafe for FlatGraphBuilder",1,["hydroflow_lang::graph::flat_graph_builder::FlatGraphBuilder"]],["impl !UnwindSafe for HydroflowGraph",1,["hydroflow_lang::graph::hydroflow_graph::HydroflowGraph"]],["impl !UnwindSafe for OperatorInstance",1,["hydroflow_lang::graph::OperatorInstance"]],["impl UnwindSafe for Level",1,["hydroflow_lang::diagnostic::Level"]],["impl UnwindSafe for Color",1,["hydroflow_lang::graph::Color"]],["impl UnwindSafe for GraphNode",1,["hydroflow_lang::graph::GraphNode"]],["impl UnwindSafe for PortIndexValue",1,["hydroflow_lang::graph::PortIndexValue"]],["impl UnwindSafe for WriteGraphType",1,["hydroflow_lang::graph::hydroflow_graph::WriteGraphType"]],["impl UnwindSafe for DelayType",1,["hydroflow_lang::graph::ops::DelayType"]],["impl UnwindSafe for FloType",1,["hydroflow_lang::graph::ops::FloType"]],["impl UnwindSafe for OperatorCategory",1,["hydroflow_lang::graph::ops::OperatorCategory"]],["impl UnwindSafe for Persistence",1,["hydroflow_lang::graph::ops::Persistence"]],["impl UnwindSafe for PortListSpec",1,["hydroflow_lang::graph::ops::PortListSpec"]],["impl UnwindSafe for HfStatement",1,["hydroflow_lang::parse::HfStatement"]],["impl UnwindSafe for Pipeline",1,["hydroflow_lang::parse::Pipeline"]],["impl UnwindSafe for PortIndex",1,["hydroflow_lang::parse::PortIndex"]],["impl UnwindSafe for SerdeSpan",1,["hydroflow_lang::diagnostic::SerdeSpan"]],["impl UnwindSafe for OperatorWriteOutput",1,["hydroflow_lang::graph::ops::OperatorWriteOutput"]],["impl UnwindSafe for GraphEdgeId",1,["hydroflow_lang::graph::GraphEdgeId"]],["impl UnwindSafe for GraphLoopId",1,["hydroflow_lang::graph::GraphLoopId"]],["impl UnwindSafe for GraphNodeId",1,["hydroflow_lang::graph::GraphNodeId"]],["impl UnwindSafe for GraphSubgraphId",1,["hydroflow_lang::graph::GraphSubgraphId"]],["impl UnwindSafe for OpInstGenerics",1,["hydroflow_lang::graph::OpInstGenerics"]],["impl UnwindSafe for WriteConfig",1,["hydroflow_lang::graph::hydroflow_graph::WriteConfig"]],["impl UnwindSafe for HfCode",1,["hydroflow_lang::parse::HfCode"]],["impl UnwindSafe for Import",1,["hydroflow_lang::parse::Import"]],["impl UnwindSafe for IndexInt",1,["hydroflow_lang::parse::IndexInt"]],["impl UnwindSafe for Indexing",1,["hydroflow_lang::parse::Indexing"]],["impl UnwindSafe for LoopStatement",1,["hydroflow_lang::parse::LoopStatement"]],["impl UnwindSafe for NamedHfStatement",1,["hydroflow_lang::parse::NamedHfStatement"]],["impl UnwindSafe for Operator",1,["hydroflow_lang::parse::Operator"]],["impl UnwindSafe for PipelineLink",1,["hydroflow_lang::parse::PipelineLink"]],["impl UnwindSafe for PipelineParen",1,["hydroflow_lang::parse::PipelineParen"]],["impl UnwindSafe for PipelineStatement",1,["hydroflow_lang::parse::PipelineStatement"]],["impl UnwindSafe for PrettyRowCol",1,["hydroflow_lang::pretty_span::PrettyRowCol"]],["impl UnwindSafe for PrettySpan",1,["hydroflow_lang::pretty_span::PrettySpan"]],["impl<'a> !UnwindSafe for WriteContextArgs<'a>",1,["hydroflow_lang::graph::ops::WriteContextArgs"]],["impl<Inner> UnwindSafe for Ported<Inner>
where\n Inner: UnwindSafe,
",1,["hydroflow_lang::parse::Ported"]],["impl<K> UnwindSafe for UnionFind<K>
where\n K: UnwindSafe,
",1,["hydroflow_lang::union_find::UnionFind"]],["impl<S> UnwindSafe for Diagnostic<S>
where\n S: UnwindSafe,
",1,["hydroflow_lang::diagnostic::Diagnostic"]],["impl<V, E> UnwindSafe for DiMulGraph<V, E>
where\n V: UnwindSafe,\n E: UnwindSafe,
",1,["hydroflow_lang::graph::di_mul_graph::DiMulGraph"]]]],["hydroflow_plus",[["impl !UnwindSafe for DebugInstantiate",1,["hydroflow_plus::ir::DebugInstantiate"]],["impl !UnwindSafe for HfPlusLeaf",1,["hydroflow_plus::ir::HfPlusLeaf"]],["impl !UnwindSafe for HfPlusNode",1,["hydroflow_plus::ir::HfPlusNode"]],["impl !UnwindSafe for FlowStateInner",1,["hydroflow_plus::builder::FlowStateInner"]],["impl !UnwindSafe for DeployRuntimeCluster",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeCluster"]],["impl !UnwindSafe for DeployRuntimeNode",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntimeNode"]],["impl !UnwindSafe for DebugPipelineFn",1,["hydroflow_plus::ir::DebugPipelineFn"]],["impl !UnwindSafe for TeeNode",1,["hydroflow_plus::ir::TeeNode"]],["impl UnwindSafe for Bounded",1,["hydroflow_plus::boundedness::Bounded"]],["impl UnwindSafe for Unbounded",1,["hydroflow_plus::boundedness::Unbounded"]],["impl UnwindSafe for ForwardRefMarker",1,["hydroflow_plus::cycle::ForwardRefMarker"]],["impl UnwindSafe for TickCycleMarker",1,["hydroflow_plus::cycle::TickCycleMarker"]],["impl UnwindSafe for HfPlusSource",1,["hydroflow_plus::ir::HfPlusSource"]],["impl UnwindSafe for LocationId",1,["hydroflow_plus::location::LocationId"]],["impl UnwindSafe for HydroflowPlusMeta",1,["hydroflow_plus::deploy::deploy_runtime::HydroflowPlusMeta"]],["impl UnwindSafe for MultiGraph",1,["hydroflow_plus::deploy::in_memory_graph::MultiGraph"]],["impl UnwindSafe for MultiNode",1,["hydroflow_plus::deploy::in_memory_graph::MultiNode"]],["impl UnwindSafe for SingleNode",1,["hydroflow_plus::deploy::in_memory_graph::SingleNode"]],["impl UnwindSafe for SingleProcessGraph",1,["hydroflow_plus::deploy::in_memory_graph::SingleProcessGraph"]],["impl UnwindSafe for DeployRuntime",1,["hydroflow_plus::deploy::macro_runtime::DeployRuntime"]],["impl UnwindSafe for DebugExpr",1,["hydroflow_plus::ir::DebugExpr"]],["impl UnwindSafe for ExternalBytesPort",1,["hydroflow_plus::location::external_process::ExternalBytesPort"]],["impl UnwindSafe for PropertyDatabase",1,["hydroflow_plus::rewrites::properties::PropertyDatabase"]],["impl UnwindSafe for NoOrder",1,["hydroflow_plus::stream::NoOrder"]],["impl UnwindSafe for TotalOrder",1,["hydroflow_plus::stream::TotalOrder"]],["impl<'a> !UnwindSafe for BuiltFlow<'a>",1,["hydroflow_plus::builder::built::BuiltFlow"]],["impl<'a> !UnwindSafe for FlowBuilder<'a>",1,["hydroflow_plus::builder::FlowBuilder"]],["impl<'a> UnwindSafe for CompiledFlowWithId<'a>",1,["hydroflow_plus::builder::compiled::CompiledFlowWithId"]],["impl<'a> UnwindSafe for ClusterSelfId<'a>",1,["hydroflow_plus::location::cluster::ClusterSelfId"]],["impl<'a> UnwindSafe for RuntimeContext<'a>",1,["hydroflow_plus::runtime_context::RuntimeContext"]],["impl<'a, C> !UnwindSafe for Cluster<'a, C>",1,["hydroflow_plus::location::cluster::Cluster"]],["impl<'a, C> UnwindSafe for ClusterIds<'a, C>
where\n C: UnwindSafe,
",1,["hydroflow_plus::location::cluster::ClusterIds"]],["impl<'a, D> !UnwindSafe for DeployFlow<'a, D>",1,["hydroflow_plus::builder::deploy::DeployFlow"]],["impl<'a, D> UnwindSafe for DeployResult<'a, D>
where\n <D as Deploy<'a>>::Process: UnwindSafe,\n <D as Deploy<'a>>::Cluster: UnwindSafe,\n <D as Deploy<'a>>::ExternalProcess: UnwindSafe,
",1,["hydroflow_plus::builder::deploy::DeployResult"]],["impl<'a, ID> !UnwindSafe for CompiledFlow<'a, ID>",1,["hydroflow_plus::builder::compiled::CompiledFlow"]],["impl<'a, P = ()> !UnwindSafe for Process<'a, P>",1,["hydroflow_plus::location::process::Process"]],["impl<'a, P> !UnwindSafe for ExternalProcess<'a, P>",1,["hydroflow_plus::location::external_process::ExternalProcess"]],["impl<'a, S> UnwindSafe for ForwardRef<'a, S>
where\n S: UnwindSafe,
",1,["hydroflow_plus::cycle::ForwardRef"]],["impl<'a, S> UnwindSafe for TickCycle<'a, S>
where\n S: UnwindSafe,
",1,["hydroflow_plus::cycle::TickCycle"]],["impl<C> UnwindSafe for ClusterId<C>
where\n C: UnwindSafe,
",1,["hydroflow_plus::location::cluster::cluster_id::ClusterId"]],["impl<L> UnwindSafe for Tick<L>
where\n L: UnwindSafe,
",1,["hydroflow_plus::location::tick::Tick"]],["impl<L> UnwindSafe for Timestamped<L>
where\n L: UnwindSafe,
",1,["hydroflow_plus::location::tick::Timestamped"]],["impl<T> UnwindSafe for ExternalBincodeSink<T>
where\n T: UnwindSafe,
",1,["hydroflow_plus::location::external_process::ExternalBincodeSink"]],["impl<T> UnwindSafe for ExternalBincodeStream<T>
where\n T: UnwindSafe,
",1,["hydroflow_plus::location::external_process::ExternalBincodeStream"]],["impl<T, L, B> !UnwindSafe for Optional<T, L, B>",1,["hydroflow_plus::optional::Optional"]],["impl<T, L, B> !UnwindSafe for Singleton<T, L, B>",1,["hydroflow_plus::singleton::Singleton"]],["impl<T, L, B, Order = TotalOrder> !UnwindSafe for Stream<T, L, B, Order>",1,["hydroflow_plus::stream::Stream"]]]],["hydroflow_plus_test",[["impl UnwindSafe for Leader",1,["hydroflow_plus_test::cluster::compute_pi::Leader"]],["impl UnwindSafe for Worker",1,["hydroflow_plus_test::cluster::compute_pi::Worker"]],["impl UnwindSafe for Leader",1,["hydroflow_plus_test::cluster::map_reduce::Leader"]],["impl UnwindSafe for Worker",1,["hydroflow_plus_test::cluster::map_reduce::Worker"]],["impl UnwindSafe for Acceptor",1,["hydroflow_plus_test::cluster::paxos::Acceptor"]],["impl UnwindSafe for Ballot",1,["hydroflow_plus_test::cluster::paxos::Ballot"]],["impl UnwindSafe for Proposer",1,["hydroflow_plus_test::cluster::paxos::Proposer"]],["impl UnwindSafe for Client",1,["hydroflow_plus_test::cluster::paxos_bench::Client"]],["impl UnwindSafe for Replica",1,["hydroflow_plus_test::cluster::paxos_kv::Replica"]],["impl UnwindSafe for Client",1,["hydroflow_plus_test::cluster::two_pc::Client"]],["impl UnwindSafe for Coordinator",1,["hydroflow_plus_test::cluster::two_pc::Coordinator"]],["impl UnwindSafe for Participants",1,["hydroflow_plus_test::cluster::two_pc::Participants"]],["impl UnwindSafe for P1",1,["hydroflow_plus_test::distributed::first_ten::P1"]],["impl UnwindSafe for P2",1,["hydroflow_plus_test::distributed::first_ten::P2"]],["impl<K, V> UnwindSafe for KvPayload<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["hydroflow_plus_test::cluster::paxos_kv::KvPayload"]],["impl<K, V> UnwindSafe for SequencedKv<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["hydroflow_plus_test::cluster::paxos_kv::SequencedKv"]]]],["latency_measure",[["impl UnwindSafe for TopolotreeMessage",1,["latency_measure::protocol::TopolotreeMessage"]],["impl UnwindSafe for OperationPayload",1,["latency_measure::protocol::OperationPayload"]],["impl UnwindSafe for QueryResponse",1,["latency_measure::protocol::QueryResponse"]],["impl<T> UnwindSafe for Payload<T>
where\n T: UnwindSafe,
",1,["latency_measure::protocol::Payload"]],["impl<T> UnwindSafe for Timestamped<T>
where\n T: UnwindSafe,
",1,["latency_measure::protocol::Timestamped"]]]],["lattices",[["impl UnwindSafe for U32WithInfinity",1,["lattices::semiring_application::U32WithInfinity"]],["impl UnwindSafe for BinaryTrust",1,["lattices::semiring_application::BinaryTrust"]],["impl UnwindSafe for ConfidenceScore",1,["lattices::semiring_application::ConfidenceScore"]],["impl UnwindSafe for Cost",1,["lattices::semiring_application::Cost"]],["impl UnwindSafe for FuzzyLogic",1,["lattices::semiring_application::FuzzyLogic"]],["impl UnwindSafe for Multiplicity",1,["lattices::semiring_application::Multiplicity"]],["impl UnwindSafe for PairBimorphism",1,["lattices::pair::PairBimorphism"]],["impl<Bimorphism> UnwindSafe for GhtBimorphism<Bimorphism>
where\n Bimorphism: UnwindSafe,
",1,["lattices::ght::lattice::GhtBimorphism"]],["impl<Bimorphism> UnwindSafe for GhtNodeKeyedBimorphism<Bimorphism>
where\n Bimorphism: UnwindSafe,
",1,["lattices::ght::lattice::GhtNodeKeyedBimorphism"]],["impl<GhtOut> UnwindSafe for GhtCartesianProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtCartesianProductBimorphism"]],["impl<GhtOut> UnwindSafe for GhtValTypeProductBimorphism<GhtOut>",1,["lattices::ght::lattice::GhtValTypeProductBimorphism"]],["impl<Head, Node> UnwindSafe for GhtInner<Head, Node>
where\n Head: UnwindSafe,\n Node: UnwindSafe,
",1,["lattices::ght::GhtInner"]],["impl<Inner> UnwindSafe for WithBot<Inner>
where\n Inner: UnwindSafe,
",1,["lattices::with_bot::WithBot"]],["impl<Inner> UnwindSafe for WithTop<Inner>
where\n Inner: UnwindSafe,
",1,["lattices::with_top::WithTop"]],["impl<K, V> UnwindSafe for EmptyMap<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["lattices::collections::EmptyMap"]],["impl<K, V> UnwindSafe for OptionMap<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["lattices::collections::OptionMap"]],["impl<K, V> UnwindSafe for SingletonMap<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["lattices::collections::SingletonMap"]],["impl<K, V> UnwindSafe for VecMap<K, V>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["lattices::collections::VecMap"]],["impl<K, V, const N: usize> UnwindSafe for ArrayMap<K, V, N>
where\n K: UnwindSafe,\n V: UnwindSafe,
",1,["lattices::collections::ArrayMap"]],["impl<Key, Val> UnwindSafe for DomPair<Key, Val>
where\n Key: UnwindSafe,\n Val: UnwindSafe,
",1,["lattices::dom_pair::DomPair"]],["impl<Lat> UnwindSafe for VecUnion<Lat>
where\n Lat: UnwindSafe,
",1,["lattices::vec_union::VecUnion"]],["impl<LatA, LatB> UnwindSafe for Pair<LatA, LatB>
where\n LatA: UnwindSafe,\n LatB: UnwindSafe,
",1,["lattices::pair::Pair"]],["impl<Map> UnwindSafe for MapUnion<Map>
where\n Map: UnwindSafe,
",1,["lattices::map_union::MapUnion"]],["impl<Map> UnwindSafe for UnionFind<Map>
where\n Map: UnwindSafe,
",1,["lattices::union_find::UnionFind"]],["impl<Map, TombstoneSet> UnwindSafe for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: UnwindSafe,\n TombstoneSet: UnwindSafe,
",1,["lattices::map_union_with_tombstones::MapUnionWithTombstones"]],["impl<MapOut, Bimorphism> UnwindSafe for KeyedBimorphism<MapOut, Bimorphism>
where\n Bimorphism: UnwindSafe,
",1,["lattices::map_union::KeyedBimorphism"]],["impl<Schema, ValType, Storage> UnwindSafe for GhtLeaf<Schema, ValType, Storage>
where\n Storage: UnwindSafe,\n ValType: UnwindSafe,
",1,["lattices::ght::GhtLeaf"]],["impl<Set> UnwindSafe for SetUnion<Set>
where\n Set: UnwindSafe,
",1,["lattices::set_union::SetUnion"]],["impl<Set, TombstoneSet> UnwindSafe for SetUnionWithTombstones<Set, TombstoneSet>
where\n Set: UnwindSafe,\n TombstoneSet: UnwindSafe,
",1,["lattices::set_union_with_tombstones::SetUnionWithTombstones"]],["impl<SetOut> UnwindSafe for CartesianProductBimorphism<SetOut>",1,["lattices::set_union::CartesianProductBimorphism"]],["impl<T> UnwindSafe for EmptySet<T>
where\n T: UnwindSafe,
",1,["lattices::collections::EmptySet"]],["impl<T> UnwindSafe for OptionSet<T>
where\n T: UnwindSafe,
",1,["lattices::collections::OptionSet"]],["impl<T> UnwindSafe for SingletonSet<T>
where\n T: UnwindSafe,
",1,["lattices::collections::SingletonSet"]],["impl<T> UnwindSafe for VecSet<T>
where\n T: UnwindSafe,
",1,["lattices::collections::VecSet"]],["impl<T> UnwindSafe for Conflict<T>
where\n T: UnwindSafe,
",1,["lattices::conflict::Conflict"]],["impl<T> UnwindSafe for Max<T>
where\n T: UnwindSafe,
",1,["lattices::ord::Max"]],["impl<T> UnwindSafe for Min<T>
where\n T: UnwindSafe,
",1,["lattices::ord::Min"]],["impl<T, Provenance> UnwindSafe for Point<T, Provenance>
where\n T: UnwindSafe,\n Provenance: RefUnwindSafe,
",1,["lattices::point::Point"]],["impl<T, const N: usize> UnwindSafe for ArraySet<T, N>
where\n T: UnwindSafe,
",1,["lattices::collections::ArraySet"]]]],["load_test_server",[["impl !UnwindSafe for Switchboard",1,["load_test_server::Switchboard"]],["impl UnwindSafe for Opts",1,["load_test_server::Opts"]]]],["pn",[["impl !UnwindSafe for GossipOrIncrement",1,["pn::GossipOrIncrement"]],["impl UnwindSafe for TopolotreeMessage",1,["pn::protocol::TopolotreeMessage"]],["impl UnwindSafe for OperationPayload",1,["pn::protocol::OperationPayload"]],["impl UnwindSafe for QueryResponse",1,["pn::protocol::QueryResponse"]],["impl<T> UnwindSafe for Payload<T>
where\n T: UnwindSafe,
",1,["pn::protocol::Payload"]],["impl<T> UnwindSafe for Timestamped<T>
where\n T: UnwindSafe,
",1,["pn::protocol::Timestamped"]]]],["pn_delta",[["impl UnwindSafe for GossipOrIncrement",1,["pn_delta::GossipOrIncrement"]],["impl UnwindSafe for TopolotreeMessage",1,["pn_delta::protocol::TopolotreeMessage"]],["impl UnwindSafe for OperationPayload",1,["pn_delta::protocol::OperationPayload"]],["impl UnwindSafe for QueryResponse",1,["pn_delta::protocol::QueryResponse"]],["impl<T> UnwindSafe for Payload<T>
where\n T: UnwindSafe,
",1,["pn_delta::protocol::Payload"]],["impl<T> UnwindSafe for Timestamped<T>
where\n T: UnwindSafe,
",1,["pn_delta::protocol::Timestamped"]]]],["pusherator",[["impl<Func, In> UnwindSafe for ForEach<Func, In>
where\n Func: UnwindSafe,
",1,["pusherator::for_each::ForEach"]],["impl<Func, Nexts, Item> UnwindSafe for Demux<Func, Nexts, Item>
where\n Func: UnwindSafe,\n Nexts: UnwindSafe,
",1,["pusherator::demux::Demux"]],["impl<I> UnwindSafe for PivotBuild<I>
where\n I: UnwindSafe,
",1,["pusherator::pivot::PivotBuild"]],["impl<I, P> UnwindSafe for Pivot<I, P>
where\n I: UnwindSafe,\n P: UnwindSafe,
",1,["pusherator::pivot::Pivot"]],["impl<In> UnwindSafe for Null<In>
where\n In: UnwindSafe,
",1,["pusherator::null::Null"]],["impl<Next, Func> UnwindSafe for Filter<Next, Func>
where\n Next: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::filter::Filter"]],["impl<Next, Func> UnwindSafe for Inspect<Next, Func>
where\n Next: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::inspect::Inspect"]],["impl<Next, Func, In> UnwindSafe for FilterMap<Next, Func, In>
where\n Next: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::filter_map::FilterMap"]],["impl<Next, Func, In> UnwindSafe for Map<Next, Func, In>
where\n Next: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::map::Map"]],["impl<Next, In> UnwindSafe for Flatten<Next, In>
where\n Next: UnwindSafe,
",1,["pusherator::flatten::Flatten"]],["impl<Next1, Next2> UnwindSafe for Switch<Next1, Next2>
where\n Next1: UnwindSafe,\n Next2: UnwindSafe,
",1,["pusherator::switch::Switch"]],["impl<Next1, Next2> UnwindSafe for Tee<Next1, Next2>
where\n Next1: UnwindSafe,\n Next2: UnwindSafe,
",1,["pusherator::tee::Tee"]],["impl<Next1, Next2> UnwindSafe for Unzip<Next1, Next2>
where\n Next1: UnwindSafe,\n Next2: UnwindSafe,
",1,["pusherator::unzip::Unzip"]],["impl<Next1, Next2, Func> UnwindSafe for Partition<Next1, Next2, Func>
where\n Next1: UnwindSafe,\n Next2: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::partition::Partition"]],["impl<Prev> UnwindSafe for FlattenBuild<Prev>
where\n Prev: UnwindSafe,
",1,["pusherator::flatten::FlattenBuild"]],["impl<Prev, Func> UnwindSafe for FilterBuild<Prev, Func>
where\n Prev: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::filter::FilterBuild"]],["impl<Prev, Func> UnwindSafe for FilterMapBuild<Prev, Func>
where\n Prev: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::filter_map::FilterMapBuild"]],["impl<Prev, Func> UnwindSafe for InspectBuild<Prev, Func>
where\n Prev: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::inspect::InspectBuild"]],["impl<Prev, Func> UnwindSafe for MapBuild<Prev, Func>
where\n Prev: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::map::MapBuild"]],["impl<Prev, Next1> UnwindSafe for SwitchBuild<Prev, Next1>
where\n Prev: UnwindSafe,\n Next1: UnwindSafe,
",1,["pusherator::switch::SwitchBuild"]],["impl<Prev, Next1> UnwindSafe for TeeBuild<Prev, Next1>
where\n <Prev as PusheratorBuild>::ItemOut: Sized,\n Prev: UnwindSafe,\n Next1: UnwindSafe,
",1,["pusherator::tee::TeeBuild"]],["impl<Prev, Next1> UnwindSafe for UnzipBuild<Prev, Next1>
where\n Prev: UnwindSafe,\n Next1: UnwindSafe,
",1,["pusherator::unzip::UnzipBuild"]],["impl<Prev, Next1, Func> UnwindSafe for PartitionBuild<Prev, Next1, Func>
where\n Prev: UnwindSafe,\n Next1: UnwindSafe,\n Func: UnwindSafe,
",1,["pusherator::partition::PartitionBuild"]],["impl<T> UnwindSafe for InputBuild<T>
where\n T: UnwindSafe,
",1,["pusherator::InputBuild"]]]],["relalg",[["impl UnwindSafe for Datum",1,["relalg::Datum"]],["impl UnwindSafe for ScalarExpr",1,["relalg::ScalarExpr"]]]],["stageleft",[["impl<'a> UnwindSafe for BorrowBounds<'a>",1,["stageleft::BorrowBounds"]],["impl<T> UnwindSafe for Import<T>
where\n T: UnwindSafe,
",1,["stageleft::runtime_support::Import"]],["impl<T> UnwindSafe for RuntimeData<T>
where\n T: UnwindSafe,
",1,["stageleft::RuntimeData"]]]],["topolotree",[["impl UnwindSafe for TopolotreeMessage",1,["topolotree::protocol::TopolotreeMessage"]],["impl UnwindSafe for OperationPayload",1,["topolotree::protocol::OperationPayload"]],["impl UnwindSafe for QueryResponse",1,["topolotree::protocol::QueryResponse"]],["impl UnwindSafe for NodeId",1,["topolotree::NodeId"]],["impl<T> UnwindSafe for Payload<T>
where\n T: UnwindSafe,
",1,["topolotree::protocol::Payload"]],["impl<T> UnwindSafe for Timestamped<T>
where\n T: UnwindSafe,
",1,["topolotree::protocol::Timestamped"]]]],["variadics",[["impl<Iter, Item> UnwindSafe for DuplicateCounted<Iter, Item>
where\n Iter: UnwindSafe,\n Item: UnwindSafe,
",1,["variadics::variadic_collections::DuplicateCounted"]],["impl<K, S> UnwindSafe for VariadicCountedHashSet<K, S>
where\n S: UnwindSafe,\n K: UnwindSafe,
",1,["variadics::variadic_collections::VariadicCountedHashSet"]],["impl<Schema> UnwindSafe for VariadicColumnMultiset<Schema>
where\n <Schema as VariadicExt>::IntoVec: UnwindSafe,
",1,["variadics::variadic_collections::VariadicColumnMultiset"]],["impl<T, S> UnwindSafe for VariadicHashSet<T, S>
where\n S: UnwindSafe,\n T: UnwindSafe,
",1,["variadics::variadic_collections::VariadicHashSet"]]]],["website_playground",[["impl UnwindSafe for HydroflowOutput",1,["website_playground::HydroflowOutput"]],["impl UnwindSafe for HydroflowResult",1,["website_playground::HydroflowResult"]],["impl UnwindSafe for JsDiagnostic",1,["website_playground::JsDiagnostic"]],["impl UnwindSafe for JsLineColumn",1,["website_playground::JsLineColumn"]],["impl UnwindSafe for JsSpan",1,["website_playground::JsSpan"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[1043,7139,1973,1660,14238,26638,7287,15924,22804,7372,2435,24118,710,2561,2674,18719,627,1546,2674,3563,1860]} \ No newline at end of file +//{"start":57,"fragment_lengths":[1043,7139,1973,1660,14238,26638,7287,17037,22804,7372,2435,24118,710,2561,2674,18719,627,1546,2674,3563,1860]} \ No newline at end of file diff --git a/doc/trait.impl/quote/to_tokens/trait.ToTokens.js b/doc/trait.impl/quote/to_tokens/trait.ToTokens.js index 4b8ba2949f83..9925e3663b19 100644 --- a/doc/trait.impl/quote/to_tokens/trait.ToTokens.js +++ b/doc/trait.impl/quote/to_tokens/trait.ToTokens.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hydroflow_lang",[["impl ToTokens for HfStatement"],["impl ToTokens for Pipeline"],["impl ToTokens for PortIndex"],["impl ToTokens for HfCode"],["impl ToTokens for Import"],["impl ToTokens for IndexInt"],["impl ToTokens for Indexing"],["impl ToTokens for NamedHfStatement"],["impl ToTokens for Operator"],["impl ToTokens for PipelineLink"],["impl ToTokens for PipelineParen"],["impl ToTokens for PipelineStatement"],["impl<Inner> ToTokens for Ported<Inner>
where\n Inner: ToTokens,
"]]],["hydroflow_plus",[["impl ToTokens for DebugExpr"]]],["relalg",[["impl ToTokens for ScalarExpr"]]]]); + var implementors = Object.fromEntries([["hydroflow_lang",[["impl ToTokens for HfStatement"],["impl ToTokens for Pipeline"],["impl ToTokens for PortIndex"],["impl ToTokens for HfCode"],["impl ToTokens for Import"],["impl ToTokens for IndexInt"],["impl ToTokens for Indexing"],["impl ToTokens for LoopStatement"],["impl ToTokens for NamedHfStatement"],["impl ToTokens for Operator"],["impl ToTokens for PipelineLink"],["impl ToTokens for PipelineParen"],["impl ToTokens for PipelineStatement"],["impl<Inner> ToTokens for Ported<Inner>
where\n Inner: ToTokens,
"]]],["hydroflow_plus",[["impl ToTokens for DebugExpr"]]],["relalg",[["impl ToTokens for ScalarExpr"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[4129,313,279]} \ No newline at end of file +//{"start":57,"fragment_lengths":[4439,313,279]} \ No newline at end of file diff --git a/doc/trait.impl/serde/de/trait.Deserialize.js b/doc/trait.impl/serde/de/trait.Deserialize.js index 4e628ed13040..4ad1c6fe870e 100644 --- a/doc/trait.impl/serde/de/trait.Deserialize.js +++ b/doc/trait.impl/serde/de/trait.Deserialize.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_kv",[["impl<'de> Deserialize<'de> for ClientRequest"],["impl<'de> Deserialize<'de> for ClientResponse"],["impl<'de> Deserialize<'de> for GossipMessage"],["impl<'de> Deserialize<'de> for Namespace"],["impl<'de> Deserialize<'de> for InfectingWrite"],["impl<'de> Deserialize<'de> for Key"],["impl<'de, A> Deserialize<'de> for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize + Deserialize<'de>,
"],["impl<'de, A> Deserialize<'de> for Protocol<A>
where\n A: Deserialize<'de>,
"],["impl<'de, A> Deserialize<'de> for SeedNode<A>
where\n A: Address + Deserialize<'de>,
"],["impl<'de, T, const N: usize> Deserialize<'de> for BoundedSetLattice<T, N>
where\n T: Eq + Hash + Deserialize<'de>,
"]]],["gossip_server",[["impl<'de> Deserialize<'de> for SeedNodeSettings"],["impl<'de> Deserialize<'de> for ServerSettings"]]],["hydro_deploy",[["impl<'de> Deserialize<'de> for TerraformBatch"],["impl<'de> Deserialize<'de> for TerraformConfig"],["impl<'de> Deserialize<'de> for TerraformOutput"],["impl<'de> Deserialize<'de> for TerraformProvider"],["impl<'de> Deserialize<'de> for TerraformResultOutput"]]],["hydroflow",[["impl<'de> Deserialize<'de> for TickDuration"],["impl<'de> Deserialize<'de> for TickInstant"],["impl<'de> Deserialize<'de> for Address"]]],["hydroflow_deploy_integration",[["impl<'de> Deserialize<'de> for ServerBindConfig"],["impl<'de> Deserialize<'de> for ServerPort"]]],["hydroflow_lang",[["impl Deserialize<'static> for SerdeSpan"],["impl<'de> Deserialize<'de> for Level"],["impl<'de> Deserialize<'de> for Color"],["impl<'de> Deserialize<'de> for GraphNode"],["impl<'de> Deserialize<'de> for PortIndexValue"],["impl<'de> Deserialize<'de> for Persistence"],["impl<'de> Deserialize<'de> for GraphEdgeId"],["impl<'de> Deserialize<'de> for GraphNodeId"],["impl<'de> Deserialize<'de> for GraphSubgraphId"],["impl<'de> Deserialize<'de> for HydroflowGraph"],["impl<'de, S> Deserialize<'de> for Diagnostic<S>
where\n S: Deserialize<'de>,
"],["impl<'de, V, E> Deserialize<'de> for DiMulGraph<V, E>
where\n V: Key + Deserialize<'de>,\n E: Key + Deserialize<'de>,
"]]],["hydroflow_plus",[["impl<'de> Deserialize<'de> for HydroflowPlusMeta"],["impl<'de, C> Deserialize<'de> for ClusterId<C>"]]],["hydroflow_plus_test",[["impl<'de> Deserialize<'de> for Ballot"],["impl<'de, K, V> Deserialize<'de> for KvPayload<K, V>
where\n K: Deserialize<'de>,\n V: Deserialize<'de>,
"],["impl<'de, K, V> Deserialize<'de> for SequencedKv<K, V>
where\n K: Deserialize<'de>,\n V: Deserialize<'de>,
"]]],["latency_measure",[["impl<'de> Deserialize<'de> for TopolotreeMessage"],["impl<'de> Deserialize<'de> for OperationPayload"],["impl<'de> Deserialize<'de> for QueryResponse"],["impl<'de, T> Deserialize<'de> for Payload<T>
where\n T: Deserialize<'de> + Debug,
"],["impl<'de, T> Deserialize<'de> for Timestamped<T>
where\n T: Deserialize<'de> + Debug,
"]]],["lattices",[["impl<'de, Inner> Deserialize<'de> for WithBot<Inner>
where\n Inner: Deserialize<'de>,
"],["impl<'de, Inner> Deserialize<'de> for WithTop<Inner>
where\n Inner: Deserialize<'de>,
"],["impl<'de, K, V> Deserialize<'de> for EmptyMap<K, V>"],["impl<'de, K, V> Deserialize<'de> for OptionMap<K, V>
where\n K: Deserialize<'de>,\n V: Deserialize<'de>,
"],["impl<'de, K, V> Deserialize<'de> for SingletonMap<K, V>
where\n K: Deserialize<'de>,\n V: Deserialize<'de>,
"],["impl<'de, K, V> Deserialize<'de> for VecMap<K, V>
where\n K: Deserialize<'de>,\n V: Deserialize<'de>,
"],["impl<'de, Key, Val> Deserialize<'de> for DomPair<Key, Val>
where\n Key: Deserialize<'de>,\n Val: Deserialize<'de>,
"],["impl<'de, Lat> Deserialize<'de> for VecUnion<Lat>
where\n Lat: Deserialize<'de>,
"],["impl<'de, LatA, LatB> Deserialize<'de> for Pair<LatA, LatB>
where\n LatA: Deserialize<'de>,\n LatB: Deserialize<'de>,
"],["impl<'de, Map> Deserialize<'de> for MapUnion<Map>
where\n Map: Deserialize<'de>,
"],["impl<'de, Map> Deserialize<'de> for UnionFind<Map>
where\n Map: Deserialize<'de>,
"],["impl<'de, Map, TombstoneSet> Deserialize<'de> for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: Deserialize<'de>,\n TombstoneSet: Deserialize<'de>,
"],["impl<'de, Set> Deserialize<'de> for SetUnion<Set>
where\n Set: Deserialize<'de>,
"],["impl<'de, T> Deserialize<'de> for EmptySet<T>"],["impl<'de, T> Deserialize<'de> for OptionSet<T>
where\n T: Deserialize<'de>,
"],["impl<'de, T> Deserialize<'de> for SingletonSet<T>
where\n T: Deserialize<'de>,
"],["impl<'de, T> Deserialize<'de> for VecSet<T>
where\n T: Deserialize<'de>,
"],["impl<'de, T> Deserialize<'de> for Conflict<T>
where\n T: Deserialize<'de>,
"],["impl<'de, T> Deserialize<'de> for Max<T>
where\n T: Deserialize<'de>,
"],["impl<'de, T> Deserialize<'de> for Min<T>
where\n T: Deserialize<'de>,
"],["impl<'de, T, Provenance> Deserialize<'de> for Point<T, Provenance>
where\n T: Deserialize<'de>,
"]]],["pn",[["impl<'de> Deserialize<'de> for GossipOrIncrement"],["impl<'de> Deserialize<'de> for TopolotreeMessage"],["impl<'de> Deserialize<'de> for OperationPayload"],["impl<'de> Deserialize<'de> for QueryResponse"],["impl<'de, T> Deserialize<'de> for Payload<T>
where\n T: Deserialize<'de> + Debug,
"],["impl<'de, T> Deserialize<'de> for Timestamped<T>
where\n T: Deserialize<'de> + Debug,
"]]],["pn_delta",[["impl<'de> Deserialize<'de> for GossipOrIncrement"],["impl<'de> Deserialize<'de> for TopolotreeMessage"],["impl<'de> Deserialize<'de> for OperationPayload"],["impl<'de> Deserialize<'de> for QueryResponse"],["impl<'de, T> Deserialize<'de> for Payload<T>
where\n T: Deserialize<'de> + Debug,
"],["impl<'de, T> Deserialize<'de> for Timestamped<T>
where\n T: Deserialize<'de> + Debug,
"]]],["topolotree",[["impl<'de> Deserialize<'de> for TopolotreeMessage"],["impl<'de> Deserialize<'de> for OperationPayload"],["impl<'de> Deserialize<'de> for QueryResponse"],["impl<'de, T> Deserialize<'de> for Payload<T>
where\n T: Deserialize<'de> + Debug,
"],["impl<'de, T> Deserialize<'de> for Timestamped<T>
where\n T: Deserialize<'de> + Debug,
"]]],["website_playground",[["impl<'de> Deserialize<'de> for HydroflowOutput"],["impl<'de> Deserialize<'de> for HydroflowResult"],["impl<'de> Deserialize<'de> for JsDiagnostic"],["impl<'de> Deserialize<'de> for JsLineColumn"],["impl<'de> Deserialize<'de> for JsSpan"]]]]); + var implementors = Object.fromEntries([["gossip_kv",[["impl<'de> Deserialize<'de> for ClientRequest"],["impl<'de> Deserialize<'de> for ClientResponse"],["impl<'de> Deserialize<'de> for GossipMessage"],["impl<'de> Deserialize<'de> for Namespace"],["impl<'de> Deserialize<'de> for InfectingWrite"],["impl<'de> Deserialize<'de> for Key"],["impl<'de, A> Deserialize<'de> for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize + Deserialize<'de>,
"],["impl<'de, A> Deserialize<'de> for Protocol<A>
where\n A: Deserialize<'de>,
"],["impl<'de, A> Deserialize<'de> for SeedNode<A>
where\n A: Address + Deserialize<'de>,
"],["impl<'de, T, const N: usize> Deserialize<'de> for BoundedSetLattice<T, N>
where\n T: Eq + Hash + Deserialize<'de>,
"]]],["gossip_server",[["impl<'de> Deserialize<'de> for SeedNodeSettings"],["impl<'de> Deserialize<'de> for ServerSettings"]]],["hydro_deploy",[["impl<'de> Deserialize<'de> for TerraformBatch"],["impl<'de> Deserialize<'de> for TerraformConfig"],["impl<'de> Deserialize<'de> for TerraformOutput"],["impl<'de> Deserialize<'de> for TerraformProvider"],["impl<'de> Deserialize<'de> for TerraformResultOutput"]]],["hydroflow",[["impl<'de> Deserialize<'de> for TickDuration"],["impl<'de> Deserialize<'de> for TickInstant"],["impl<'de> Deserialize<'de> for Address"]]],["hydroflow_deploy_integration",[["impl<'de> Deserialize<'de> for ServerBindConfig"],["impl<'de> Deserialize<'de> for ServerPort"]]],["hydroflow_lang",[["impl Deserialize<'static> for SerdeSpan"],["impl<'de> Deserialize<'de> for Level"],["impl<'de> Deserialize<'de> for Color"],["impl<'de> Deserialize<'de> for GraphNode"],["impl<'de> Deserialize<'de> for PortIndexValue"],["impl<'de> Deserialize<'de> for Persistence"],["impl<'de> Deserialize<'de> for GraphEdgeId"],["impl<'de> Deserialize<'de> for GraphLoopId"],["impl<'de> Deserialize<'de> for GraphNodeId"],["impl<'de> Deserialize<'de> for GraphSubgraphId"],["impl<'de> Deserialize<'de> for HydroflowGraph"],["impl<'de, S> Deserialize<'de> for Diagnostic<S>
where\n S: Deserialize<'de>,
"],["impl<'de, V, E> Deserialize<'de> for DiMulGraph<V, E>
where\n V: Key + Deserialize<'de>,\n E: Key + Deserialize<'de>,
"]]],["hydroflow_plus",[["impl<'de> Deserialize<'de> for HydroflowPlusMeta"],["impl<'de, C> Deserialize<'de> for ClusterId<C>"]]],["hydroflow_plus_test",[["impl<'de> Deserialize<'de> for Ballot"],["impl<'de, K, V> Deserialize<'de> for KvPayload<K, V>
where\n K: Deserialize<'de>,\n V: Deserialize<'de>,
"],["impl<'de, K, V> Deserialize<'de> for SequencedKv<K, V>
where\n K: Deserialize<'de>,\n V: Deserialize<'de>,
"]]],["latency_measure",[["impl<'de> Deserialize<'de> for TopolotreeMessage"],["impl<'de> Deserialize<'de> for OperationPayload"],["impl<'de> Deserialize<'de> for QueryResponse"],["impl<'de, T> Deserialize<'de> for Payload<T>
where\n T: Deserialize<'de> + Debug,
"],["impl<'de, T> Deserialize<'de> for Timestamped<T>
where\n T: Deserialize<'de> + Debug,
"]]],["lattices",[["impl<'de, Inner> Deserialize<'de> for WithBot<Inner>
where\n Inner: Deserialize<'de>,
"],["impl<'de, Inner> Deserialize<'de> for WithTop<Inner>
where\n Inner: Deserialize<'de>,
"],["impl<'de, K, V> Deserialize<'de> for EmptyMap<K, V>"],["impl<'de, K, V> Deserialize<'de> for OptionMap<K, V>
where\n K: Deserialize<'de>,\n V: Deserialize<'de>,
"],["impl<'de, K, V> Deserialize<'de> for SingletonMap<K, V>
where\n K: Deserialize<'de>,\n V: Deserialize<'de>,
"],["impl<'de, K, V> Deserialize<'de> for VecMap<K, V>
where\n K: Deserialize<'de>,\n V: Deserialize<'de>,
"],["impl<'de, Key, Val> Deserialize<'de> for DomPair<Key, Val>
where\n Key: Deserialize<'de>,\n Val: Deserialize<'de>,
"],["impl<'de, Lat> Deserialize<'de> for VecUnion<Lat>
where\n Lat: Deserialize<'de>,
"],["impl<'de, LatA, LatB> Deserialize<'de> for Pair<LatA, LatB>
where\n LatA: Deserialize<'de>,\n LatB: Deserialize<'de>,
"],["impl<'de, Map> Deserialize<'de> for MapUnion<Map>
where\n Map: Deserialize<'de>,
"],["impl<'de, Map> Deserialize<'de> for UnionFind<Map>
where\n Map: Deserialize<'de>,
"],["impl<'de, Map, TombstoneSet> Deserialize<'de> for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: Deserialize<'de>,\n TombstoneSet: Deserialize<'de>,
"],["impl<'de, Set> Deserialize<'de> for SetUnion<Set>
where\n Set: Deserialize<'de>,
"],["impl<'de, T> Deserialize<'de> for EmptySet<T>"],["impl<'de, T> Deserialize<'de> for OptionSet<T>
where\n T: Deserialize<'de>,
"],["impl<'de, T> Deserialize<'de> for SingletonSet<T>
where\n T: Deserialize<'de>,
"],["impl<'de, T> Deserialize<'de> for VecSet<T>
where\n T: Deserialize<'de>,
"],["impl<'de, T> Deserialize<'de> for Conflict<T>
where\n T: Deserialize<'de>,
"],["impl<'de, T> Deserialize<'de> for Max<T>
where\n T: Deserialize<'de>,
"],["impl<'de, T> Deserialize<'de> for Min<T>
where\n T: Deserialize<'de>,
"],["impl<'de, T, Provenance> Deserialize<'de> for Point<T, Provenance>
where\n T: Deserialize<'de>,
"]]],["pn",[["impl<'de> Deserialize<'de> for GossipOrIncrement"],["impl<'de> Deserialize<'de> for TopolotreeMessage"],["impl<'de> Deserialize<'de> for OperationPayload"],["impl<'de> Deserialize<'de> for QueryResponse"],["impl<'de, T> Deserialize<'de> for Payload<T>
where\n T: Deserialize<'de> + Debug,
"],["impl<'de, T> Deserialize<'de> for Timestamped<T>
where\n T: Deserialize<'de> + Debug,
"]]],["pn_delta",[["impl<'de> Deserialize<'de> for GossipOrIncrement"],["impl<'de> Deserialize<'de> for TopolotreeMessage"],["impl<'de> Deserialize<'de> for OperationPayload"],["impl<'de> Deserialize<'de> for QueryResponse"],["impl<'de, T> Deserialize<'de> for Payload<T>
where\n T: Deserialize<'de> + Debug,
"],["impl<'de, T> Deserialize<'de> for Timestamped<T>
where\n T: Deserialize<'de> + Debug,
"]]],["topolotree",[["impl<'de> Deserialize<'de> for TopolotreeMessage"],["impl<'de> Deserialize<'de> for OperationPayload"],["impl<'de> Deserialize<'de> for QueryResponse"],["impl<'de, T> Deserialize<'de> for Payload<T>
where\n T: Deserialize<'de> + Debug,
"],["impl<'de, T> Deserialize<'de> for Timestamped<T>
where\n T: Deserialize<'de> + Debug,
"]]],["website_playground",[["impl<'de> Deserialize<'de> for HydroflowOutput"],["impl<'de> Deserialize<'de> for HydroflowResult"],["impl<'de> Deserialize<'de> for JsDiagnostic"],["impl<'de> Deserialize<'de> for JsLineColumn"],["impl<'de> Deserialize<'de> for JsSpan"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[5069,688,1730,1006,709,4692,768,1824,2377,11552,2531,2609,2322,1625]} \ No newline at end of file +//{"start":57,"fragment_lengths":[5069,688,1730,1006,709,5014,768,1824,2377,11552,2531,2609,2322,1625]} \ No newline at end of file diff --git a/doc/trait.impl/serde/ser/trait.Serialize.js b/doc/trait.impl/serde/ser/trait.Serialize.js index a6942d210283..a9bcbadd72b6 100644 --- a/doc/trait.impl/serde/ser/trait.Serialize.js +++ b/doc/trait.impl/serde/ser/trait.Serialize.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["gossip_kv",[["impl Serialize for ClientRequest"],["impl Serialize for ClientResponse"],["impl Serialize for GossipMessage"],["impl Serialize for Namespace"],["impl Serialize for InfectingWrite"],["impl Serialize for Key"],["impl<A> Serialize for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize + Serialize,
"],["impl<A> Serialize for Protocol<A>
where\n A: Serialize,
"],["impl<A> Serialize for SeedNode<A>
where\n A: Address + Serialize,
"],["impl<T, const N: usize> Serialize for BoundedSetLattice<T, N>
where\n T: Eq + Hash + Serialize,
"]]],["gossip_server",[["impl Serialize for SeedNodeSettings"],["impl Serialize for ServerSettings"]]],["hydro_deploy",[["impl Serialize for TerraformBatch"],["impl Serialize for TerraformConfig"],["impl Serialize for TerraformOutput"],["impl Serialize for TerraformProvider"],["impl Serialize for TerraformResultOutput"]]],["hydroflow",[["impl Serialize for HandoffId"],["impl Serialize for SubgraphId"],["impl Serialize for TickDuration"],["impl Serialize for TickInstant"],["impl Serialize for Address"]]],["hydroflow_deploy_integration",[["impl Serialize for ServerBindConfig"],["impl Serialize for ServerPort"]]],["hydroflow_lang",[["impl Serialize for Level"],["impl Serialize for Color"],["impl Serialize for GraphNode"],["impl Serialize for PortIndexValue"],["impl Serialize for Persistence"],["impl Serialize for SerdeSpan"],["impl Serialize for GraphEdgeId"],["impl Serialize for GraphNodeId"],["impl Serialize for GraphSubgraphId"],["impl Serialize for HydroflowGraph"],["impl<S> Serialize for Diagnostic<S>
where\n S: Serialize,
"],["impl<V, E> Serialize for DiMulGraph<V, E>
where\n V: Key + Serialize,\n E: Key + Serialize,
"]]],["hydroflow_plus",[["impl Serialize for HydroflowPlusMeta"],["impl<C> Serialize for ClusterId<C>"]]],["hydroflow_plus_test",[["impl Serialize for Ballot"],["impl<K, V> Serialize for KvPayload<K, V>
where\n K: Serialize,\n V: Serialize,
"],["impl<K, V> Serialize for SequencedKv<K, V>
where\n K: Serialize,\n V: Serialize,
"]]],["latency_measure",[["impl Serialize for TopolotreeMessage"],["impl Serialize for OperationPayload"],["impl Serialize for QueryResponse"],["impl<T> Serialize for Payload<T>
where\n T: Serialize + Debug,
"],["impl<T> Serialize for Timestamped<T>
where\n T: Serialize + Debug,
"]]],["lattices",[["impl<Inner> Serialize for WithBot<Inner>
where\n Inner: Serialize,
"],["impl<Inner> Serialize for WithTop<Inner>
where\n Inner: Serialize,
"],["impl<K, V> Serialize for EmptyMap<K, V>"],["impl<K, V> Serialize for OptionMap<K, V>
where\n K: Serialize,\n V: Serialize,
"],["impl<K, V> Serialize for SingletonMap<K, V>
where\n K: Serialize,\n V: Serialize,
"],["impl<K, V> Serialize for VecMap<K, V>
where\n K: Serialize,\n V: Serialize,
"],["impl<Key, Val> Serialize for DomPair<Key, Val>
where\n Key: Serialize,\n Val: Serialize,
"],["impl<Lat> Serialize for VecUnion<Lat>
where\n Lat: Serialize,
"],["impl<LatA, LatB> Serialize for Pair<LatA, LatB>
where\n LatA: Serialize,\n LatB: Serialize,
"],["impl<Map> Serialize for MapUnion<Map>
where\n Map: Serialize,
"],["impl<Map> Serialize for UnionFind<Map>
where\n Map: Serialize,
"],["impl<Map, TombstoneSet> Serialize for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: Serialize,\n TombstoneSet: Serialize,
"],["impl<Set> Serialize for SetUnion<Set>
where\n Set: Serialize,
"],["impl<T> Serialize for EmptySet<T>"],["impl<T> Serialize for OptionSet<T>
where\n T: Serialize,
"],["impl<T> Serialize for SingletonSet<T>
where\n T: Serialize,
"],["impl<T> Serialize for VecSet<T>
where\n T: Serialize,
"],["impl<T> Serialize for Conflict<T>
where\n T: Serialize,
"],["impl<T> Serialize for Max<T>
where\n T: Serialize,
"],["impl<T> Serialize for Min<T>
where\n T: Serialize,
"],["impl<T, Provenance> Serialize for Point<T, Provenance>
where\n T: Serialize,
"]]],["pn",[["impl Serialize for GossipOrIncrement"],["impl Serialize for TopolotreeMessage"],["impl Serialize for OperationPayload"],["impl Serialize for QueryResponse"],["impl<T> Serialize for Payload<T>
where\n T: Serialize + Debug,
"],["impl<T> Serialize for Timestamped<T>
where\n T: Serialize + Debug,
"]]],["pn_delta",[["impl Serialize for GossipOrIncrement"],["impl Serialize for TopolotreeMessage"],["impl Serialize for OperationPayload"],["impl Serialize for QueryResponse"],["impl<T> Serialize for Payload<T>
where\n T: Serialize + Debug,
"],["impl<T> Serialize for Timestamped<T>
where\n T: Serialize + Debug,
"]]],["topolotree",[["impl Serialize for TopolotreeMessage"],["impl Serialize for OperationPayload"],["impl Serialize for QueryResponse"],["impl<T> Serialize for Payload<T>
where\n T: Serialize + Debug,
"],["impl<T> Serialize for Timestamped<T>
where\n T: Serialize + Debug,
"]]],["website_playground",[["impl Serialize for HydroflowOutput"],["impl Serialize for HydroflowResult"],["impl Serialize for JsDiagnostic"],["impl Serialize for JsLineColumn"],["impl Serialize for JsSpan"]]]]); + var implementors = Object.fromEntries([["gossip_kv",[["impl Serialize for ClientRequest"],["impl Serialize for ClientResponse"],["impl Serialize for GossipMessage"],["impl Serialize for Namespace"],["impl Serialize for InfectingWrite"],["impl Serialize for Key"],["impl<A> Serialize for MemberData<A>
where\n A: Debug + Clone + Eq + Hash + Serialize + Serialize,
"],["impl<A> Serialize for Protocol<A>
where\n A: Serialize,
"],["impl<A> Serialize for SeedNode<A>
where\n A: Address + Serialize,
"],["impl<T, const N: usize> Serialize for BoundedSetLattice<T, N>
where\n T: Eq + Hash + Serialize,
"]]],["gossip_server",[["impl Serialize for SeedNodeSettings"],["impl Serialize for ServerSettings"]]],["hydro_deploy",[["impl Serialize for TerraformBatch"],["impl Serialize for TerraformConfig"],["impl Serialize for TerraformOutput"],["impl Serialize for TerraformProvider"],["impl Serialize for TerraformResultOutput"]]],["hydroflow",[["impl Serialize for HandoffId"],["impl Serialize for SubgraphId"],["impl Serialize for TickDuration"],["impl Serialize for TickInstant"],["impl Serialize for Address"]]],["hydroflow_deploy_integration",[["impl Serialize for ServerBindConfig"],["impl Serialize for ServerPort"]]],["hydroflow_lang",[["impl Serialize for Level"],["impl Serialize for Color"],["impl Serialize for GraphNode"],["impl Serialize for PortIndexValue"],["impl Serialize for Persistence"],["impl Serialize for SerdeSpan"],["impl Serialize for GraphEdgeId"],["impl Serialize for GraphLoopId"],["impl Serialize for GraphNodeId"],["impl Serialize for GraphSubgraphId"],["impl Serialize for HydroflowGraph"],["impl<S> Serialize for Diagnostic<S>
where\n S: Serialize,
"],["impl<V, E> Serialize for DiMulGraph<V, E>
where\n V: Key + Serialize,\n E: Key + Serialize,
"]]],["hydroflow_plus",[["impl Serialize for HydroflowPlusMeta"],["impl<C> Serialize for ClusterId<C>"]]],["hydroflow_plus_test",[["impl Serialize for Ballot"],["impl<K, V> Serialize for KvPayload<K, V>
where\n K: Serialize,\n V: Serialize,
"],["impl<K, V> Serialize for SequencedKv<K, V>
where\n K: Serialize,\n V: Serialize,
"]]],["latency_measure",[["impl Serialize for TopolotreeMessage"],["impl Serialize for OperationPayload"],["impl Serialize for QueryResponse"],["impl<T> Serialize for Payload<T>
where\n T: Serialize + Debug,
"],["impl<T> Serialize for Timestamped<T>
where\n T: Serialize + Debug,
"]]],["lattices",[["impl<Inner> Serialize for WithBot<Inner>
where\n Inner: Serialize,
"],["impl<Inner> Serialize for WithTop<Inner>
where\n Inner: Serialize,
"],["impl<K, V> Serialize for EmptyMap<K, V>"],["impl<K, V> Serialize for OptionMap<K, V>
where\n K: Serialize,\n V: Serialize,
"],["impl<K, V> Serialize for SingletonMap<K, V>
where\n K: Serialize,\n V: Serialize,
"],["impl<K, V> Serialize for VecMap<K, V>
where\n K: Serialize,\n V: Serialize,
"],["impl<Key, Val> Serialize for DomPair<Key, Val>
where\n Key: Serialize,\n Val: Serialize,
"],["impl<Lat> Serialize for VecUnion<Lat>
where\n Lat: Serialize,
"],["impl<LatA, LatB> Serialize for Pair<LatA, LatB>
where\n LatA: Serialize,\n LatB: Serialize,
"],["impl<Map> Serialize for MapUnion<Map>
where\n Map: Serialize,
"],["impl<Map> Serialize for UnionFind<Map>
where\n Map: Serialize,
"],["impl<Map, TombstoneSet> Serialize for MapUnionWithTombstones<Map, TombstoneSet>
where\n Map: Serialize,\n TombstoneSet: Serialize,
"],["impl<Set> Serialize for SetUnion<Set>
where\n Set: Serialize,
"],["impl<T> Serialize for EmptySet<T>"],["impl<T> Serialize for OptionSet<T>
where\n T: Serialize,
"],["impl<T> Serialize for SingletonSet<T>
where\n T: Serialize,
"],["impl<T> Serialize for VecSet<T>
where\n T: Serialize,
"],["impl<T> Serialize for Conflict<T>
where\n T: Serialize,
"],["impl<T> Serialize for Max<T>
where\n T: Serialize,
"],["impl<T> Serialize for Min<T>
where\n T: Serialize,
"],["impl<T, Provenance> Serialize for Point<T, Provenance>
where\n T: Serialize,
"]]],["pn",[["impl Serialize for GossipOrIncrement"],["impl Serialize for TopolotreeMessage"],["impl Serialize for OperationPayload"],["impl Serialize for QueryResponse"],["impl<T> Serialize for Payload<T>
where\n T: Serialize + Debug,
"],["impl<T> Serialize for Timestamped<T>
where\n T: Serialize + Debug,
"]]],["pn_delta",[["impl Serialize for GossipOrIncrement"],["impl Serialize for TopolotreeMessage"],["impl Serialize for OperationPayload"],["impl Serialize for QueryResponse"],["impl<T> Serialize for Payload<T>
where\n T: Serialize + Debug,
"],["impl<T> Serialize for Timestamped<T>
where\n T: Serialize + Debug,
"]]],["topolotree",[["impl Serialize for TopolotreeMessage"],["impl Serialize for OperationPayload"],["impl Serialize for QueryResponse"],["impl<T> Serialize for Payload<T>
where\n T: Serialize + Debug,
"],["impl<T> Serialize for Timestamped<T>
where\n T: Serialize + Debug,
"]]],["website_playground",[["impl Serialize for HydroflowOutput"],["impl Serialize for HydroflowResult"],["impl Serialize for JsDiagnostic"],["impl Serialize for JsLineColumn"],["impl Serialize for JsSpan"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[4773,636,1600,1507,657,4354,722,1698,2229,10757,2357,2435,2174,1495]} \ No newline at end of file +//{"start":57,"fragment_lengths":[4773,636,1600,1507,657,4650,722,1698,2229,10757,2357,2435,2174,1495]} \ No newline at end of file diff --git a/doc/trait.impl/slotmap/trait.Key.js b/doc/trait.impl/slotmap/trait.Key.js index f3bc172b7290..9cf9a66fc702 100644 --- a/doc/trait.impl/slotmap/trait.Key.js +++ b/doc/trait.impl/slotmap/trait.Key.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hydroflow_lang",[["impl Key for GraphEdgeId"],["impl Key for GraphNodeId"],["impl Key for GraphSubgraphId"]]]]); + var implementors = Object.fromEntries([["hydroflow_lang",[["impl Key for GraphEdgeId"],["impl Key for GraphLoopId"],["impl Key for GraphNodeId"],["impl Key for GraphSubgraphId"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[851]} \ No newline at end of file +//{"start":57,"fragment_lengths":[1124]} \ No newline at end of file diff --git a/doc/trait.impl/stageleft/trait.QuotedWithContext.js b/doc/trait.impl/stageleft/trait.QuotedWithContext.js index 14f213049592..556b89946ac6 100644 --- a/doc/trait.impl/stageleft/trait.QuotedWithContext.js +++ b/doc/trait.impl/stageleft/trait.QuotedWithContext.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hydroflow_plus",[["impl<'a, C, Ctx> QuotedWithContext<'a, &'a Vec<ClusterId<C>>, Ctx> for ClusterIds<'a, C>"],["impl<'a, Ctx> QuotedWithContext<'a, Hydroflow<'a>, Ctx> for CompiledFlow<'a, ()>"],["impl<'a, Ctx> QuotedWithContext<'a, Hydroflow<'a>, Ctx> for CompiledFlowWithId<'a>"],["impl<'a, L: Location<'a>> QuotedWithContext<'a, ClusterId<<<L as Location<'a>>::Root as IsCluster>::Tag>, L> for ClusterSelfId<'a>
where\n <L as Location<'a>>::Root: IsCluster,
"]]],["stageleft",[]]]); + var implementors = Object.fromEntries([["hydroflow_plus",[["impl<'a, C, Ctx> QuotedWithContext<'a, &'a Vec<ClusterId<C>>, Ctx> for ClusterIds<'a, C>"],["impl<'a, Ctx> QuotedWithContext<'a, Hydroflow<'a>, Ctx> for CompiledFlow<'a, ()>"],["impl<'a, Ctx> QuotedWithContext<'a, Hydroflow<'a>, Ctx> for CompiledFlowWithId<'a>"],["impl<'a, L: Location<'a>> QuotedWithContext<'a, ClusterId<<<L as Location<'a>>::Root as IsCluster>::Tag>, L> for ClusterSelfId<'a>
where\n <L as Location<'a>>::Root: IsCluster,
"]]],["stageleft",[]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[3468,17]} \ No newline at end of file +//{"start":57,"fragment_lengths":[3742,17]} \ No newline at end of file diff --git a/doc/trait.impl/syn/parse/trait.Parse.js b/doc/trait.impl/syn/parse/trait.Parse.js index be4ffc89d097..dfd0eba10136 100644 --- a/doc/trait.impl/syn/parse/trait.Parse.js +++ b/doc/trait.impl/syn/parse/trait.Parse.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hydroflow_lang",[["impl Parse for HfStatement"],["impl Parse for Pipeline"],["impl Parse for PortIndex"],["impl Parse for HfCode"],["impl Parse for Import"],["impl Parse for IndexInt"],["impl Parse for Indexing"],["impl Parse for NamedHfStatement"],["impl Parse for Operator"],["impl Parse for PipelineLink"],["impl Parse for PipelineParen"],["impl Parse for PipelineStatement"],["impl<Inner> Parse for Ported<Inner>
where\n Inner: Parse,
"]]]]); + var implementors = Object.fromEntries([["hydroflow_lang",[["impl Parse for HfStatement"],["impl Parse for Pipeline"],["impl Parse for PortIndex"],["impl Parse for HfCode"],["impl Parse for Import"],["impl Parse for IndexInt"],["impl Parse for Indexing"],["impl Parse for LoopStatement"],["impl Parse for NamedHfStatement"],["impl Parse for Operator"],["impl Parse for PipelineLink"],["impl Parse for PipelineParen"],["impl Parse for PipelineStatement"],["impl<Inner> Parse for Ported<Inner>
where\n Inner: Parse,
"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[3807]} \ No newline at end of file +//{"start":57,"fragment_lengths":[4094]} \ No newline at end of file diff --git a/doc/type.impl/alloc/rc/struct.Rc.js b/doc/type.impl/alloc/rc/struct.Rc.js index c33fbc8e46e1..5a5903c96393 100644 --- a/doc/type.impl/alloc/rc/struct.Rc.js +++ b/doc/type.impl/alloc/rc/struct.Rc.js @@ -1,9 +1,9 @@ (function() { - var type_impls = Object.fromEntries([["hydroflow_plus",[["
1.69.0 · source§

impl<T> AsFd for Rc<T>
where\n T: AsFd + ?Sized,

source§

fn as_fd(&self) -> BorrowedFd<'_>

Borrows the file descriptor. Read more
","AsFd","hydroflow_plus::builder::FlowState"],["
1.69.0 · source§

impl<T> AsRawFd for Rc<T>
where\n T: AsRawFd,

source§

fn as_raw_fd(&self) -> i32

Extracts the raw file descriptor. Read more
","AsRawFd","hydroflow_plus::builder::FlowState"],["
1.5.0 · source§

impl<T, A> AsRef<T> for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn as_ref(&self) -> &T

Converts this type into a shared reference of the (usually inferred) input type.
","AsRef","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Borrow<T> for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
","Borrow","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Clone for Rc<T, A>
where\n A: Allocator + Clone,\n T: ?Sized,

source§

fn clone(&self) -> Rc<T, A>

Makes a clone of the Rc pointer.

\n

This creates another pointer to the same allocation, increasing the\nstrong reference count.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nlet _ = Rc::clone(&five);
\n
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Debug for Rc<T, A>
where\n T: Debug + ?Sized,\n A: Allocator,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T> Default for Rc<T>
where\n T: Default,

source§

fn default() -> Rc<T>

Creates a new Rc<T>, with the Default value for T.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x: Rc<i32> = Default::default();\nassert_eq!(*x, 0);
\n
","Default","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Deref for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &T

Dereferences the value.
","Deref","hydroflow_plus::builder::FlowState"],["
source§

impl<'de, T> Deserialize<'de> for Rc<T>
where\n Box<T>: Deserialize<'de>,\n T: ?Sized,

This impl requires the \"rc\" Cargo feature of Serde.

\n

Deserializing a data structure containing Rc will not attempt to\ndeduplicate Rc references to the same data. Every deserialized Rc\nwill end up with a strong count of 1.

\n
source§

fn deserialize<D>(\n deserializer: D,\n) -> Result<Rc<T>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Display for Rc<T, A>
where\n T: Display + ?Sized,\n A: Allocator,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Display","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Drop for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn drop(&mut self)

Drops the Rc.

\n

This will decrement the strong reference count. If the strong reference\ncount reaches zero then the only other references (if any) are\nWeak, so we drop the inner value.

\n
§Examples
\n
use std::rc::Rc;\n\nstruct Foo;\n\nimpl Drop for Foo {\n    fn drop(&mut self) {\n        println!(\"dropped!\");\n    }\n}\n\nlet foo  = Rc::new(Foo);\nlet foo2 = Rc::clone(&foo);\n\ndrop(foo);    // Doesn't print anything\ndrop(foo2);   // Prints \"dropped!\"
\n
","Drop","hydroflow_plus::builder::FlowState"],["
1.21.0 · source§

impl<T, A> From<Box<T, A>> for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn from(v: Box<T, A>) -> Rc<T, A>

Move a boxed object to a new, reference counted, allocation.

\n
§Example
\n
let original: Box<i32> = Box::new(1);\nlet shared: Rc<i32> = Rc::from(original);\nassert_eq!(1, *shared);
\n
","From>","hydroflow_plus::builder::FlowState"],["
1.45.0 · source§

impl<'a, B> From<Cow<'a, B>> for Rc<B>
where\n B: ToOwned + ?Sized,\n Rc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,

source§

fn from(cow: Cow<'a, B>) -> Rc<B>

Creates a reference-counted pointer from a clone-on-write pointer by\ncopying its content.

\n
§Example
\n
let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\nlet shared: Rc<str> = Rc::from(cow);\nassert_eq!(\"eggplant\", &shared[..]);
\n
","From>","hydroflow_plus::builder::FlowState"],["
1.6.0 · source§

impl<T> From<T> for Rc<T>

source§

fn from(t: T) -> Rc<T>

Converts a generic type T into an Rc<T>

\n

The conversion allocates on the heap and moves t\nfrom the stack into it.

\n
§Example
\n
let x = 5;\nlet rc = Rc::new(5);\n\nassert_eq!(Rc::from(x), rc);
\n
","From","hydroflow_plus::builder::FlowState"],["
§

impl<H> HandoffMeta for Rc<RefCell<H>>
where\n H: HandoffMeta,

§

fn any_ref(&self) -> &(dyn Any + 'static)

Helper to cast an instance of HandoffMeta to Any. In general you cannot cast between\ntraits, including Any, but this helper method works around that limitation. Read more
§

fn is_bottom(&self) -> bool

Return if the handoff is empty.
","HandoffMeta","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Hash for Rc<T, A>
where\n T: Hash + ?Sized,\n A: Allocator,

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","hydroflow_plus::builder::FlowState"],["
§

impl<Sp> LocalSpawn for Rc<Sp>
where\n Sp: LocalSpawn + ?Sized,

§

fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>,\n) -> Result<(), SpawnError>

Spawns a future that will be run to completion. Read more
§

fn status_local(&self) -> Result<(), SpawnError>

Determines whether the executor is able to spawn new tasks. Read more
","LocalSpawn","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Ord for Rc<T, A>
where\n T: Ord + ?Sized,\n A: Allocator,

source§

fn cmp(&self, other: &Rc<T, A>) -> Ordering

Comparison for two Rcs.

\n

The two are compared by calling cmp() on their inner values.

\n
§Examples
\n
use std::rc::Rc;\nuse std::cmp::Ordering;\n\nlet five = Rc::new(5);\n\nassert_eq!(Ordering::Less, five.cmp(&Rc::new(6)));
\n
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> PartialEq for Rc<T, A>
where\n T: PartialEq + ?Sized,\n A: Allocator,

source§

fn eq(&self, other: &Rc<T, A>) -> bool

Equality for two Rcs.

\n

Two Rcs are equal if their inner values are equal, even if they are\nstored in different allocation.

\n

If T also implements Eq (implying reflexivity of equality),\ntwo Rcs that point to the same allocation are\nalways equal.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five == Rc::new(5));
\n
source§

fn ne(&self, other: &Rc<T, A>) -> bool

Inequality for two Rcs.

\n

Two Rcs are not equal if their inner values are not equal.

\n

If T also implements Eq (implying reflexivity of equality),\ntwo Rcs that point to the same allocation are\nalways equal.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five != Rc::new(6));
\n
","PartialEq","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> PartialOrd for Rc<T, A>
where\n T: PartialOrd + ?Sized,\n A: Allocator,

source§

fn partial_cmp(&self, other: &Rc<T, A>) -> Option<Ordering>

Partial comparison for two Rcs.

\n

The two are compared by calling partial_cmp() on their inner values.

\n
§Examples
\n
use std::rc::Rc;\nuse std::cmp::Ordering;\n\nlet five = Rc::new(5);\n\nassert_eq!(Some(Ordering::Less), five.partial_cmp(&Rc::new(6)));
\n
source§

fn lt(&self, other: &Rc<T, A>) -> bool

Less-than comparison for two Rcs.

\n

The two are compared by calling < on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five < Rc::new(6));
\n
source§

fn le(&self, other: &Rc<T, A>) -> bool

‘Less than or equal to’ comparison for two Rcs.

\n

The two are compared by calling <= on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five <= Rc::new(5));
\n
source§

fn gt(&self, other: &Rc<T, A>) -> bool

Greater-than comparison for two Rcs.

\n

The two are compared by calling > on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five > Rc::new(4));
\n
source§

fn ge(&self, other: &Rc<T, A>) -> bool

‘Greater than or equal to’ comparison for two Rcs.

\n

The two are compared by calling >= on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five >= Rc::new(5));
\n
","PartialOrd","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Pointer for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Pointer","hydroflow_plus::builder::FlowState"],["
source§

impl<T> Rc<T>
where\n T: ?Sized,

1.17.0 · source

pub unsafe fn from_raw(ptr: *const T) -> Rc<T>

Constructs an Rc<T> from a raw pointer.

\n

The raw pointer must have been previously returned by a call to\nRc<U>::into_raw with the following requirements:

\n
    \n
  • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
  • \n
  • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Rc<U> was constructed\nthrough Rc<T> and then converted to Rc<U> through an unsized\ncoercion.
  • \n
\n

Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

\n

The raw pointer must point to a block of memory allocated by the global allocator

\n

The user of from_raw has to make sure a specific value of T is only\ndropped once.

\n

This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Rc<T> is never accessed.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(\"hello\".to_owned());\nlet x_ptr = Rc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Rc` to prevent leak.\n    let x = Rc::from_raw(x_ptr);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Rc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
\n

Convert a slice back into its original array:

\n\n
use std::rc::Rc;\n\nlet x: Rc<[u32]> = Rc::new([1, 2, 3]);\nlet x_ptr: *const [u32] = Rc::into_raw(x);\n\nunsafe {\n    let x: Rc<[u32; 3]> = Rc::from_raw(x_ptr.cast::<[u32; 3]>());\n    assert_eq!(&*x, &[1, 2, 3]);\n}
\n
1.53.0 · source

pub unsafe fn increment_strong_count(ptr: *const T)

Increments the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method, and ptr must point to a block of memory\nallocated by the global allocator.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count(ptr);\n\n    let five = Rc::from_raw(ptr);\n    assert_eq!(2, Rc::strong_count(&five));\n}
\n
1.53.0 · source

pub unsafe fn decrement_strong_count(ptr: *const T)

Decrements the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by the global allocator. This method can be used to release the final Rc and\nbacking storage, but should not be called after the final Rc has been released.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count(ptr);\n\n    let five = Rc::from_raw(ptr);\n    assert_eq!(2, Rc::strong_count(&five));\n    Rc::decrement_strong_count(ptr);\n    assert_eq!(1, Rc::strong_count(&five));\n}
\n
",0,"hydroflow_plus::builder::FlowState"],["
source§

impl<T> Rc<T>

1.0.0 · source

pub fn new(value: T) -> Rc<T>

Constructs a new Rc<T>.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);
\n
1.60.0 · source

pub fn new_cyclic<F>(data_fn: F) -> Rc<T>
where\n F: FnOnce(&Weak<T>) -> T,

Constructs a new Rc<T> while giving you a Weak<T> to the allocation,\nto allow you to construct a T which holds a weak pointer to itself.

\n

Generally, a structure circularly referencing itself, either directly or\nindirectly, should not hold a strong reference to itself to prevent a memory leak.\nUsing this function, you get access to the weak pointer during the\ninitialization of T, before the Rc<T> is created, such that you can\nclone and store it inside the T.

\n

new_cyclic first allocates the managed allocation for the Rc<T>,\nthen calls your closure, giving it a Weak<T> to this allocation,\nand only afterwards completes the construction of the Rc<T> by placing\nthe T returned from your closure into the allocation.

\n

Since the new Rc<T> is not fully-constructed until Rc<T>::new_cyclic\nreturns, calling upgrade on the weak reference inside your closure will\nfail and result in a None value.

\n
§Panics
\n

If data_fn panics, the panic is propagated to the caller, and the\ntemporary Weak<T> is dropped normally.

\n
§Examples
\n
use std::rc::{Rc, Weak};\n\nstruct Gadget {\n    me: Weak<Gadget>,\n}\n\nimpl Gadget {\n    /// Constructs a reference counted Gadget.\n    fn new() -> Rc<Self> {\n        // `me` is a `Weak<Gadget>` pointing at the new allocation of the\n        // `Rc` we're constructing.\n        Rc::new_cyclic(|me| {\n            // Create the actual struct here.\n            Gadget { me: me.clone() }\n        })\n    }\n\n    /// Returns a reference counted pointer to Self.\n    fn me(&self) -> Rc<Self> {\n        self.me.upgrade().unwrap()\n    }\n}
\n
1.83.0 · source

pub fn new_uninit() -> Rc<MaybeUninit<T>>

Constructs a new Rc with uninitialized contents.

\n
§Examples
\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet mut five = Rc::<u32>::new_uninit();\n\n// Deferred initialization:\nRc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5)
\n
source

pub fn new_zeroed() -> Rc<MaybeUninit<T>>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes.

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(new_zeroed_alloc)]\n\nuse std::rc::Rc;\n\nlet zero = Rc::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
\n
source

pub fn try_new(value: T) -> Result<Rc<T>, AllocError>

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

Constructs a new Rc<T>, returning an error if the allocation fails

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\n\nlet five = Rc::try_new(5);
\n
source

pub fn try_new_uninit() -> Result<Rc<MaybeUninit<T>>, AllocError>

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

Constructs a new Rc with uninitialized contents, returning an error if the allocation fails

\n
§Examples
\n
#![feature(allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet mut five = Rc::<u32>::try_new_uninit()?;\n\n// Deferred initialization:\nRc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5);
\n
source

pub fn try_new_zeroed() -> Result<Rc<MaybeUninit<T>>, AllocError>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes, returning an error if the allocation fails

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\n\nlet zero = Rc::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
\n
1.33.0 · source

pub fn pin(value: T) -> Pin<Rc<T>>

Constructs a new Pin<Rc<T>>. If T does not implement Unpin, then\nvalue will be pinned in memory and unable to be moved.

\n
",0,"hydroflow_plus::builder::FlowState"],["
source§

impl<T, A> Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source

pub fn allocator(this: &Rc<T, A>) -> &A

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

Returns a reference to the underlying allocator.

\n

Note: this is an associated function, which means that you have\nto call it as Rc::allocator(&r) instead of r.allocator(). This\nis so that there is no conflict with a method on the inner type.

\n
1.17.0 · source

pub fn into_raw(this: Rc<T, A>) -> *const T

Consumes the Rc, returning the wrapped pointer.

\n

To avoid a memory leak the pointer must be converted back to an Rc using\nRc::from_raw.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(\"hello\".to_owned());\nlet x_ptr = Rc::into_raw(x);\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
\n
source

pub fn into_raw_with_allocator(this: Rc<T, A>) -> (*const T, A)

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

Consumes the Rc, returning the wrapped pointer and allocator.

\n

To avoid a memory leak the pointer must be converted back to an Rc using\nRc::from_raw_in.

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet x = Rc::new_in(\"hello\".to_owned(), System);\nlet (ptr, alloc) = Rc::into_raw_with_allocator(x);\nassert_eq!(unsafe { &*ptr }, \"hello\");\nlet x = unsafe { Rc::from_raw_in(ptr, alloc) };\nassert_eq!(&*x, \"hello\");
\n
1.45.0 · source

pub fn as_ptr(this: &Rc<T, A>) -> *const T

Provides a raw pointer to the data.

\n

The counts are not affected in any way and the Rc is not consumed. The pointer is valid\nfor as long there are strong counts in the Rc.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(\"hello\".to_owned());\nlet y = Rc::clone(&x);\nlet x_ptr = Rc::as_ptr(&x);\nassert_eq!(x_ptr, Rc::as_ptr(&y));\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
\n
source

pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Rc<T, A>

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

Constructs an Rc<T, A> from a raw pointer in the provided allocator.

\n

The raw pointer must have been previously returned by a call to Rc<U, A>::into_raw with the following requirements:

\n
    \n
  • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
  • \n
  • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Rc<U> was constructed\nthrough Rc<T> and then converted to Rc<U> through an unsized\ncoercion.
  • \n
\n

Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

\n

The raw pointer must point to a block of memory allocated by alloc

\n

The user of from_raw has to make sure a specific value of T is only\ndropped once.

\n

This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Rc<T> is never accessed.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet x = Rc::new_in(\"hello\".to_owned(), System);\nlet x_ptr = Rc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Rc` to prevent leak.\n    let x = Rc::from_raw_in(x_ptr, System);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Rc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
\n

Convert a slice back into its original array:

\n\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet x: Rc<[u32], _> = Rc::new_in([1, 2, 3], System);\nlet x_ptr: *const [u32] = Rc::into_raw(x);\n\nunsafe {\n    let x: Rc<[u32; 3], _> = Rc::from_raw_in(x_ptr.cast::<[u32; 3]>(), System);\n    assert_eq!(&*x, &[1, 2, 3]);\n}
\n
1.4.0 · source

pub fn downgrade(this: &Rc<T, A>) -> Weak<T, A>
where\n A: Clone,

Creates a new Weak pointer to this allocation.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nlet weak_five = Rc::downgrade(&five);
\n
1.15.0 · source

pub fn weak_count(this: &Rc<T, A>) -> usize

Gets the number of Weak pointers to this allocation.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\nlet _weak_five = Rc::downgrade(&five);\n\nassert_eq!(1, Rc::weak_count(&five));
\n
1.15.0 · source

pub fn strong_count(this: &Rc<T, A>) -> usize

Gets the number of strong (Rc) pointers to this allocation.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\nlet _also_five = Rc::clone(&five);\n\nassert_eq!(2, Rc::strong_count(&five));
\n
source

pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
where\n A: Clone,

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

Increments the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method, and ptr must point to a block of memory\nallocated by alloc

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::new_in(5, System);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count_in(ptr, System);\n\n    let five = Rc::from_raw_in(ptr, System);\n    assert_eq!(2, Rc::strong_count(&five));\n}
\n
source

pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

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

Decrements the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by alloc. This method can be used to release the final Rc and backing storage,\nbut should not be called after the final Rc has been released.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::new_in(5, System);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count_in(ptr, System);\n\n    let five = Rc::from_raw_in(ptr, System);\n    assert_eq!(2, Rc::strong_count(&five));\n    Rc::decrement_strong_count_in(ptr, System);\n    assert_eq!(1, Rc::strong_count(&five));\n}
\n
1.4.0 · source

pub fn get_mut(this: &mut Rc<T, A>) -> Option<&mut T>

Returns a mutable reference into the given Rc, if there are\nno other Rc or Weak pointers to the same allocation.

\n

Returns None otherwise, because it is not safe to\nmutate a shared value.

\n

See also make_mut, which will clone\nthe inner value when there are other Rc pointers.

\n
§Examples
\n
use std::rc::Rc;\n\nlet mut x = Rc::new(3);\n*Rc::get_mut(&mut x).unwrap() = 4;\nassert_eq!(*x, 4);\n\nlet _y = Rc::clone(&x);\nassert!(Rc::get_mut(&mut x).is_none());
\n
source

pub unsafe fn get_mut_unchecked(this: &mut Rc<T, A>) -> &mut T

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

Returns a mutable reference into the given Rc,\nwithout any check.

\n

See also get_mut, which is safe and does appropriate checks.

\n
§Safety
\n

If any other Rc or Weak pointers to the same allocation exist, then\nthey must not be dereferenced or have active borrows for the duration\nof the returned borrow, and their inner type must be exactly the same as the\ninner type of this Rc (including lifetimes). This is trivially the case if no\nsuch pointers exist, for example immediately after Rc::new.

\n
§Examples
\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet mut x = Rc::new(String::new());\nunsafe {\n    Rc::get_mut_unchecked(&mut x).push_str(\"foo\")\n}\nassert_eq!(*x, \"foo\");
\n

Other Rc pointers to the same allocation must be to the same type.

\n\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet x: Rc<str> = Rc::from(\"Hello, world!\");\nlet mut y: Rc<[u8]> = x.clone().into();\nunsafe {\n    // this is Undefined Behavior, because x's inner type is str, not [u8]\n    Rc::get_mut_unchecked(&mut y).fill(0xff); // 0xff is invalid in UTF-8\n}\nprintln!(\"{}\", &*x); // Invalid UTF-8 in a str
\n

Other Rc pointers to the same allocation must be to the exact same type, including lifetimes.

\n\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet x: Rc<&str> = Rc::new(\"Hello, world!\");\n{\n    let s = String::from(\"Oh, no!\");\n    let mut y: Rc<&str> = x.clone().into();\n    unsafe {\n        // this is Undefined Behavior, because x's inner type\n        // is &'long str, not &'short str\n        *Rc::get_mut_unchecked(&mut y) = &s;\n    }\n}\nprintln!(\"{}\", &*x); // Use-after-free
\n
1.17.0 · source

pub fn ptr_eq(this: &Rc<T, A>, other: &Rc<T, A>) -> bool

Returns true if the two Rcs point to the same allocation in a vein similar to\nptr::eq. This function ignores the metadata of dyn Trait pointers.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\nlet same_five = Rc::clone(&five);\nlet other_five = Rc::new(5);\n\nassert!(Rc::ptr_eq(&five, &same_five));\nassert!(!Rc::ptr_eq(&five, &other_five));
\n
",0,"hydroflow_plus::builder::FlowState"],["
source§

impl<T, A> Rc<T, A>
where\n T: CloneToUninit + ?Sized,\n A: Allocator + Clone,

1.4.0 · source

pub fn make_mut(this: &mut Rc<T, A>) -> &mut T

Makes a mutable reference into the given Rc.

\n

If there are other Rc pointers to the same allocation, then make_mut will\nclone the inner value to a new allocation to ensure unique ownership. This is also\nreferred to as clone-on-write.

\n

However, if there are no other Rc pointers to this allocation, but some Weak\npointers, then the Weak pointers will be disassociated and the inner value will not\nbe cloned.

\n

See also get_mut, which will fail rather than cloning the inner value\nor disassociating Weak pointers.

\n
§Examples
\n
use std::rc::Rc;\n\nlet mut data = Rc::new(5);\n\n*Rc::make_mut(&mut data) += 1;         // Won't clone anything\nlet mut other_data = Rc::clone(&data); // Won't clone inner data\n*Rc::make_mut(&mut data) += 1;         // Clones inner data\n*Rc::make_mut(&mut data) += 1;         // Won't clone anything\n*Rc::make_mut(&mut other_data) *= 2;   // Won't clone anything\n\n// Now `data` and `other_data` point to different allocations.\nassert_eq!(*data, 8);\nassert_eq!(*other_data, 12);
\n

Weak pointers will be disassociated:

\n\n
use std::rc::Rc;\n\nlet mut data = Rc::new(75);\nlet weak = Rc::downgrade(&data);\n\nassert!(75 == *data);\nassert!(75 == *weak.upgrade().unwrap());\n\n*Rc::make_mut(&mut data) += 1;\n\nassert!(76 == *data);\nassert!(weak.upgrade().is_none());
\n
",0,"hydroflow_plus::builder::FlowState"],["
source§

impl<T, A> Rc<T, A>
where\n T: Clone,\n A: Allocator,

1.76.0 · source

pub fn unwrap_or_clone(this: Rc<T, A>) -> T

If we have the only reference to T then unwrap it. Otherwise, clone T and return the\nclone.

\n

Assuming rc_t is of type Rc<T>, this function is functionally equivalent to\n(*rc_t).clone(), but will avoid cloning the inner value where possible.

\n
§Examples
\n
let inner = String::from(\"test\");\nlet ptr = inner.as_ptr();\n\nlet rc = Rc::new(inner);\nlet inner = Rc::unwrap_or_clone(rc);\n// The inner value was not cloned\nassert!(ptr::eq(ptr, inner.as_ptr()));\n\nlet rc = Rc::new(inner);\nlet rc2 = rc.clone();\nlet inner = Rc::unwrap_or_clone(rc);\n// Because there were 2 references, we had to clone the inner value.\nassert!(!ptr::eq(ptr, inner.as_ptr()));\n// `rc2` is the last reference, so when we unwrap it we get back\n// the original `String`.\nlet inner = Rc::unwrap_or_clone(rc2);\nassert!(ptr::eq(ptr, inner.as_ptr()));
\n
",0,"hydroflow_plus::builder::FlowState"],["
source§

impl<T, A> Rc<T, A>
where\n A: Allocator,

source

pub fn new_in(value: T, alloc: A) -> Rc<T, A>

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

Constructs a new Rc in the provided allocator.

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::new_in(5, System);
\n
source

pub fn new_uninit_in(alloc: A) -> Rc<MaybeUninit<T>, A>

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

Constructs a new Rc with uninitialized contents in the provided allocator.

\n
§Examples
\n
#![feature(get_mut_unchecked)]\n#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet mut five = Rc::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
\n
source

pub fn new_zeroed_in(alloc: A) -> Rc<MaybeUninit<T>, A>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator.

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet zero = Rc::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
\n
source

pub fn try_new_in(value: T, alloc: A) -> Result<Rc<T, A>, AllocError>

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

Constructs a new Rc<T> in the provided allocator, returning an error if the allocation\nfails

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::try_new_in(5, System);
\n
source

pub fn try_new_uninit_in(alloc: A) -> Result<Rc<MaybeUninit<T>, A>, AllocError>

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

Constructs a new Rc with uninitialized contents, in the provided allocator, returning an\nerror if the allocation fails

\n
§Examples
\n
#![feature(allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet mut five = Rc::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
\n
source

pub fn try_new_zeroed_in(alloc: A) -> Result<Rc<MaybeUninit<T>, A>, AllocError>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator, returning an error if the allocation\nfails

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet zero = Rc::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
\n
source

pub fn pin_in(value: T, alloc: A) -> Pin<Rc<T, A>>
where\n A: 'static,

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

Constructs a new Pin<Rc<T>> in the provided allocator. If T does not implement Unpin, then\nvalue will be pinned in memory and unable to be moved.

\n
1.4.0 · source

pub fn try_unwrap(this: Rc<T, A>) -> Result<T, Rc<T, A>>

Returns the inner value, if the Rc has exactly one strong reference.

\n

Otherwise, an Err is returned with the same Rc that was\npassed in.

\n

This will succeed even if there are outstanding weak references.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(3);\nassert_eq!(Rc::try_unwrap(x), Ok(3));\n\nlet x = Rc::new(4);\nlet _y = Rc::clone(&x);\nassert_eq!(*Rc::try_unwrap(x).unwrap_err(), 4);
\n
1.70.0 · source

pub fn into_inner(this: Rc<T, A>) -> Option<T>

Returns the inner value, if the Rc has exactly one strong reference.

\n

Otherwise, None is returned and the Rc is dropped.

\n

This will succeed even if there are outstanding weak references.

\n

If Rc::into_inner is called on every clone of this Rc,\nit is guaranteed that exactly one of the calls returns the inner value.\nThis means in particular that the inner value is not dropped.

\n

Rc::try_unwrap is conceptually similar to Rc::into_inner.\nAnd while they are meant for different use-cases, Rc::into_inner(this)\nis in fact equivalent to Rc::try_unwrap(this).ok().\n(Note that the same kind of equivalence does not hold true for\nArc, due to race conditions that do not apply to Rc!)

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(3);\nassert_eq!(Rc::into_inner(x), Some(3));\n\nlet x = Rc::new(4);\nlet y = Rc::clone(&x);\n\nassert_eq!(Rc::into_inner(y), None);\nassert_eq!(Rc::into_inner(x), Some(4));
\n
",0,"hydroflow_plus::builder::FlowState"],["
source§

impl<T> Serialize for Rc<T>
where\n T: Serialize + ?Sized,

This impl requires the \"rc\" Cargo feature of Serde.

\n

Serializing a data structure containing Rc will serialize a copy of\nthe contents of the Rc each time the Rc is referenced within the\ndata structure. Serialization will not attempt to deduplicate these\nrepeated data.

\n
source§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","hydroflow_plus::builder::FlowState"],["
§

impl<Sp> Spawn for Rc<Sp>
where\n Sp: Spawn + ?Sized,

§

fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

Spawns a future that will be run to completion. Read more
§

fn status(&self) -> Result<(), SpawnError>

Determines whether the executor is able to spawn new tasks. Read more
","Spawn","hydroflow_plus::builder::FlowState"],["
source§

impl<T> ToTokens for Rc<T>
where\n T: ToTokens + ?Sized,

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where\n Self: Sized,

Convert self directly into a TokenStream object. Read more
","ToTokens","hydroflow_plus::builder::FlowState"],["
source§

impl<T, U, A> CoerceUnsized<Rc<U, A>> for Rc<T, A>
where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

","CoerceUnsized>","hydroflow_plus::builder::FlowState"],["
source§

impl<T, A> DerefPure for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","DerefPure","hydroflow_plus::builder::FlowState"],["
source§

impl<T, U> DispatchFromDyn<Rc<U>> for Rc<T>
where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

","DispatchFromDyn>","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Eq for Rc<T, A>
where\n T: Eq + ?Sized,\n A: Allocator,

","Eq","hydroflow_plus::builder::FlowState"],["
source§

impl<T, A> PinCoerceUnsized for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","PinCoerceUnsized","hydroflow_plus::builder::FlowState"],["
1.58.0 · source§

impl<T, A> RefUnwindSafe for Rc<T, A>
where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

","RefUnwindSafe","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> !Send for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","Send","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> !Sync for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","Sync","hydroflow_plus::builder::FlowState"],["
1.33.0 · source§

impl<T, A> Unpin for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","Unpin","hydroflow_plus::builder::FlowState"],["
1.9.0 · source§

impl<T, A> UnwindSafe for Rc<T, A>
where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

","UnwindSafe","hydroflow_plus::builder::FlowState"]]],["topolotree",[["
1.69.0 · source§

impl<T> AsFd for Rc<T>
where\n T: AsFd + ?Sized,

source§

fn as_fd(&self) -> BorrowedFd<'_>

Borrows the file descriptor. Read more
","AsFd","topolotree::ContributionAgg"],["
1.69.0 · source§

impl<T> AsRawFd for Rc<T>
where\n T: AsRawFd,

source§

fn as_raw_fd(&self) -> i32

Extracts the raw file descriptor. Read more
","AsRawFd","topolotree::ContributionAgg"],["
1.5.0 · source§

impl<T, A> AsRef<T> for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn as_ref(&self) -> &T

Converts this type into a shared reference of the (usually inferred) input type.
","AsRef","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Borrow<T> for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
","Borrow","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Clone for Rc<T, A>
where\n A: Allocator + Clone,\n T: ?Sized,

source§

fn clone(&self) -> Rc<T, A>

Makes a clone of the Rc pointer.

\n

This creates another pointer to the same allocation, increasing the\nstrong reference count.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nlet _ = Rc::clone(&five);
\n
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Debug for Rc<T, A>
where\n T: Debug + ?Sized,\n A: Allocator,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T> Default for Rc<T>
where\n T: Default,

source§

fn default() -> Rc<T>

Creates a new Rc<T>, with the Default value for T.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x: Rc<i32> = Default::default();\nassert_eq!(*x, 0);
\n
","Default","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Deref for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &T

Dereferences the value.
","Deref","topolotree::ContributionAgg"],["
source§

impl<'de, T> Deserialize<'de> for Rc<T>
where\n Box<T>: Deserialize<'de>,\n T: ?Sized,

This impl requires the \"rc\" Cargo feature of Serde.

\n

Deserializing a data structure containing Rc will not attempt to\ndeduplicate Rc references to the same data. Every deserialized Rc\nwill end up with a strong count of 1.

\n
source§

fn deserialize<D>(\n deserializer: D,\n) -> Result<Rc<T>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Display for Rc<T, A>
where\n T: Display + ?Sized,\n A: Allocator,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Display","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Drop for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn drop(&mut self)

Drops the Rc.

\n

This will decrement the strong reference count. If the strong reference\ncount reaches zero then the only other references (if any) are\nWeak, so we drop the inner value.

\n
§Examples
\n
use std::rc::Rc;\n\nstruct Foo;\n\nimpl Drop for Foo {\n    fn drop(&mut self) {\n        println!(\"dropped!\");\n    }\n}\n\nlet foo  = Rc::new(Foo);\nlet foo2 = Rc::clone(&foo);\n\ndrop(foo);    // Doesn't print anything\ndrop(foo2);   // Prints \"dropped!\"
\n
","Drop","topolotree::ContributionAgg"],["
1.21.0 · source§

impl<T, A> From<Box<T, A>> for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn from(v: Box<T, A>) -> Rc<T, A>

Move a boxed object to a new, reference counted, allocation.

\n
§Example
\n
let original: Box<i32> = Box::new(1);\nlet shared: Rc<i32> = Rc::from(original);\nassert_eq!(1, *shared);
\n
","From>","topolotree::ContributionAgg"],["
1.45.0 · source§

impl<'a, B> From<Cow<'a, B>> for Rc<B>
where\n B: ToOwned + ?Sized,\n Rc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,

source§

fn from(cow: Cow<'a, B>) -> Rc<B>

Creates a reference-counted pointer from a clone-on-write pointer by\ncopying its content.

\n
§Example
\n
let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\nlet shared: Rc<str> = Rc::from(cow);\nassert_eq!(\"eggplant\", &shared[..]);
\n
","From>","topolotree::ContributionAgg"],["
1.6.0 · source§

impl<T> From<T> for Rc<T>

source§

fn from(t: T) -> Rc<T>

Converts a generic type T into an Rc<T>

\n

The conversion allocates on the heap and moves t\nfrom the stack into it.

\n
§Example
\n
let x = 5;\nlet rc = Rc::new(5);\n\nassert_eq!(Rc::from(x), rc);
\n
","From","topolotree::ContributionAgg"],["
§

impl<H> HandoffMeta for Rc<RefCell<H>>
where\n H: HandoffMeta,

§

fn any_ref(&self) -> &(dyn Any + 'static)

Helper to cast an instance of HandoffMeta to Any. In general you cannot cast between\ntraits, including Any, but this helper method works around that limitation. Read more
§

fn is_bottom(&self) -> bool

Return if the handoff is empty.
","HandoffMeta","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Hash for Rc<T, A>
where\n T: Hash + ?Sized,\n A: Allocator,

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","topolotree::ContributionAgg"],["
§

impl<Sp> LocalSpawn for Rc<Sp>
where\n Sp: LocalSpawn + ?Sized,

§

fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>,\n) -> Result<(), SpawnError>

Spawns a future that will be run to completion. Read more
§

fn status_local(&self) -> Result<(), SpawnError>

Determines whether the executor is able to spawn new tasks. Read more
","LocalSpawn","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Ord for Rc<T, A>
where\n T: Ord + ?Sized,\n A: Allocator,

source§

fn cmp(&self, other: &Rc<T, A>) -> Ordering

Comparison for two Rcs.

\n

The two are compared by calling cmp() on their inner values.

\n
§Examples
\n
use std::rc::Rc;\nuse std::cmp::Ordering;\n\nlet five = Rc::new(5);\n\nassert_eq!(Ordering::Less, five.cmp(&Rc::new(6)));
\n
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> PartialEq for Rc<T, A>
where\n T: PartialEq + ?Sized,\n A: Allocator,

source§

fn eq(&self, other: &Rc<T, A>) -> bool

Equality for two Rcs.

\n

Two Rcs are equal if their inner values are equal, even if they are\nstored in different allocation.

\n

If T also implements Eq (implying reflexivity of equality),\ntwo Rcs that point to the same allocation are\nalways equal.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five == Rc::new(5));
\n
source§

fn ne(&self, other: &Rc<T, A>) -> bool

Inequality for two Rcs.

\n

Two Rcs are not equal if their inner values are not equal.

\n

If T also implements Eq (implying reflexivity of equality),\ntwo Rcs that point to the same allocation are\nalways equal.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five != Rc::new(6));
\n
","PartialEq","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> PartialOrd for Rc<T, A>
where\n T: PartialOrd + ?Sized,\n A: Allocator,

source§

fn partial_cmp(&self, other: &Rc<T, A>) -> Option<Ordering>

Partial comparison for two Rcs.

\n

The two are compared by calling partial_cmp() on their inner values.

\n
§Examples
\n
use std::rc::Rc;\nuse std::cmp::Ordering;\n\nlet five = Rc::new(5);\n\nassert_eq!(Some(Ordering::Less), five.partial_cmp(&Rc::new(6)));
\n
source§

fn lt(&self, other: &Rc<T, A>) -> bool

Less-than comparison for two Rcs.

\n

The two are compared by calling < on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five < Rc::new(6));
\n
source§

fn le(&self, other: &Rc<T, A>) -> bool

‘Less than or equal to’ comparison for two Rcs.

\n

The two are compared by calling <= on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five <= Rc::new(5));
\n
source§

fn gt(&self, other: &Rc<T, A>) -> bool

Greater-than comparison for two Rcs.

\n

The two are compared by calling > on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five > Rc::new(4));
\n
source§

fn ge(&self, other: &Rc<T, A>) -> bool

‘Greater than or equal to’ comparison for two Rcs.

\n

The two are compared by calling >= on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five >= Rc::new(5));
\n
","PartialOrd","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Pointer for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Pointer","topolotree::ContributionAgg"],["
source§

impl<T> Rc<T>
where\n T: ?Sized,

1.17.0 · source

pub unsafe fn from_raw(ptr: *const T) -> Rc<T>

Constructs an Rc<T> from a raw pointer.

\n

The raw pointer must have been previously returned by a call to\nRc<U>::into_raw with the following requirements:

\n
    \n
  • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
  • \n
  • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Rc<U> was constructed\nthrough Rc<T> and then converted to Rc<U> through an unsized\ncoercion.
  • \n
\n

Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

\n

The raw pointer must point to a block of memory allocated by the global allocator

\n

The user of from_raw has to make sure a specific value of T is only\ndropped once.

\n

This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Rc<T> is never accessed.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(\"hello\".to_owned());\nlet x_ptr = Rc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Rc` to prevent leak.\n    let x = Rc::from_raw(x_ptr);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Rc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
\n

Convert a slice back into its original array:

\n\n
use std::rc::Rc;\n\nlet x: Rc<[u32]> = Rc::new([1, 2, 3]);\nlet x_ptr: *const [u32] = Rc::into_raw(x);\n\nunsafe {\n    let x: Rc<[u32; 3]> = Rc::from_raw(x_ptr.cast::<[u32; 3]>());\n    assert_eq!(&*x, &[1, 2, 3]);\n}
\n
1.53.0 · source

pub unsafe fn increment_strong_count(ptr: *const T)

Increments the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method, and ptr must point to a block of memory\nallocated by the global allocator.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count(ptr);\n\n    let five = Rc::from_raw(ptr);\n    assert_eq!(2, Rc::strong_count(&five));\n}
\n
1.53.0 · source

pub unsafe fn decrement_strong_count(ptr: *const T)

Decrements the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by the global allocator. This method can be used to release the final Rc and\nbacking storage, but should not be called after the final Rc has been released.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count(ptr);\n\n    let five = Rc::from_raw(ptr);\n    assert_eq!(2, Rc::strong_count(&five));\n    Rc::decrement_strong_count(ptr);\n    assert_eq!(1, Rc::strong_count(&five));\n}
\n
",0,"topolotree::ContributionAgg"],["
source§

impl<T> Rc<T>

1.0.0 · source

pub fn new(value: T) -> Rc<T>

Constructs a new Rc<T>.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);
\n
1.60.0 · source

pub fn new_cyclic<F>(data_fn: F) -> Rc<T>
where\n F: FnOnce(&Weak<T>) -> T,

Constructs a new Rc<T> while giving you a Weak<T> to the allocation,\nto allow you to construct a T which holds a weak pointer to itself.

\n

Generally, a structure circularly referencing itself, either directly or\nindirectly, should not hold a strong reference to itself to prevent a memory leak.\nUsing this function, you get access to the weak pointer during the\ninitialization of T, before the Rc<T> is created, such that you can\nclone and store it inside the T.

\n

new_cyclic first allocates the managed allocation for the Rc<T>,\nthen calls your closure, giving it a Weak<T> to this allocation,\nand only afterwards completes the construction of the Rc<T> by placing\nthe T returned from your closure into the allocation.

\n

Since the new Rc<T> is not fully-constructed until Rc<T>::new_cyclic\nreturns, calling upgrade on the weak reference inside your closure will\nfail and result in a None value.

\n
§Panics
\n

If data_fn panics, the panic is propagated to the caller, and the\ntemporary Weak<T> is dropped normally.

\n
§Examples
\n
use std::rc::{Rc, Weak};\n\nstruct Gadget {\n    me: Weak<Gadget>,\n}\n\nimpl Gadget {\n    /// Constructs a reference counted Gadget.\n    fn new() -> Rc<Self> {\n        // `me` is a `Weak<Gadget>` pointing at the new allocation of the\n        // `Rc` we're constructing.\n        Rc::new_cyclic(|me| {\n            // Create the actual struct here.\n            Gadget { me: me.clone() }\n        })\n    }\n\n    /// Returns a reference counted pointer to Self.\n    fn me(&self) -> Rc<Self> {\n        self.me.upgrade().unwrap()\n    }\n}
\n
1.83.0 · source

pub fn new_uninit() -> Rc<MaybeUninit<T>>

Constructs a new Rc with uninitialized contents.

\n
§Examples
\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet mut five = Rc::<u32>::new_uninit();\n\n// Deferred initialization:\nRc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5)
\n
source

pub fn new_zeroed() -> Rc<MaybeUninit<T>>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes.

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(new_zeroed_alloc)]\n\nuse std::rc::Rc;\n\nlet zero = Rc::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
\n
source

pub fn try_new(value: T) -> Result<Rc<T>, AllocError>

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

Constructs a new Rc<T>, returning an error if the allocation fails

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\n\nlet five = Rc::try_new(5);
\n
source

pub fn try_new_uninit() -> Result<Rc<MaybeUninit<T>>, AllocError>

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

Constructs a new Rc with uninitialized contents, returning an error if the allocation fails

\n
§Examples
\n
#![feature(allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet mut five = Rc::<u32>::try_new_uninit()?;\n\n// Deferred initialization:\nRc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5);
\n
source

pub fn try_new_zeroed() -> Result<Rc<MaybeUninit<T>>, AllocError>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes, returning an error if the allocation fails

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\n\nlet zero = Rc::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
\n
1.33.0 · source

pub fn pin(value: T) -> Pin<Rc<T>>

Constructs a new Pin<Rc<T>>. If T does not implement Unpin, then\nvalue will be pinned in memory and unable to be moved.

\n
",0,"topolotree::ContributionAgg"],["
source§

impl<T, A> Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source

pub fn allocator(this: &Rc<T, A>) -> &A

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

Returns a reference to the underlying allocator.

\n

Note: this is an associated function, which means that you have\nto call it as Rc::allocator(&r) instead of r.allocator(). This\nis so that there is no conflict with a method on the inner type.

\n
1.17.0 · source

pub fn into_raw(this: Rc<T, A>) -> *const T

Consumes the Rc, returning the wrapped pointer.

\n

To avoid a memory leak the pointer must be converted back to an Rc using\nRc::from_raw.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(\"hello\".to_owned());\nlet x_ptr = Rc::into_raw(x);\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
\n
source

pub fn into_raw_with_allocator(this: Rc<T, A>) -> (*const T, A)

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

Consumes the Rc, returning the wrapped pointer and allocator.

\n

To avoid a memory leak the pointer must be converted back to an Rc using\nRc::from_raw_in.

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet x = Rc::new_in(\"hello\".to_owned(), System);\nlet (ptr, alloc) = Rc::into_raw_with_allocator(x);\nassert_eq!(unsafe { &*ptr }, \"hello\");\nlet x = unsafe { Rc::from_raw_in(ptr, alloc) };\nassert_eq!(&*x, \"hello\");
\n
1.45.0 · source

pub fn as_ptr(this: &Rc<T, A>) -> *const T

Provides a raw pointer to the data.

\n

The counts are not affected in any way and the Rc is not consumed. The pointer is valid\nfor as long there are strong counts in the Rc.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(\"hello\".to_owned());\nlet y = Rc::clone(&x);\nlet x_ptr = Rc::as_ptr(&x);\nassert_eq!(x_ptr, Rc::as_ptr(&y));\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
\n
source

pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Rc<T, A>

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

Constructs an Rc<T, A> from a raw pointer in the provided allocator.

\n

The raw pointer must have been previously returned by a call to Rc<U, A>::into_raw with the following requirements:

\n
    \n
  • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
  • \n
  • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Rc<U> was constructed\nthrough Rc<T> and then converted to Rc<U> through an unsized\ncoercion.
  • \n
\n

Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

\n

The raw pointer must point to a block of memory allocated by alloc

\n

The user of from_raw has to make sure a specific value of T is only\ndropped once.

\n

This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Rc<T> is never accessed.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet x = Rc::new_in(\"hello\".to_owned(), System);\nlet x_ptr = Rc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Rc` to prevent leak.\n    let x = Rc::from_raw_in(x_ptr, System);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Rc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
\n

Convert a slice back into its original array:

\n\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet x: Rc<[u32], _> = Rc::new_in([1, 2, 3], System);\nlet x_ptr: *const [u32] = Rc::into_raw(x);\n\nunsafe {\n    let x: Rc<[u32; 3], _> = Rc::from_raw_in(x_ptr.cast::<[u32; 3]>(), System);\n    assert_eq!(&*x, &[1, 2, 3]);\n}
\n
1.4.0 · source

pub fn downgrade(this: &Rc<T, A>) -> Weak<T, A>
where\n A: Clone,

Creates a new Weak pointer to this allocation.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nlet weak_five = Rc::downgrade(&five);
\n
1.15.0 · source

pub fn weak_count(this: &Rc<T, A>) -> usize

Gets the number of Weak pointers to this allocation.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\nlet _weak_five = Rc::downgrade(&five);\n\nassert_eq!(1, Rc::weak_count(&five));
\n
1.15.0 · source

pub fn strong_count(this: &Rc<T, A>) -> usize

Gets the number of strong (Rc) pointers to this allocation.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\nlet _also_five = Rc::clone(&five);\n\nassert_eq!(2, Rc::strong_count(&five));
\n
source

pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
where\n A: Clone,

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

Increments the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method, and ptr must point to a block of memory\nallocated by alloc

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::new_in(5, System);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count_in(ptr, System);\n\n    let five = Rc::from_raw_in(ptr, System);\n    assert_eq!(2, Rc::strong_count(&five));\n}
\n
source

pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

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

Decrements the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by alloc. This method can be used to release the final Rc and backing storage,\nbut should not be called after the final Rc has been released.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::new_in(5, System);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count_in(ptr, System);\n\n    let five = Rc::from_raw_in(ptr, System);\n    assert_eq!(2, Rc::strong_count(&five));\n    Rc::decrement_strong_count_in(ptr, System);\n    assert_eq!(1, Rc::strong_count(&five));\n}
\n
1.4.0 · source

pub fn get_mut(this: &mut Rc<T, A>) -> Option<&mut T>

Returns a mutable reference into the given Rc, if there are\nno other Rc or Weak pointers to the same allocation.

\n

Returns None otherwise, because it is not safe to\nmutate a shared value.

\n

See also make_mut, which will clone\nthe inner value when there are other Rc pointers.

\n
§Examples
\n
use std::rc::Rc;\n\nlet mut x = Rc::new(3);\n*Rc::get_mut(&mut x).unwrap() = 4;\nassert_eq!(*x, 4);\n\nlet _y = Rc::clone(&x);\nassert!(Rc::get_mut(&mut x).is_none());
\n
source

pub unsafe fn get_mut_unchecked(this: &mut Rc<T, A>) -> &mut T

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

Returns a mutable reference into the given Rc,\nwithout any check.

\n

See also get_mut, which is safe and does appropriate checks.

\n
§Safety
\n

If any other Rc or Weak pointers to the same allocation exist, then\nthey must not be dereferenced or have active borrows for the duration\nof the returned borrow, and their inner type must be exactly the same as the\ninner type of this Rc (including lifetimes). This is trivially the case if no\nsuch pointers exist, for example immediately after Rc::new.

\n
§Examples
\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet mut x = Rc::new(String::new());\nunsafe {\n    Rc::get_mut_unchecked(&mut x).push_str(\"foo\")\n}\nassert_eq!(*x, \"foo\");
\n

Other Rc pointers to the same allocation must be to the same type.

\n\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet x: Rc<str> = Rc::from(\"Hello, world!\");\nlet mut y: Rc<[u8]> = x.clone().into();\nunsafe {\n    // this is Undefined Behavior, because x's inner type is str, not [u8]\n    Rc::get_mut_unchecked(&mut y).fill(0xff); // 0xff is invalid in UTF-8\n}\nprintln!(\"{}\", &*x); // Invalid UTF-8 in a str
\n

Other Rc pointers to the same allocation must be to the exact same type, including lifetimes.

\n\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet x: Rc<&str> = Rc::new(\"Hello, world!\");\n{\n    let s = String::from(\"Oh, no!\");\n    let mut y: Rc<&str> = x.clone().into();\n    unsafe {\n        // this is Undefined Behavior, because x's inner type\n        // is &'long str, not &'short str\n        *Rc::get_mut_unchecked(&mut y) = &s;\n    }\n}\nprintln!(\"{}\", &*x); // Use-after-free
\n
1.17.0 · source

pub fn ptr_eq(this: &Rc<T, A>, other: &Rc<T, A>) -> bool

Returns true if the two Rcs point to the same allocation in a vein similar to\nptr::eq. This function ignores the metadata of dyn Trait pointers.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\nlet same_five = Rc::clone(&five);\nlet other_five = Rc::new(5);\n\nassert!(Rc::ptr_eq(&five, &same_five));\nassert!(!Rc::ptr_eq(&five, &other_five));
\n
",0,"topolotree::ContributionAgg"],["
source§

impl<T, A> Rc<T, A>
where\n T: CloneToUninit + ?Sized,\n A: Allocator + Clone,

1.4.0 · source

pub fn make_mut(this: &mut Rc<T, A>) -> &mut T

Makes a mutable reference into the given Rc.

\n

If there are other Rc pointers to the same allocation, then make_mut will\nclone the inner value to a new allocation to ensure unique ownership. This is also\nreferred to as clone-on-write.

\n

However, if there are no other Rc pointers to this allocation, but some Weak\npointers, then the Weak pointers will be disassociated and the inner value will not\nbe cloned.

\n

See also get_mut, which will fail rather than cloning the inner value\nor disassociating Weak pointers.

\n
§Examples
\n
use std::rc::Rc;\n\nlet mut data = Rc::new(5);\n\n*Rc::make_mut(&mut data) += 1;         // Won't clone anything\nlet mut other_data = Rc::clone(&data); // Won't clone inner data\n*Rc::make_mut(&mut data) += 1;         // Clones inner data\n*Rc::make_mut(&mut data) += 1;         // Won't clone anything\n*Rc::make_mut(&mut other_data) *= 2;   // Won't clone anything\n\n// Now `data` and `other_data` point to different allocations.\nassert_eq!(*data, 8);\nassert_eq!(*other_data, 12);
\n

Weak pointers will be disassociated:

\n\n
use std::rc::Rc;\n\nlet mut data = Rc::new(75);\nlet weak = Rc::downgrade(&data);\n\nassert!(75 == *data);\nassert!(75 == *weak.upgrade().unwrap());\n\n*Rc::make_mut(&mut data) += 1;\n\nassert!(76 == *data);\nassert!(weak.upgrade().is_none());
\n
",0,"topolotree::ContributionAgg"],["
source§

impl<T, A> Rc<T, A>
where\n T: Clone,\n A: Allocator,

1.76.0 · source

pub fn unwrap_or_clone(this: Rc<T, A>) -> T

If we have the only reference to T then unwrap it. Otherwise, clone T and return the\nclone.

\n

Assuming rc_t is of type Rc<T>, this function is functionally equivalent to\n(*rc_t).clone(), but will avoid cloning the inner value where possible.

\n
§Examples
\n
let inner = String::from(\"test\");\nlet ptr = inner.as_ptr();\n\nlet rc = Rc::new(inner);\nlet inner = Rc::unwrap_or_clone(rc);\n// The inner value was not cloned\nassert!(ptr::eq(ptr, inner.as_ptr()));\n\nlet rc = Rc::new(inner);\nlet rc2 = rc.clone();\nlet inner = Rc::unwrap_or_clone(rc);\n// Because there were 2 references, we had to clone the inner value.\nassert!(!ptr::eq(ptr, inner.as_ptr()));\n// `rc2` is the last reference, so when we unwrap it we get back\n// the original `String`.\nlet inner = Rc::unwrap_or_clone(rc2);\nassert!(ptr::eq(ptr, inner.as_ptr()));
\n
",0,"topolotree::ContributionAgg"],["
source§

impl<T, A> Rc<T, A>
where\n A: Allocator,

source

pub fn new_in(value: T, alloc: A) -> Rc<T, A>

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

Constructs a new Rc in the provided allocator.

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::new_in(5, System);
\n
source

pub fn new_uninit_in(alloc: A) -> Rc<MaybeUninit<T>, A>

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

Constructs a new Rc with uninitialized contents in the provided allocator.

\n
§Examples
\n
#![feature(get_mut_unchecked)]\n#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet mut five = Rc::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
\n
source

pub fn new_zeroed_in(alloc: A) -> Rc<MaybeUninit<T>, A>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator.

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet zero = Rc::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
\n
source

pub fn try_new_in(value: T, alloc: A) -> Result<Rc<T, A>, AllocError>

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

Constructs a new Rc<T> in the provided allocator, returning an error if the allocation\nfails

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::try_new_in(5, System);
\n
source

pub fn try_new_uninit_in(alloc: A) -> Result<Rc<MaybeUninit<T>, A>, AllocError>

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

Constructs a new Rc with uninitialized contents, in the provided allocator, returning an\nerror if the allocation fails

\n
§Examples
\n
#![feature(allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet mut five = Rc::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
\n
source

pub fn try_new_zeroed_in(alloc: A) -> Result<Rc<MaybeUninit<T>, A>, AllocError>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator, returning an error if the allocation\nfails

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet zero = Rc::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
\n
source

pub fn pin_in(value: T, alloc: A) -> Pin<Rc<T, A>>
where\n A: 'static,

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

Constructs a new Pin<Rc<T>> in the provided allocator. If T does not implement Unpin, then\nvalue will be pinned in memory and unable to be moved.

\n
1.4.0 · source

pub fn try_unwrap(this: Rc<T, A>) -> Result<T, Rc<T, A>>

Returns the inner value, if the Rc has exactly one strong reference.

\n

Otherwise, an Err is returned with the same Rc that was\npassed in.

\n

This will succeed even if there are outstanding weak references.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(3);\nassert_eq!(Rc::try_unwrap(x), Ok(3));\n\nlet x = Rc::new(4);\nlet _y = Rc::clone(&x);\nassert_eq!(*Rc::try_unwrap(x).unwrap_err(), 4);
\n
1.70.0 · source

pub fn into_inner(this: Rc<T, A>) -> Option<T>

Returns the inner value, if the Rc has exactly one strong reference.

\n

Otherwise, None is returned and the Rc is dropped.

\n

This will succeed even if there are outstanding weak references.

\n

If Rc::into_inner is called on every clone of this Rc,\nit is guaranteed that exactly one of the calls returns the inner value.\nThis means in particular that the inner value is not dropped.

\n

Rc::try_unwrap is conceptually similar to Rc::into_inner.\nAnd while they are meant for different use-cases, Rc::into_inner(this)\nis in fact equivalent to Rc::try_unwrap(this).ok().\n(Note that the same kind of equivalence does not hold true for\nArc, due to race conditions that do not apply to Rc!)

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(3);\nassert_eq!(Rc::into_inner(x), Some(3));\n\nlet x = Rc::new(4);\nlet y = Rc::clone(&x);\n\nassert_eq!(Rc::into_inner(y), None);\nassert_eq!(Rc::into_inner(x), Some(4));
\n
",0,"topolotree::ContributionAgg"],["
source§

impl<T> Serialize for Rc<T>
where\n T: Serialize + ?Sized,

This impl requires the \"rc\" Cargo feature of Serde.

\n

Serializing a data structure containing Rc will serialize a copy of\nthe contents of the Rc each time the Rc is referenced within the\ndata structure. Serialization will not attempt to deduplicate these\nrepeated data.

\n
source§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","topolotree::ContributionAgg"],["
§

impl<Sp> Spawn for Rc<Sp>
where\n Sp: Spawn + ?Sized,

§

fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

Spawns a future that will be run to completion. Read more
§

fn status(&self) -> Result<(), SpawnError>

Determines whether the executor is able to spawn new tasks. Read more
","Spawn","topolotree::ContributionAgg"],["
source§

impl<T> ToTokens for Rc<T>
where\n T: ToTokens + ?Sized,

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where\n Self: Sized,

Convert self directly into a TokenStream object. Read more
","ToTokens","topolotree::ContributionAgg"],["
source§

impl<T, U, A> CoerceUnsized<Rc<U, A>> for Rc<T, A>
where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

","CoerceUnsized>","topolotree::ContributionAgg"],["
source§

impl<T, A> DerefPure for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","DerefPure","topolotree::ContributionAgg"],["
source§

impl<T, U> DispatchFromDyn<Rc<U>> for Rc<T>
where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

","DispatchFromDyn>","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Eq for Rc<T, A>
where\n T: Eq + ?Sized,\n A: Allocator,

","Eq","topolotree::ContributionAgg"],["
source§

impl<T, A> PinCoerceUnsized for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","PinCoerceUnsized","topolotree::ContributionAgg"],["
1.58.0 · source§

impl<T, A> RefUnwindSafe for Rc<T, A>
where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

","RefUnwindSafe","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> !Send for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","Send","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> !Sync for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","Sync","topolotree::ContributionAgg"],["
1.33.0 · source§

impl<T, A> Unpin for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","Unpin","topolotree::ContributionAgg"],["
1.9.0 · source§

impl<T, A> UnwindSafe for Rc<T, A>
where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

","UnwindSafe","topolotree::ContributionAgg"]]]]); + var type_impls = Object.fromEntries([["hydroflow_plus",[["
1.69.0 · source§

impl<T> AsFd for Rc<T>
where\n T: AsFd + ?Sized,

source§

fn as_fd(&self) -> BorrowedFd<'_>

Borrows the file descriptor. Read more
","AsFd","hydroflow_plus::builder::FlowState"],["
1.69.0 · source§

impl<T> AsRawFd for Rc<T>
where\n T: AsRawFd,

source§

fn as_raw_fd(&self) -> i32

Extracts the raw file descriptor. Read more
","AsRawFd","hydroflow_plus::builder::FlowState"],["
1.5.0 · source§

impl<T, A> AsRef<T> for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn as_ref(&self) -> &T

Converts this type into a shared reference of the (usually inferred) input type.
","AsRef","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Borrow<T> for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
","Borrow","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Clone for Rc<T, A>
where\n A: Allocator + Clone,\n T: ?Sized,

source§

fn clone(&self) -> Rc<T, A>

Makes a clone of the Rc pointer.

\n

This creates another pointer to the same allocation, increasing the\nstrong reference count.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nlet _ = Rc::clone(&five);
\n
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Debug for Rc<T, A>
where\n T: Debug + ?Sized,\n A: Allocator,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T> Default for Rc<T>
where\n T: Default,

source§

fn default() -> Rc<T>

Creates a new Rc<T>, with the Default value for T.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x: Rc<i32> = Default::default();\nassert_eq!(*x, 0);
\n
","Default","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Deref for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &T

Dereferences the value.
","Deref","hydroflow_plus::builder::FlowState"],["
source§

impl<'de, T> Deserialize<'de> for Rc<T>
where\n Box<T>: Deserialize<'de>,\n T: ?Sized,

This impl requires the \"rc\" Cargo feature of Serde.

\n

Deserializing a data structure containing Rc will not attempt to\ndeduplicate Rc references to the same data. Every deserialized Rc\nwill end up with a strong count of 1.

\n
source§

fn deserialize<D>(\n deserializer: D,\n) -> Result<Rc<T>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Display for Rc<T, A>
where\n T: Display + ?Sized,\n A: Allocator,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Display","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Drop for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn drop(&mut self)

Drops the Rc.

\n

This will decrement the strong reference count. If the strong reference\ncount reaches zero then the only other references (if any) are\nWeak, so we drop the inner value.

\n
§Examples
\n
use std::rc::Rc;\n\nstruct Foo;\n\nimpl Drop for Foo {\n    fn drop(&mut self) {\n        println!(\"dropped!\");\n    }\n}\n\nlet foo  = Rc::new(Foo);\nlet foo2 = Rc::clone(&foo);\n\ndrop(foo);    // Doesn't print anything\ndrop(foo2);   // Prints \"dropped!\"
\n
","Drop","hydroflow_plus::builder::FlowState"],["
1.21.0 · source§

impl<T, A> From<Box<T, A>> for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn from(v: Box<T, A>) -> Rc<T, A>

Move a boxed object to a new, reference counted, allocation.

\n
§Example
\n
let original: Box<i32> = Box::new(1);\nlet shared: Rc<i32> = Rc::from(original);\nassert_eq!(1, *shared);
\n
","From>","hydroflow_plus::builder::FlowState"],["
1.45.0 · source§

impl<'a, B> From<Cow<'a, B>> for Rc<B>
where\n B: ToOwned + ?Sized,\n Rc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,

source§

fn from(cow: Cow<'a, B>) -> Rc<B>

Creates a reference-counted pointer from a clone-on-write pointer by\ncopying its content.

\n
§Example
\n
let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\nlet shared: Rc<str> = Rc::from(cow);\nassert_eq!(\"eggplant\", &shared[..]);
\n
","From>","hydroflow_plus::builder::FlowState"],["
1.6.0 · source§

impl<T> From<T> for Rc<T>

source§

fn from(t: T) -> Rc<T>

Converts a generic type T into an Rc<T>

\n

The conversion allocates on the heap and moves t\nfrom the stack into it.

\n
§Example
\n
let x = 5;\nlet rc = Rc::new(5);\n\nassert_eq!(Rc::from(x), rc);
\n
","From","hydroflow_plus::builder::FlowState"],["
source§

impl<H> HandoffMeta for Rc<RefCell<H>>
where\n H: HandoffMeta,

source§

fn any_ref(&self) -> &(dyn Any + 'static)

Helper to cast an instance of HandoffMeta to Any. In general you cannot cast between\ntraits, including Any, but this helper method works around that limitation. Read more
source§

fn is_bottom(&self) -> bool

Return if the handoff is empty.
","HandoffMeta","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Hash for Rc<T, A>
where\n T: Hash + ?Sized,\n A: Allocator,

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","hydroflow_plus::builder::FlowState"],["
§

impl<Sp> LocalSpawn for Rc<Sp>
where\n Sp: LocalSpawn + ?Sized,

§

fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>,\n) -> Result<(), SpawnError>

Spawns a future that will be run to completion. Read more
§

fn status_local(&self) -> Result<(), SpawnError>

Determines whether the executor is able to spawn new tasks. Read more
","LocalSpawn","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Ord for Rc<T, A>
where\n T: Ord + ?Sized,\n A: Allocator,

source§

fn cmp(&self, other: &Rc<T, A>) -> Ordering

Comparison for two Rcs.

\n

The two are compared by calling cmp() on their inner values.

\n
§Examples
\n
use std::rc::Rc;\nuse std::cmp::Ordering;\n\nlet five = Rc::new(5);\n\nassert_eq!(Ordering::Less, five.cmp(&Rc::new(6)));
\n
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> PartialEq for Rc<T, A>
where\n T: PartialEq + ?Sized,\n A: Allocator,

source§

fn eq(&self, other: &Rc<T, A>) -> bool

Equality for two Rcs.

\n

Two Rcs are equal if their inner values are equal, even if they are\nstored in different allocation.

\n

If T also implements Eq (implying reflexivity of equality),\ntwo Rcs that point to the same allocation are\nalways equal.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five == Rc::new(5));
\n
source§

fn ne(&self, other: &Rc<T, A>) -> bool

Inequality for two Rcs.

\n

Two Rcs are not equal if their inner values are not equal.

\n

If T also implements Eq (implying reflexivity of equality),\ntwo Rcs that point to the same allocation are\nalways equal.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five != Rc::new(6));
\n
","PartialEq","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> PartialOrd for Rc<T, A>
where\n T: PartialOrd + ?Sized,\n A: Allocator,

source§

fn partial_cmp(&self, other: &Rc<T, A>) -> Option<Ordering>

Partial comparison for two Rcs.

\n

The two are compared by calling partial_cmp() on their inner values.

\n
§Examples
\n
use std::rc::Rc;\nuse std::cmp::Ordering;\n\nlet five = Rc::new(5);\n\nassert_eq!(Some(Ordering::Less), five.partial_cmp(&Rc::new(6)));
\n
source§

fn lt(&self, other: &Rc<T, A>) -> bool

Less-than comparison for two Rcs.

\n

The two are compared by calling < on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five < Rc::new(6));
\n
source§

fn le(&self, other: &Rc<T, A>) -> bool

‘Less than or equal to’ comparison for two Rcs.

\n

The two are compared by calling <= on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five <= Rc::new(5));
\n
source§

fn gt(&self, other: &Rc<T, A>) -> bool

Greater-than comparison for two Rcs.

\n

The two are compared by calling > on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five > Rc::new(4));
\n
source§

fn ge(&self, other: &Rc<T, A>) -> bool

‘Greater than or equal to’ comparison for two Rcs.

\n

The two are compared by calling >= on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five >= Rc::new(5));
\n
","PartialOrd","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Pointer for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Pointer","hydroflow_plus::builder::FlowState"],["
source§

impl<T> Rc<T>
where\n T: ?Sized,

1.17.0 · source

pub unsafe fn from_raw(ptr: *const T) -> Rc<T>

Constructs an Rc<T> from a raw pointer.

\n

The raw pointer must have been previously returned by a call to\nRc<U>::into_raw with the following requirements:

\n
    \n
  • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
  • \n
  • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Rc<U> was constructed\nthrough Rc<T> and then converted to Rc<U> through an unsized\ncoercion.
  • \n
\n

Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

\n

The raw pointer must point to a block of memory allocated by the global allocator

\n

The user of from_raw has to make sure a specific value of T is only\ndropped once.

\n

This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Rc<T> is never accessed.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(\"hello\".to_owned());\nlet x_ptr = Rc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Rc` to prevent leak.\n    let x = Rc::from_raw(x_ptr);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Rc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
\n

Convert a slice back into its original array:

\n\n
use std::rc::Rc;\n\nlet x: Rc<[u32]> = Rc::new([1, 2, 3]);\nlet x_ptr: *const [u32] = Rc::into_raw(x);\n\nunsafe {\n    let x: Rc<[u32; 3]> = Rc::from_raw(x_ptr.cast::<[u32; 3]>());\n    assert_eq!(&*x, &[1, 2, 3]);\n}
\n
1.53.0 · source

pub unsafe fn increment_strong_count(ptr: *const T)

Increments the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method, and ptr must point to a block of memory\nallocated by the global allocator.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count(ptr);\n\n    let five = Rc::from_raw(ptr);\n    assert_eq!(2, Rc::strong_count(&five));\n}
\n
1.53.0 · source

pub unsafe fn decrement_strong_count(ptr: *const T)

Decrements the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by the global allocator. This method can be used to release the final Rc and\nbacking storage, but should not be called after the final Rc has been released.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count(ptr);\n\n    let five = Rc::from_raw(ptr);\n    assert_eq!(2, Rc::strong_count(&five));\n    Rc::decrement_strong_count(ptr);\n    assert_eq!(1, Rc::strong_count(&five));\n}
\n
",0,"hydroflow_plus::builder::FlowState"],["
source§

impl<T> Rc<T>

1.0.0 · source

pub fn new(value: T) -> Rc<T>

Constructs a new Rc<T>.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);
\n
1.60.0 · source

pub fn new_cyclic<F>(data_fn: F) -> Rc<T>
where\n F: FnOnce(&Weak<T>) -> T,

Constructs a new Rc<T> while giving you a Weak<T> to the allocation,\nto allow you to construct a T which holds a weak pointer to itself.

\n

Generally, a structure circularly referencing itself, either directly or\nindirectly, should not hold a strong reference to itself to prevent a memory leak.\nUsing this function, you get access to the weak pointer during the\ninitialization of T, before the Rc<T> is created, such that you can\nclone and store it inside the T.

\n

new_cyclic first allocates the managed allocation for the Rc<T>,\nthen calls your closure, giving it a Weak<T> to this allocation,\nand only afterwards completes the construction of the Rc<T> by placing\nthe T returned from your closure into the allocation.

\n

Since the new Rc<T> is not fully-constructed until Rc<T>::new_cyclic\nreturns, calling upgrade on the weak reference inside your closure will\nfail and result in a None value.

\n
§Panics
\n

If data_fn panics, the panic is propagated to the caller, and the\ntemporary Weak<T> is dropped normally.

\n
§Examples
\n
use std::rc::{Rc, Weak};\n\nstruct Gadget {\n    me: Weak<Gadget>,\n}\n\nimpl Gadget {\n    /// Constructs a reference counted Gadget.\n    fn new() -> Rc<Self> {\n        // `me` is a `Weak<Gadget>` pointing at the new allocation of the\n        // `Rc` we're constructing.\n        Rc::new_cyclic(|me| {\n            // Create the actual struct here.\n            Gadget { me: me.clone() }\n        })\n    }\n\n    /// Returns a reference counted pointer to Self.\n    fn me(&self) -> Rc<Self> {\n        self.me.upgrade().unwrap()\n    }\n}
\n
1.83.0 · source

pub fn new_uninit() -> Rc<MaybeUninit<T>>

Constructs a new Rc with uninitialized contents.

\n
§Examples
\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet mut five = Rc::<u32>::new_uninit();\n\n// Deferred initialization:\nRc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5)
\n
source

pub fn new_zeroed() -> Rc<MaybeUninit<T>>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes.

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(new_zeroed_alloc)]\n\nuse std::rc::Rc;\n\nlet zero = Rc::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
\n
source

pub fn try_new(value: T) -> Result<Rc<T>, AllocError>

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

Constructs a new Rc<T>, returning an error if the allocation fails

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\n\nlet five = Rc::try_new(5);
\n
source

pub fn try_new_uninit() -> Result<Rc<MaybeUninit<T>>, AllocError>

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

Constructs a new Rc with uninitialized contents, returning an error if the allocation fails

\n
§Examples
\n
#![feature(allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet mut five = Rc::<u32>::try_new_uninit()?;\n\n// Deferred initialization:\nRc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5);
\n
source

pub fn try_new_zeroed() -> Result<Rc<MaybeUninit<T>>, AllocError>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes, returning an error if the allocation fails

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\n\nlet zero = Rc::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
\n
1.33.0 · source

pub fn pin(value: T) -> Pin<Rc<T>>

Constructs a new Pin<Rc<T>>. If T does not implement Unpin, then\nvalue will be pinned in memory and unable to be moved.

\n
",0,"hydroflow_plus::builder::FlowState"],["
source§

impl<T, A> Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source

pub fn allocator(this: &Rc<T, A>) -> &A

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

Returns a reference to the underlying allocator.

\n

Note: this is an associated function, which means that you have\nto call it as Rc::allocator(&r) instead of r.allocator(). This\nis so that there is no conflict with a method on the inner type.

\n
1.17.0 · source

pub fn into_raw(this: Rc<T, A>) -> *const T

Consumes the Rc, returning the wrapped pointer.

\n

To avoid a memory leak the pointer must be converted back to an Rc using\nRc::from_raw.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(\"hello\".to_owned());\nlet x_ptr = Rc::into_raw(x);\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
\n
source

pub fn into_raw_with_allocator(this: Rc<T, A>) -> (*const T, A)

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

Consumes the Rc, returning the wrapped pointer and allocator.

\n

To avoid a memory leak the pointer must be converted back to an Rc using\nRc::from_raw_in.

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet x = Rc::new_in(\"hello\".to_owned(), System);\nlet (ptr, alloc) = Rc::into_raw_with_allocator(x);\nassert_eq!(unsafe { &*ptr }, \"hello\");\nlet x = unsafe { Rc::from_raw_in(ptr, alloc) };\nassert_eq!(&*x, \"hello\");
\n
1.45.0 · source

pub fn as_ptr(this: &Rc<T, A>) -> *const T

Provides a raw pointer to the data.

\n

The counts are not affected in any way and the Rc is not consumed. The pointer is valid\nfor as long there are strong counts in the Rc.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(\"hello\".to_owned());\nlet y = Rc::clone(&x);\nlet x_ptr = Rc::as_ptr(&x);\nassert_eq!(x_ptr, Rc::as_ptr(&y));\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
\n
source

pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Rc<T, A>

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

Constructs an Rc<T, A> from a raw pointer in the provided allocator.

\n

The raw pointer must have been previously returned by a call to Rc<U, A>::into_raw with the following requirements:

\n
    \n
  • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
  • \n
  • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Rc<U> was constructed\nthrough Rc<T> and then converted to Rc<U> through an unsized\ncoercion.
  • \n
\n

Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

\n

The raw pointer must point to a block of memory allocated by alloc

\n

The user of from_raw has to make sure a specific value of T is only\ndropped once.

\n

This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Rc<T> is never accessed.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet x = Rc::new_in(\"hello\".to_owned(), System);\nlet x_ptr = Rc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Rc` to prevent leak.\n    let x = Rc::from_raw_in(x_ptr, System);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Rc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
\n

Convert a slice back into its original array:

\n\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet x: Rc<[u32], _> = Rc::new_in([1, 2, 3], System);\nlet x_ptr: *const [u32] = Rc::into_raw(x);\n\nunsafe {\n    let x: Rc<[u32; 3], _> = Rc::from_raw_in(x_ptr.cast::<[u32; 3]>(), System);\n    assert_eq!(&*x, &[1, 2, 3]);\n}
\n
1.4.0 · source

pub fn downgrade(this: &Rc<T, A>) -> Weak<T, A>
where\n A: Clone,

Creates a new Weak pointer to this allocation.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nlet weak_five = Rc::downgrade(&five);
\n
1.15.0 · source

pub fn weak_count(this: &Rc<T, A>) -> usize

Gets the number of Weak pointers to this allocation.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\nlet _weak_five = Rc::downgrade(&five);\n\nassert_eq!(1, Rc::weak_count(&five));
\n
1.15.0 · source

pub fn strong_count(this: &Rc<T, A>) -> usize

Gets the number of strong (Rc) pointers to this allocation.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\nlet _also_five = Rc::clone(&five);\n\nassert_eq!(2, Rc::strong_count(&five));
\n
source

pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
where\n A: Clone,

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

Increments the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method, and ptr must point to a block of memory\nallocated by alloc

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::new_in(5, System);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count_in(ptr, System);\n\n    let five = Rc::from_raw_in(ptr, System);\n    assert_eq!(2, Rc::strong_count(&five));\n}
\n
source

pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

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

Decrements the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by alloc. This method can be used to release the final Rc and backing storage,\nbut should not be called after the final Rc has been released.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::new_in(5, System);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count_in(ptr, System);\n\n    let five = Rc::from_raw_in(ptr, System);\n    assert_eq!(2, Rc::strong_count(&five));\n    Rc::decrement_strong_count_in(ptr, System);\n    assert_eq!(1, Rc::strong_count(&five));\n}
\n
1.4.0 · source

pub fn get_mut(this: &mut Rc<T, A>) -> Option<&mut T>

Returns a mutable reference into the given Rc, if there are\nno other Rc or Weak pointers to the same allocation.

\n

Returns None otherwise, because it is not safe to\nmutate a shared value.

\n

See also make_mut, which will clone\nthe inner value when there are other Rc pointers.

\n
§Examples
\n
use std::rc::Rc;\n\nlet mut x = Rc::new(3);\n*Rc::get_mut(&mut x).unwrap() = 4;\nassert_eq!(*x, 4);\n\nlet _y = Rc::clone(&x);\nassert!(Rc::get_mut(&mut x).is_none());
\n
source

pub unsafe fn get_mut_unchecked(this: &mut Rc<T, A>) -> &mut T

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

Returns a mutable reference into the given Rc,\nwithout any check.

\n

See also get_mut, which is safe and does appropriate checks.

\n
§Safety
\n

If any other Rc or Weak pointers to the same allocation exist, then\nthey must not be dereferenced or have active borrows for the duration\nof the returned borrow, and their inner type must be exactly the same as the\ninner type of this Rc (including lifetimes). This is trivially the case if no\nsuch pointers exist, for example immediately after Rc::new.

\n
§Examples
\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet mut x = Rc::new(String::new());\nunsafe {\n    Rc::get_mut_unchecked(&mut x).push_str(\"foo\")\n}\nassert_eq!(*x, \"foo\");
\n

Other Rc pointers to the same allocation must be to the same type.

\n\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet x: Rc<str> = Rc::from(\"Hello, world!\");\nlet mut y: Rc<[u8]> = x.clone().into();\nunsafe {\n    // this is Undefined Behavior, because x's inner type is str, not [u8]\n    Rc::get_mut_unchecked(&mut y).fill(0xff); // 0xff is invalid in UTF-8\n}\nprintln!(\"{}\", &*x); // Invalid UTF-8 in a str
\n

Other Rc pointers to the same allocation must be to the exact same type, including lifetimes.

\n\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet x: Rc<&str> = Rc::new(\"Hello, world!\");\n{\n    let s = String::from(\"Oh, no!\");\n    let mut y: Rc<&str> = x.clone().into();\n    unsafe {\n        // this is Undefined Behavior, because x's inner type\n        // is &'long str, not &'short str\n        *Rc::get_mut_unchecked(&mut y) = &s;\n    }\n}\nprintln!(\"{}\", &*x); // Use-after-free
\n
1.17.0 · source

pub fn ptr_eq(this: &Rc<T, A>, other: &Rc<T, A>) -> bool

Returns true if the two Rcs point to the same allocation in a vein similar to\nptr::eq. This function ignores the metadata of dyn Trait pointers.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\nlet same_five = Rc::clone(&five);\nlet other_five = Rc::new(5);\n\nassert!(Rc::ptr_eq(&five, &same_five));\nassert!(!Rc::ptr_eq(&five, &other_five));
\n
",0,"hydroflow_plus::builder::FlowState"],["
source§

impl<T, A> Rc<T, A>
where\n T: CloneToUninit + ?Sized,\n A: Allocator + Clone,

1.4.0 · source

pub fn make_mut(this: &mut Rc<T, A>) -> &mut T

Makes a mutable reference into the given Rc.

\n

If there are other Rc pointers to the same allocation, then make_mut will\nclone the inner value to a new allocation to ensure unique ownership. This is also\nreferred to as clone-on-write.

\n

However, if there are no other Rc pointers to this allocation, but some Weak\npointers, then the Weak pointers will be disassociated and the inner value will not\nbe cloned.

\n

See also get_mut, which will fail rather than cloning the inner value\nor disassociating Weak pointers.

\n
§Examples
\n
use std::rc::Rc;\n\nlet mut data = Rc::new(5);\n\n*Rc::make_mut(&mut data) += 1;         // Won't clone anything\nlet mut other_data = Rc::clone(&data); // Won't clone inner data\n*Rc::make_mut(&mut data) += 1;         // Clones inner data\n*Rc::make_mut(&mut data) += 1;         // Won't clone anything\n*Rc::make_mut(&mut other_data) *= 2;   // Won't clone anything\n\n// Now `data` and `other_data` point to different allocations.\nassert_eq!(*data, 8);\nassert_eq!(*other_data, 12);
\n

Weak pointers will be disassociated:

\n\n
use std::rc::Rc;\n\nlet mut data = Rc::new(75);\nlet weak = Rc::downgrade(&data);\n\nassert!(75 == *data);\nassert!(75 == *weak.upgrade().unwrap());\n\n*Rc::make_mut(&mut data) += 1;\n\nassert!(76 == *data);\nassert!(weak.upgrade().is_none());
\n
",0,"hydroflow_plus::builder::FlowState"],["
source§

impl<T, A> Rc<T, A>
where\n T: Clone,\n A: Allocator,

1.76.0 · source

pub fn unwrap_or_clone(this: Rc<T, A>) -> T

If we have the only reference to T then unwrap it. Otherwise, clone T and return the\nclone.

\n

Assuming rc_t is of type Rc<T>, this function is functionally equivalent to\n(*rc_t).clone(), but will avoid cloning the inner value where possible.

\n
§Examples
\n
let inner = String::from(\"test\");\nlet ptr = inner.as_ptr();\n\nlet rc = Rc::new(inner);\nlet inner = Rc::unwrap_or_clone(rc);\n// The inner value was not cloned\nassert!(ptr::eq(ptr, inner.as_ptr()));\n\nlet rc = Rc::new(inner);\nlet rc2 = rc.clone();\nlet inner = Rc::unwrap_or_clone(rc);\n// Because there were 2 references, we had to clone the inner value.\nassert!(!ptr::eq(ptr, inner.as_ptr()));\n// `rc2` is the last reference, so when we unwrap it we get back\n// the original `String`.\nlet inner = Rc::unwrap_or_clone(rc2);\nassert!(ptr::eq(ptr, inner.as_ptr()));
\n
",0,"hydroflow_plus::builder::FlowState"],["
source§

impl<T, A> Rc<T, A>
where\n A: Allocator,

source

pub fn new_in(value: T, alloc: A) -> Rc<T, A>

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

Constructs a new Rc in the provided allocator.

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::new_in(5, System);
\n
source

pub fn new_uninit_in(alloc: A) -> Rc<MaybeUninit<T>, A>

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

Constructs a new Rc with uninitialized contents in the provided allocator.

\n
§Examples
\n
#![feature(get_mut_unchecked)]\n#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet mut five = Rc::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
\n
source

pub fn new_zeroed_in(alloc: A) -> Rc<MaybeUninit<T>, A>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator.

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet zero = Rc::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
\n
source

pub fn try_new_in(value: T, alloc: A) -> Result<Rc<T, A>, AllocError>

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

Constructs a new Rc<T> in the provided allocator, returning an error if the allocation\nfails

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::try_new_in(5, System);
\n
source

pub fn try_new_uninit_in(alloc: A) -> Result<Rc<MaybeUninit<T>, A>, AllocError>

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

Constructs a new Rc with uninitialized contents, in the provided allocator, returning an\nerror if the allocation fails

\n
§Examples
\n
#![feature(allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet mut five = Rc::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
\n
source

pub fn try_new_zeroed_in(alloc: A) -> Result<Rc<MaybeUninit<T>, A>, AllocError>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator, returning an error if the allocation\nfails

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet zero = Rc::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
\n
source

pub fn pin_in(value: T, alloc: A) -> Pin<Rc<T, A>>
where\n A: 'static,

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

Constructs a new Pin<Rc<T>> in the provided allocator. If T does not implement Unpin, then\nvalue will be pinned in memory and unable to be moved.

\n
1.4.0 · source

pub fn try_unwrap(this: Rc<T, A>) -> Result<T, Rc<T, A>>

Returns the inner value, if the Rc has exactly one strong reference.

\n

Otherwise, an Err is returned with the same Rc that was\npassed in.

\n

This will succeed even if there are outstanding weak references.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(3);\nassert_eq!(Rc::try_unwrap(x), Ok(3));\n\nlet x = Rc::new(4);\nlet _y = Rc::clone(&x);\nassert_eq!(*Rc::try_unwrap(x).unwrap_err(), 4);
\n
1.70.0 · source

pub fn into_inner(this: Rc<T, A>) -> Option<T>

Returns the inner value, if the Rc has exactly one strong reference.

\n

Otherwise, None is returned and the Rc is dropped.

\n

This will succeed even if there are outstanding weak references.

\n

If Rc::into_inner is called on every clone of this Rc,\nit is guaranteed that exactly one of the calls returns the inner value.\nThis means in particular that the inner value is not dropped.

\n

Rc::try_unwrap is conceptually similar to Rc::into_inner.\nAnd while they are meant for different use-cases, Rc::into_inner(this)\nis in fact equivalent to Rc::try_unwrap(this).ok().\n(Note that the same kind of equivalence does not hold true for\nArc, due to race conditions that do not apply to Rc!)

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(3);\nassert_eq!(Rc::into_inner(x), Some(3));\n\nlet x = Rc::new(4);\nlet y = Rc::clone(&x);\n\nassert_eq!(Rc::into_inner(y), None);\nassert_eq!(Rc::into_inner(x), Some(4));
\n
",0,"hydroflow_plus::builder::FlowState"],["
source§

impl<T> Serialize for Rc<T>
where\n T: Serialize + ?Sized,

This impl requires the \"rc\" Cargo feature of Serde.

\n

Serializing a data structure containing Rc will serialize a copy of\nthe contents of the Rc each time the Rc is referenced within the\ndata structure. Serialization will not attempt to deduplicate these\nrepeated data.

\n
source§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","hydroflow_plus::builder::FlowState"],["
§

impl<Sp> Spawn for Rc<Sp>
where\n Sp: Spawn + ?Sized,

§

fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

Spawns a future that will be run to completion. Read more
§

fn status(&self) -> Result<(), SpawnError>

Determines whether the executor is able to spawn new tasks. Read more
","Spawn","hydroflow_plus::builder::FlowState"],["
source§

impl<T> ToTokens for Rc<T>
where\n T: ToTokens + ?Sized,

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where\n Self: Sized,

Convert self directly into a TokenStream object. Read more
","ToTokens","hydroflow_plus::builder::FlowState"],["
source§

impl<T, U, A> CoerceUnsized<Rc<U, A>> for Rc<T, A>
where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

","CoerceUnsized>","hydroflow_plus::builder::FlowState"],["
source§

impl<T, A> DerefPure for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","DerefPure","hydroflow_plus::builder::FlowState"],["
source§

impl<T, U> DispatchFromDyn<Rc<U>> for Rc<T>
where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

","DispatchFromDyn>","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> Eq for Rc<T, A>
where\n T: Eq + ?Sized,\n A: Allocator,

","Eq","hydroflow_plus::builder::FlowState"],["
source§

impl<T, A> PinCoerceUnsized for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","PinCoerceUnsized","hydroflow_plus::builder::FlowState"],["
1.58.0 · source§

impl<T, A> RefUnwindSafe for Rc<T, A>
where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

","RefUnwindSafe","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> !Send for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","Send","hydroflow_plus::builder::FlowState"],["
1.0.0 · source§

impl<T, A> !Sync for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","Sync","hydroflow_plus::builder::FlowState"],["
1.33.0 · source§

impl<T, A> Unpin for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","Unpin","hydroflow_plus::builder::FlowState"],["
1.9.0 · source§

impl<T, A> UnwindSafe for Rc<T, A>
where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

","UnwindSafe","hydroflow_plus::builder::FlowState"]]],["topolotree",[["
1.69.0 · source§

impl<T> AsFd for Rc<T>
where\n T: AsFd + ?Sized,

source§

fn as_fd(&self) -> BorrowedFd<'_>

Borrows the file descriptor. Read more
","AsFd","topolotree::ContributionAgg"],["
1.69.0 · source§

impl<T> AsRawFd for Rc<T>
where\n T: AsRawFd,

source§

fn as_raw_fd(&self) -> i32

Extracts the raw file descriptor. Read more
","AsRawFd","topolotree::ContributionAgg"],["
1.5.0 · source§

impl<T, A> AsRef<T> for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn as_ref(&self) -> &T

Converts this type into a shared reference of the (usually inferred) input type.
","AsRef","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Borrow<T> for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
","Borrow","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Clone for Rc<T, A>
where\n A: Allocator + Clone,\n T: ?Sized,

source§

fn clone(&self) -> Rc<T, A>

Makes a clone of the Rc pointer.

\n

This creates another pointer to the same allocation, increasing the\nstrong reference count.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nlet _ = Rc::clone(&five);
\n
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Debug for Rc<T, A>
where\n T: Debug + ?Sized,\n A: Allocator,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T> Default for Rc<T>
where\n T: Default,

source§

fn default() -> Rc<T>

Creates a new Rc<T>, with the Default value for T.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x: Rc<i32> = Default::default();\nassert_eq!(*x, 0);
\n
","Default","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Deref for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &T

Dereferences the value.
","Deref","topolotree::ContributionAgg"],["
source§

impl<'de, T> Deserialize<'de> for Rc<T>
where\n Box<T>: Deserialize<'de>,\n T: ?Sized,

This impl requires the \"rc\" Cargo feature of Serde.

\n

Deserializing a data structure containing Rc will not attempt to\ndeduplicate Rc references to the same data. Every deserialized Rc\nwill end up with a strong count of 1.

\n
source§

fn deserialize<D>(\n deserializer: D,\n) -> Result<Rc<T>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Display for Rc<T, A>
where\n T: Display + ?Sized,\n A: Allocator,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Display","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Drop for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn drop(&mut self)

Drops the Rc.

\n

This will decrement the strong reference count. If the strong reference\ncount reaches zero then the only other references (if any) are\nWeak, so we drop the inner value.

\n
§Examples
\n
use std::rc::Rc;\n\nstruct Foo;\n\nimpl Drop for Foo {\n    fn drop(&mut self) {\n        println!(\"dropped!\");\n    }\n}\n\nlet foo  = Rc::new(Foo);\nlet foo2 = Rc::clone(&foo);\n\ndrop(foo);    // Doesn't print anything\ndrop(foo2);   // Prints \"dropped!\"
\n
","Drop","topolotree::ContributionAgg"],["
1.21.0 · source§

impl<T, A> From<Box<T, A>> for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn from(v: Box<T, A>) -> Rc<T, A>

Move a boxed object to a new, reference counted, allocation.

\n
§Example
\n
let original: Box<i32> = Box::new(1);\nlet shared: Rc<i32> = Rc::from(original);\nassert_eq!(1, *shared);
\n
","From>","topolotree::ContributionAgg"],["
1.45.0 · source§

impl<'a, B> From<Cow<'a, B>> for Rc<B>
where\n B: ToOwned + ?Sized,\n Rc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,

source§

fn from(cow: Cow<'a, B>) -> Rc<B>

Creates a reference-counted pointer from a clone-on-write pointer by\ncopying its content.

\n
§Example
\n
let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\nlet shared: Rc<str> = Rc::from(cow);\nassert_eq!(\"eggplant\", &shared[..]);
\n
","From>","topolotree::ContributionAgg"],["
1.6.0 · source§

impl<T> From<T> for Rc<T>

source§

fn from(t: T) -> Rc<T>

Converts a generic type T into an Rc<T>

\n

The conversion allocates on the heap and moves t\nfrom the stack into it.

\n
§Example
\n
let x = 5;\nlet rc = Rc::new(5);\n\nassert_eq!(Rc::from(x), rc);
\n
","From","topolotree::ContributionAgg"],["
§

impl<H> HandoffMeta for Rc<RefCell<H>>
where\n H: HandoffMeta,

§

fn any_ref(&self) -> &(dyn Any + 'static)

Helper to cast an instance of HandoffMeta to Any. In general you cannot cast between\ntraits, including Any, but this helper method works around that limitation. Read more
§

fn is_bottom(&self) -> bool

Return if the handoff is empty.
","HandoffMeta","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Hash for Rc<T, A>
where\n T: Hash + ?Sized,\n A: Allocator,

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","topolotree::ContributionAgg"],["
§

impl<Sp> LocalSpawn for Rc<Sp>
where\n Sp: LocalSpawn + ?Sized,

§

fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>,\n) -> Result<(), SpawnError>

Spawns a future that will be run to completion. Read more
§

fn status_local(&self) -> Result<(), SpawnError>

Determines whether the executor is able to spawn new tasks. Read more
","LocalSpawn","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Ord for Rc<T, A>
where\n T: Ord + ?Sized,\n A: Allocator,

source§

fn cmp(&self, other: &Rc<T, A>) -> Ordering

Comparison for two Rcs.

\n

The two are compared by calling cmp() on their inner values.

\n
§Examples
\n
use std::rc::Rc;\nuse std::cmp::Ordering;\n\nlet five = Rc::new(5);\n\nassert_eq!(Ordering::Less, five.cmp(&Rc::new(6)));
\n
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> PartialEq for Rc<T, A>
where\n T: PartialEq + ?Sized,\n A: Allocator,

source§

fn eq(&self, other: &Rc<T, A>) -> bool

Equality for two Rcs.

\n

Two Rcs are equal if their inner values are equal, even if they are\nstored in different allocation.

\n

If T also implements Eq (implying reflexivity of equality),\ntwo Rcs that point to the same allocation are\nalways equal.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five == Rc::new(5));
\n
source§

fn ne(&self, other: &Rc<T, A>) -> bool

Inequality for two Rcs.

\n

Two Rcs are not equal if their inner values are not equal.

\n

If T also implements Eq (implying reflexivity of equality),\ntwo Rcs that point to the same allocation are\nalways equal.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five != Rc::new(6));
\n
","PartialEq","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> PartialOrd for Rc<T, A>
where\n T: PartialOrd + ?Sized,\n A: Allocator,

source§

fn partial_cmp(&self, other: &Rc<T, A>) -> Option<Ordering>

Partial comparison for two Rcs.

\n

The two are compared by calling partial_cmp() on their inner values.

\n
§Examples
\n
use std::rc::Rc;\nuse std::cmp::Ordering;\n\nlet five = Rc::new(5);\n\nassert_eq!(Some(Ordering::Less), five.partial_cmp(&Rc::new(6)));
\n
source§

fn lt(&self, other: &Rc<T, A>) -> bool

Less-than comparison for two Rcs.

\n

The two are compared by calling < on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five < Rc::new(6));
\n
source§

fn le(&self, other: &Rc<T, A>) -> bool

‘Less than or equal to’ comparison for two Rcs.

\n

The two are compared by calling <= on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five <= Rc::new(5));
\n
source§

fn gt(&self, other: &Rc<T, A>) -> bool

Greater-than comparison for two Rcs.

\n

The two are compared by calling > on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five > Rc::new(4));
\n
source§

fn ge(&self, other: &Rc<T, A>) -> bool

‘Greater than or equal to’ comparison for two Rcs.

\n

The two are compared by calling >= on their inner values.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nassert!(five >= Rc::new(5));
\n
","PartialOrd","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Pointer for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Pointer","topolotree::ContributionAgg"],["
source§

impl<T> Rc<T>
where\n T: ?Sized,

1.17.0 · source

pub unsafe fn from_raw(ptr: *const T) -> Rc<T>

Constructs an Rc<T> from a raw pointer.

\n

The raw pointer must have been previously returned by a call to\nRc<U>::into_raw with the following requirements:

\n
    \n
  • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
  • \n
  • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Rc<U> was constructed\nthrough Rc<T> and then converted to Rc<U> through an unsized\ncoercion.
  • \n
\n

Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

\n

The raw pointer must point to a block of memory allocated by the global allocator

\n

The user of from_raw has to make sure a specific value of T is only\ndropped once.

\n

This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Rc<T> is never accessed.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(\"hello\".to_owned());\nlet x_ptr = Rc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Rc` to prevent leak.\n    let x = Rc::from_raw(x_ptr);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Rc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
\n

Convert a slice back into its original array:

\n\n
use std::rc::Rc;\n\nlet x: Rc<[u32]> = Rc::new([1, 2, 3]);\nlet x_ptr: *const [u32] = Rc::into_raw(x);\n\nunsafe {\n    let x: Rc<[u32; 3]> = Rc::from_raw(x_ptr.cast::<[u32; 3]>());\n    assert_eq!(&*x, &[1, 2, 3]);\n}
\n
1.53.0 · source

pub unsafe fn increment_strong_count(ptr: *const T)

Increments the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method, and ptr must point to a block of memory\nallocated by the global allocator.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count(ptr);\n\n    let five = Rc::from_raw(ptr);\n    assert_eq!(2, Rc::strong_count(&five));\n}
\n
1.53.0 · source

pub unsafe fn decrement_strong_count(ptr: *const T)

Decrements the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by the global allocator. This method can be used to release the final Rc and\nbacking storage, but should not be called after the final Rc has been released.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count(ptr);\n\n    let five = Rc::from_raw(ptr);\n    assert_eq!(2, Rc::strong_count(&five));\n    Rc::decrement_strong_count(ptr);\n    assert_eq!(1, Rc::strong_count(&five));\n}
\n
",0,"topolotree::ContributionAgg"],["
source§

impl<T> Rc<T>

1.0.0 · source

pub fn new(value: T) -> Rc<T>

Constructs a new Rc<T>.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);
\n
1.60.0 · source

pub fn new_cyclic<F>(data_fn: F) -> Rc<T>
where\n F: FnOnce(&Weak<T>) -> T,

Constructs a new Rc<T> while giving you a Weak<T> to the allocation,\nto allow you to construct a T which holds a weak pointer to itself.

\n

Generally, a structure circularly referencing itself, either directly or\nindirectly, should not hold a strong reference to itself to prevent a memory leak.\nUsing this function, you get access to the weak pointer during the\ninitialization of T, before the Rc<T> is created, such that you can\nclone and store it inside the T.

\n

new_cyclic first allocates the managed allocation for the Rc<T>,\nthen calls your closure, giving it a Weak<T> to this allocation,\nand only afterwards completes the construction of the Rc<T> by placing\nthe T returned from your closure into the allocation.

\n

Since the new Rc<T> is not fully-constructed until Rc<T>::new_cyclic\nreturns, calling upgrade on the weak reference inside your closure will\nfail and result in a None value.

\n
§Panics
\n

If data_fn panics, the panic is propagated to the caller, and the\ntemporary Weak<T> is dropped normally.

\n
§Examples
\n
use std::rc::{Rc, Weak};\n\nstruct Gadget {\n    me: Weak<Gadget>,\n}\n\nimpl Gadget {\n    /// Constructs a reference counted Gadget.\n    fn new() -> Rc<Self> {\n        // `me` is a `Weak<Gadget>` pointing at the new allocation of the\n        // `Rc` we're constructing.\n        Rc::new_cyclic(|me| {\n            // Create the actual struct here.\n            Gadget { me: me.clone() }\n        })\n    }\n\n    /// Returns a reference counted pointer to Self.\n    fn me(&self) -> Rc<Self> {\n        self.me.upgrade().unwrap()\n    }\n}
\n
1.83.0 · source

pub fn new_uninit() -> Rc<MaybeUninit<T>>

Constructs a new Rc with uninitialized contents.

\n
§Examples
\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet mut five = Rc::<u32>::new_uninit();\n\n// Deferred initialization:\nRc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5)
\n
source

pub fn new_zeroed() -> Rc<MaybeUninit<T>>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes.

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(new_zeroed_alloc)]\n\nuse std::rc::Rc;\n\nlet zero = Rc::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
\n
source

pub fn try_new(value: T) -> Result<Rc<T>, AllocError>

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

Constructs a new Rc<T>, returning an error if the allocation fails

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\n\nlet five = Rc::try_new(5);
\n
source

pub fn try_new_uninit() -> Result<Rc<MaybeUninit<T>>, AllocError>

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

Constructs a new Rc with uninitialized contents, returning an error if the allocation fails

\n
§Examples
\n
#![feature(allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet mut five = Rc::<u32>::try_new_uninit()?;\n\n// Deferred initialization:\nRc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5);
\n
source

pub fn try_new_zeroed() -> Result<Rc<MaybeUninit<T>>, AllocError>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes, returning an error if the allocation fails

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\n\nlet zero = Rc::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
\n
1.33.0 · source

pub fn pin(value: T) -> Pin<Rc<T>>

Constructs a new Pin<Rc<T>>. If T does not implement Unpin, then\nvalue will be pinned in memory and unable to be moved.

\n
",0,"topolotree::ContributionAgg"],["
source§

impl<T, A> Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

source

pub fn allocator(this: &Rc<T, A>) -> &A

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

Returns a reference to the underlying allocator.

\n

Note: this is an associated function, which means that you have\nto call it as Rc::allocator(&r) instead of r.allocator(). This\nis so that there is no conflict with a method on the inner type.

\n
1.17.0 · source

pub fn into_raw(this: Rc<T, A>) -> *const T

Consumes the Rc, returning the wrapped pointer.

\n

To avoid a memory leak the pointer must be converted back to an Rc using\nRc::from_raw.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(\"hello\".to_owned());\nlet x_ptr = Rc::into_raw(x);\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
\n
source

pub fn into_raw_with_allocator(this: Rc<T, A>) -> (*const T, A)

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

Consumes the Rc, returning the wrapped pointer and allocator.

\n

To avoid a memory leak the pointer must be converted back to an Rc using\nRc::from_raw_in.

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet x = Rc::new_in(\"hello\".to_owned(), System);\nlet (ptr, alloc) = Rc::into_raw_with_allocator(x);\nassert_eq!(unsafe { &*ptr }, \"hello\");\nlet x = unsafe { Rc::from_raw_in(ptr, alloc) };\nassert_eq!(&*x, \"hello\");
\n
1.45.0 · source

pub fn as_ptr(this: &Rc<T, A>) -> *const T

Provides a raw pointer to the data.

\n

The counts are not affected in any way and the Rc is not consumed. The pointer is valid\nfor as long there are strong counts in the Rc.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(\"hello\".to_owned());\nlet y = Rc::clone(&x);\nlet x_ptr = Rc::as_ptr(&x);\nassert_eq!(x_ptr, Rc::as_ptr(&y));\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
\n
source

pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Rc<T, A>

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

Constructs an Rc<T, A> from a raw pointer in the provided allocator.

\n

The raw pointer must have been previously returned by a call to Rc<U, A>::into_raw with the following requirements:

\n
    \n
  • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
  • \n
  • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Rc<U> was constructed\nthrough Rc<T> and then converted to Rc<U> through an unsized\ncoercion.
  • \n
\n

Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

\n

The raw pointer must point to a block of memory allocated by alloc

\n

The user of from_raw has to make sure a specific value of T is only\ndropped once.

\n

This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Rc<T> is never accessed.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet x = Rc::new_in(\"hello\".to_owned(), System);\nlet x_ptr = Rc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Rc` to prevent leak.\n    let x = Rc::from_raw_in(x_ptr, System);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Rc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
\n

Convert a slice back into its original array:

\n\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet x: Rc<[u32], _> = Rc::new_in([1, 2, 3], System);\nlet x_ptr: *const [u32] = Rc::into_raw(x);\n\nunsafe {\n    let x: Rc<[u32; 3], _> = Rc::from_raw_in(x_ptr.cast::<[u32; 3]>(), System);\n    assert_eq!(&*x, &[1, 2, 3]);\n}
\n
1.4.0 · source

pub fn downgrade(this: &Rc<T, A>) -> Weak<T, A>
where\n A: Clone,

Creates a new Weak pointer to this allocation.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\n\nlet weak_five = Rc::downgrade(&five);
\n
1.15.0 · source

pub fn weak_count(this: &Rc<T, A>) -> usize

Gets the number of Weak pointers to this allocation.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\nlet _weak_five = Rc::downgrade(&five);\n\nassert_eq!(1, Rc::weak_count(&five));
\n
1.15.0 · source

pub fn strong_count(this: &Rc<T, A>) -> usize

Gets the number of strong (Rc) pointers to this allocation.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\nlet _also_five = Rc::clone(&five);\n\nassert_eq!(2, Rc::strong_count(&five));
\n
source

pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
where\n A: Clone,

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

Increments the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method, and ptr must point to a block of memory\nallocated by alloc

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::new_in(5, System);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count_in(ptr, System);\n\n    let five = Rc::from_raw_in(ptr, System);\n    assert_eq!(2, Rc::strong_count(&five));\n}
\n
source

pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

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

Decrements the strong reference count on the Rc<T> associated with the\nprovided pointer by one.

\n
§Safety
\n

The pointer must have been obtained through Rc::into_raw, the\nassociated Rc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by alloc. This method can be used to release the final Rc and backing storage,\nbut should not be called after the final Rc has been released.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::new_in(5, System);\n\nunsafe {\n    let ptr = Rc::into_raw(five);\n    Rc::increment_strong_count_in(ptr, System);\n\n    let five = Rc::from_raw_in(ptr, System);\n    assert_eq!(2, Rc::strong_count(&five));\n    Rc::decrement_strong_count_in(ptr, System);\n    assert_eq!(1, Rc::strong_count(&five));\n}
\n
1.4.0 · source

pub fn get_mut(this: &mut Rc<T, A>) -> Option<&mut T>

Returns a mutable reference into the given Rc, if there are\nno other Rc or Weak pointers to the same allocation.

\n

Returns None otherwise, because it is not safe to\nmutate a shared value.

\n

See also make_mut, which will clone\nthe inner value when there are other Rc pointers.

\n
§Examples
\n
use std::rc::Rc;\n\nlet mut x = Rc::new(3);\n*Rc::get_mut(&mut x).unwrap() = 4;\nassert_eq!(*x, 4);\n\nlet _y = Rc::clone(&x);\nassert!(Rc::get_mut(&mut x).is_none());
\n
source

pub unsafe fn get_mut_unchecked(this: &mut Rc<T, A>) -> &mut T

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

Returns a mutable reference into the given Rc,\nwithout any check.

\n

See also get_mut, which is safe and does appropriate checks.

\n
§Safety
\n

If any other Rc or Weak pointers to the same allocation exist, then\nthey must not be dereferenced or have active borrows for the duration\nof the returned borrow, and their inner type must be exactly the same as the\ninner type of this Rc (including lifetimes). This is trivially the case if no\nsuch pointers exist, for example immediately after Rc::new.

\n
§Examples
\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet mut x = Rc::new(String::new());\nunsafe {\n    Rc::get_mut_unchecked(&mut x).push_str(\"foo\")\n}\nassert_eq!(*x, \"foo\");
\n

Other Rc pointers to the same allocation must be to the same type.

\n\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet x: Rc<str> = Rc::from(\"Hello, world!\");\nlet mut y: Rc<[u8]> = x.clone().into();\nunsafe {\n    // this is Undefined Behavior, because x's inner type is str, not [u8]\n    Rc::get_mut_unchecked(&mut y).fill(0xff); // 0xff is invalid in UTF-8\n}\nprintln!(\"{}\", &*x); // Invalid UTF-8 in a str
\n

Other Rc pointers to the same allocation must be to the exact same type, including lifetimes.

\n\n
#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\n\nlet x: Rc<&str> = Rc::new(\"Hello, world!\");\n{\n    let s = String::from(\"Oh, no!\");\n    let mut y: Rc<&str> = x.clone().into();\n    unsafe {\n        // this is Undefined Behavior, because x's inner type\n        // is &'long str, not &'short str\n        *Rc::get_mut_unchecked(&mut y) = &s;\n    }\n}\nprintln!(\"{}\", &*x); // Use-after-free
\n
1.17.0 · source

pub fn ptr_eq(this: &Rc<T, A>, other: &Rc<T, A>) -> bool

Returns true if the two Rcs point to the same allocation in a vein similar to\nptr::eq. This function ignores the metadata of dyn Trait pointers.

\n
§Examples
\n
use std::rc::Rc;\n\nlet five = Rc::new(5);\nlet same_five = Rc::clone(&five);\nlet other_five = Rc::new(5);\n\nassert!(Rc::ptr_eq(&five, &same_five));\nassert!(!Rc::ptr_eq(&five, &other_five));
\n
",0,"topolotree::ContributionAgg"],["
source§

impl<T, A> Rc<T, A>
where\n T: CloneToUninit + ?Sized,\n A: Allocator + Clone,

1.4.0 · source

pub fn make_mut(this: &mut Rc<T, A>) -> &mut T

Makes a mutable reference into the given Rc.

\n

If there are other Rc pointers to the same allocation, then make_mut will\nclone the inner value to a new allocation to ensure unique ownership. This is also\nreferred to as clone-on-write.

\n

However, if there are no other Rc pointers to this allocation, but some Weak\npointers, then the Weak pointers will be disassociated and the inner value will not\nbe cloned.

\n

See also get_mut, which will fail rather than cloning the inner value\nor disassociating Weak pointers.

\n
§Examples
\n
use std::rc::Rc;\n\nlet mut data = Rc::new(5);\n\n*Rc::make_mut(&mut data) += 1;         // Won't clone anything\nlet mut other_data = Rc::clone(&data); // Won't clone inner data\n*Rc::make_mut(&mut data) += 1;         // Clones inner data\n*Rc::make_mut(&mut data) += 1;         // Won't clone anything\n*Rc::make_mut(&mut other_data) *= 2;   // Won't clone anything\n\n// Now `data` and `other_data` point to different allocations.\nassert_eq!(*data, 8);\nassert_eq!(*other_data, 12);
\n

Weak pointers will be disassociated:

\n\n
use std::rc::Rc;\n\nlet mut data = Rc::new(75);\nlet weak = Rc::downgrade(&data);\n\nassert!(75 == *data);\nassert!(75 == *weak.upgrade().unwrap());\n\n*Rc::make_mut(&mut data) += 1;\n\nassert!(76 == *data);\nassert!(weak.upgrade().is_none());
\n
",0,"topolotree::ContributionAgg"],["
source§

impl<T, A> Rc<T, A>
where\n T: Clone,\n A: Allocator,

1.76.0 · source

pub fn unwrap_or_clone(this: Rc<T, A>) -> T

If we have the only reference to T then unwrap it. Otherwise, clone T and return the\nclone.

\n

Assuming rc_t is of type Rc<T>, this function is functionally equivalent to\n(*rc_t).clone(), but will avoid cloning the inner value where possible.

\n
§Examples
\n
let inner = String::from(\"test\");\nlet ptr = inner.as_ptr();\n\nlet rc = Rc::new(inner);\nlet inner = Rc::unwrap_or_clone(rc);\n// The inner value was not cloned\nassert!(ptr::eq(ptr, inner.as_ptr()));\n\nlet rc = Rc::new(inner);\nlet rc2 = rc.clone();\nlet inner = Rc::unwrap_or_clone(rc);\n// Because there were 2 references, we had to clone the inner value.\nassert!(!ptr::eq(ptr, inner.as_ptr()));\n// `rc2` is the last reference, so when we unwrap it we get back\n// the original `String`.\nlet inner = Rc::unwrap_or_clone(rc2);\nassert!(ptr::eq(ptr, inner.as_ptr()));
\n
",0,"topolotree::ContributionAgg"],["
source§

impl<T, A> Rc<T, A>
where\n A: Allocator,

source

pub fn new_in(value: T, alloc: A) -> Rc<T, A>

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

Constructs a new Rc in the provided allocator.

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::new_in(5, System);
\n
source

pub fn new_uninit_in(alloc: A) -> Rc<MaybeUninit<T>, A>

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

Constructs a new Rc with uninitialized contents in the provided allocator.

\n
§Examples
\n
#![feature(get_mut_unchecked)]\n#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet mut five = Rc::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
\n
source

pub fn new_zeroed_in(alloc: A) -> Rc<MaybeUninit<T>, A>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator.

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet zero = Rc::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
\n
source

pub fn try_new_in(value: T, alloc: A) -> Result<Rc<T, A>, AllocError>

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

Constructs a new Rc<T> in the provided allocator, returning an error if the allocation\nfails

\n
§Examples
\n
#![feature(allocator_api)]\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet five = Rc::try_new_in(5, System);
\n
source

pub fn try_new_uninit_in(alloc: A) -> Result<Rc<MaybeUninit<T>, A>, AllocError>

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

Constructs a new Rc with uninitialized contents, in the provided allocator, returning an\nerror if the allocation fails

\n
§Examples
\n
#![feature(allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet mut five = Rc::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
\n
source

pub fn try_new_zeroed_in(alloc: A) -> Result<Rc<MaybeUninit<T>, A>, AllocError>

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

Constructs a new Rc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator, returning an error if the allocation\nfails

\n

See MaybeUninit::zeroed for examples of correct and\nincorrect usage of this method.

\n
§Examples
\n
#![feature(allocator_api)]\n\nuse std::rc::Rc;\nuse std::alloc::System;\n\nlet zero = Rc::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
\n
source

pub fn pin_in(value: T, alloc: A) -> Pin<Rc<T, A>>
where\n A: 'static,

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

Constructs a new Pin<Rc<T>> in the provided allocator. If T does not implement Unpin, then\nvalue will be pinned in memory and unable to be moved.

\n
1.4.0 · source

pub fn try_unwrap(this: Rc<T, A>) -> Result<T, Rc<T, A>>

Returns the inner value, if the Rc has exactly one strong reference.

\n

Otherwise, an Err is returned with the same Rc that was\npassed in.

\n

This will succeed even if there are outstanding weak references.

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(3);\nassert_eq!(Rc::try_unwrap(x), Ok(3));\n\nlet x = Rc::new(4);\nlet _y = Rc::clone(&x);\nassert_eq!(*Rc::try_unwrap(x).unwrap_err(), 4);
\n
1.70.0 · source

pub fn into_inner(this: Rc<T, A>) -> Option<T>

Returns the inner value, if the Rc has exactly one strong reference.

\n

Otherwise, None is returned and the Rc is dropped.

\n

This will succeed even if there are outstanding weak references.

\n

If Rc::into_inner is called on every clone of this Rc,\nit is guaranteed that exactly one of the calls returns the inner value.\nThis means in particular that the inner value is not dropped.

\n

Rc::try_unwrap is conceptually similar to Rc::into_inner.\nAnd while they are meant for different use-cases, Rc::into_inner(this)\nis in fact equivalent to Rc::try_unwrap(this).ok().\n(Note that the same kind of equivalence does not hold true for\nArc, due to race conditions that do not apply to Rc!)

\n
§Examples
\n
use std::rc::Rc;\n\nlet x = Rc::new(3);\nassert_eq!(Rc::into_inner(x), Some(3));\n\nlet x = Rc::new(4);\nlet y = Rc::clone(&x);\n\nassert_eq!(Rc::into_inner(y), None);\nassert_eq!(Rc::into_inner(x), Some(4));
\n
",0,"topolotree::ContributionAgg"],["
source§

impl<T> Serialize for Rc<T>
where\n T: Serialize + ?Sized,

This impl requires the \"rc\" Cargo feature of Serde.

\n

Serializing a data structure containing Rc will serialize a copy of\nthe contents of the Rc each time the Rc is referenced within the\ndata structure. Serialization will not attempt to deduplicate these\nrepeated data.

\n
source§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","topolotree::ContributionAgg"],["
§

impl<Sp> Spawn for Rc<Sp>
where\n Sp: Spawn + ?Sized,

§

fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

Spawns a future that will be run to completion. Read more
§

fn status(&self) -> Result<(), SpawnError>

Determines whether the executor is able to spawn new tasks. Read more
","Spawn","topolotree::ContributionAgg"],["
source§

impl<T> ToTokens for Rc<T>
where\n T: ToTokens + ?Sized,

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where\n Self: Sized,

Convert self directly into a TokenStream object. Read more
","ToTokens","topolotree::ContributionAgg"],["
source§

impl<T, U, A> CoerceUnsized<Rc<U, A>> for Rc<T, A>
where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

","CoerceUnsized>","topolotree::ContributionAgg"],["
source§

impl<T, A> DerefPure for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","DerefPure","topolotree::ContributionAgg"],["
source§

impl<T, U> DispatchFromDyn<Rc<U>> for Rc<T>
where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

","DispatchFromDyn>","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> Eq for Rc<T, A>
where\n T: Eq + ?Sized,\n A: Allocator,

","Eq","topolotree::ContributionAgg"],["
source§

impl<T, A> PinCoerceUnsized for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","PinCoerceUnsized","topolotree::ContributionAgg"],["
1.58.0 · source§

impl<T, A> RefUnwindSafe for Rc<T, A>
where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

","RefUnwindSafe","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> !Send for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","Send","topolotree::ContributionAgg"],["
1.0.0 · source§

impl<T, A> !Sync for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","Sync","topolotree::ContributionAgg"],["
1.33.0 · source§

impl<T, A> Unpin for Rc<T, A>
where\n A: Allocator,\n T: ?Sized,

","Unpin","topolotree::ContributionAgg"],["
1.9.0 · source§

impl<T, A> UnwindSafe for Rc<T, A>
where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

","UnwindSafe","topolotree::ContributionAgg"]]]]); if (window.register_type_impls) { window.register_type_impls(type_impls); } else { window.pending_type_impls = type_impls; } })() -//{"start":55,"fragment_lengths":[167402,167119]} \ No newline at end of file +//{"start":55,"fragment_lengths":[168210,167119]} \ No newline at end of file diff --git a/doc/type.impl/std/collections/hash/map/struct.HashMap.js b/doc/type.impl/std/collections/hash/map/struct.HashMap.js index 52e40dcf3533..fad5a9ba6440 100644 --- a/doc/type.impl/std/collections/hash/map/struct.HashMap.js +++ b/doc/type.impl/std/collections/hash/map/struct.HashMap.js @@ -1,9 +1,9 @@ (function() { - var type_impls = Object.fromEntries([["hydroflow_plus",[["
§

impl<K, V, S> Accumulate<(K, V)> for HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher + Default,

§

fn initial(capacity: Option<usize>) -> HashMap<K, V, S>

Create a new Extend of the correct type
§

fn accumulate(&mut self, _: (K, V))

Accumulate the input into an accumulator
","Accumulate<(K, V)>","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> Clear for HashMap<K, V>

§

fn clear(&mut self)

Remove all the elements of the collection.
","Clear","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V, S> Clear for HashMap<K, V, S>

§

fn clear(&mut self)

Clears the collection without neccesarily freeing allocations.
","Clear","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> Clone for HashMap<K, V, S>
where\n K: Clone,\n V: Clone,\n S: Clone,

source§

fn clone(&self) -> HashMap<K, V, S>

Returns a copy of the value. Read more
source§

fn clone_from(&mut self, source: &HashMap<K, V, S>)

Performs copy-assignment from source. Read more
","Clone","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> Collection for HashMap<K, V>

§

type Item = V

Type of the items of the collection.
","Collection","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> CollectionMut for HashMap<K, V>

§

type ItemMut<'a> = &'a mut V\nwhere\n HashMap<K, V>: 'a

Type of mutable references to items of the collection.
§

fn upcast_item_mut<'short, 'long>(\n r: <HashMap<K, V> as CollectionMut>::ItemMut<'long>,\n) -> <HashMap<K, V> as CollectionMut>::ItemMut<'short>
where\n 'long: 'short,\n HashMap<K, V>: 'long,

Changes an item mutable reference into a shorter lived mutable reference. Read more
","CollectionMut","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> CollectionRef for HashMap<K, V>

§

type ItemRef<'a> = &'a V\nwhere\n HashMap<K, V>: 'a

Type of references to items of the collection.
§

fn upcast_item_ref<'short, 'long>(\n r: <HashMap<K, V> as CollectionRef>::ItemRef<'long>,\n) -> <HashMap<K, V> as CollectionRef>::ItemRef<'short>
where\n 'long: 'short,\n HashMap<K, V>: 'long,

Changes an item reference into a shorter lived reference. Read more
","CollectionRef","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> Debug for HashMap<K, V, S>
where\n K: Debug,\n V: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> Default for HashMap<K, V, S>
where\n S: Default,

source§

fn default() -> HashMap<K, V, S>

Creates an empty HashMap<K, V, S>, with the Default value for the hasher.

\n
","Default","hydroflow_plus::ir::SeenTees"],["
source§

impl<'de, K, V, S> Deserialize<'de> for HashMap<K, V, S>
where\n K: Deserialize<'de> + Eq + Hash,\n V: Deserialize<'de>,\n S: BuildHasher + Default,

source§

fn deserialize<D>(\n deserializer: D,\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","hydroflow_plus::ir::SeenTees"],["
1.4.0 · source§

impl<'a, K, V, S> Extend<(&'a K, &'a V)> for HashMap<K, V, S>
where\n K: Eq + Hash + Copy,\n V: Copy,\n S: BuildHasher,

source§

fn extend<T>(&mut self, iter: T)
where\n T: IntoIterator<Item = (&'a K, &'a V)>,

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

fn extend_one(&mut self, _: (&'a K, &'a V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(&'a K, &'a V)>","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> Extend<(K, V)> for HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher,

Inserts all new key-values from the iterator and replaces values with existing\nkeys with new values returned from the iterator.

\n
source§

fn extend<T>(&mut self, iter: T)
where\n T: IntoIterator<Item = (K, V)>,

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

fn extend_one(&mut self, _: (K, V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(K, V)>","hydroflow_plus::ir::SeenTees"],["
1.56.0 · source§

impl<K, V, const N: usize> From<[(K, V); N]> for HashMap<K, V>
where\n K: Eq + Hash,

source§

fn from(arr: [(K, V); N]) -> HashMap<K, V>

§Examples
\n
use std::collections::HashMap;\n\nlet map1 = HashMap::from([(1, 2), (3, 4)]);\nlet map2: HashMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
\n
","From<[(K, V); N]>","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher + Default,

source§

fn from_iter<T>(iter: T) -> HashMap<K, V, S>
where\n T: IntoIterator<Item = (K, V)>,

Creates a value from an iterator. Read more
","FromIterator<(K, V)>","hydroflow_plus::ir::SeenTees"],["
§

impl<'a, Q, K, V> Get<&'a Q> for HashMap<K, V>
where\n K: Hash + Eq + Borrow<Q>,\n Q: Hash + Eq + ?Sized,

§

fn get(&self, key: &'a Q) -> Option<&V>

Returns a reference to the item stored behind the given key (if any).
§

fn contains(&self, key: T) -> bool

Checks if the collection contains an item behind the given key.
","Get<&'a Q>","hydroflow_plus::ir::SeenTees"],["
§

impl<'a, Q, K, V> GetKeyValue<&'a Q> for HashMap<K, V>
where\n K: Hash + Eq + Borrow<Q>,\n Q: Hash + Eq + ?Sized,

§

fn get_key_value(&self, key: &'a Q) -> Option<(&K, &V)>

Returns the key-value pair matching the given key.
","GetKeyValue<&'a Q>","hydroflow_plus::ir::SeenTees"],["
§

impl<'a, Q, K, V> GetMut<&'a Q> for HashMap<K, V>
where\n K: Hash + Eq + Borrow<Q>,\n Q: Hash + Eq + ?Sized,

§

fn get_mut(&mut self, key: &'a Q) -> Option<&mut V>

Returns a mutable reference to the item stored behind the given key (if any).
","GetMut<&'a Q>","hydroflow_plus::ir::SeenTees"],["
source§

impl<K, V> HashMap<K, V>

1.0.0 · source

pub fn new() -> HashMap<K, V>

Creates an empty HashMap.

\n

The hash map is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.

\n
§Examples
\n
use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();
\n
1.0.0 · source

pub fn with_capacity(capacity: usize) -> HashMap<K, V>

Creates an empty HashMap with at least the specified capacity.

\n

The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

\n
§Examples
\n
use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::with_capacity(10);
\n
",0,"hydroflow_plus::ir::SeenTees"],["
source§

impl<K, V, S> HashMap<K, V, S>
where\n S: BuildHasher,

source

pub fn raw_entry_mut(&mut self) -> RawEntryBuilderMut<'_, K, V, S>

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

Creates a raw entry builder for the HashMap.

\n

Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched. After this, insertions into a vacant entry\nstill require an owned key to be provided.

\n

Raw entries are useful for such exotic situations as:

\n
    \n
  • Hash memoization
  • \n
  • Deferring the creation of an owned key until it is known to be required
  • \n
  • Using a search key that doesn’t work with the Borrow trait
  • \n
  • Using custom comparison logic without newtype wrappers
  • \n
\n

Because raw entries provide much more low-level control, it’s much easier\nto put the HashMap into an inconsistent state which, while memory-safe,\nwill cause the map to produce seemingly random results. Higher-level and\nmore foolproof APIs like entry should be preferred when possible.

\n

In particular, the hash used to initialize the raw entry must still be\nconsistent with the hash of the key that is ultimately stored in the entry.\nThis is because implementations of HashMap may need to recompute hashes\nwhen resizing, at which point only the keys are available.

\n

Raw entries give mutable access to the keys. This must not be used\nto modify how the key would compare or hash, as the map will not re-evaluate\nwhere the key should go, meaning the keys may become “lost” if their\nlocation does not reflect their state. For instance, if you change a key\nso that the map now contains keys which compare equal, search may start\nacting erratically, with two keys randomly masking each other. Implementations\nare free to assume this doesn’t happen (within the limits of memory-safety).

\n
source

pub fn raw_entry(&self) -> RawEntryBuilder<'_, K, V, S>

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

Creates a raw immutable entry builder for the HashMap.

\n

Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched.

\n

This is useful for

\n
    \n
  • Hash memoization
  • \n
  • Using a search key that doesn’t work with the Borrow trait
  • \n
  • Using custom comparison logic without newtype wrappers
  • \n
\n

Unless you are in such a situation, higher-level and more foolproof APIs like\nget should be preferred.

\n

Immutable raw entries have very limited use; you might instead want raw_entry_mut.

\n
",0,"hydroflow_plus::ir::SeenTees"],["
source§

impl<K, V, S> HashMap<K, V, S>

1.7.0 (const: unstable) · source

pub fn with_hasher(hash_builder: S) -> HashMap<K, V, S>

Creates an empty HashMap which will use the given hash builder to hash\nkeys.

\n

The created map has the default initial capacity.

\n

Warning: hash_builder is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

\n

The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

\n
§Examples
\n
use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);
\n
1.7.0 · source

pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashMap<K, V, S>

Creates an empty HashMap with at least the specified capacity, using\nhasher to hash the keys.

\n

The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

\n

Warning: hasher is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

\n

The hasher passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

\n
§Examples
\n
use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_capacity_and_hasher(10, s);\nmap.insert(1, 2);
\n
1.0.0 · source

pub fn capacity(&self) -> usize

Returns the number of elements the map can hold without reallocating.

\n

This number is a lower bound; the HashMap<K, V> might be able to hold\nmore, but is guaranteed to be able to hold at least this many.

\n
§Examples
\n
use std::collections::HashMap;\nlet map: HashMap<i32, i32> = HashMap::with_capacity(100);\nassert!(map.capacity() >= 100);
\n
1.0.0 · source

pub fn keys(&self) -> Keys<'_, K, V>

An iterator visiting all keys in arbitrary order.\nThe iterator element type is &'a K.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor key in map.keys() {\n    println!(\"{key}\");\n}
\n
§Performance
\n

In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.54.0 · source

pub fn into_keys(self) -> IntoKeys<K, V>

Creates a consuming iterator visiting all the keys in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<&str> = map.into_keys().collect();\n// The `IntoKeys` iterator produces keys in arbitrary order, so the\n// keys must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\"]);
\n
§Performance
\n

In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn values(&self) -> Values<'_, K, V>

An iterator visiting all values in arbitrary order.\nThe iterator element type is &'a V.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.10.0 · source

pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

An iterator visiting all values mutably in arbitrary order.\nThe iterator element type is &'a mut V.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values_mut() {\n    *val = *val + 10;\n}\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.54.0 · source

pub fn into_values(self) -> IntoValues<K, V>

Creates a consuming iterator visiting all the values in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is V.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<i32> = map.into_values().collect();\n// The `IntoValues` iterator produces values in arbitrary order, so\n// the values must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [1, 2, 3]);
\n
§Performance
\n

In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn iter(&self) -> Iter<'_, K, V>

An iterator visiting all key-value pairs in arbitrary order.\nThe iterator element type is (&'a K, &'a V).

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor (key, val) in map.iter() {\n    println!(\"key: {key} val: {val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

An iterator visiting all key-value pairs in arbitrary order,\nwith mutable references to the values.\nThe iterator element type is (&'a K, &'a mut V).

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Update all values\nfor (_, val) in map.iter_mut() {\n    *val *= 2;\n}\n\nfor (key, val) in &map {\n    println!(\"key: {key} val: {val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn len(&self) -> usize

Returns the number of elements in the map.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
\n
1.0.0 · source

pub fn is_empty(&self) -> bool

Returns true if the map contains no elements.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
\n
1.6.0 · source

pub fn drain(&mut self) -> Drain<'_, K, V>

Clears the map, returning all key-value pairs as an iterator. Keeps the\nallocated memory for reuse.

\n

If the returned iterator is dropped before being fully consumed, it\ndrops the remaining key-value pairs. The returned iterator keeps a\nmutable borrow on the map to optimize its implementation.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\n\nfor (k, v) in a.drain().take(1) {\n    assert!(k == 1 || k == 2);\n    assert!(v == \"a\" || v == \"b\");\n}\n\nassert!(a.is_empty());
\n
source

pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F>
where\n F: FnMut(&K, &mut V) -> bool,

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

Creates an iterator which uses a closure to determine if an element should be removed.

\n

If the closure returns true, the element is removed from the map and yielded.\nIf the closure returns false, or panics, the element remains in the map and will not be\nyielded.

\n

Note that extract_if lets you mutate every value in the filter closure, regardless of\nwhether you choose to keep or remove it.

\n

If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

\n
§Examples
\n

Splitting a map into even and odd keys, reusing the original map:

\n\n
#![feature(hash_extract_if)]\nuse std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet extracted: HashMap<i32, i32> = map.extract_if(|k, _v| k % 2 == 0).collect();\n\nlet mut evens = extracted.keys().copied().collect::<Vec<_>>();\nlet mut odds = map.keys().copied().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
\n
1.18.0 · source

pub fn retain<F>(&mut self, f: F)
where\n F: FnMut(&K, &mut V) -> bool,

Retains only the elements specified by the predicate.

\n

In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in unsorted (and unspecified) order.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\nmap.retain(|&k, _| k % 2 == 0);\nassert_eq!(map.len(), 4);
\n
§Performance
\n

In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn clear(&mut self)

Clears the map, removing all key-value pairs. Keeps the allocated memory\nfor reuse.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
\n
1.9.0 · source

pub fn hasher(&self) -> &S

Returns a reference to the map’s BuildHasher.

\n
§Examples
\n
use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet map: HashMap<i32, i32> = HashMap::with_hasher(hasher);\nlet hasher: &RandomState = map.hasher();
\n
",0,"hydroflow_plus::ir::SeenTees"],["
source§

impl<K, V, S> HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher,

1.0.0 · source

pub fn reserve(&mut self, additional: usize)

Reserves capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

\n
§Panics
\n

Panics if the new allocation size overflows usize.

\n
§Examples
\n
use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();\nmap.reserve(10);
\n
1.57.0 · source

pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

Tries to reserve capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

\n
§Errors
\n

If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<&str, isize> = HashMap::new();\nmap.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
\n
1.0.0 · source

pub fn shrink_to_fit(&mut self)

Shrinks the capacity of the map as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to_fit();\nassert!(map.capacity() >= 2);
\n
1.56.0 · source

pub fn shrink_to(&mut self, min_capacity: usize)

Shrinks the capacity of the map with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

\n

If the current capacity is less than the lower limit, this is a no-op.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to(10);\nassert!(map.capacity() >= 10);\nmap.shrink_to(0);\nassert!(map.capacity() >= 2);
\n
1.0.0 · source

pub fn entry(&mut self, key: K) -> Entry<'_, K, V>

Gets the given key’s corresponding entry in the map for in-place manipulation.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut letters = HashMap::new();\n\nfor ch in \"a short treatise on fungi\".chars() {\n    letters.entry(ch).and_modify(|counter| *counter += 1).or_insert(1);\n}\n\nassert_eq!(letters[&'s'], 2);\nassert_eq!(letters[&'t'], 3);\nassert_eq!(letters[&'u'], 1);\nassert_eq!(letters.get(&'y'), None);
\n
1.0.0 · source

pub fn get<Q>(&self, k: &Q) -> Option<&V>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns a reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
\n
1.40.0 · source

pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns the key-value pair corresponding to the supplied key.

\n

The supplied key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
\n
source

pub fn get_many_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

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

Attempts to get mutable references to N values in the map at once.

\n

Returns an array of length N with the results of each query. For soundness, at most one\nmutable reference will be returned to any value. None will be returned if any of the\nkeys are duplicates or missing.

\n
§Examples
\n
#![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);\n\n// Duplicate keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Athenæum\",\n]);\nassert_eq!(got, None);
\n
source

pub unsafe fn get_many_unchecked_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

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

Attempts to get mutable references to N values in the map at once, without validating that\nthe values are unique.

\n

Returns an array of length N with the results of each query. None will be returned if\nany of the keys are missing.

\n

For a safe alternative see get_many_mut.

\n
§Safety
\n

Calling this method with overlapping keys is undefined behavior even if the resulting\nreferences are not used.

\n
§Examples
\n
#![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);
\n
1.0.0 · source

pub fn contains_key<Q>(&self, k: &Q) -> bool
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns true if the map contains a value for the specified key.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
\n
1.0.0 · source

pub fn get_mut<Q>(&mut self, k: &Q) -> Option<&mut V>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns a mutable reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
\n
1.0.0 · source

pub fn insert(&mut self, k: K, v: V) -> Option<V>

Inserts a key-value pair into the map.

\n

If the map did not have this key present, None is returned.

\n

If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
\n
source

pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V>>

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

Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

\n

If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(map_try_insert)]\n\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
\n
1.0.0 · source

pub fn remove<Q>(&mut self, k: &Q) -> Option<V>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
\n
1.27.0 · source

pub fn remove_entry<Q>(&mut self, k: &Q) -> Option<(K, V)>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Removes a key from the map, returning the stored key and value if the\nkey was previously in the map.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove(&1), None);
\n
",0,"hydroflow_plus::ir::SeenTees"],["
§

impl<K, V, S> HashMapExt for HashMap<K, V, S>
where\n S: BuildHasher + Default,

§

fn new() -> HashMap<K, V, S>

Constructs a new HashMap
§

fn with_capacity(capacity: usize) -> HashMap<K, V, S>

Constructs a new HashMap with a given initial capacity
","HashMapExt","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, Q, V, S> Index<&Q> for HashMap<K, V, S>
where\n K: Eq + Hash + Borrow<Q>,\n Q: Eq + Hash + ?Sized,\n S: BuildHasher,

source§

fn index(&self, key: &Q) -> &V

Returns a reference to the value corresponding to the supplied key.

\n
§Panics
\n

Panics if the key is not present in the HashMap.

\n
source§

type Output = V

The returned type after indexing.
","Index<&Q>","hydroflow_plus::ir::SeenTees"],["
source§

impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
where\n K: IntoDeserializer<'de, E> + Eq + Hash,\n V: IntoDeserializer<'de, E>,\n S: BuildHasher,\n E: Error,

source§

type Deserializer = MapDeserializer<'de, <HashMap<K, V, S> as IntoIterator>::IntoIter, E>

The type of the deserializer being converted into.
source§

fn into_deserializer(\n self,\n) -> <HashMap<K, V, S> as IntoDeserializer<'de, E>>::Deserializer

Convert this value into a deserializer.
","IntoDeserializer<'de, E>","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> IntoIterator for HashMap<K, V, S>

source§

fn into_iter(self) -> IntoIter<K, V>

Creates a consuming iterator, that is, one that moves each key-value\npair out of the map in arbitrary order. The map cannot be used after\ncalling this.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Not possible with .iter()\nlet vec: Vec<(&str, i32)> = map.into_iter().collect();
\n
source§

type Item = (K, V)

The type of the elements being iterated over.
source§

type IntoIter = IntoIter<K, V>

Which kind of iterator are we turning this into?
","IntoIterator","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> Iter for HashMap<K, V>

§

type Iter<'a> = Values<'a, K, V>\nwhere\n HashMap<K, V>: 'a

Iterator type.
§

fn iter(&self) -> <HashMap<K, V> as Iter>::Iter<'_>

Create an iterator over the items of the collection.
","Iter","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> Keyed for HashMap<K, V>

§

type Key = K

Type of the keys indexing each item of the collection.
","Keyed","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> KeyedRef for HashMap<K, V>

§

type KeyRef<'a> = &'a K\nwhere\n HashMap<K, V>: 'a

Type of references to keys of the collection.
§

fn upcast_key_ref<'short, 'long>(\n r: <HashMap<K, V> as KeyedRef>::KeyRef<'long>,\n) -> <HashMap<K, V> as KeyedRef>::KeyRef<'short>
where\n 'long: 'short,\n HashMap<K, V>: 'long,

Changes a key reference into a shorter lived reference. Read more
","KeyedRef","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> Len for HashMap<K, V>

§

fn len(&self) -> usize

Returns the number of elements in the collection.
§

fn is_empty(&self) -> bool

Checks if the collection is empty.
","Len","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> MapInsert<K> for HashMap<K, V>
where\n K: Hash + Eq,

§

type Output = Option<V>

The output of the insertion function.
§

fn insert(&mut self, key: K, value: V) -> Option<V>

Insert a new key-value pair in the collection.
","MapInsert","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> MapIter for HashMap<K, V>

§

type Iter<'a> = Iter<'a, K, V>\nwhere\n HashMap<K, V>: 'a

§

fn iter(&self) -> <HashMap<K, V> as MapIter>::Iter<'_>

","MapIter","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> MapIterMut for HashMap<K, V>

§

type IterMut<'a> = IterMut<'a, K, V>\nwhere\n HashMap<K, V>: 'a

§

fn iter_mut(&mut self) -> <HashMap<K, V> as MapIterMut>::IterMut<'_>

","MapIterMut","hydroflow_plus::ir::SeenTees"],["
§

impl<Key, OldVal> MapMapValues<OldVal> for HashMap<Key, OldVal>
where\n Key: Eq + Hash,

§

type MapValue<NewVal> = HashMap<Key, NewVal>

Output type, should be Self but with OldVal replaced with NewVal.
§

fn map_values<NewVal, MapFn>(\n self,\n map_fn: MapFn,\n) -> <HashMap<Key, OldVal> as MapMapValues<OldVal>>::MapValue<NewVal>
where\n MapFn: FnMut(OldVal) -> NewVal,

Map the values into using the map_fn.
","MapMapValues","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> PartialEq for HashMap<K, V, S>
where\n K: Eq + Hash,\n V: PartialEq,\n S: BuildHasher,

source§

fn eq(&self, other: &HashMap<K, V, S>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","hydroflow_plus::ir::SeenTees"],["
§

impl<'a, Q, K, V> Remove<&'a Q> for HashMap<K, V>
where\n K: Hash + Eq + Borrow<Q>,\n Q: Hash + Eq + ?Sized,

§

fn remove(&mut self, key: &'a Q) -> Option<V>

Remove the element identified by the given key.
","Remove<&'a Q>","hydroflow_plus::ir::SeenTees"],["
source§

impl<K, V, H> Serialize for HashMap<K, V, H>
where\n K: Serialize,\n V: Serialize,

source§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> SimpleCollectionMut for HashMap<K, V>

§

fn into_mut<'r>(\n r: <HashMap<K, V> as CollectionMut>::ItemMut<'r>,\n) -> &'r mut <HashMap<K, V> as Collection>::Item
where\n HashMap<K, V>: 'r,

","SimpleCollectionMut","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> SimpleCollectionRef for HashMap<K, V>

§

fn into_ref<'r>(\n r: <HashMap<K, V> as CollectionRef>::ItemRef<'r>,\n) -> &'r <HashMap<K, V> as Collection>::Item
where\n HashMap<K, V>: 'r,

","SimpleCollectionRef","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> SimpleKeyedRef for HashMap<K, V>

§

fn into_ref<'r>(\n r: <HashMap<K, V> as KeyedRef>::KeyRef<'r>,\n) -> &'r <HashMap<K, V> as Keyed>::Key
where\n HashMap<K, V>: 'r,

","SimpleKeyedRef","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> Eq for HashMap<K, V, S>
where\n K: Eq + Hash,\n V: Eq,\n S: BuildHasher,

","Eq","hydroflow_plus::ir::SeenTees"],["
1.36.0 · source§

impl<K, V, S> UnwindSafe for HashMap<K, V, S>
where\n K: UnwindSafe,\n V: UnwindSafe,\n S: UnwindSafe,

","UnwindSafe","hydroflow_plus::ir::SeenTees"]]]]); + var type_impls = Object.fromEntries([["hydroflow_plus",[["
§

impl<K, V, S> Accumulate<(K, V)> for HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher + Default,

§

fn initial(capacity: Option<usize>) -> HashMap<K, V, S>

Create a new Extend of the correct type
§

fn accumulate(&mut self, _: (K, V))

Accumulate the input into an accumulator
","Accumulate<(K, V)>","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> Clear for HashMap<K, V>

§

fn clear(&mut self)

Remove all the elements of the collection.
","Clear","hydroflow_plus::ir::SeenTees"],["
source§

impl<K, V, S> Clear for HashMap<K, V, S>

source§

fn clear(&mut self)

Clears the collection without neccesarily freeing allocations.
","Clear","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> Clone for HashMap<K, V, S>
where\n K: Clone,\n V: Clone,\n S: Clone,

source§

fn clone(&self) -> HashMap<K, V, S>

Returns a copy of the value. Read more
source§

fn clone_from(&mut self, source: &HashMap<K, V, S>)

Performs copy-assignment from source. Read more
","Clone","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> Collection for HashMap<K, V>

§

type Item = V

Type of the items of the collection.
","Collection","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> CollectionMut for HashMap<K, V>

§

type ItemMut<'a> = &'a mut V\nwhere\n HashMap<K, V>: 'a

Type of mutable references to items of the collection.
§

fn upcast_item_mut<'short, 'long>(\n r: <HashMap<K, V> as CollectionMut>::ItemMut<'long>,\n) -> <HashMap<K, V> as CollectionMut>::ItemMut<'short>
where\n 'long: 'short,\n HashMap<K, V>: 'long,

Changes an item mutable reference into a shorter lived mutable reference. Read more
","CollectionMut","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> CollectionRef for HashMap<K, V>

§

type ItemRef<'a> = &'a V\nwhere\n HashMap<K, V>: 'a

Type of references to items of the collection.
§

fn upcast_item_ref<'short, 'long>(\n r: <HashMap<K, V> as CollectionRef>::ItemRef<'long>,\n) -> <HashMap<K, V> as CollectionRef>::ItemRef<'short>
where\n 'long: 'short,\n HashMap<K, V>: 'long,

Changes an item reference into a shorter lived reference. Read more
","CollectionRef","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> Debug for HashMap<K, V, S>
where\n K: Debug,\n V: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> Default for HashMap<K, V, S>
where\n S: Default,

source§

fn default() -> HashMap<K, V, S>

Creates an empty HashMap<K, V, S>, with the Default value for the hasher.

\n
","Default","hydroflow_plus::ir::SeenTees"],["
source§

impl<'de, K, V, S> Deserialize<'de> for HashMap<K, V, S>
where\n K: Deserialize<'de> + Eq + Hash,\n V: Deserialize<'de>,\n S: BuildHasher + Default,

source§

fn deserialize<D>(\n deserializer: D,\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","hydroflow_plus::ir::SeenTees"],["
1.4.0 · source§

impl<'a, K, V, S> Extend<(&'a K, &'a V)> for HashMap<K, V, S>
where\n K: Eq + Hash + Copy,\n V: Copy,\n S: BuildHasher,

source§

fn extend<T>(&mut self, iter: T)
where\n T: IntoIterator<Item = (&'a K, &'a V)>,

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

fn extend_one(&mut self, _: (&'a K, &'a V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(&'a K, &'a V)>","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> Extend<(K, V)> for HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher,

Inserts all new key-values from the iterator and replaces values with existing\nkeys with new values returned from the iterator.

\n
source§

fn extend<T>(&mut self, iter: T)
where\n T: IntoIterator<Item = (K, V)>,

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

fn extend_one(&mut self, _: (K, V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(K, V)>","hydroflow_plus::ir::SeenTees"],["
1.56.0 · source§

impl<K, V, const N: usize> From<[(K, V); N]> for HashMap<K, V>
where\n K: Eq + Hash,

source§

fn from(arr: [(K, V); N]) -> HashMap<K, V>

§Examples
\n
use std::collections::HashMap;\n\nlet map1 = HashMap::from([(1, 2), (3, 4)]);\nlet map2: HashMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
\n
","From<[(K, V); N]>","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher + Default,

source§

fn from_iter<T>(iter: T) -> HashMap<K, V, S>
where\n T: IntoIterator<Item = (K, V)>,

Creates a value from an iterator. Read more
","FromIterator<(K, V)>","hydroflow_plus::ir::SeenTees"],["
§

impl<'a, Q, K, V> Get<&'a Q> for HashMap<K, V>
where\n K: Hash + Eq + Borrow<Q>,\n Q: Hash + Eq + ?Sized,

§

fn get(&self, key: &'a Q) -> Option<&V>

Returns a reference to the item stored behind the given key (if any).
§

fn contains(&self, key: T) -> bool

Checks if the collection contains an item behind the given key.
","Get<&'a Q>","hydroflow_plus::ir::SeenTees"],["
§

impl<'a, Q, K, V> GetKeyValue<&'a Q> for HashMap<K, V>
where\n K: Hash + Eq + Borrow<Q>,\n Q: Hash + Eq + ?Sized,

§

fn get_key_value(&self, key: &'a Q) -> Option<(&K, &V)>

Returns the key-value pair matching the given key.
","GetKeyValue<&'a Q>","hydroflow_plus::ir::SeenTees"],["
§

impl<'a, Q, K, V> GetMut<&'a Q> for HashMap<K, V>
where\n K: Hash + Eq + Borrow<Q>,\n Q: Hash + Eq + ?Sized,

§

fn get_mut(&mut self, key: &'a Q) -> Option<&mut V>

Returns a mutable reference to the item stored behind the given key (if any).
","GetMut<&'a Q>","hydroflow_plus::ir::SeenTees"],["
source§

impl<K, V> HashMap<K, V>

1.0.0 · source

pub fn new() -> HashMap<K, V>

Creates an empty HashMap.

\n

The hash map is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.

\n
§Examples
\n
use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();
\n
1.0.0 · source

pub fn with_capacity(capacity: usize) -> HashMap<K, V>

Creates an empty HashMap with at least the specified capacity.

\n

The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

\n
§Examples
\n
use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::with_capacity(10);
\n
",0,"hydroflow_plus::ir::SeenTees"],["
source§

impl<K, V, S> HashMap<K, V, S>
where\n S: BuildHasher,

source

pub fn raw_entry_mut(&mut self) -> RawEntryBuilderMut<'_, K, V, S>

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

Creates a raw entry builder for the HashMap.

\n

Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched. After this, insertions into a vacant entry\nstill require an owned key to be provided.

\n

Raw entries are useful for such exotic situations as:

\n
    \n
  • Hash memoization
  • \n
  • Deferring the creation of an owned key until it is known to be required
  • \n
  • Using a search key that doesn’t work with the Borrow trait
  • \n
  • Using custom comparison logic without newtype wrappers
  • \n
\n

Because raw entries provide much more low-level control, it’s much easier\nto put the HashMap into an inconsistent state which, while memory-safe,\nwill cause the map to produce seemingly random results. Higher-level and\nmore foolproof APIs like entry should be preferred when possible.

\n

In particular, the hash used to initialize the raw entry must still be\nconsistent with the hash of the key that is ultimately stored in the entry.\nThis is because implementations of HashMap may need to recompute hashes\nwhen resizing, at which point only the keys are available.

\n

Raw entries give mutable access to the keys. This must not be used\nto modify how the key would compare or hash, as the map will not re-evaluate\nwhere the key should go, meaning the keys may become “lost” if their\nlocation does not reflect their state. For instance, if you change a key\nso that the map now contains keys which compare equal, search may start\nacting erratically, with two keys randomly masking each other. Implementations\nare free to assume this doesn’t happen (within the limits of memory-safety).

\n
source

pub fn raw_entry(&self) -> RawEntryBuilder<'_, K, V, S>

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

Creates a raw immutable entry builder for the HashMap.

\n

Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched.

\n

This is useful for

\n
    \n
  • Hash memoization
  • \n
  • Using a search key that doesn’t work with the Borrow trait
  • \n
  • Using custom comparison logic without newtype wrappers
  • \n
\n

Unless you are in such a situation, higher-level and more foolproof APIs like\nget should be preferred.

\n

Immutable raw entries have very limited use; you might instead want raw_entry_mut.

\n
",0,"hydroflow_plus::ir::SeenTees"],["
source§

impl<K, V, S> HashMap<K, V, S>

1.7.0 (const: unstable) · source

pub fn with_hasher(hash_builder: S) -> HashMap<K, V, S>

Creates an empty HashMap which will use the given hash builder to hash\nkeys.

\n

The created map has the default initial capacity.

\n

Warning: hash_builder is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

\n

The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

\n
§Examples
\n
use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);
\n
1.7.0 · source

pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashMap<K, V, S>

Creates an empty HashMap with at least the specified capacity, using\nhasher to hash the keys.

\n

The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

\n

Warning: hasher is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

\n

The hasher passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

\n
§Examples
\n
use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_capacity_and_hasher(10, s);\nmap.insert(1, 2);
\n
1.0.0 · source

pub fn capacity(&self) -> usize

Returns the number of elements the map can hold without reallocating.

\n

This number is a lower bound; the HashMap<K, V> might be able to hold\nmore, but is guaranteed to be able to hold at least this many.

\n
§Examples
\n
use std::collections::HashMap;\nlet map: HashMap<i32, i32> = HashMap::with_capacity(100);\nassert!(map.capacity() >= 100);
\n
1.0.0 · source

pub fn keys(&self) -> Keys<'_, K, V>

An iterator visiting all keys in arbitrary order.\nThe iterator element type is &'a K.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor key in map.keys() {\n    println!(\"{key}\");\n}
\n
§Performance
\n

In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.54.0 · source

pub fn into_keys(self) -> IntoKeys<K, V>

Creates a consuming iterator visiting all the keys in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<&str> = map.into_keys().collect();\n// The `IntoKeys` iterator produces keys in arbitrary order, so the\n// keys must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\"]);
\n
§Performance
\n

In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn values(&self) -> Values<'_, K, V>

An iterator visiting all values in arbitrary order.\nThe iterator element type is &'a V.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.10.0 · source

pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

An iterator visiting all values mutably in arbitrary order.\nThe iterator element type is &'a mut V.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values_mut() {\n    *val = *val + 10;\n}\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.54.0 · source

pub fn into_values(self) -> IntoValues<K, V>

Creates a consuming iterator visiting all the values in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is V.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<i32> = map.into_values().collect();\n// The `IntoValues` iterator produces values in arbitrary order, so\n// the values must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [1, 2, 3]);
\n
§Performance
\n

In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn iter(&self) -> Iter<'_, K, V>

An iterator visiting all key-value pairs in arbitrary order.\nThe iterator element type is (&'a K, &'a V).

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor (key, val) in map.iter() {\n    println!(\"key: {key} val: {val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

An iterator visiting all key-value pairs in arbitrary order,\nwith mutable references to the values.\nThe iterator element type is (&'a K, &'a mut V).

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Update all values\nfor (_, val) in map.iter_mut() {\n    *val *= 2;\n}\n\nfor (key, val) in &map {\n    println!(\"key: {key} val: {val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn len(&self) -> usize

Returns the number of elements in the map.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
\n
1.0.0 · source

pub fn is_empty(&self) -> bool

Returns true if the map contains no elements.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
\n
1.6.0 · source

pub fn drain(&mut self) -> Drain<'_, K, V>

Clears the map, returning all key-value pairs as an iterator. Keeps the\nallocated memory for reuse.

\n

If the returned iterator is dropped before being fully consumed, it\ndrops the remaining key-value pairs. The returned iterator keeps a\nmutable borrow on the map to optimize its implementation.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\n\nfor (k, v) in a.drain().take(1) {\n    assert!(k == 1 || k == 2);\n    assert!(v == \"a\" || v == \"b\");\n}\n\nassert!(a.is_empty());
\n
source

pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F>
where\n F: FnMut(&K, &mut V) -> bool,

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

Creates an iterator which uses a closure to determine if an element should be removed.

\n

If the closure returns true, the element is removed from the map and yielded.\nIf the closure returns false, or panics, the element remains in the map and will not be\nyielded.

\n

Note that extract_if lets you mutate every value in the filter closure, regardless of\nwhether you choose to keep or remove it.

\n

If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

\n
§Examples
\n

Splitting a map into even and odd keys, reusing the original map:

\n\n
#![feature(hash_extract_if)]\nuse std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet extracted: HashMap<i32, i32> = map.extract_if(|k, _v| k % 2 == 0).collect();\n\nlet mut evens = extracted.keys().copied().collect::<Vec<_>>();\nlet mut odds = map.keys().copied().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
\n
1.18.0 · source

pub fn retain<F>(&mut self, f: F)
where\n F: FnMut(&K, &mut V) -> bool,

Retains only the elements specified by the predicate.

\n

In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in unsorted (and unspecified) order.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\nmap.retain(|&k, _| k % 2 == 0);\nassert_eq!(map.len(), 4);
\n
§Performance
\n

In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn clear(&mut self)

Clears the map, removing all key-value pairs. Keeps the allocated memory\nfor reuse.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
\n
1.9.0 · source

pub fn hasher(&self) -> &S

Returns a reference to the map’s BuildHasher.

\n
§Examples
\n
use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet map: HashMap<i32, i32> = HashMap::with_hasher(hasher);\nlet hasher: &RandomState = map.hasher();
\n
",0,"hydroflow_plus::ir::SeenTees"],["
source§

impl<K, V, S> HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher,

1.0.0 · source

pub fn reserve(&mut self, additional: usize)

Reserves capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

\n
§Panics
\n

Panics if the new allocation size overflows usize.

\n
§Examples
\n
use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();\nmap.reserve(10);
\n
1.57.0 · source

pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

Tries to reserve capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

\n
§Errors
\n

If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<&str, isize> = HashMap::new();\nmap.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
\n
1.0.0 · source

pub fn shrink_to_fit(&mut self)

Shrinks the capacity of the map as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to_fit();\nassert!(map.capacity() >= 2);
\n
1.56.0 · source

pub fn shrink_to(&mut self, min_capacity: usize)

Shrinks the capacity of the map with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

\n

If the current capacity is less than the lower limit, this is a no-op.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to(10);\nassert!(map.capacity() >= 10);\nmap.shrink_to(0);\nassert!(map.capacity() >= 2);
\n
1.0.0 · source

pub fn entry(&mut self, key: K) -> Entry<'_, K, V>

Gets the given key’s corresponding entry in the map for in-place manipulation.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut letters = HashMap::new();\n\nfor ch in \"a short treatise on fungi\".chars() {\n    letters.entry(ch).and_modify(|counter| *counter += 1).or_insert(1);\n}\n\nassert_eq!(letters[&'s'], 2);\nassert_eq!(letters[&'t'], 3);\nassert_eq!(letters[&'u'], 1);\nassert_eq!(letters.get(&'y'), None);
\n
1.0.0 · source

pub fn get<Q>(&self, k: &Q) -> Option<&V>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns a reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
\n
1.40.0 · source

pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns the key-value pair corresponding to the supplied key.

\n

The supplied key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
\n
source

pub fn get_many_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

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

Attempts to get mutable references to N values in the map at once.

\n

Returns an array of length N with the results of each query. For soundness, at most one\nmutable reference will be returned to any value. None will be returned if any of the\nkeys are duplicates or missing.

\n
§Examples
\n
#![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);\n\n// Duplicate keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Athenæum\",\n]);\nassert_eq!(got, None);
\n
source

pub unsafe fn get_many_unchecked_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

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

Attempts to get mutable references to N values in the map at once, without validating that\nthe values are unique.

\n

Returns an array of length N with the results of each query. None will be returned if\nany of the keys are missing.

\n

For a safe alternative see get_many_mut.

\n
§Safety
\n

Calling this method with overlapping keys is undefined behavior even if the resulting\nreferences are not used.

\n
§Examples
\n
#![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);
\n
1.0.0 · source

pub fn contains_key<Q>(&self, k: &Q) -> bool
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns true if the map contains a value for the specified key.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
\n
1.0.0 · source

pub fn get_mut<Q>(&mut self, k: &Q) -> Option<&mut V>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns a mutable reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
\n
1.0.0 · source

pub fn insert(&mut self, k: K, v: V) -> Option<V>

Inserts a key-value pair into the map.

\n

If the map did not have this key present, None is returned.

\n

If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
\n
source

pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V>>

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

Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

\n

If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(map_try_insert)]\n\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
\n
1.0.0 · source

pub fn remove<Q>(&mut self, k: &Q) -> Option<V>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
\n
1.27.0 · source

pub fn remove_entry<Q>(&mut self, k: &Q) -> Option<(K, V)>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Removes a key from the map, returning the stored key and value if the\nkey was previously in the map.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove(&1), None);
\n
",0,"hydroflow_plus::ir::SeenTees"],["
§

impl<K, V, S> HashMapExt for HashMap<K, V, S>
where\n S: BuildHasher + Default,

§

fn new() -> HashMap<K, V, S>

Constructs a new HashMap
§

fn with_capacity(capacity: usize) -> HashMap<K, V, S>

Constructs a new HashMap with a given initial capacity
","HashMapExt","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, Q, V, S> Index<&Q> for HashMap<K, V, S>
where\n K: Eq + Hash + Borrow<Q>,\n Q: Eq + Hash + ?Sized,\n S: BuildHasher,

source§

fn index(&self, key: &Q) -> &V

Returns a reference to the value corresponding to the supplied key.

\n
§Panics
\n

Panics if the key is not present in the HashMap.

\n
source§

type Output = V

The returned type after indexing.
","Index<&Q>","hydroflow_plus::ir::SeenTees"],["
source§

impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
where\n K: IntoDeserializer<'de, E> + Eq + Hash,\n V: IntoDeserializer<'de, E>,\n S: BuildHasher,\n E: Error,

source§

type Deserializer = MapDeserializer<'de, <HashMap<K, V, S> as IntoIterator>::IntoIter, E>

The type of the deserializer being converted into.
source§

fn into_deserializer(\n self,\n) -> <HashMap<K, V, S> as IntoDeserializer<'de, E>>::Deserializer

Convert this value into a deserializer.
","IntoDeserializer<'de, E>","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> IntoIterator for HashMap<K, V, S>

source§

fn into_iter(self) -> IntoIter<K, V>

Creates a consuming iterator, that is, one that moves each key-value\npair out of the map in arbitrary order. The map cannot be used after\ncalling this.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Not possible with .iter()\nlet vec: Vec<(&str, i32)> = map.into_iter().collect();
\n
source§

type Item = (K, V)

The type of the elements being iterated over.
source§

type IntoIter = IntoIter<K, V>

Which kind of iterator are we turning this into?
","IntoIterator","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> Iter for HashMap<K, V>

§

type Iter<'a> = Values<'a, K, V>\nwhere\n HashMap<K, V>: 'a

Iterator type.
§

fn iter(&self) -> <HashMap<K, V> as Iter>::Iter<'_>

Create an iterator over the items of the collection.
","Iter","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> Keyed for HashMap<K, V>

§

type Key = K

Type of the keys indexing each item of the collection.
","Keyed","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> KeyedRef for HashMap<K, V>

§

type KeyRef<'a> = &'a K\nwhere\n HashMap<K, V>: 'a

Type of references to keys of the collection.
§

fn upcast_key_ref<'short, 'long>(\n r: <HashMap<K, V> as KeyedRef>::KeyRef<'long>,\n) -> <HashMap<K, V> as KeyedRef>::KeyRef<'short>
where\n 'long: 'short,\n HashMap<K, V>: 'long,

Changes a key reference into a shorter lived reference. Read more
","KeyedRef","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> Len for HashMap<K, V>

§

fn len(&self) -> usize

Returns the number of elements in the collection.
§

fn is_empty(&self) -> bool

Checks if the collection is empty.
","Len","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> MapInsert<K> for HashMap<K, V>
where\n K: Hash + Eq,

§

type Output = Option<V>

The output of the insertion function.
§

fn insert(&mut self, key: K, value: V) -> Option<V>

Insert a new key-value pair in the collection.
","MapInsert","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> MapIter for HashMap<K, V>

§

type Iter<'a> = Iter<'a, K, V>\nwhere\n HashMap<K, V>: 'a

§

fn iter(&self) -> <HashMap<K, V> as MapIter>::Iter<'_>

","MapIter","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> MapIterMut for HashMap<K, V>

§

type IterMut<'a> = IterMut<'a, K, V>\nwhere\n HashMap<K, V>: 'a

§

fn iter_mut(&mut self) -> <HashMap<K, V> as MapIterMut>::IterMut<'_>

","MapIterMut","hydroflow_plus::ir::SeenTees"],["
§

impl<Key, OldVal> MapMapValues<OldVal> for HashMap<Key, OldVal>
where\n Key: Eq + Hash,

§

type MapValue<NewVal> = HashMap<Key, NewVal>

Output type, should be Self but with OldVal replaced with NewVal.
§

fn map_values<NewVal, MapFn>(\n self,\n map_fn: MapFn,\n) -> <HashMap<Key, OldVal> as MapMapValues<OldVal>>::MapValue<NewVal>
where\n MapFn: FnMut(OldVal) -> NewVal,

Map the values into using the map_fn.
","MapMapValues","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> PartialEq for HashMap<K, V, S>
where\n K: Eq + Hash,\n V: PartialEq,\n S: BuildHasher,

source§

fn eq(&self, other: &HashMap<K, V, S>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","hydroflow_plus::ir::SeenTees"],["
§

impl<'a, Q, K, V> Remove<&'a Q> for HashMap<K, V>
where\n K: Hash + Eq + Borrow<Q>,\n Q: Hash + Eq + ?Sized,

§

fn remove(&mut self, key: &'a Q) -> Option<V>

Remove the element identified by the given key.
","Remove<&'a Q>","hydroflow_plus::ir::SeenTees"],["
source§

impl<K, V, H> Serialize for HashMap<K, V, H>
where\n K: Serialize,\n V: Serialize,

source§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> SimpleCollectionMut for HashMap<K, V>

§

fn into_mut<'r>(\n r: <HashMap<K, V> as CollectionMut>::ItemMut<'r>,\n) -> &'r mut <HashMap<K, V> as Collection>::Item
where\n HashMap<K, V>: 'r,

","SimpleCollectionMut","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> SimpleCollectionRef for HashMap<K, V>

§

fn into_ref<'r>(\n r: <HashMap<K, V> as CollectionRef>::ItemRef<'r>,\n) -> &'r <HashMap<K, V> as Collection>::Item
where\n HashMap<K, V>: 'r,

","SimpleCollectionRef","hydroflow_plus::ir::SeenTees"],["
§

impl<K, V> SimpleKeyedRef for HashMap<K, V>

§

fn into_ref<'r>(\n r: <HashMap<K, V> as KeyedRef>::KeyRef<'r>,\n) -> &'r <HashMap<K, V> as Keyed>::Key
where\n HashMap<K, V>: 'r,

","SimpleKeyedRef","hydroflow_plus::ir::SeenTees"],["
1.0.0 · source§

impl<K, V, S> Eq for HashMap<K, V, S>
where\n K: Eq + Hash,\n V: Eq,\n S: BuildHasher,

","Eq","hydroflow_plus::ir::SeenTees"],["
1.36.0 · source§

impl<K, V, S> UnwindSafe for HashMap<K, V, S>
where\n K: UnwindSafe,\n V: UnwindSafe,\n S: UnwindSafe,

","UnwindSafe","hydroflow_plus::ir::SeenTees"]]]]); if (window.register_type_impls) { window.register_type_impls(type_impls); } else { window.pending_type_impls = type_impls; } })() -//{"start":55,"fragment_lengths":[171937]} \ No newline at end of file +//{"start":55,"fragment_lengths":[172279]} \ No newline at end of file